- Présentation de Jelina
- JelinaOS
- Ressources de référence
Compatibilité et extensions docker-compose
JelinaOS fournit une orchestration prête à l’emploi, entièrement compatible avec la syntaxe docker-compose 2.x. Elle se configure dans une Release cloud ou par l’interface locale, puis l’agent la déploie automatiquement. Elle étend aussi cette approche à la gestion déclarative des applications non conteneurisées avec ProgramSet, afin de gérer les programmes traditionnels par configuration.
Exécution de l’orchestration
Section intitulée « Exécution de l’orchestration »Le fichier d’orchestration est une configuration déclarative définie dans une Release ou par l’interface locale, synchronisée puis déployée par l’agent. Les commandes Docker locales servent aux opérations courantes sur un conteneur ; l’orchestration multiservice est assurée par l’agent sans outil supplémentaire sur l’équipement.
Compatibilité Compose
Section intitulée « Compatibilité Compose »La prise en charge repose sur la spécification 2.x pour faciliter la migration des fichiers courants :
- Définitions de services, réseaux, volumes, variables d’environnement et dépendances ;
- Champs et comportements introduits dans les versions 2.x ;
- Les champs ajoutés en 3.x ne sont pas pris en charge ; utilisez la syntaxe 2.x lors de la migration.
version: "2.4"
services: app: image: myapp:1.0.0 restart: always environment: MODE: production ports: - "8080:80"
worker: image: myworker:1.0.0 restart: on-failure depends_on: - appApplications non conteneurisées : gestion déclarative ProgramSet
Section intitulée « Applications non conteneurisées : gestion déclarative ProgramSet »Les sites industriels utilisent de nombreux scripts, démons et binaires tiers traditionnels. JelinaOS les intègre à une gestion déclarative unifiée dont les champs correspondent aux concepts des services système, pour une prise en main simple et une administration complète.
Exemple de base
Section intitulée « Exemple de base »programs: myapp: command: run.sh # Commande de démarrage running: true # État d’exécution restart: always # Politique de redémarrage environment: # Variables d’environnement MODE: production working_directory: . # Répertoire de travail user: root # Utilisateur d’exécution pid_file: /var/run/myapp.pidChamps pris en charge
Section intitulée « Champs pris en charge »| Champ | Fonction | Description |
|---|---|---|
command |
Commande de démarrage | Obligatoire, point d’entrée du programme |
running |
Exécution activée | true par défaut |
restart |
Stratégie de redémarrage | no / on-success / on-failure / on-abnormal / on-watchdog / on-abort / always |
environment |
Variables d’environnement | Paires clé-valeur |
kill_signal |
Signal d’arrêt | Signal envoyé pour arrêter le programme |
working_directory |
Répertoire de travail | Répertoire d’exécution |
type |
Type de service | simple / forking / oneshot / dbus / notify / idle |
user / group |
Identité | Utilisateur et groupe d’exécution |
pid_file |
Fichier PID | Enregistrement de l’identifiant du processus |
wants / requires |
Dépendances | Faibles / fortes |
before / after |
Ordre de démarrage | Avant / après le service désigné |
conflicts |
Exclusion mutuelle | Incompatibilité d’exécution avec le service désigné |
start_limit_interval_sec / start_limit_burst |
Limite de redémarrage | Nombre maximal de redémarrages dans une fenêtre donnée |
start_limit_action |
Action au dépassement | none / reboot / poweroff, etc. |
remain_after_exit |
Maintien après sortie | Empêche un démarrage répété |
exec_start_pre / exec_start_post |
Commandes préalables et finales | Commandes avant / après démarrage |
Extensions des unités de service
Section intitulée « Extensions des unités de service »ProgramSet prend également en charge des paramètres avancés d’unité système, notamment les dépendances de démarrage et les conditions :
programs: myapp: command: run.sh restart: always Install: WantedBy: multi-user.target # Démarrage automatique Unit: ConditionPathExists: /data/app/config.json # Vérification des conditionsExemple d’orchestration mixte
Section intitulée « Exemple d’orchestration mixte »version: "2.4"
services: # Applications conteneurisées web: image: myweb:1.0.0 restart: always
programs: # Programme d’acquisition traditionnel collector: command: collector --config /data/collector.conf restart: on-failure after: webConteneurs et programmes natifs coopèrent dans la même orchestration, avec des dépendances, un ordre et des stratégies de redémarrage gérés ensemble : c’est une valeur distinctive de la gestion applicative JelinaOS.