Skip to Content
TestingΜεταβλητές περιβάλλοντος εφαρμογής

Μεταβλητές περιβάλλοντος εφαρμογής

Το OpenFactory μπορεί να αποθηκεύσει τιμές περιβάλλοντος με εύρος εφαρμογής και εύρος λογαριασμού, κρυπτογραφήστε τα σε κατάσταση ηρεμίας και αποδώστε τα σε υποψήφια εικονική μηχανή εφαρμογής κατά την ανάπτυξη. Αυτό είναι ένα πρώιμο μυστικό κατάστημα με υποστήριξη αρχείων, όχι ένα διαχειριζόμενο θησαυροφυλάκιο.

Πεδίο εφαρμογής και προτεραιότητα

  • Οι τιμές λογαριασμού είναι επαναχρησιμοποιήσιμες προεπιλογές για κάθε εφαρμογή που ανήκει σε αυτόν τον λογαριασμό.
  • Οι τιμές εφαρμογής αντικαθιστούν τις τιμές λογαριασμού με το ίδιο όνομα.
  • Οι διαχειριζόμενες τιμές γράφονται από ένα διαμορφωμένο διακριτικό παραγωγού και καταγράφουν το παραγωγός που κατέχει το κλειδί.
  • Μια αλλαγμένη τιμή αυξάνεται env_version; μια επιτυχημένη ανάπτυξη καταγράφει το εφαρμοσμένη έκδοση. Μια διαφορά σημαίνει ότι απαιτείται αναδιάταξη.

Τα ονόματα πρέπει να είναι κεφαλαία αναγνωριστικά περιβάλλοντος, περιορίζονται σε 128 χαρακτήρες και δεν μπορεί να χρησιμοποιήσει το δεσμευμένο πρόθεμα OPENFACTORY_. Οι τιμές χρήστη είναι περιορίζεται στα 8 KiB και μια εφαρμογή περιορίζεται στα 100 κλειδιά.

Ροή εργασιών MCP

Οι λειτουργίες λίστας καλύπτουν πάντα τις τιμές. Αποκαλύπτετε μία τιμή μόνο όταν είναι απαραίτητο:

set_app_env( app_id="550e8400-e29b-41d4-a716-446655440000", set={"API_BASE_URL": "https://api.example.internal"} ) list_app_env(app_id="550e8400-e29b-41d4-a716-446655440000") reveal_app_env( app_id="550e8400-e29b-41d4-a716-446655440000", name="API_BASE_URL" )

Το ίδιο μοτίβο είναι διαθέσιμο ως set_account_env, list_account_env και reveal_account_env. Οι λειτουργίες set/delete σε επίπεδο εφαρμογής επιστρέφουν ένα env_version και ένα redeploy_hint; Ο ορισμός μιας τιμής δεν αλλάζει μια εικονική μηχανή που εκτελείται.

REST επιφάνεια

ΜέθοδοςΜονοπάτιΣκοπός
GET/api/apps/{app_id}/envΜασκαρισμένη λίστα κλειδιού εφαρμογής και κατάσταση έκδοσης
PUT/api/apps/{app_id}/envΣύνολο/διαγραφή συναλλαγών για κλειδιά εφαρμογών
POST/api/apps/{app_id}/env/revealΕλεγμένο απλό κείμενο αποκάλυψη ενός κλειδιού εφαρμογής
GET/api/account/envΜασκαρισμένη λίστα κλειδιού λογαριασμού
PUT/api/account/envΣύνολο/διαγραφή συναλλαγών για κλειδιά λογαριασμού
POST/api/account/env/revealΕλεγμένο απλό κείμενο αποκάλυψη ενός κλειδιού λογαριασμού
PUT/api/apps/{app_id}/env/managedΟ διαμορφωμένος παραγωγός δημοσιεύει διαχειριζόμενα κλειδιά
DELETE/api/apps/{app_id}/env/managed/{name}Ο παραγωγός αφαιρεί ένα διαχειριζόμενο κλειδί που του ανήκει

Οι επιφάνειες χρήστη επιβάλλουν το επιλυμένο πλαίσιο κατόχου. Τα διαχειριζόμενα τελικά σημεία χρησιμοποιούν α <kid>.<secret> διαπιστευτήρια κομιστή από το διακριτικό παραγωγού που έχει διαμορφωθεί από τον χειριστή αρχείο? χωρίς αυτό το αρχείο, το API του παραγωγού δεν είναι διαθέσιμο.

Ανάπτυξη συμπεριφοράς

Κατά την ανάπτυξη, το backend αποκρυπτογραφεί τις τιμές λογαριασμού, επικαλύπτει τις τιμές της εφαρμογής και προσθέτει πεδία χρόνου εκτέλεσης της πλατφόρμας και γράφει /etc/openfactory/app.env στο VM με λειτουργία 0600. Η διαδικασία ξεκινά με αυτό το αρχείο ως περιβάλλον του. Εάν αποτύχει η αποκρυπτογράφηση, η παράδοση αρχείου ή η εκκίνηση, ο υποψήφιος δεν προωθείται.

Όριο ασφαλείας

  • Οι αποθηκευμένες τιμές χρησιμοποιούν κρυπτογράφηση Fernet. Ο χειριστής πρέπει να παρέχει και να προστατεύει OPENFACTORY_ENV_MASTER_KEY; η απώλεια ή η αντικατάστασή του δημιουργεί υπάρχουσες τιμές μη αποκρυπτογράφηση.
  • Οι απαντήσεις της λίστας είναι καλυμμένες. Οι ρητές αποκαλύψεις και οι μεταλλάξεις προσαρτούν ένα JSONL εκδήλωση ελέγχου.
  • Η τρέχουσα διαδρομή αποθήκευσης και ελέγχου είναι τοπικά αρχεία. Δεν παρέχουν Κλειδιά με υποστήριξη υλικού, έγκριση πολλαπλών μερών, καταγραφή με προφανή παραβίαση, αυτόματη εναλλαγή ή εγγύηση αποκατάστασης από καταστροφή.
  • Τα αρχεία καταγραφής εφαρμογών και ανάπτυξης δεν παρέχουν ακόμη πλήρη μυστική επεξεργασία όριο. Μια διαδικασία που εκτυπώνει το περιβάλλον της, μια διεύθυνση URL που φέρει διαπιστευτήρια, ή ένα μυστικό σε ένα σφάλμα μπορεί να το αποκαλύψει σε αρχεία καταγραφής και τεστ.

Για αυτόν τον λόγο, μην χρησιμοποιήσετε αυτό το κατάστημα προεπισκόπησης για τα διαπιστευτήρια παραγωγής μέχρι η ανάπτυξή σας διαθέτει ανεξάρτητα στοιχεία ελέγχου πρόσβασης, δοκιμές δημιουργίας αντιγράφων ασφαλείας και επαναφοράς, επικύρωση log-redaction, κανόνες διατήρησης και τεκμηριωμένη περιστροφή κλειδιού διαδικασία. Ποτέ μην τοποθετείτε μυστικά σε συνταγές, πηγαίο κώδικα, εντολές, URL, τεστ περιγραφές ή προσδοκίες ισχυρισμών.

Ανατρέξτε στην ενότητα Ανάπτυξη εφαρμογής για τη ροή προώθησης υποψηφίων.