DRAFT — Preliminary version, do not share. · Version préliminaire, ne pas partager.

CLI fun

Cette page répertorie toutes les commandes de la CLI fun avec leurs options, les fichiers de configuration qu'elle lit et écrit, ainsi que les variables d'environnement qu'elle reconnaît. Pour une introduction orientée tâches, lisez La CLI fun.

L'aide de référence pour votre version installée est toujours fun <command> --help. La référence complète des commandes, générée automatiquement, est publiée à l'adresse https://cli.fundamentum-iot.com/reference/fun.html.

Options globales

Option Description
--config <dir> Lit et écrit la configuration dans ce répertoire au lieu de la recherche par défaut
-v, --version Affiche la version de la CLI (commande racine uniquement)
-h, --help Aide pour n'importe quelle commande

--context <name> sélectionne un contexte enregistré (par défaut default). Elle est acceptée par toutes les commandes qui appellent Fundamentum : les opérations fun api, fun api refresh, fun functions …, fun devices port-forward et fun devices transfer ….

Arborescence des commandes

Session et configuration

Commande Description
fun login Connecte votre session via votre navigateur et enregistre le jeton dans un contexte. Demande le nom du contexte, le point de terminaison de l'API (par défaut https://api.fundamentum-iot.com) et le point de terminaison OAuth (par défaut https://oauth.fundamentum-iot.com). Exécutez-la à nouveau sur un contexte existant pour rafraîchir son jeton
fun login --override Modifie les points de terminaison d'un contexte existant
fun login --no-check Ignore la vérification de l'état de santé des points de terminaison
fun config contexts list Liste les contextes enregistrés. Les clés sont masquées
fun config dir Affiche le répertoire de configuration utilisé
fun check-update Compare votre version avec la dernière version publiée sur cli.fundamentum-iot.com
fun install-skills Installe les skills d'agents IA fournies, voir Agents IA et skills
fun completion bash|zsh|fish|powershell Affiche un script de complétion pour le shell, y compris les commandes fun api

Appareils

Commande Options Description
fun devices port-forward (alias pf) -p, --project, -r, --registry, -s, --serial, -l, --local-port, -d, --remote-port (toutes obligatoires) Redirige un port de l'appareil vers un port local. Appuyez sur n'importe quelle touche pour arrêter
fun devices transfer cloud-to-device -p, --project, -r, --registry, -d, --device ou -s, --serial, --remote-path, -f, --file Envoie un fichier local vers l'appareil. --file doit être un chemin relatif à l'intérieur du répertoire courant
fun devices transfer device-to-cloud -p, --project, -r, --registry, -d, --device ou -s, --serial, --remote-path, -n, --name Récupère un fichier depuis l'appareil et l'enregistre localement sous le nom --name. Attend jusqu'à 2 minutes pour le téléversement

--device (identifiant numérique de l'appareil) et --serial sont mutuellement exclusifs ; indiquez-en un seul. Les numéros de série ne contiennent que des lettres minuscules, des chiffres, _ et -.

Voir Terminal distant et redirection de ports et Transferts de fichiers.

Fonctions

Commande Options Description
fun functions list --project (obligatoire), --per-page (25 par défaut, 100 au maximum) Liste les fonctions d'un projet
fun functions new <name> [definition.json] --project, --language, --description, --connector <in>:<out> (répétable), --variable KEY=VALUE (répétable), --ask, --override Crée une fonction et l'enregistre localement sous <name>
fun functions edit <name> [definition.json] Modifie la définition d'une fonction
fun functions upload <name> <file.wasm> Téléverse un nouveau binaire WebAssembly
fun functions invoke -n, --name, ou -p, --project avec -f, --function-id ; -i, --input-file Invoque une fonction. Sans --input-file, l'entrée est lue depuis stdin
fun functions executions list -n, --name, ou -p, --project avec -f, --function-id ; --per-page Liste les exécutions récentes avec leurs journaux et leurs erreurs
fun functions names list Liste les noms de fonctions enregistrés localement
fun functions names add <name> -p, --project, -f, --function (les deux obligatoires), --override Enregistre une fonction existante sous un nom local

Sans fichier de définition, fun functions new nécessite --project, --language et --description, ou --ask pour les demander de manière interactive. Voir Fonctions cloud : moteur d'exécution et SDK.

Public API

Commande Description
fun api refresh Télécharge et met en cache les spécifications de la Public API (/v1/api/swagger.json et /v2/api/openapi.json) pour le contexte actif
fun api v1 --help, fun api v2 --help Liste les groupes d'une version
fun api <version> <group> <operation> [flags] Appelle une opération

Les groupes proviennent des tags de la spécification et les opérations des identifiants d'opération, tous deux en kebab-case. Par exemple, le tag v2 Service Accounts devient service-accounts et l'opération listServiceAccounts devient list-service-accounts.

Options des opérations :

Option Description
--<parameter> Une option par paramètre de chemin, de requête ou d'en-tête, en kebab-case (project_id et projectId deviennent tous deux --project-id). Les paramètres de chemin sont obligatoires
--body '<json>' Corps de la requête sous forme de JSON en ligne
--body-file <path> Corps de la requête depuis un fichier, ou - pour stdin
--dry-run Affiche la requête sans l'envoyer : la ligne de requête et les en-têtes sur stderr, le corps sur stdout
--data-only Affiche uniquement le champ data de la réponse
--page <n> Sur les opérations paginées, récupère une seule page au lieu d'ouvrir le paginateur interactif
--context <name> Utilise ce contexte

Règles de sortie :

Fichiers de configuration

La CLI recherche son répertoire de configuration dans l'ordre suivant et utilise le premier trouvé :

  1. --config <dir>
  2. $FUN_CONFIG_DIRECTORY
  3. $XDG_CONFIG_HOME/fun/ (par défaut ~/.config/fun/)
  4. $XDG_CONFIG_DIRS/fun/ (par défaut /etc/xdg/fun/)
  5. ./.fun/
Fichier Contenu
contexts.json Vos contextes : points de terminaison et informations d'identification, indexés par nom de contexte
functions.json Noms de fonctions locaux : context (facultatif), project et id pour chaque nom

contexts.json :

{
  "default": {
    "fundamentum_iot_endpoint": "https://api.fundamentum-iot.com",
    "oauth_endpoint": "https://oauth.fundamentum-iot.com",
    "auth": { "type": "apikey", "key": "<token>" }
  }
}

auth.type vaut apikey (un jeton bearer, que fun login écrit pour vous) ou none. Gardez ce fichier privé : il contient votre jeton.

Les spécifications d'API mises en cache sont stockées dans votre répertoire de cache utilisateur, sous fun/openapi/.

Variables d'environnement

Variable Effet
FUN_CONFIG_DIRECTORY Répertoire de configuration, voir l'ordre de recherche ci-dessus
FUN_CONTEXT_NAME Réponse par défaut à l'invite du nom de contexte de fun login
FUN_CONTEXT_FUNDAMENTUM_IOT_ENDPOINT Point de terminaison de l'API. Lorsqu'elle est définie, la CLI utilise un contexte construit à partir de l'environnement au lieu de contexts.json. Également la réponse par défaut à l'invite du point de terminaison de fun login
FUN_CONTEXT_API_KEY Jeton bearer pour le contexte d'environnement, par exemple un jeton de compte de service en CI
FUN_OAUTH_FUNDAMENTUM_ENDPOINT Réponse par défaut à l'invite du point de terminaison OAuth de fun login
FUN_PROJECT_ID Projet utilisé par fun functions new ; a priorité sur --project

Chaque requête porte l'en-tête Authorization: Bearer <token>.