atc run — حقن الأسرار
الأهم: تُوصّل الأسرار للتطبيق بدون env vars ومن غير أي ملف أو كود يحمل قيمة سرية.
الأعلام
| العلم | القيمة | الوظيفة |
|---|---|---|
| --mode | fd / tmpfs / envfile | طريقة الحقن |
| --fd | 3 | رقم الـ file descriptor |
| --fd-env | SECRET_FD | متغير بيئة يحتوي رقم FD |
| --tmpfs | /tmp/vault-secrets | نقطة تثبيت tmpfs |
| -p, --project | اسم أو NanoID | المشروع |
| -e, --env | اسم | البيئة |
| --secret | key | حقن سر محدد فقط |
وضع FD — الأكثر أماناً
bash
1atc run --mode fd -- node app.js2atc run --mode fd --fd-env SECRET_FD -- ./myappjavascript|app.js
1const fs = require("fs");2const fd = process.env.SECRET_FD || 3;3const buf = Buffer.alloc(4096);4fs.readSync(fd, buf, 0, 4096);5const secrets = JSON.parse(buf.toString().replace(/ /g, ""));6console.log(secrets.DB_PASSWORD);وضع tmpfs — الأسهل
bash
1atc run --mode tmpfs -- python app.pypython|app.py
1import json, os2secrets_file = os.getenv("VAULT_SECRETS_FILE", "/tmp/vault-secrets/secrets.json")3with open(secrets_file) as f:4 secrets = json.load(f)5print(secrets["DB_PASSWORD"])مقارنة الأوضاع
| المواصفة | fd | tmpfs | envfile |
|---|---|---|---|
| الأمان | ✅ لا يمس القرص | 🟡 ملف مؤقت | 🟡 ملف |
| السهولة | ⚠️ برمجة بسيطة | ✅ سهل | ✅ سهل |
| الأفضل لـ | الإنتاج | التطوير/الاختبار | السكربتات |