ποΈ Π‘Π΅ΠΊΡΠ΅ΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ β Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ tuna secrets
ΠΠΎ Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΠ΅ΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΡΠΌΠ΅Π»ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ: ΡΠΊΠ°ΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. ΠΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ β Π·Π°Π²Π΅ΡΡΠΈ ΡΠ΅ΠΊΡΠ΅Ρ, ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ β ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π΄Π΅Π»Π°ΡΡ Π² Π»ΠΈΡΠ½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅.
Π tuna-cli 0.35 tuna secrets ΡΡΠ°Π» ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ: ΡΠ΅ΠΊΡΠ΅ΡΠ°ΠΌΠΈ, ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΠΈΠ· ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, Π° Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ
ΠΈ CI.
Π Π°Π±ΠΎΡΠ° Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ ΡΠ΅ΠΊΡΠ΅ΡΠ°ΠΌΠΈβ
ΠΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠ΅ΠΊΡΠ΅ΡΠΎΠ² ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ:
tuna secrets list # ΡΠΏΠΈΡΠΎΠΊ, Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΊΡΡΡΡ
tuna secrets get API_TOKEN DB_URL # Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΡΠ΅ΠΊΡΠ΅ΡΠΎΠ²
tuna secrets set API_ENABLED=true --type boolean
openssl rand -hex 32 | tuna secrets set API_TOKEN
tuna secrets delete OLD_KEY
tuna secrets upload .env # Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°
set ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ, ΠΈΠ· stdin ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ β ΡΠ°ΠΊ Π² ΠΈΡΡΠΎΡΠΈΡ ΡΠ΅Π»Π»Π° Π½Π΅ ΠΏΠΎΠΏΠ°Π΄ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ Π»ΠΈΡΠ½Π΅Π³ΠΎ. ΠΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΡΠΈΠΏ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡ Π² Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅. upload Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈΠ· .env ΠΈΠ»ΠΈ .json, Π½Π΅ ΡΡΠΎΠ³Π°Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΠΊΡΠ΅ΡΡ.
Π‘ΡΠ°Π²Π½ΠΈΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π½Π΅ ΡΠ°ΡΠΊΡΡΠ²Π°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉβ
Π ΡΠ°Π±Π»ΠΈΡΠ°Ρ
Π²ΠΌΠ΅ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΠ΅ΡΠ° ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΡΡΡ Π΅Π³ΠΎ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΎΠΊ β hmac:cea41705. ΠΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΎΠΊ, Π° Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΎΡΠΏΠ΅ΡΠ°ΡΠΊΠ° Π½Π΅Π»ΡΠ·Ρ.
Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡ Β«Π° Π² stage ΠΈ prod ΡΠΎΡΠ½ΠΎ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ°ΡΠΎΠ»ΠΈ ΠΊ Π±Π°Π·Π΅?Β», Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ°ΡΠΊΡΡΠ²Π°Ρ, ΠΈ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² Π»ΠΎΠ³ΠΈ CI:
ΠΠ°ΡΡΠΎΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ list --values ΠΈ get.
ΠΠΎΠ²ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ β ΠΎΠ΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°β
ΠΠΎΠ»ΠΎΠΆΠΈΡΠ΅ Π² ΠΊΠΎΡΠ΅Π½Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΠ°ΠΉΠ» tuna.yaml:
setup:
- project: api-php
config: dev
Π’Π΅ΠΏΠ΅ΡΡ Π½ΠΎΠ²ΠΎΠΌΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ tuna secrets setup β ΠΈ tuna secrets run -- yarn start Π·Π°ΠΏΡΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠ΅ΠΊΡΠ΅ΡΠ°ΠΌΠΈ. ΠΠ»Ρ ΠΌΠΎΠ½ΠΎΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠ²ΡΠ·ΠΎΠΊ, ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ.
Π‘Π΅ΠΊΡΠ΅ΡΡ ΡΠ°ΠΉΠ»ΠΎΠΌ, Π½ΠΎ Π±Π΅Π· ΡΠ°ΠΉΠ»Π° Π½Π° Π΄ΠΈΡΠΊΠ΅β
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΈΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΠ°ΠΉΠ»Π°. Π Π°Π½ΡΡΠ΅ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π²ΡΠ³ΡΡΠΆΠ°ΡΡ ΡΠ΅ΠΊΡΠ΅ΡΡ ΡΠ΅ΡΠ΅Π· download ΠΈ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΠ°ΠΉΠ» ΠΏΠΎΡΠΎΠΌ Π½Π°Π΄ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ. Π€Π»Π°Π³ --mount ΡΠ΅ΡΠ°Π΅Ρ ΡΡΠΎ ΠΈΠ½Π°ΡΠ΅: ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠ°Π½Π°Π» (named pipe) ΠΈ ΠΎΡΠ΄Π°ΡΡ ΡΠ΅ΡΠ΅Π· Π½Π΅Π³ΠΎ ΡΠ΅ΠΊΡΠ΅ΡΡ Π² Π½ΡΠΆΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ β env, json, yaml ΠΈΠ»ΠΈ ΠΏΠΎ Π²Π°ΡΠ΅ΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΆΠΈΠ²ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΡΠ°ΠΉΠ»Π° Ρ ΡΠ΅ΠΊΡΠ΅ΡΠ°ΠΌΠΈ Π½Π° Π΄ΠΈΡΠΊΠ΅ Π½Π΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ, Π° ΠΏΠΎΡΠ»Π΅ Π²ΡΡ
ΠΎΠ΄Π° ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΊΠ°Π½Π°Π» ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ.
tuna secrets run --mount ./secrets.json --mount-format json -- ./app --config ./secrets.json
Π‘ --mount-max-reads 1 ΠΊΠ°Π½Π°Π» ΠΈΡΡΠ΅Π·Π°Π΅Ρ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΈΡΠ°Π»ΠΎ Π΅Π³ΠΎ ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅.
Π Π°Π±ΠΎΡΠ° Π±Π΅Π· ΡΠ΅ΡΠΈβ
tuna secrets run ΡΠΎΡ
ΡΠ°Π½ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅ΠΊΡΠ΅ΡΡ Π² Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΅Π³ΠΎ, Π΅ΡΠ»ΠΈ API Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½, β ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π²ΡΡΠ°Π½Π΅Ρ ΠΈΠ·-Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΡΠ΅ΡΡΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΡΠ²Π΅ΡΠΈΠ», ΡΡΠΎ Π΄ΠΎΡΡΡΠΏ ΠΎΡΠΎΠ·Π²Π°Π½ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Ρ, ΠΊΠΎΠΏΠΈΡ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ: ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ ΡΠ΅ΠΊΡΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠ·ΡΠ²Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΎΠΏΠ°ΡΠ½Π΅Π΅, ΡΠ΅ΠΌ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π‘ --offline ΠΊΠ»ΠΈΠ΅Π½Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ API:
Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ²β
tuna secrets substitute ΡΠ΅Π½Π΄Π΅ΡΠΈΡ ΡΠ°ΠΉΠ»-ΡΠ°Π±Π»ΠΎΠ½ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠ΅ΠΊΡΠ΅ΡΠΎΠ². ΠΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ² ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ β nginx.conf, application.yml, .ini β ΠΈ Π΄Π»Ρ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠΎΠ² Kubernetes:
tuna secrets substitute config.tmpl --output config.ini
tuna secrets substitute deployment.tmpl | kubectl apply -f -
ΠΠΏΠ΅ΡΠ°ΡΠΊΠ° Π² ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΠ΅ΡΠ° β ΠΎΡΠΈΠ±ΠΊΠ° Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΡΠ° Π² ΡΠ°Π±Π»ΠΎΠ½Π΅, Π° Π½Π΅ ΠΌΠΎΠ»ΡΠ°Π»ΠΈΠ²Π°Ρ ΠΏΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅.
Π£Π΄ΠΎΠ±Π½ΠΎ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ ΠΈ CIβ
ΠΡΠ²ΠΎΠ΄ Π²ΡΠ΅Ρ
ΠΊΠΎΠΌΠ°Π½Π΄ tuna secrets ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°Π½ Ρ ΡΠ°ΡΡΡΡΠΎΠΌ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ:
- Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ΄ΡΡ Π² stdout, ΡΡΠ°ΡΡΡ ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ β Π² stderr, ΡΠ°ΠΊ ΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π»ΠΎ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡ Π² ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΏΠ°ΠΉΠΏ;
-o jsonΠΈ-o yamlΠ΅ΡΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π·Π°ΠΏΠΈΡΠΈ, Π° ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΡΡΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΎΠΆΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ JSON'ΠΎΠΌ;get --plainΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ Π³ΠΎΠ»ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ:docker login -p "$(tuna secrets get REGISTRY_PASSWORD --plain)";tuna secrets runΠ²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ΄ Π²ΡΡ ΠΎΠ΄Π° Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ±ΡΡΡΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²ΠΈΡΡ ΠΏΡΡΠΌΠΎ Π² CI-Π΄ΠΆΠΎΠ±Ρ.
ΠΠΎΡΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π΄Π»Ρ GitLab CI ΠΈ GitHub Actions Π΅ΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΠΎΠΉβ
ΠΡΠΎΠ΅ΠΊΡΡ, ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠΆΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ:
tuna secrets projects create "API PHP" --slug api-php
tuna secrets environments create Staging --slug stage --project api-php
tuna secrets configs clone stage --name stage-feature-x --project api-php
tuna secrets configs tokens create --description ci --access read --max-age 720h --project api-php --config stage
tuna secrets open ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π² Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ β ΠΊΠΎΠ³Π΄Π° Π²ΡΡ-ΡΠ°ΠΊΠΈ Π½ΡΠΆΠ΅Π½ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ.
Π§ΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈβ
- Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΠ΅ΡΠΎΠ², ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ, ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΎΡΠ·ΡΠ² ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ
ΠΊΠ»ΡΡΠ΅ΠΉ Ρ tuna-cli 0.36 ΡΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅. Π CI ΠΈ ΡΠΊΡΠΈΠΏΡΠ°Ρ
Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π°Π³
--yes, ΠΈΠ½Π°ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π²Π΅ΡΡΠΈΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. - ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π·Π±ΠΈΡΠ°Π»ΠΈ Π²ΡΠ²ΠΎΠ΄
tuna secretsΠ² ΡΠΊΡΠΈΠΏΡΠ°Ρ , ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΈΡ : ΡΡΡΠΎΠΊΠΈ Π»ΠΎΠ³Π° Π²ΠΈΠ΄Π°INFO[...]Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ, Π° Π΄Π»Ρ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΎΡΠ° ΡΠ΅ΠΏΠ΅ΡΡ Π΅ΡΡΡ-o json.
ΠΠΎΠ»Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΡΠ»Π°Π³ΠΎΠ² β Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π Π°Π±ΠΎΡΠ° Π² CLI. ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ.
Leave feedbackβ
If you enjoy using Tuna, or on the contrary you are not happy with something, please leave feedback.
Helpβ
We value our users and carefully review every request. If you have any problems with tuna, please contact us in one of the following ways: