From d701fdb2a4626d25eb8ccf8ea2783482a79a7bb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 7 Sep 2024 11:41:42 +0100 Subject: [PATCH] documentation --- .gitignore | 4 +- README.md | 80 ++++++++++++++++++++++++++++++ docker/docker-run-ansible-local.sh | 5 +- 3 files changed, 85 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 95e35f3..bd1a132 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -**/**env.local -**/**.local \ No newline at end of file +**/**.local +**/.vscode/* \ No newline at end of file diff --git a/README.md b/README.md index 6a182b7..ba0ebe5 100644 --- a/README.md +++ b/README.md @@ -7,3 +7,83 @@ Welcome to ansible kb git repo. ## Table of Contents +- [Docker](#docker) + - [Environment variables](#environment-variables) + - [Gitea actions](#gitea-actions) + - [Build local](#build-local) + + +## Docker + +check [Docker Image](https://git.limbosolutions.com/kb/-/packages/container/ansible/latest). + +``` +docker pull git.limbosolutions.com/kb/ansible:latest + +docker run --rm \ + -e ANSIBLE_INVENTORY="${ANSIBLE_PLAYBOOK_INVENTORY}" \ + -e ANSIBLE_PRIVATE_KEY="${ANSIBLE_PLAYBOOK_PRIVATE_KEY}" \ + -e ANSIBLE_REMOTE_USER="${ANSIBLE_PLAYBOOK_REMOTE_USER}" \ + -e ANSIBLE_HOST_KEY_CHECKING=false \ + -v ${VOLUME_PATH}:/project \ + git.limbosolutions.com/kb/ansible:latest +``` + + +### Environment variables + +All [ansible official](https://docs.ansible.com/ansible/latest/reference_appendices/config.html) environment variables. + + - ANSIBLE_HOST_KEY_CHECKING (ansible official) + - ANSIBLE_BECOME_PASS (ansible official) + - ANSIBLE_REMOTE_USER + - ANSIBLE_INVENTORY + - ANSIBLE_PROJECT_DIR + - ANSIBLE_HOST_KEY_CHECKING + + +### Gitea actions + +Example executing ansible playbook using gitea actions. + +``` yaml +name: deploy host +on: + push: + paths: + - "ansible/**" + - ".gitea/workflows/**host**.yml" +jobs: + Deploy: + runs-on: "homesrv-deploy" + steps: + - name: Checkout code + uses: actions/checkout@v2 + + + - name: setup ssh + run: | + echo "${{ secrets.HOST_ANSIBLE_PRIVATE_KEY }}" > ${GITHUB_WORKSPACE}/ssh-key && + chmod 600 ${GITHUB_WORKSPACE}/ssh-key + + - name: Run Ansible Playbook + run: | + docker run --rm \ + -e ANSIBLE_PRIVATE_KEY_FILE="${GITHUB_WORKSPACE}/ssh-key" \ + -e ANSIBLE_REMOTE_USER="${{ secrets.HOST_ANSIBLE_REMOTE_USER }}" \ + -e ANSIBLE_INVENTORY="${{ secrets.HOST_ANSIBLE_INVENTORY }}" \ + -e ANSIBLE_PROJECT_DIR="${GITHUB_WORKSPACE}/ansible" \ + -e ANSIBLE_HOST_KEY_CHECKING=false \ + -e ANSIBLE_BECOME_PASS=${{ secrets.HOST_ANSIBLE_BECOME_PASS }} \ + --volumes-from ${{ env.JOB_CONTAINER_NAME }} \ + git.limbosolutions.com/kb/ansible \ +``` + + +### Build local + +``` bash +docker build docker-f docker/Dockerfile -t ${IMAGE_NAME} +``` + +[check script](./docker/docker-run-ansible-local.sh) for more information on building and running local. \ No newline at end of file diff --git a/docker/docker-run-ansible-local.sh b/docker/docker-run-ansible-local.sh index e31e9be..c5f1826 100755 --- a/docker/docker-run-ansible-local.sh +++ b/docker/docker-run-ansible-local.sh @@ -1,5 +1,5 @@ #/bin/bash -source docker/docker-run-ansible-local.env.local +source .local/docker/.env docker build docker \ @@ -10,7 +10,8 @@ docker run --rm \ -e ANSIBLE_INVENTORY="${ANSIBLE_PLAYBOOK_INVENTORY}" \ -e ANSIBLE_PRIVATE_KEY="${ANSIBLE_PLAYBOOK_PRIVATE_KEY}" \ -e ANSIBLE_REMOTE_USER="${ANSIBLE_PLAYBOOK_REMOTE_USER}" \ - -v ${VOLUME_PATH}:/playbook-project.local $IMAGE_NAME + -e ANSIBLE_HOST_KEY_CHECKING=false \ + -v ${ANSIBLE_PLAYBOOK_PROJECT_VOLUME_DIR}:/project $IMAGE_NAME