Hammer foreman
| Fiche express | |
|---|---|
| Type | CLI officielle de Foreman/Katello |
| Paquet | rubygem-hammer_cli_foreman (+ rubygem-hammer_cli_katello)
|
| Usage | Ligne de commande, shell interactif, scripting |
| Voir aussi | Foreman · Katello |
Hammer est la CLI officielle de Foreman (et de son plugin Katello) : elle interroge la même API REST que l'interface web, ce qui en fait l'outil de choix pour le scripting et l'automatisation (CI/CD, cron, provisioning en masse).
Installation
dnf install -y rubygem-hammer_cli_foreman
# Si Katello est utilisé sur l'instance :
dnf install -y rubygem-hammer_cli_katello
Utilisation en ligne de commande
Chaque sous-commande peut s'exécuter directement, avec authentification par option ou par fichier de configuration (~/.hammer/cli_config.yml) :
hammer domain list
hammer --username admin --password '<mot de passe>' organization list
Mode interactif (hammer shell)
Pour enchaîner plusieurs commandes sans ressaisir l'authentification à chaque fois :
hammer shell
hammer> organization list
hammer> product list --organization-id 1
hammer> repository list --organization-id 1
hammer> repository-set list --product-id 5
hammer> repository-set enable --id 3025 --product-id 5 --organization-id 1 \
--releasever 8 --basearch x86_64
Gestion de contenu (avec Katello)
hammer> subscription upload --file /root/manifest.zip --organization-id 1 hammer> repository synchronize --async --id 1 --organization-id 1 --product-id 5 hammer> repository update --id 50 --product-id 16 --publish-via-http true
Ajouter un paquet à un dépôt manuellement (upload direct, hors synchronisation amont) :
hammer repository list --organization-id 1
hammer repository upload-content --id <repo_id> --path fichier.rpm
Ces opérations de contenu s'appuient sur Pulp en arrière-plan ; voir Katello pour l'architecture complète.
Activation keys
Les clés d'activation permettent d'associer automatiquement un hôte enregistré (subscription-manager) à une organisation, des dépôts et des host collections :
hammer activation-key list --organization-id 1
Scripting et automatisation
Étant purement scriptable, Hammer est couramment appelé depuis des pipelines (Integration continue) ou des jobs Rundeck pour du provisioning ou des opérations de contenu (synchronisation, publication de vues de contenu) déclenchées automatiquement.
Voir aussi
- Foreman — plateforme pilotée par Hammer
- Katello — sous-commandes de gestion de contenu
- Pulp — moteur de dépôts derrière les opérations de synchronisation
- Katello-agent — côté client