You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Michael Haehnel 32d867ef30
DEV-1034 Allow temporarily public access to prodnso-keycloak
3 years ago
ansible-builder Dev 997 provisioning galaxy role 3 years ago
docker/dregsy feat: consolidation for harbor 4 years ago
group_vars DEV-1034 Allow temporarily public access to prodnso-keycloak 3 years ago
host_vars DEV-1009 Setup dev-acr cluster with blueprint 3 years ago
inventory_plugins Feature/dev 927 3 years ago
kubespray@0634be4c88 DEV-1009 Setup dev-acr cluster with blueprint 3 years ago
library bugfix: connect-wordpress orchestration 4 years ago
roles chore: fix pmci error 3 years ago
scripts MOB-367 added script for pull/tag/push images between stages 3 years ago
smardigo chore: bugfix pmci configuration 3 years ago
tasks DEV-1014 bugfix: autodiscover_pre_task broken 3 years ago
templates NOTICKET: Silence DB Restore test alerts 3 years ago
users DEV-822 feat: ssh key für Hans-Peter Wissenbach hinzugefügt 3 years ago
.gitignore DEV-327: added several stuff for new prodnso-stage + bugfixing and improving other stuff 4 years ago
.gitlab-ci.yml DEV-1037 Removed 'run-kubernetes' from GitlabCI/CD pipeline 3 years ago
.gitmodules Feature/dev 927 3 years ago
README.md Dev-997: provisioning galaxy role 3 years ago
ansible-lint.cfg chore: ansible linter 3 years ago
ansible.cfg Feature/dev 930 3 years ago
awx.yml chore: activate kubernetes awx on dev/qa/prod 3 years ago
create-database-backup.yml DEV-526 added pmci tenant management 3 years ago
create-database.yml DEV-526 added pmci tenant management 3 years ago
create-kibana-objects.yml Feature/dev 829 - ansible version updaten 3 years ago
create-realm.yml DEV-526 added pmci tenant management 3 years ago
create-remote-database-backup.yml Feature/dev 829 - ansible version updaten 3 years ago
create-server.yml DEV-997 create-server: missing dns creation 3 years ago
create-service.yml Feature/dev 829 - ansible version updaten 3 years ago
dump-hcloud-ips.yml Dev-997: provisioning galaxy role 3 years ago
elastic-certs.sh DEV-338: added logstash config to deliver k8s-dockerlogs into specific indices 4 years ago
evil-remove-server.yml Dev-997: provisioning galaxy role 3 years ago
export-database.yml Feature/dev 829 - ansible version updaten 3 years ago
external_monitoring.yml DEV-960: adding 2 additinal clsuter nodes 3 years ago
galaxy-requirements.yml Dev-997: provisioning galaxy role 3 years ago
gitlab-mirrors.yml spike: automated mirrors for gitlab (w.i.p.) 4 years ago
gitlab.clone.k8s-clusters.sh chore: clone all scripts 3 years ago
gitlab.clone.roles.sh chore: clone all scripts 3 years ago
hcloud_firewall.yml Dev-997: provisioning galaxy role 3 years ago
import-database.yml Feature/dev 829 - ansible version updaten 3 years ago
info.yml Feature/dev 829 - ansible version updaten 3 years ago
kubernetes.yml chore: activate kubernetes awx on dev/qa/prod 3 years ago
mobene.yml Feature/dev 829 - ansible version updaten 3 years ago
patchday.yml DEV-914 bugfix of regression from customer specific domains 3 years ago
pip-requirements Feature/dev 829 - ansible version updaten 3 years ago
pmci-callback.yml DEV-526 added pmci tenant management 3 years ago
pmci-database-backup-create.yml DEV-526 added pmci tenant management 3 years ago
pmci-database-backup-import.yml DEV-526 added pmci tenant management 3 years ago
pmci-database-backup-restore.yml DEV-526 added pmci tenant management 3 years ago
pmci-database-create.yml DEV-526 added pmci tenant management 3 years ago
pmci-database-delete.yml DEV-526 added pmci tenant management 3 years ago
pmci-empty-playbook.yml DEV-526 added pmci-callback playbook for testing purposes 3 years ago
pmci-inventory-cluster.yml DEV-526 added pmci tenant management 3 years ago
pmci-inventory-database.yml DEV-526 added pmci tenant management 3 years ago
pmci-kibana-create-objects.yml DEV-526 added pmci tenant management 3 years ago
pmci-monitoring-update.yml DEV-526 added pmci tenant management 3 years ago
pmci-realm-client-create.yml chore: fix pmci error 3 years ago
pmci-realm-client-delete.yml DEV-526 added pmci tenant management 3 years ago
pmci-server-create.yml DEV-526 added pmci tenant management 3 years ago
pmci-server-delete.yml DEV-526 added pmci tenant management 3 years ago
pmci-service-create.yml DEV-526 added pmci tenant management 3 years ago
pmci-service-delete.yml DEV-526 added pmci tenant management 3 years ago
pmci-service-state-update.yml DEV-526 added pmci tenant management 3 years ago
pmci-tenant-change.yml chore: fix merge error 3 years ago
pmci-tenant-create.yml DEV-526 added pmci tenant management 3 years ago
pmci-tenant-delete.yml DEV-526 added pmci tenant management 3 years ago
pmci-tenant-sync.yml DEV-526 added pmci tenant management 3 years ago
poetry.lock Feature/dev 927 3 years ago
provisioning.yml DEV-997 create-server: missing dns creation 3 years ago
pyproject.toml Feature/dev 927 3 years ago
remove-database.yml DEV-526 added pmci tenant management 3 years ago
remove-realm.yml Feature/dev 829 - ansible version updaten 3 years ago
remove-server.yml Dev-997: provisioning galaxy role 3 years ago
remove-service.yml Dev-997: provisioning galaxy role 3 years ago
restore-database-backup.yml DEV-526 added pmci tenant management 3 years ago
restore-remote-database-backup.yml Dev-997: provisioning galaxy role 3 years ago
setup-infrastructure-realm.yml DEV-966 Dismantling prodwork01-keycloak-01 3 years ago
setup.yml Feature/dev 829 - ansible version updaten 3 years ago
smardigo.yml Feature/dev 829 - ansible version updaten 3 years ago
stage-dev Dev-997: provisioning galaxy role 3 years ago
stage-dev-netgo-hcloud.yml Feature/dev 927 3 years ago
stage-devscr DEV-1009 Setup dev-acr cluster with blueprint 3 years ago
stage-devscr-netgo-hcloud.yml DEV-1009 Setup dev-acr cluster with blueprint 3 years ago
stage-digitalocean DEV-253: digitalocean stuff - add droplet but not idempotentgit branch git branch plz check 4 years ago
stage-ext DEV-875 removed ext-bdev-mpmexec-01.smardigo.digital 3 years ago
stage-ext-netgo-hcloud.yml DEV-597 removed ssh keys 3 years ago
stage-prodnso DEV-931: setup new prodnso k8s cluster 3 years ago
stage-prodnso-netgo-hcloud.yml Feature/dev 927 3 years ago
stage-prodwork01 DEV-966 Dismantling prodwork01-keycloak-01 3 years ago
stage-prodwork01-netgo-hcloud.yml DEV-927: fixing problems 3 years ago
stage-qa Feature/dev 930 3 years ago
stage-qa-netgo-hcloud.yml Feature/dev 927 3 years ago
update-docker-image.yml Feature/dev 829 - ansible version updaten 3 years ago
update-monitoring.yml Feature/dev 829 - ansible version updaten 3 years ago
update-service-state.yml Feature/dev 829 - ansible version updaten 3 years ago
update-ssh-config-file.yml Dev-997: provisioning galaxy role 3 years ago
upload-database-dumb.yml Feature/dev 829 - ansible version updaten 3 years ago

README.md

Prepare ansible Installation

Install needed python pip packages

pip3 install -r pip-requirements

Install needed ansible collections / roles

ansible-galaxy install -r galaxy-requirements.yml -f

Setup

Create/Start servers for stage-dev

ansible-playbook -i stage-dev provisioning.yml --vault-password-file ~/vault-pass
ansible-playbook -i stage-dev start.yml --vault-password-file ~/vault-pass
ansible-playbook -i stage-dev stop.yml --vault-password-file ~/vault-pass

with Poetry prefix with poetry run

Provisioning

ansible-playbook -i stage-dev setup.yml --vault-password-file ~/vault-pass -u root
ansible-playbook dynamic-provisioning.yml  --vault-password-file ~/vault-pass -e "stage=dev name=test node=01 service=connect"

with Poetry prefix with poetry run

Setup Smardigo Service

Setup/Configure a Server, Database, Realm (keycloak) and Smardigo
ansible-playbook create-server.yml -e "stage='dev' tenant_id='sken' cluster_name='test01' cluster_size='1' cluster_service='connect' stage='dev'"
ansible-playbook create-database.yml -e "stage='dev' tenant_id='sken' cluster_name='test01' cluster_size='1' cluster_service='connect' stage='dev'"
ansible-playbook create-realm.yml -e "stage='dev' tenant_id='sken' cluster_name='test01' cluster_size='1' cluster_service='connect' stage='dev' current_realm_name='sken' current_realm_display_name='S-K-E-N'"
ansible-playbook create-service.yml -e "stage='dev' tenant_id='sken' cluster_name='test01' cluster_size='1' cluster_service='connect' stage='dev' current_realm_name='sken' current_realm_display_name='S-K-E-N'"

with Poetry prefix with poetry run

Remove Smardigo Service

Remove a Server, Database, Realm (keycloak) and Smardigo
ansible-playbook remove-server.yml -e "stage='dev' tenant_id='sken' cluster_name='test01' cluster_size='1' cluster_service='connect' stage='dev'"

with Poetry prefix with poetry run

ansible-builder

AWX is used in smardigo setup do execute several playbooks due to user interaction within smardigo product. To finish ansible runs successfully we have to make sure every ansible dependency(ansible collection/role or pip package) is installed. therefore ansible-builder gave us the opportunity to configure the needed environment to exec plays successfully.

before every git-merge depending on changes concerning new ansible collections/roles and/or new pip-packages, please run the following:

cd ansible-builder/
ansible-builder build --tag dev-harbor-01.smardigo.digital/awx/awx-custom-ee --container-runtime docker

hopefully it will result in e.g.:

cd ansible-builder/
ATTENTION: to get more information plz set --verbosity 3	
ansible-builder build --tag awx-custom-ee:latest --container-runtime docker
Running command:
  docker build -f context/Dockerfile -t awx-custom-ee:latest context

Complete! The build context can be found at: /home/friedrich/sandbox/netgo_stuff/hetzner-ansible/ansible-builder/context

real	2m56,131s
user	0m0,208s
sys	0m0,102s`

you can start the docker container locally with e.g. : docker run -it --rm --mount type=bind,source="$(pwd)"/,target=/gitrepo/ awx-custom-ee:latest /bin/bash

after it, you are able to exec some ansbible-runs like: (please solve dependencies before starting to docker container) cd /gitrepo ansible-playbook -i stage-digitalocean external_monitoring.yml --ask-vault-password -u root --private-key sshkey_pw_less

export HETZNER_LABEL_SELECTOR='stage=dev'
ansible-playbook -i stage-netgo-hcloud.yml -l redis smardigo.yml --ask-vault-password  -u root --private-key sshkey_pw_less

if everything works fine, plz push the created docker container with:

docker login dev-harbor-01.smardigo.digital
docker tag XXXXXXXX dev-harbor-01.smardigo.digital/awx/awx-custom-ee:latest
docker push dev-harbor-01.smardigo.digital/awx/awx-custom-ee

TODO

Prometheus (Grafana) docker exec -i dev-prometheus-01-grafana sh -c 'grafana-cli plugins install grafana-piechart-panel' docker restart dev-prometheus-01-grafana