ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ основному содСрТимому

πŸ†• Π‘Π΅ΠΊΡ€Π΅Ρ‚Ρ‹ - Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»

Β· 3 ΠΌΠΈΠ½. чтСния

ΠœΡ‹ Ρ€Π°Π΄Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Tuna - Π‘Π΅ΠΊΡ€Π΅Ρ‚Ρ‹. ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ бСзопасного управлСния ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ настройками ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ окруТСния. Π­Ρ‚ΠΎ мощная Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° .env Ρ„Π°ΠΉΠ»Π°ΠΌ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Π² GitLab/GitHub CI ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠΌ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°ΠΌ.

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Ρ€Π°Π·Π΄Π΅Π»Ρƒ Π‘Π΅ΠΊΡ€Π΅Ρ‚ΠΎΠ² Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ

πŸ” Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Tuna Π‘Π΅ΠΊΡ€Π΅Ρ‚Ρ‹?​

БСрвис сСкрСтов ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для хранСния настроСк ΠΊ вашим прилоТСниям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ запускаСтС - локально, Π² CI/CD ΠΈΠ»ΠΈ Π² своих тСстовых ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²Ρ‹Ρ… окруТСниях. Он являСтся ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΉ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ .env Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ окруТСниям Π² CI/CD систСмах.

Π‘Π΅ΠΊΡ€Π΅Ρ‚Ρ‹ β€” это:

  • Π•Π΄ΠΈΠ½Ρ‹ΠΉ источник ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для локальной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, CI/CD, staging ΠΈ production срСд.
  • Π£Π΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс управлСния β€” Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±, CLI ΠΈ API.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° RBAC, ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠΉ ΠΈ Π°ΡƒΠ΄ΠΈΡ‚Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
  • Гибкая Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, окруТСниями ΠΈ конфигурациями.
  • ВсС сСкрСты ΡˆΠΈΡ„Ρ€ΡƒΡŽΡ‚ΡΡ, ΠΊΠ»ΡŽΡ‡ΠΈ Π½Π΅ хранятся Π² Π±Π°Π·Π΅. Π£Ρ‚Π΅Ρ‡ΠΊΠ° Π‘Π” Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ….

πŸ‘₯ Для ΠΊΠΎΠ³ΠΎ?​

  1. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ β€” для упрощСния настройки ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ ΠΈ сокращСния "магичСских" Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅.
  2. DevOps-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌ β€” для Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ.
  3. Командам β€” для бСзопасного ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ совмСстного доступа ΠΊ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ.

🎯 ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ возмоТности​

ΠœΡ‹ Π²Π½Π΅Π΄Ρ€ΠΈΠ»ΠΈ структуру, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ эффСктивно ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ сСкрСтами.
Π’ этом Ρ€ΠΎΠ»ΠΈΠΊΠ΅ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ нСбольшой ΠΎΠ±Π·ΠΎΡ€ возмоТностСй:


Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ: ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ β†’ окруТСния β†’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

ΠœΡ‹ придСрТиваСмся общСпринятой структуры, поэтому Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ сСкрСтов раздСляСтся ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π΅ΡΡ‚ΡŒ окруТСния, Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ основныС ΠΈΠ»ΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ сосрСдоточСнно мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ нСпосрСдствСнно с сСкрСтами ΠΈ доступом ΠΊ Π½ΠΈΠΌ, Π°ΡƒΠ΄ΠΈΡ‚ ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² КомандС, Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ с ролями появляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ гранулярно Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ доступ участников ΠΊ Π½ΡƒΠΆΠ½Ρ‹ΠΌ окруТСниям Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ….

Π§Ρ‚ΠΎ Π΅Ρ‰Ρ‘ Π΅ΡΡ‚ΡŒ Π² сСкрСтах?

  • Π”ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ - создавайтС ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  • Π’ΠΈΠΏΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… β€” ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ bool, int ΠΈ Π΄Ρ€.
  • Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ β€” ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ аннотация сСкрСтов.
  • Напоминания β€” email-увСдомлСния ΠΎ нСобходимости ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСкрСт.
  • Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ β€” Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ различия ΠΌΠ΅ΠΆΠ΄Ρƒ конфигурациями.
  • Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ сСкрСтов β€” ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΈΠ· сравнСния ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.
  • БСрвисныС ΠΊΠ»ΡŽΡ‡ΠΈ β€” API-ΠΊΠ»ΡŽΡ‡ΠΈ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅/запись для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.
  • ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ IP β€” ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ доступа ΠΏΠΎ CIDR.
  • Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ β€” ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π°ΡƒΠ΄ΠΈΡ‚ всСх дСйствий.

βš™οΈ CLI-интСграция​

ЕстСствСнно ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ tuna ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½:

  • tuna secrets download β€” ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ сСкрСтов с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ сохранСния Π² Ρ„Π°ΠΉΠ» (json, yaml, env) ΠΈΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π² stdout.
  • tuna secrets setup β€” Настройка ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° для ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ области дСйствия.
  • tuna secrets run β€” АвтоматичСская конфигурация прилоТСния с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния нСпосрСдствСнно процСссу. А с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ„Π»Π°Π³Π° --watch, пСрСзапуск прилоТСния Π±ΡƒΠ΄Π΅Ρ‚ автоматичСский, ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ сСкрСта Π² Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚Π΅.

πŸ›‘οΈ Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ доступом ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒβ€‹

  • RBAC Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ β€” ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠΉΡ‚Π΅ доступ ΠΊ окруТСниям Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎ ΠΏΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ.
  • БСрвисныС ΠΊΠ»ΡŽΡ‡ΠΈ β€” ВыпускайтС ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись. ИдСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для использования Π² CI/CD.
  • Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅ IP адрСса ΠΈ подсСти β€” ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ доступ ΠΊ сСкрСтам, указывая Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅ IP адрСса ΠΈ подсСти Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ CIDR.
  • Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ β€” ΠŸΠΎΠ»Π½Ρ‹ΠΉ Π°ΡƒΠ΄ΠΈΡ‚ всСх дСйствий ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ позволяСт ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ, ΠΊΡ‚ΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» сСкрСты.

ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ отзыв​

Если Π²Π°ΠΌ нравится ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Tuna, ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ Π²Ρ‹ Π½Π΅Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹ Ρ‡Π΅ΠΌ Π»ΠΈΠ±ΠΎ, Ρ‚ΠΎ поТалуйста ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΎΡ‚Π·Ρ‹Π².

ΠŸΠΎΠΌΠΎΡ‰ΡŒβ€‹

ΠœΡ‹ Ρ†Π΅Π½ΠΈΠΌ Π½Π°ΡˆΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌ всС обращСния, Ссли Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с tuna – ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ²ΡΠΆΠΈΡ‚Π΅ΡΡŒ с Π½Π°ΠΌΠΈ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· способов: