Blank white background with no objects or features visible.

تعلن TrueFoundry عن استحواذها على Seldon AI، موسعة بذلك لوحة التحكم الخاصة بها للذكاء الاصطناعي للمؤسسات. البيان الصحفي الكامل →

إدارة متغيرات البيئة باستخدام SecretsFoundry

By TrueFoundry

Published: July 4, 2026

لقد كتبت عن الطرق المختلفة لإدارة متغيرات البيئة سابقًا في منشوري هنا. لتسهيل التعامل مع الإعدادات في شركتنا الناشئة في Truefoundry، قمنا بتطوير أداة صغيرة تسمى SecretsFoundry والتي جعلت الأمر سلسًا للغاية لجميع فرق التطبيقات للحفاظ على إعداداتهم في Git. اعتقدنا أنها قد تكون مفيدة لفرق المطورين الأخرى ولذلك قررنا جعلها مفتوحة المصدر .

قبل الخوض في التفاصيل، من الجيد فهم المشكلة التي تحلها SecretsFoundry. يحتوي كل تطبيق على بعض متغيرات الإعدادات غير الحساسة والحساسة التي يجب توفيرها للتطبيق عند تشغيله. بالنسبة للمتغيرات غير الحساسة، يميل الأشخاص إلى وضع المتغيرات في ملف ثم تحميلها إلى التطبيق باستخدام مكتبات مثل dotenv. أما بالنسبة للمتغيرات الحساسة، فيقوم الأشخاص إما بتخزين القيم في بعض مديري الأسرار مثل AWS SecretManager و Hashicorp Vault ثم كتابة كود التطبيق لسحب الأسرار من المخزن. النهج الآخر هو أن يقوم نظام خارجي بضخ المتغيرات من مخزن الأسرار إلى بيئة التطبيق — وفي هذه الحالة، يصبح نطاق متغيرات البيئة مسؤولية DevOps بشكل أكبر ويفقد المطورون السيطرة عليها — مما يؤدي إلى المزيد من الأخطاء وصعوبة أكبر في تصحيح الأخطاء عند حدوث المشاكل.

تحاول SecretsFoundry حل المشكلات المذكورة أعلاه عن طريق القيام بما يلي:

يمكن أن توجد جميع المفاتيح الحساسة وغير الحساسة في ملف واحد.

بالنسبة للمتغيرات غير الحساسة، يمكنك وضع المتغيرات مباشرة. أما بالنسبة للمتغيرات الحساسة، فنضع المسار في مخزن الأسرار كقيمة لتلك المتغيرات. بهذه الطريقة، نخبر secretsfoundry كيفية جلب تلك القيم. مثال على هذا الملف سيكون:

ملف .env

NODE_ENV = development
HOST = localhost
DB_NAME = example_app_db
DB_USER = ${aws-secret:/development/example_app/DB_USER}
DB_PASSWORD = ${aws-secret:/development/example_app/DB_PASSWORD}

في المثال أعلاه، يتم تخزين اسم المستخدم وكلمة المرور الفعليين لقاعدة البيانات (DB_USER و DB_PASSWORD) في AWS Secrets Manager. يمكن للمطورين تحديد المسار في ملف .env وسيقوم secretsfoundry بجلبها لك.

لا يوجد كود خاص بالتطبيق لجلب متغيرات البيئة

يعمل Secretsfoundry عن طريق حقن القيم الفعلية في بيئة التطبيق قبل تشغيله بدلاً من داخل التطبيق. وهذا له ميزتان:

  1. لا توجد تبعيات في التطبيق ولا نحتاج إلى إضافة مكتبات عبر العديد من اللغات المختلفة.
  2. في حال لم يتمكن secretsfoundry من العثور على متغير بيئة معين، فإن secretsfoundry نفسه يتعطل ويقدم إشارة مبكرة على عدم الصحة لجميع أنظمة النشر مثل Kubernetes. وإلا، يقع على عاتق التطبيق مسؤولية إجراء التحقق ومعالجة الأخطاء.

دعم لمديري الأسرار المتعددين

يتكامل SecretsFoundry مع AWS Parameter Store و AWS S3 و AWS SecretsManager و Hashicorp Vault لإدارة الأسرار. إضافة مخزن أسرار جديد سهل للغاية ونخطط لتوسيع الدعم ليشمل GCP و Azure Vault في المستقبل.

استخدام SecretsFoundry

طريقة استخدام secretsfoundry هي:

secretsfoundry run -c "node start.js"

أو إذا كان لديك عدة أوامر في نص بدء التشغيل الخاص بك:

secretsfoundry run -s "node run_migration_script && node start.js"

عندما نقوم بـ secretsfoundry run, فإنه يبحث عن ملف .env في ذلك الدليل ويطبع قيم المتغيرات. إذا كان هناك -c أو -s وسيطة، فإنه يحقنها في بيئة ذلك التطبيق. لذا، إذا أخذت في الاعتبار ملف .env الذي كتبناه سابقًا، فإن تشغيل secretsfoundry run في ذلك الدليل سيخرج

secretsfoundry run

NODE_ENV = development
HOST = localhost
DB_NAME = example_app_db
DB_USER = admin
DB_PASSWORD = password

يمكننا إنشاء تطبيق نموذجي صغير في start.js يبدو كما يلي:

secretsfoundry run -c “node start.js”

يمكن لـ SecretsFoundry أيضًا تحميل أي ملف آخر بصيغة .env.<stage> باستخدام

secretsfoundry run — stage=<stage>

يمكن لـ SecretsFoundry قراءة ملفات التكوين من دليل آخر باستخدام

secretsfoundry run -p <مسار دليل التكوين الذي يحتوي على ملفات .env.>

يمكنه أيضًا قبول مسار إدخال لملف يمكن أن يكون بتنسيق .env / json / yaml وإخراج المتغيرات المحللة إلى ملف مختلف. نستخدم هذا للتكامل مع أنظمة Kubernetes المختلفة التي سأكتب عنها في مدونة أخرى.

secretsfoundry run -i <ملف الإدخال الذي يحتوي على المتغيرات (.env/json/yaml)> -o <ملف_الإخراج>

يحتاج SecretsFoundry إلى بيانات اعتماد للحصول على المعلمات من SecretStore — لذا سيتعين عليك توفير تلك المتغيرات يدويًا لبيئتك.

التثبيت والوثائق

يمكنك تنزيل secretsfoundry باستخدام npm أو yarn (https://www.npmjs.com/package/secretsfoundry)

npm install -g secretsfoundry

يتواجد SecretsFoundry في هذا مستودع Github ويمكن العثور على وثائقه على https://truefoundry.gitbook.io/secretsfoundry.

جرب SecretsFoundry وأخبرنا بتجربتك. لقد استخدمناه داخليًا بشكل مكثف مع AWS Parameter Store — ومع ذلك، لم يتم اختبار تكامل Hashicorp Vault بشكل جيد. جربه وأخبرنا إذا وجدت أي أخطاء أو لديك أي طلبات ميزات.

نُشر في الأصل على ميديوم

The fastest way to build, govern and scale your AI

Sign Up
Table of Contents

One Gateway for Every LLM, Agent and MCP Server

Book a 30-min with our AI expert

Book a Demo

The fastest way to build, govern and scale your AI

Book Demo
Summarize with
ChatGPT logo by OpenAI
Perplexity AI logo
Blurry red snowflake on white background, symmetrical frosty design with soft edges and abstract shape.

Discover More

November 5, 2025
|
5 min read

توطين البيانات في عصر الذكاء الاصطناعي الوكيل: كيف تمكّن بوابات الذكاء الاصطناعي التوسع السيادي والامتثال

October 5, 2023
|
5 min read

<Webinar> عرض الذكاء الاصطناعي التوليدي للمؤسسات

Best Fine Tuning Tools for Model Training
May 3, 2024
|
5 min read

أفضل 6 أدوات ضبط دقيق لتدريب النماذج في عام 2026

May 25, 2023
|
5 min read

النماذج اللغوية الكبيرة مفتوحة المصدر: تبنّها أو تندثر

July 4, 2026
|
5 min read

تكاملات منصة التعلم الآلي #1: Weights & Biases

Use Cases
Engineering and Product
July 4, 2026
|
5 min read

تكامل Pillar Security مع TrueFoundry

No items found.
July 4, 2026
|
5 min read

التخزين المؤقت الدلالي لنماذج اللغة الكبيرة (LLMs): تقليل التكلفة وزمن الاستجابة بما يتجاوز التخزين المؤقت للبادئات

No items found.
July 4, 2026
|
5 min read

تكاملات أدوات التعلم الآلي #2 DVC لإدارة إصدارات بياناتك

Engineering and Product
Use Cases
No items found.

Recent Blogs

Black left pointing arrow symbol on white background, directional indicator.
Black left pointing arrow symbol on white background, directional indicator.
Take a quick product tour
Start Product Tour
Product Tour