From 9c6b4ee75b2164b7a82cffa5423312480885bea7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 7 Sep 2024 01:48:20 +0100 Subject: [PATCH] . --- .gitignore | 3 +- docker/ansible-playbook.Dockerfile | 4 +-- docker/docker-run-ansible-playbook-local.sh | 8 +++--- .../site.yml | 0 docker/scripts/run-ansible-playbook.py | 28 ++++++++++++------- docker/scripts/ssh-test.bash | 1 - 6 files changed, 26 insertions(+), 18 deletions(-) rename docker/{playbook-sample-workspace => playbook-sample-project}/site.yml (100%) delete mode 100644 docker/scripts/ssh-test.bash diff --git a/.gitignore b/.gitignore index d04f3d2..95e35f3 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -**/**env.local \ No newline at end of file +**/**env.local +**/**.local \ No newline at end of file diff --git a/docker/ansible-playbook.Dockerfile b/docker/ansible-playbook.Dockerfile index a2a86cd..a077bf6 100644 --- a/docker/ansible-playbook.Dockerfile +++ b/docker/ansible-playbook.Dockerfile @@ -8,11 +8,11 @@ RUN apt-get install python3-virtualenv -y RUN pip3 install ansible --break-system-packages RUN pip3 install ansible-runner --break-system-packages -RUN mkdir /workspace +RUN mkdir /project RUN mkdir /scripts RUN mkdir /data COPY scripts /scripts -COPY playbook-sample-workspace /workspace +COPY playbook-sample-project /project ENTRYPOINT ["python3", "/scripts/run-ansible-playbook.py"] diff --git a/docker/docker-run-ansible-playbook-local.sh b/docker/docker-run-ansible-playbook-local.sh index ee5e0ef..2142623 100755 --- a/docker/docker-run-ansible-playbook-local.sh +++ b/docker/docker-run-ansible-playbook-local.sh @@ -6,10 +6,10 @@ docker build docker \ -t ${IMAGE_NAME} docker run --rm \ - -e ANSIBLE_PLAYBOOK_INVENTORY="${ANSIBLE_PLAYBOOK_INVENTORY}" \ - -e ANSIBLE_PLAYBOOK_PRIVATE_KEY="${ANSIBLE_PLAYBOOK_PRIVATE_KEY}" \ - -e ANSIBLE_PLAYBOOK_REMOTE_USER="${ANSIBLE_PLAYBOOK_REMOTE_USER}" \ - -v ${VOLUME_PATH}:/workspace $IMAGE_NAME + -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 diff --git a/docker/playbook-sample-workspace/site.yml b/docker/playbook-sample-project/site.yml similarity index 100% rename from docker/playbook-sample-workspace/site.yml rename to docker/playbook-sample-project/site.yml diff --git a/docker/scripts/run-ansible-playbook.py b/docker/scripts/run-ansible-playbook.py index e18f975..c7ac387 100644 --- a/docker/scripts/run-ansible-playbook.py +++ b/docker/scripts/run-ansible-playbook.py @@ -30,16 +30,16 @@ usage: ansible-playbook [-h] [--version] [-v] [--private-key PRIVATE_KEY_FILE] def process_private_Keyfile(rc): - if(os.environ.get('ANSIBLE_PLAYBOOK_PRIVATE_KEY') is not None): + if(os.environ.get('ANSIBLE_PRIVATE_KEY') is not None): with open("/root/ansible_private_key", 'w') as file: - file.write(os.environ.get('ANSIBLE_PLAYBOOK_PRIVATE_KEY')) + file.write(os.environ.get('ANSIBLE_PRIVATE_KEY')) file.flush() subprocess.run(['chmod', '600', '/root/ansible_private_key']) rc.cmdline_args += "--private-key /root/ansible_private_key" - elif (os.environ.get('ANSIBLE_PLAYBOOK_PRIVATE_KEY_FILE') is not None): - rc.cmdline_args += "--private-key " + os.environ.get('ANSIBLE_PLAYBOOK_PRIVATE_KEY_FILE') + elif (os.environ.get('ANSIBLE_PRIVATE_KEY_FILE') is not None): + rc.cmdline_args += "--private-key " + os.environ.get('ANSIBLE_PRIVATE_KEY_FILE') def build_cmdLine_args(rc): @@ -47,12 +47,20 @@ def build_cmdLine_args(rc): if(rc.cmdline_args is None): rc.cmdline_args="" process_private_Keyfile(rc); - if(os.environ.get('ANSIBLE_PLAYBOOK_REMOTE_USER') is not None): + if(os.environ.get('ANSIBLE_REMOTE_USER') is not None): print("---------------------------------------") print("remote user:") - print(os.environ.get('ANSIBLE_PLAYBOOK_REMOTE_USER')) + print(os.environ.get('ANSIBLE_REMOTE_USER')) print("---------------------------------------") - rc.cmdline_args += " -u " + os.environ.get('ANSIBLE_PLAYBOOK_REMOTE_USER') + rc.cmdline_args += " -u " + os.environ.get('ANSIBLE_REMOTE_USER') + + if(os.environ.get('ANSIBLE_VERBOSE') is not None): + print("---------------------------------------") + print("remote user:") + print(os.environ.get('ANSIBLE_VERBOSE')) + print("---------------------------------------") + rc.cmdline_args += " -vvv" + rc.cmdline_args += " -vvv" def execute_playbook(projectdir): @@ -63,7 +71,7 @@ def execute_playbook(projectdir): ) rc.playbook=os.environ.get('ANSIBLE_PLAYBOOK', "site.yml") - rc.inventory=os.environ.get('ANSIBLE_PLAYBOOK_INVENTORY', "127.0.0.1,") + rc.inventory=os.environ.get('ANSIBLE_INVENTORY', "127.0.0.1,") build_cmdLine_args(rc) if(rc.inventory=="127.0.0.1,"): @@ -79,14 +87,14 @@ def execute_playbook(projectdir): def list_workspace(projectdir): print("---------------------------------------") - print("workspace files:" + " " + projectdir) + print("project files:" + " " + projectdir) items=os.listdir(projectdir) for image in items: print(image) print("---------------------------------------") def main(): - projectdir = os.environ.get('ANSIBLE_PLAYBOOK_WORKSPACE_PATH', "/workspace") + projectdir = os.environ.get('ANSIBLE_PROJECT_DIR', "/project") list_workspace(projectdir) execute_playbook(projectdir) diff --git a/docker/scripts/ssh-test.bash b/docker/scripts/ssh-test.bash deleted file mode 100644 index 8333892..0000000 --- a/docker/scripts/ssh-test.bash +++ /dev/null @@ -1 +0,0 @@ -echo ola mundo \ No newline at end of file