2
docker/.gitignore
vendored
Normal file
2
docker/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
playbook-workspace/**
|
||||
workspace/**
|
||||
@@ -6,3 +6,9 @@ RUN apt-get install -y openssh-client
|
||||
RUN apt-get install python3-pip -y
|
||||
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 /scripts
|
||||
COPY scripts /scripts
|
||||
COPY playbook-sample-workspace /workspace
|
||||
ENTRYPOINT ["python3", "/scripts/run-ansible-playbook.py"]
|
||||
14
docker/docker-run-ansible-playbook-local.sh
Executable file
14
docker/docker-run-ansible-playbook-local.sh
Executable file
@@ -0,0 +1,14 @@
|
||||
#/bin/bash
|
||||
source docker/docker-run-ansible-playbook-local.env.local
|
||||
|
||||
docker build docker \
|
||||
-f docker/ansible-playbook.Dockerfile \
|
||||
-t ${IMAGE_NAME}
|
||||
|
||||
docker run --rm \
|
||||
-e ANSIBLE_PLAYBOOK_INVENTORY=$ANSIBLE_PLAYBOOK_INVENTORY \
|
||||
-v ${VOLUME_PATH}:/workspace \
|
||||
$IMAGE_NAME
|
||||
|
||||
|
||||
|
||||
9
docker/playbook-sample-workspace/site.yml
Normal file
9
docker/playbook-sample-workspace/site.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
- name: Hello from ansible
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: Ping my hosts
|
||||
ansible.builtin.ping:
|
||||
|
||||
- name: Print message
|
||||
ansible.builtin.debug:
|
||||
msg: Hello world
|
||||
29
docker/scripts/run-ansible-playbook.py
Normal file
29
docker/scripts/run-ansible-playbook.py
Normal file
@@ -0,0 +1,29 @@
|
||||
import os
|
||||
import sys
|
||||
from ansible_runner import Runner, RunnerConfig
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def executePlaybook():
|
||||
|
||||
rc = RunnerConfig(
|
||||
private_data_dir="/workspace"
|
||||
)
|
||||
|
||||
rc.playbook=os.environ.get('ANSIBLE_PLAYBOOK', "site.yml")
|
||||
rc.inventory=os.environ.get('ANSIBLE_PLAYBOOK_INVENTORY', "127.0.0.1,")
|
||||
if(rc.inventory=="127.0.0.1,"):
|
||||
rc.cmdline_args= "--limit 127.0.0.1 --connection local"
|
||||
rc.prepare()
|
||||
r = Runner(config=rc)
|
||||
r.run()
|
||||
|
||||
def main():
|
||||
executePlaybook()
|
||||
|
||||
main()
|
||||
|
||||
|
||||
|
||||
1
docker/scripts/ssh-test.bash
Normal file
1
docker/scripts/ssh-test.bash
Normal file
@@ -0,0 +1 @@
|
||||
echo ola mundo
|
||||
Reference in New Issue
Block a user