muppy.io
  • ⛏️Qu'est ce que muppy.io ?
  • ⚒️Concepts Muppy
  • Quickstarts
    • ✏️Introduction
  • Guides
    • ⛏️Muppy Core
      • Hosts
        • Création et enrôlement d'un Host
          • ✏️Server Types
          • ✏️Configuration réseaux spécifiques
        • ⚒️Host's Users
        • ⚒️Host's Network information
        • ⚒️Host's Metrics
      • Tasks et Fact Collectors
        • ⚒️Exécution des Tasks (Task Runs)
          • ⚒️Exécution asynchrone des Tasks (Launch as Job)
        • ⚒️Synchronisation des Tasks et Scripts
        • ⚒️Liste des Scripts
        • ⚒️Liste des Tasks
        • ⚒️Création de Task "Shell Script"
        • ⚒️Liste des Fact Definitions
      • ⛏️Firewall UFW
        • Désactiver UFW globalement
        • ✏️Page 1
      • SSH Keys
        • Gestion des SSH Keys
        • Gestion des "authorized_keys"
        • Extraction Clef Privée d'un User User
      • ⚒️Systemd Service Units
        • ⚙️Liste des Systemd Units
        • ➕Création de Systemd Units
        • 📰Systemctl status et log
        • ✏️Edition des Systemd Units
    • 🐘PostgreSQL
      • PostgreSQL Base
        • Installation de PostgreSQL
        • Gestion des Clusters
          • Création
          • Configuration
          • Contrôle
          • Administration (basique)
        • Backup, Restore et Copy de Databases
          • Databases Backups (pg_dump)
          • PostgreSQL Backup
          • pg_dump Restore
          • Database Copy
          • pg_restore Callback Task
        • Backups Planifiés
        • Gestion rétention des Backups
      • PostgreSQL Replication
        • Créer un RCS
        • Visualiser un RCS
        • Suivre la Replication
        • Ajouter des Standbys
        • Restructurer un RCS
        • Intégration d'un RCS
        • Reconfigurer un RCS
      • PostgreSQL HA
        • Configuration
        • Activation et Désactivation
        • Monitoring
        • pglookout Heartbeat
      • PostgreSQL PITR
        • Configuration de WAL-G
        • Lancement des Clusters Backups
        • Liste des Clusters Backups (WAL-G)
        • Purge des fichiers de Backup PITR
        • Monitoring du PITR
        • Objets S3 stockés par WAL-G
        • Restauration PITR
      • PostgreSQL Tools
        • pgBadger - log analysis
    • Muppy Pack
      • ⛏️Packs
      • Concepts
      • ⛏️Muppy Cluster
        • Cluster Security
        • PostgreSQL Cluster Resources
      • ⛏️Reverse Proxy
    • ✏️Configuration
      • 👫Gestion des Users Muppy
      • 🏬S3 Buckets
      • 💬Notifications Teams
      • ✏️Notifications Slack
    • ⛏️Odizy
      • Odizy Workflow
        • Test Servers
      • Accéder à vos serveurs
      • Restaurer un backup sur le serveur de staging
      • Activer un serveur Standby
      • ⛏️Configuration LXC CI/CD
      • Activate and Launch remote Code-Server (VS Code from coder.com)
    • ⚒️Kubernetes
      • ⚒️Installer Tailscale
      • ⚒️Installer un cluster microk8s
      • ⚒️Installer PostgrSQL
      • ⚒️Installer les packages d'infrastructures
  • 📡Muppy Enterprise
    • Introduction
    • ⛏️Configuer une Instance Muppy Enterprise
    • 🌡️Monitoring Muppy Enterprise
  • ⛏️Work in progress
    • ⛏️Code Server
    • ⛏️Muppy Development Servers
      • Move Development Server
Powered by GitBook
On this page
  • Formulaire de Création
  • Onglet script
  • Définition du username qui exécute le script
  1. Guides
  2. Muppy Core
  3. Tasks et Fact Collectors

Création de Task "Shell Script"

Les Tasks de type "Shell Script" sont les seules qui peuvent être créés par les utilisateurs Muppy depuis l'interface.

PreviousListe des TasksNextListe des Fact Definitions

Last updated 6 months ago

Le menu Muppy / Tasks / Tasks permet d'accéder à l'ensemble des Tasks connues par Muppy.

Formulaire de Création

Cliquez sur le bouton Create pour ouvrir le formulaire de création suivant.

  1. Le nom de la Task est le nom du fichier script qui sera généré (Il doit respecter les contraintes des noms de fichier Linux).

  2. Si le script est une callback particulière, vous devez sélectionner sa Catégorie, sinon vous ne pourrez pas la sélectionner.

  3. Ici vous déclarez les paramètres (nom, type, description)

Définition des Paramètres

Le fait de les définir permet aux Tasks Script shell d'avoir la même ergonomie dans les Tasks Runs que les Internal Tasks.

Les paramètres déclarés:

  • seront saisie dans les Task Runs

  • doivent correspondre aux paramètres attendues pour les callbacks

Onglet script

Utilisez l'onglet Script pour saisir les commandes qui seront exécutées.

Le script est saisi sous forme d'une template Jinja2.

Utilisation des paramètres dans les Scripts

Les paramètres de la Task sont injectés dans le context Jinja2 dans un objet (python dict) nommé params.

Dans l'exemple ci-dessus, le paramètre a_name déclaré au niveau de la Task est récupéré dans le script par la template {{ params.a_name }}

Définition du username qui exécute le script

Par défaut (si Script username est vide), le user qui éxécute le script est le Control User du host.

Vous pouvez forcer un user name particulier: eg. traefik.

Il est également possible d'extraire le username des paramètres en saisissant une template dont le context contient directement les paramètres. {{ param_name..... }}

Exemple

L'exemple suivant montre une Task callback de catégorie Pack8s Resource Activator chargée de supprimer une ligne dans le crontab du Owner d'un Server LXC lorsque le Server LXC est activé dans le cas d'un Switchover ou Failover.

A noter:

  • La Category : Ici il s'agit d'une callback Pack8s Resource Activator. Elle doit être renseignée pour que la Task soit disponible à la sélection dans le formulaire de la Resource dans le Meta Cluster.

  • Le paramètre resource_obj est imposer par la Category. L'utilisateur doit le créer par copie d'une Callback existante. Toutes les tasks avec cette Category auront ce paramètre.

Definition du username par extraction des paramètres:

  • Dans cette exemple, au moment de l'exécution, le user qui execute le script est extrait du paramètre resource_obj avec la template {{ resource_obj.dev_server_id.username }} qui récupère le user owner du LXC Srver associé associé à la resource.

Voici le code de la Task hello_user ci-dessus:

⛏️
⚒️
Liste des Tasks Muppy
Shell Script Task creation
Script tab
Task definition with category and parameter
Callback script example with username extracted from params