[sˈθɪŋz] / ansible-collection.md

Created Mon, 17 Jun 2024 14:50:53 +0000 Modified Mon, 17 Jun 2024 14:51:59 +0000
392 Words

stuttgart-things/ansible/collections

BASE-OS

INSTALLATION

VERSION=0.5.0
ansible-galaxy collection install -f \
https://github.com/stuttgart-things/stuttgart-things/releases/download/${VERSION}/sthings-base_os-${VERSION}.tar.gz

PLAYBOOKS

base setup for linux machine: updates, packages, ca, banner + filesystem.

ansible-playbook sthings.base_os.setup -vv -i /tmp/inv

deploys ansible + dependecies

# VSPHERE-TF-VARS PROFILE
ansible-playbook sthings.base_os.terraform \
-e tf_project_path=/home/andre/Projects/ansible/awx/base-codehub/terraform/vsphere-andre-vm \
-e tf_vars_profile=vsphere-terraform -vv
# PROXMOX-TF-VARS PROFILE
ansible-playbook sthings.base_os.terraform \
-e tf_project_path=/home/andre/Projects/ansible/awx/base-codehub/terraform/proxmox-andre-vm \
-e tf_vars_profile=proxmox-terraform -vv
# EXAMPLE GET TERRAFORM CONFIG FROM S3 BUCKET
ansible-playbook sthings.base_os.terraform \
-e tf_project_path=/home/andre/Projects/ansible/awx/base-codehub/terraform/vsphere-andre-vm \
-e tf_vars_profile=vsphere-terraform \
-e download_config_s3=true \
-e bucket_name=example-bucket \
-e object_name=example-object -vv

deploys ansible + dependecies

ansible-playbook sthings.base_os.ansible -vv -i /tmp/inv

installs golang on target system(s)

# DEPLOYMENT WITH DEFAULT OPTIONS (STHINGS USER EXPORTS)
ansible-playbook sthings.base_os.golang -vv -i inventory

# DEPLOYMENT WITH OVERWRITES (DIFFRENT USER AND SPECIFY GOLANG VERSION)
ansible-playbook sthings.base_os.golang \
-e golang_version=1.22.2 \
-e go_username=elon \
-e go_usergroup=dev \
-e go_userhome=/home/elon \
-vv -i inventory

# ADD TO PLAY AND README FOR USERS DICT
ansible-playbook sthings.base_os.binaries -vv -i /tmp/inv
ansible-playbook sthings.base_os.users -vv -i /tmp/inv

Rename VM/Template

ansible-playbook sthings.base_os.rename_proxmox -vv -e vmname_old=myVM -e vmname_new=myNewVM -e target_host=localhost

Delete VM/Template

ansible-playbook sthings.base_os.delete_proxmox -vv -e vmname_delete=example-name -e target_host=localhost

COLLECTION HISTORY


DATE WHO CHANGELOG

CONTAINER

INSTALLATION

VERSION=0.0.22
ansible-galaxy collection install -f \
https://github.com/stuttgart-things/stuttgart-things/releases/download/${VERSION}/sthings-container-${VERSION}.tar.gz

PLAYBOOKS

###ADD DESCRIPTION

# DEPLOYMENT OF LATEST RUNTIME, CLI + COMPOSE
ansible-playbook sthings.container.docker -vv -i inventory

# DEPLOYMENT OF LATEST RUNTIME, CLI, COMPOSE + KIND CLUSTER
ansible-playbook sthings.container.docker \
-e install_kind=true \
-vv -i inventory
ansible-playbook sthings.container.nerdctl -i /tmp/inv -vv
ansible-playbook sthings.container.podman -i /tmp/inv -vv
ansible-playbook sthings.container.tools -i /tmp/inv -vv

AWX

INSTALLATION

VERSION=0.0.57
ansible-galaxy collection install -f \
https://github.com/stuttgart-things/stuttgart-things/releases/download/${VERSION}/sthings-awx-${VERSION}.tar.gz

VARIABLES

  • name: Name of the job-template
  • inventory: Name of the inventory to use
  • project: Name of the Project the job-template should belong to
  • state: ‘present’ to create job-template, ‘absent’ to delete job-template

PLAYBOOKS

docker deployment awx job template w/ survey

export CONTROLLER_HOST=https://awx.<DOMAIN>.sva.de #EXAMPLE!
export CONTROLLER_USERNAME=admin #EXAMPLE!
export CONTROLLER_PASSWORD=<PASSWORD>
ansible-playbook sthings.awx.docker -vv

nerdctl deployment awx job template w/ survey

export CONTROLLER_HOST=https://awx.<DOMAIN>.sva.de #EXAMPLE!
export CONTROLLER_USERNAME=admin #EXAMPLE!
export CONTROLLER_PASSWORD=<PASSWORD>
ansible-playbook sthings.awx.nerdctl -vv

golang deployment awx job template w/ survey

export CONTROLLER_HOST=https://awx.<DOMAIN>.sva.de #EXAMPLE!
export CONTROLLER_USERNAME=admin #EXAMPLE!
export CONTROLLER_PASSWORD=<PASSWORD>
ansible-playbook sthings.awx.golang -vv

base-os deployment awx job template w/ survey

export CONTROLLER_HOST=https://awx.<DOMAIN>.sva.de #EXAMPLE!
export CONTROLLER_USERNAME=admin #EXAMPLE!
export CONTROLLER_PASSWORD=<PASSWORD>
ansible-playbook sthings.awx.baseos -vv

base-os deployment awx job template w/ survey AND scheduler

export CONTROLLER_HOST=https://awx.<DOMAIN>.sva.de #EXAMPLE!
export CONTROLLER_USERNAME=admin #EXAMPLE!
export CONTROLLER_PASSWORD=<PASSWORD>
ansible-playbook sthings.awx.baseos -vv -e target_host=example.labul.sva.de

Author Information

Andre Ebert, 04/2024, andre.ebert@sva.de, Stuttgart-Things
Xiaomin Lai, 03/2020, xiaomin.lai@sva.de, Stuttgart-Things
Patrick Hermann, 10/2019, patrick.hermann@sva.de, Stuttgart-Things