Zum Inhalt springen

Konfiguration

actrun bietet ein flexibles Konfigurationssystem, das dir ermoeglicht, Werte ueber Programm-Flags, Umgebungsvariablen und Konfigurationsdateien zu setzen.

Die Konfigurationsprioritaet ist strikt hierarchisch. Werte, die weiter oben in der Liste stehen, haben Vorrang vor denen darunter:

Konfigurationsprioritaet: 1. Programm-Flags, 2. Umgebungsvariablen, 3. Lokale Config, 4. Globale Config

Der direkteste Weg, actrun zu konfigurieren, ist die Uebergabe von Argumenten und Flags direkt an die ausfuehrbare Datei. Dies ist die Methode mit der hoechsten Prioritaet.

Um einen bestimmten Action Graph auszufuehren, gib den Dateinamen (oder die URL) als erstes positionales Argument an. Flags nach dem Dateinamen werden direkt als Inputs an deinen Graph weitergegeben.

Terminal-Fenster
# Syntax: actrun [options] <filename|url> [graph-flags]
# Einen Graph ausfuehren
./actrun my_graph.act
# Einen Graph ausfuehren und Flags uebergeben
./actrun my_graph.act --my-flag=test --another-flag=123
# Einen Graph mit eigener Config-Datei ausfuehren und Flags uebergeben
./actrun --config-file=/path/to/config.actconfig my_graph.act --my-flag=test --another-flag=123

Hinweis: Flags, die spezifisch fuer actrun sind (wie --config-file), muessen vor dem Graph-Dateinamen stehen. Alles nach dem Dateinamen wird als Argument fuer den Graph selbst behandelt.

FlagBeschreibung
--config-filePfad zu einer bestimmten .actconfig-Konfigurationsdatei.
--concurrencyKonkurrente Ausfuehrung aktivieren oder deaktivieren (Standard: true).
--session-tokenToken zur Verbindung mit einer Debug Session im Browser.
--create-debug-sessionEine Debug Session durch Verbindung mit der Web-App erstellen. Kann nicht zusammen mit --session-token verwendet werden.
--env-fileAbsoluter Pfad zu einer .env-Datei, die vor der Ausfuehrung geladen wird.

Hinweis: Bindestriche (--config-file) und Underscores (--config_file) werden fuer alle Flags akzeptiert.

BefehlBeschreibung
validate [graph-file]Eine Graph-Datei validieren, ohne sie auszufuehren.
versionDie Versionsnummer von actrun anzeigen.

Du kannst das Runtime-Verhalten konfigurieren und Standardwerte setzen, indem du Umgebungsvariablen verwendest. Das ist nuetzlich fuer CI/CD-Umgebungen oder zum Setzen von Benutzer-Standardwerten.

Statt den Dateinamen jedes Mal zu uebergeben, kannst du die Variable ACT_GRAPH_FILE setzen.

Terminal-Fenster
export ACT_GRAPH_FILE=my_workflow.act
./actrun

Wenn du deinen Graph ueber die Umgebungsvariable ACT_GRAPH_FILE festgelegt hast, aber trotzdem Flags an die Runtime uebergeben musst (wie Inputs), musst du den Doppel-Strich-Separator -- verwenden. Das sagt actrun, dass die folgenden Flags zum Graph gehoeren, nicht zum CLI-Tool.

Terminal-Fenster
export ACT_GRAPH_FILE=my_workflow.act
export ACT_CONFIG_FILE=my_config.actconfig
# Verwende '--' um Flags an deinen Graph zu uebergeben
./actrun -- --my-flag=test --another-flag=123

Du kannst zusaetzliche Variablen aus einer .env-Datei laden, indem du das Flag --env-file verwendest.

VariableAequivalentes FlagBeschreibung
ACT_GRAPH_FILE[filename]Die Standard-Graph-Datei, die ausgefuehrt wird, wenn kein Argument angegeben wird.
ACT_CONCURRENCY--concurrencyKonkurrente Ausfuehrung aktivieren oder deaktivieren (Standard: true).
ACT_CONFIG_FILE--config-filePfad zu einer bestimmten .actconfig-Datei.
ACT_SESSION_TOKEN--session-tokenToken zur Verbindung mit einer Debug Session im Browser.
ACT_CREATE_DEBUG_SESSION--create-debug-sessionEine Debug Session durch Verbindung mit der Web-App erstellen.
ACT_LOGLEVELLog-Level setzen (debug, verbose oder Standard).
ACT_NOCOLORAuf true setzen, um Farbe im Terminal zu deaktivieren.

Du kannst YAML-Konfigurationsdateien verwenden, um Umgebungsvariablen und Secrets zu speichern. Du kannst entweder eine bestimmte Config-Datei angeben oder actrun nach einer globalen Config in deinem Home-Verzeichnis suchen lassen.

  1. Lokal: Eine bestimmte Datei, bereitgestellt ueber das Flag --config-file oder die Umgebungsvariable ACT_CONFIG_FILE.
  2. Global: Eine .actconfig-Datei in deinem Home-Verzeichnis (~/.actconfig).
  • Ordner~/ Home-Verzeichnis
    • .actconfig globale Config
  • Ordneryour-project/
    • .actconfig lokale Config
    • my-workflow.act

Beispiel-Inhalt einer actconfig:

.actconfig
env:
# Diese Variablen sind fuer deinen Graph verfuegbar
API_ENDPOINT: https://api.example.com
DEFAULT_REGION: us-east-1
secrets:
# Secrets werden sicher dem Secret Node zur Verfuegung gestellt
API_KEY: abcdef123456
DB_PASSWORD: super_secret_password
inputs:
# Inputs sind als Graph-Eingaben verfuegbar
DEPLOYMENT_ENV: production

Um genau zu sehen, woher Konfigurationswerte beim Start geladen werden, setze die Umgebungsvariable ACT_LOGLEVEL auf debug.

Terminal-Fenster
export ACT_LOGLEVEL=debug
./actrun --concurrency=false
looking for value: 'concurrency'
found value in flags
evaluated to: 'false'

Secrets sollten niemals ueber Kommandozeilen-Flags uebergeben werden. Verwende stattdessen Umgebungsvariablen oder definiere sie in deiner Config-Datei unter dem Schluessel secrets.

Secrets sind ueber den 🔑 Secret Node zugaenglich. Du kannst auch direkt in den Inputs eines -Ports ueber die Expressions-Syntax darauf zugreifen.

Wenn du actrun in einem GitHub Actions Workflow ausfuehrst, kannst du Repository-Secrets im JSON-Format in den Graph-Kontext uebergeben:

  • Ordner.github/
    • Ordnerworkflows/
      • my-gh-workflow.yml Workflow-YAML
      • my-workflow.act Action Graph
.github/workflows/my-gh-workflow.yml
jobs:
build-quick:
runs-on: ubuntu-latest
name: Run Graph
steps:
- name: Run Graph
uses: actionforge/action@866e7df1ce5e84a2b32fda7414812ae72000dae8 # v0.14.6
with:
graph_file: my-workflow.act # (1)
inputs: ${{toJson(inputs) }}
secrets: ${{toJson(secrets) }} # (2)
matrix: ${{toJson(matrix) }}
needs: ${{toJson(needs) }}
  1. Speichere deinen Graph hier: .github/workflows/my-workflow.act.
  2. ℹ️ Fuege diese Zeile hinzu, um den Zugriff auf deine Repository- oder Organisations-Secrets im Action Graph zu ermoeglichen.