commit inicial
This commit is contained in:
parent
bdf7363c01
commit
bc17fab010
18
.drone.yml
Normal file
18
.drone.yml
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
kind: pipeline
|
||||
name: default
|
||||
|
||||
steps:
|
||||
|
||||
- name: docker
|
||||
image: plugins/docker
|
||||
settings:
|
||||
repo: eumau/ansible
|
||||
auto_tag: true
|
||||
username:
|
||||
from_secret: dockerhub_username
|
||||
password:
|
||||
from_secret: dockerhub_password
|
||||
when:
|
||||
branch:
|
||||
- master
|
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
*~
|
||||
\#*
|
||||
.#*
|
||||
*.bak
|
10
Dockerfile
Normal file
10
Dockerfile
Normal file
@ -0,0 +1,10 @@
|
||||
FROM python:3.7-slim-buster
|
||||
ARG ANSIBLE_VERSION=2.8.5
|
||||
ADD entrypoint.sh /
|
||||
RUN set -x \
|
||||
&& chmod +x /entrypoint.sh \
|
||||
&& pip3 install -U pip \
|
||||
&& pip3 install ansible==${ANSIBLE_VERSION} \
|
||||
&& rm -rf /root/.cache
|
||||
VOLUME /ansible
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
68
entrypoint.sh
Normal file
68
entrypoint.sh
Normal file
@ -0,0 +1,68 @@
|
||||
#!/bin/bash
|
||||
|
||||
env
|
||||
|
||||
# first, try cloning git repo
|
||||
[[ -z ${GIT_CLONE_URL} ]] || { git clone ${GIT_CLONE_URL} . ; }
|
||||
|
||||
# update
|
||||
${GIT_PULL} && git pull
|
||||
${GIT_SUBMODULE_UPDATE} && git submodule update
|
||||
|
||||
# cd into specified directory
|
||||
[[ -n ${ANSIBLE_DIR} ]] && cd ${ANSIBLE_DIR}
|
||||
|
||||
# set ansible opts
|
||||
ANSIBLE_CMD="ansible-playbook"
|
||||
|
||||
[[ ${VERSION,,} == "true" ]] && {
|
||||
ansible-playbook --version
|
||||
exit 0
|
||||
}
|
||||
[[ -n ${ANSIBLE_PLAYBOOK} ]] || {
|
||||
echo "Please set the ANSIBLE_PLAYBOOK variable."
|
||||
exit 1
|
||||
}
|
||||
[[ ${CHECK,,} == "true" ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --check"
|
||||
[[ ${DIFF,,} == "true" ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --diff"
|
||||
[[ -n ${EXTRA_VARS} ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --extra-vars=${EXTRA_VARS}"
|
||||
[[ ${FLUSH_CACHE,,} == "true" ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --flush-cache"
|
||||
[[ ${FORCE_HANDLERS,,} == "true" ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --force-handlers"
|
||||
[[ -n ${FORKS} ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --forks=FORKS"
|
||||
[[ -n ${INVENTORY:-inventory} ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --inventory=${INVENTORY}"
|
||||
[[ -n ${LIMIT} ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --limit=${LIMIT}"
|
||||
[[ ${LIST_HOSTS,,} == "true" ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --list-hosts"
|
||||
[[ ${LIST_TAGS,,} == "true" ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --list-tags"
|
||||
[[ ${LIST_TASKS,,} == "true" ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --list-tasks"
|
||||
[[ -n ${MODULE_PATH} ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --module-path=${MODULE_PATH}"
|
||||
[[ -n ${SKIP_TAGS} ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --skip-tags=${SKIP_TAGS}"
|
||||
[[ -n ${START_AT_TASK} ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --start-at-task=${START_AT_TASK}"
|
||||
[[ ${SYNTAX_CHECK,,} == "true" ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --syntax-check"
|
||||
[[ -n ${TAGS} ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --tags=${TAGS}"
|
||||
[[ -n ${VAULT_ID} ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --vault-id=${VAULT_ID}"
|
||||
[[ -n ${VAULT_PASSWORD_FILE} ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --vault-password-file=${VAULT_PASSWORD_FILE}"
|
||||
[[ ${VERBOSE} -gt 0 ]] && ANSIBLE_CMD="${ANSIBLE_CMD} -v"
|
||||
[[ ${VERBOSE} -gt 1 ]] && ANSIBLE_CMD="${ANSIBLE_CMD}v"
|
||||
[[ ${VERBOSE} -gt 2 ]] && ANSIBLE_CMD="${ANSIBLE_CMD}v"
|
||||
[[ -n ${PRIVATE_KEY} ]] && {
|
||||
echo "${PRIVATE_KEY}" > /tmp/ssh_private_key
|
||||
chmod 600 /tmp/ssh_private_key
|
||||
ANSIBLE_CMD="${ANSIBLE_CMD} --private-key=/tmp/ssh_private_key"
|
||||
}
|
||||
[[ -n ${USER} ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --user=${REMOTE_USER}"
|
||||
[[ -n ${CONNECTION} ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --connection=${CONNECTION}"
|
||||
[[ -n ${TIMEOUT} ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --timeout=${TIMEOUT}"
|
||||
[[ -n ${SSH_COMMON_ARGS} ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --ssh-common-args=${SSH_COMMON_ARGS}"
|
||||
[[ -n ${SFTP_EXTRA_ARGS} ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --sftp-extra-args=${SFTP_EXTRA_ARGS}"
|
||||
[[ -n ${SCP_EXTRA_ARGS} ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --scp-extra-args=${SCP_EXTRA_ARGS}"
|
||||
[[ -n ${SSH_EXTRA_ARGS} ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --ssh-extra-args=${SSH_EXTRA_ARGS}"
|
||||
[[ ${BECOME,,} == "true" ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --become"
|
||||
[[ -n ${BECOME_METHOD} ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --become-method=${BECOME_METHOD}"
|
||||
[[ -n ${BECOME_USER} ]] && ANSIBLE_CMD="${ANSIBLE_CMD} --become-user=${BECOME_USER}"
|
||||
|
||||
${RUN_PLAYBOOK:-true} && {
|
||||
exec "${ANSIBLE_CMD}"
|
||||
exit ${?}
|
||||
}
|
||||
|
||||
exec "${@}"
|
Loading…
x
Reference in New Issue
Block a user