Aller au contenu

Configuration

actrun fournit un système de configuration flexible qui vous permet de définir des valeurs via des flags de programme, des variables d’environnement et des fichiers de configuration.

La priorité de configuration est strictement hiérarchique. Les valeurs définies en haut de la liste ont la priorité sur celles en dessous :

Priorité de configuration : 1. Flags de programme, 2. Variables d'environnement, 3. Config locale, 4. Config globale

La manière la plus directe de configurer actrun est de passer des arguments et des flags directement à l’exécutable. C’est la méthode avec la priorité la plus élevée.

Pour exécuter un action graph spécifique, fournissez le nom de fichier (ou l’URL) comme premier argument positionnel. Les flags qui suivent le nom de fichier sont passés directement à votre graph en tant qu’inputs.

Fenêtre de terminal
# Syntaxe : actrun [options] <filename|url> [graph-flags]
# Exécuter un graph
./actrun my_graph.act
# Exécuter un graph et lui passer des flags
./actrun my_graph.act --my-flag=test --another-flag=123
# Exécuter un graph avec votre propre fichier de config, et lui passer des flags
./actrun --config-file=/path/to/config.actconfig my_graph.act --my-flag=test --another-flag=123

Note : Les flags spécifiques à actrun (comme --config-file) doivent être placés avant le nom du fichier graph. Tout ce qui suit le nom de fichier est traité comme un argument pour le graph lui-même.

FlagDescription
--config-fileChemin vers un fichier de configuration .actconfig spécifique.
--concurrencyActiver ou désactiver l’exécution concurrente (par défaut : true).
--session-tokenToken pour se connecter à une session de debug dans le navigateur.
--create-debug-sessionCréer une session de debug en se connectant à l’application web. Ne peut pas être utilisé avec --session-token.
--env-fileChemin absolu vers un fichier .env à charger avant l’exécution.

Note : Les tirets (--config-file) et les underscores (--config_file) sont acceptés pour tous les flags.

CommandeDescription
validate [graph-file]Valider un fichier graph sans l’exécuter.
versionAfficher le numéro de version de actrun.

Vous pouvez configurer le comportement du runtime et définir des valeurs par défaut en utilisant des variables d’environnement. C’est utile pour les environnements CI/CD ou pour définir des valeurs par défaut pour l’utilisateur.

Au lieu de passer le nom de fichier à chaque fois, vous pouvez définir la variable ACT_GRAPH_FILE.

Fenêtre de terminal
export ACT_GRAPH_FILE=my_workflow.act
./actrun

Si vous avez défini votre graph via la variable d’environnement ACT_GRAPH_FILE mais que vous devez quand même passer des flags au runtime (comme des inputs), vous devez utiliser le séparateur double-tiret --. Cela indique à actrun que les flags suivants appartiennent au graph, et non à l’outil CLI.

Fenêtre de terminal
export ACT_GRAPH_FILE=my_workflow.act
export ACT_CONFIG_FILE=my_config.actconfig
# Utilisez '--' pour passer des flags à votre graph
./actrun -- --my-flag=test --another-flag=123

Vous pouvez charger des variables supplémentaires depuis un fichier .env en utilisant le flag --env-file.

VariableFlag EquivalentDescription
ACT_GRAPH_FILE[filename]Le fichier graph par défaut à exécuter si aucun n’est fourni en argument.
ACT_CONCURRENCY--concurrencyActiver ou désactiver l’exécution concurrente (par défaut : true).
ACT_CONFIG_FILE--config-fileChemin vers un fichier .actconfig spécifique.
ACT_SESSION_TOKEN--session-tokenToken pour se connecter à une session de debug dans le navigateur.
ACT_CREATE_DEBUG_SESSION--create-debug-sessionCréer une session de debug en se connectant à l’application web.
ACT_LOGLEVELDéfinir le niveau de log (debug, verbose, ou par défaut).
ACT_NOCOLORDéfinir à true pour désactiver la couleur dans le terminal.

Vous pouvez utiliser des fichiers de configuration YAML pour sauvegarder des variables d’environnement et des secrets. Vous pouvez soit définir un fichier de config spécifique, soit laisser actrun chercher un config global dans votre dossier personnel.

  1. Local : Un fichier spécifique fourni via le flag --config-file ou la variable d’environnement ACT_CONFIG_FILE.
  2. Global : Un fichier .actconfig dans votre répertoire personnel (~/.actconfig).
  • Répertoire~/ répertoire personnel
    • .actconfig config globale
  • Répertoireyour-project/
    • .actconfig config locale
    • my-workflow.act

Exemple de contenu actconfig :

.actconfig
env:
# Ces variables seront disponibles pour votre graph
API_ENDPOINT: https://api.example.com
DEFAULT_REGION: us-east-1
secrets:
# Les secrets sont rendus disponibles de manière sécurisée au Secret Node
API_KEY: abcdef123456
DB_PASSWORD: super_secret_password
inputs:
# Les inputs sont disponibles comme entrées du graph
DEPLOYMENT_ENV: production

Pour voir exactement d’où les valeurs de configuration sont chargées au démarrage, définissez la variable d’environnement ACT_LOGLEVEL à debug.

Fenêtre de terminal
export ACT_LOGLEVEL=debug
./actrun --concurrency=false
looking for value: 'concurrency'
found value in flags
evaluated to: 'false'

Les secrets ne devraient jamais être passés via des flags en ligne de commande. Utilisez plutôt des variables d’environnement, ou définissez-les dans votre fichier de config sous la clé secrets.

Les secrets sont accessibles en utilisant le 🔑 Secret Node. Vous pouvez aussi y accéder directement dans les inputs d’un port en utilisant la syntaxe des expressions.

Quand vous exécutez actrun dans un workflow GitHub Action, vous pouvez passer les secrets du repository dans le contexte du graph en utilisant le format JSON :

  • Répertoire.github/
    • Répertoireworkflows/
      • my-gh-workflow.yml YAML du workflow
      • 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. Enregistrez votre graph ici .github/workflows/my-workflow.act.
  2. ℹ️ Ajoutez cette ligne pour permettre l’accès aux secrets de votre repository ou organisation dans l’action graph.