Добавил создание ролей make role new

This commit is contained in:
2025-03-13 19:02:34 +03:00
parent b6286aa9b7
commit 2cb442bd73
17 changed files with 87 additions and 35 deletions

View File

@@ -1,5 +1,5 @@
view create edit show delete test lint deploy:
view create edit show delete test lint deploy new:
@true
####################################################################################################
@@ -27,33 +27,45 @@ prune:
####################################################################################################
vault:
@case "$(word 2, $(MAKECMDGOALS))" in \
show) docker compose run --rm ansible bash -c "ansible-vault view --vault-password-file vault-password.txt roles/vars/secrets.yml";; \
create) docker compose run --rm ansible bash -c "ansible-vault create --encrypt-vault-id default --vault-password-file vault-password.txt roles/vars/secrets.yml";; \
edit) docker compose run --rm ansible bash -c "ansible-vault edit --vault-password-file vault-password.txt roles/vars/secrets.yml";; \
delete) docker compose run --rm ansible bash -c "rm roles/vars/secrets.yml";; \
show) docker compose run --rm ansible bash -c "ansible-vault view --vault-password-file vault-password.txt vars/secrets.yml";; \
create) docker compose run --rm ansible bash -c "ansible-vault create --encrypt-vault-id default --vault-password-file vault-password.txt vars/secrets.yml";; \
edit) docker compose run --rm ansible bash -c "ansible-vault edit --vault-password-file vault-password.txt vars/secrets.yml";; \
delete) docker compose run --rm ansible bash -c "rm vars/secrets.yml";; \
*) echo "Unknown action";; \
esac
role:
@case "$(word 2, $(MAKECMDGOALS))" in \
new) \
clear; \
echo "Введите название новой роли на английском:"; \
read ROLE_NAME; \
echo "Введите описание роли:"; \
read ROLE_DESC; \
cp -r default/ "roles/$${ROLE_NAME}"; \
printf "\n- name: $${ROLE_DESC}" >> roles/deploy.yaml; \
printf "\n import_playbook: $${ROLE_NAME}/deploy.yaml" >> roles/deploy.yaml; \
printf '\n - /ansible/roles/%s' "$$ROLE_NAME" >> molecule/default/converge.yml; \
printf "\n - $${ROLE_NAME}" >> roles/$$ROLE_NAME/deploy.yaml;; \
lint) \
clear; \
echo "Check your role..."; \
docker compose run --rm ansible bash -c "ansible-vault decrypt --vault-password-file vault-password.txt roles/vars/secrets.yml"; \
docker compose run --rm ansible bash -c "ansible-lint roles/*"; \
echo " "; \
docker compose run --rm ansible bash -c "ansible-vault encrypt roles/vars/secrets.yml --encrypt-vault-id default --vault-password-file vault-password.txt";; \
clear; \
echo "Check your role..."; \
docker compose run --rm ansible bash -c "ansible-vault decrypt --vault-password-file vault-password.txt vars/secrets.yml"; \
docker compose run --rm ansible bash -c "ansible-lint roles/*"; \
echo " "; \
docker compose run --rm ansible bash -c "ansible-vault encrypt vars/secrets.yml --encrypt-vault-id default --vault-password-file vault-password.txt";; \
test) \
clear; \
echo "Running test roles..."; \
docker compose run --rm ansible bash -c "ansible-vault decrypt --vault-password-file vault-password.txt roles/vars/secrets.yml"; \
docker compose run --rm ansible bash -c "molecule test --parallel"; \
echo " "; \
docker compose run --rm ansible bash -c "ansible-vault encrypt roles/vars/secrets.yml --encrypt-vault-id default --vault-password-file vault-password.txt";; \
clear; \
echo "Running test roles..."; \
docker compose run --rm ansible bash -c "ansible-vault decrypt --vault-password-file vault-password.txt vars/secrets.yml"; \
docker compose run --rm ansible bash -c "molecule test --parallel"; \
echo " "; \
docker compose run --rm ansible bash -c "ansible-vault encrypt vars/secrets.yml --encrypt-vault-id default --vault-password-file vault-password.txt";; \
deploy) \
clear; \
echo "Deploying roles to production..."; \
docker compose run --rm ansible bash -c "ansible-playbook /ansible/roles/deploy.yaml";; \
clear; \
echo "Deploying roles to production..."; \
docker compose run --rm ansible bash -c "ansible-playbook /ansible/roles/deploy.yaml";; \
*) echo "Unknown action";; \
esac