Hammer foreman

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
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