christiangda.awscli

Rôle Ansible : christiangda.awscli

Flux de travail de la branche Master Flux de travail de la branche Develop Rôle Ansible

Ce rôle installe l'interface de ligne de commande AWS (awscli)

Le meilleur moyen d'installer ce rôle est d'utiliser la commande ansible-galaxy install christiangda.awscli, le dépôt Ansible Galaxy est christiangda.awscli

Le code du dépôt est disponible sur https://github.com/christiangda/ansible-role-awscli

Remarques :

Exigences

Ce rôle fonctionne sur les distributions RedHat, CentOS, Debian et Ubuntu.

  • RedHat
    • 7
    • 8
  • CentOS
    • 7
    • 8
  • Ubuntu
    • 16.*
    • 18.*
    • 20.*
    • 21.*
  • Debian
    • stretch (9)
    • buster (10)
    • bullseye (11)

Pour voir la matrice de compatibilité entre Python et Ansible, consultez le projet Matrice de build Travis-CI

Variables du Rôle

Aucune

Dépendances

Remarque : RedHat/CentOS 8 n'a pas besoin du dépôt EPEL pour utiliser ce rôle.

Exemple de Playbook

RedHat/CentOS, Ubuntu et Debian

Lorsque vous ciblez RedHat/CentOS 8 ou Debian/Ubuntu

- hosts: redhat-8
    gather_facts: True
    roles:
      - role: christiangda.awscli

Lorsque vous ciblez RedHat/CentOS 6/7

- hosts: redhat-7
    gather_facts: True
    roles:
      - role: christiangda.epel_repo
      - role: christiangda.awscli

Lorsque vous avez plusieurs cibles OS, installez le dépôt EPEL uniquement sur RedHat/CentOS 6/7

- hosts: servers
    gather_facts: True
    roles:
    - role: christiangda.epel_repo
      when: >
        ansible_os_family == 'RedHat' and (
          ansible_distribution == 'CentOS' or
          ansible_distribution == 'RedHat'
        )
        and (
          ansible_distribution_major_version == '6' or
          ansible_distribution_major_version == '7'
        )
      changed_when: false
    - role: christiangda.awscli

Lorsque vous ciblez RedHat/CentOS 8 ou Debian/Ubuntu et souhaitez utiliser le rôle christiangda.awscli

- hosts: redhat-8
    gather_facts: True
    roles:
      - role: christiangda.awscli
      - role: christiangda.awscli_configure
        vars:
          awscliconf_files:
            credentials:
              - default:
                  aws_access_key_id: 'AKIAIOSFODNN7EXAMPLE'
                  aws_secret_access_key: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY'
            config:
              - default:
                  region: us-west-2
                  output: json
              - profile development:
                  role_arn: 'arn:aws:iam::123456789012:role/role-for-development'
                  mfa_serial: 'arn:aws:iam::11111111111:mfa/christian.gonzalez'
                  region: eu-west-1
                  source_profile: default

Développement / Contribuer

Ce rôle est testé avec Molecule et a été développé en utilisant Environnements Virtuels Python

Nous utilisons également deux branches principales Git

  • master
  • develop

Si vous souhaitez contribuer à ce projet, voici ce que vous devez faire :

Références

Préparer votre environnement

  • Python 3
mkdir ansible-roles
cd ansible-roles/

python3 -m venv venv
source venv/bin/activate
pip install pip --upgrade
pip install ansible
pip install molecule
pip install 'molecule[docker]'
pip install 'molecule[lint]'
pip install molecule-vagrant
pip install python-vagrant
pip install selinux
pip install docker
pip install pytest
pip install pytest-mock
pip install pylint
pip install rope
pip install autopep8
pip install yamllint
pip install flake8
pip install ansible-lint

Cloner le dépôt du rôle (depuis votre fork) et créer un lien symbolique

git clone https://github.com/christiangda/ansible-role-awscli.git
ln -s ansible-role-awscli christiangda.awscli
cd christiangda.awscli

Exécuter le test de molécule

Scénarios disponibles :

  • default --> --driver-name docker et uniquement la dernière version de l'OS
  • docker --> --driver-name docker
  • podman --> --driver-name podman
  • vagrant --> --driver-name vagrant

scénario default

Étape par étape

molecule create [--scenario-name default]
molecule converge [--scenario-name default]
molecule verify [--scenario-name default]
molecule destroy [--scenario-name default]

ou

Tout en un

molecule test [--scenario-name default]

scénario podman

Étape par étape

molecule create --scenario-name podman
molecule converge --scenario-name podman
molecule verify --scenario-name podman
molecule destroy --scenario-name podman

ou

Tout en un

molecule test --scenario-name podman

scénario vagrant

Étape par étape

molecule create --scenario-name vagrant
molecule converge --scenario-name vagrant
molecule verify --scenario-name vagrant
molecule destroy --scenario-name vagrant

ou

Tout en un

molecule test --scenario-name vagrant

De plus, si vous souhaitez le tester en utilisant des VM, j'ai un très joli projet ansible-playground qui utilise Vagrant et VirtualBox, essayez-le !

Licence

Ce module est publié sous la Licence Publique Générale GNU Version 3 :

Informations sur l'auteur

Installer
ansible-galaxy install christiangda.awscli
Licence
gpl-3.0
Téléchargements
53.8k