mirror of
https://github.com/ivabus/pantry
synced 2024-11-22 08:25:07 +03:00
cleanup(ansible)
get rid of some fixmes
This commit is contained in:
parent
cdb6182c76
commit
7bada74168
1 changed files with 25 additions and 34 deletions
|
@ -1,40 +1,33 @@
|
||||||
distributable:
|
distributable:
|
||||||
url: https://github.com/ansible/ansible/archive/v{{version}}.tar.gz
|
url: https://github.com/ansible/ansible/archive/{{version.tag}}.tar.gz
|
||||||
strip-components: 1
|
strip-components: 1
|
||||||
|
|
||||||
versions:
|
versions:
|
||||||
github: ansible/ansible/tags # reads github *tags*
|
github: ansible/ansible/tags # reads github *tags*
|
||||||
strip: /^v/
|
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
python.org: '>=3.7<3.12'
|
pkgx.sh: 1
|
||||||
|
|
||||||
build:
|
build:
|
||||||
script: |
|
dependencies:
|
||||||
python-venv.sh {{prefix}}/bin/ansible
|
python.org: '>=3.7<3.12'
|
||||||
|
script:
|
||||||
# manually register all the ansible-* executables with tea
|
- bkpyvenv stage {{prefix}} {{version}}
|
||||||
#FIXME dirty hack, replace with a proper solution
|
|
||||||
for _EXEC in {{prefix}}/venv/bin/ansible-*; do
|
|
||||||
CMD_NAME="${_EXEC##*/}" # get text after the last slash (the command name)
|
|
||||||
TRG_BIN_NAME="{{prefix}}/bin/$CMD_NAME"
|
|
||||||
cp -v {{prefix}}/bin/ansible $TRG_BIN_NAME # copy the tea-configured executable with the correct name
|
|
||||||
# replace the original 'ansible' with the correct $CMD_NAME
|
|
||||||
sed -i.bak -e \
|
|
||||||
"s|/bin/ansible|/bin/$CMD_NAME|" \
|
|
||||||
$TRG_BIN_NAME
|
|
||||||
done
|
|
||||||
|
|
||||||
|
- ${{prefix}}/venv/bin/pip install .
|
||||||
# install paramiko, a python ssh library sometimes used with ansible
|
# install paramiko, a python ssh library sometimes used with ansible
|
||||||
{{prefix}}/venv/bin/pip install paramiko #FIXME should we pin a version?
|
- ${{prefix}}/venv/bin/pip install paramiko
|
||||||
|
|
||||||
rm -v {{prefix}}/bin/ansible-*.bak
|
- bkpyvenv seal {{prefix}} ansible ansible-config ansible-connection ansible-console ansible-doc ansible-galaxy ansible-inventory ansible-playbook ansible-pull ansible-test ansible-vault
|
||||||
|
|
||||||
|
# needs libpython
|
||||||
|
- run: cp -a {{deps.python.org.prefix}}/lib/libpython* .
|
||||||
|
working-directory: ${{prefix}}/lib/
|
||||||
|
|
||||||
test:
|
test:
|
||||||
script: |
|
script:
|
||||||
ansible --version
|
- ansible --version
|
||||||
ansible-playbook playbook.yml -i hosts.ini
|
- ansible-playbook playbook.yml -i hosts.ini
|
||||||
|
|
||||||
#FIXME below is a test from the brew formula, but I'm not sure what it's testing
|
#FIXME below is a test from the brew formula, but I'm not sure what it's testing
|
||||||
# ^ especially considering that 'requests' is not a part of ansible's dependencies
|
# ^ especially considering that 'requests' is not a part of ansible's dependencies
|
||||||
|
@ -43,22 +36,20 @@ test:
|
||||||
# {{prefix}}/venv/bin/python -c "$py_script"
|
# {{prefix}}/venv/bin/python -c "$py_script"
|
||||||
|
|
||||||
# Ensure ansible-vault can encrypt/decrypt files.
|
# Ensure ansible-vault can encrypt/decrypt files.
|
||||||
echo $SECRET_MESSAGE > vault-test-file.txt
|
- echo $SECRET_MESSAGE > vault-test-file.txt
|
||||||
echo $VAULT_PASSWORD > vault-password.txt
|
- echo $VAULT_PASSWORD > vault-password.txt
|
||||||
|
|
||||||
ansible-vault encrypt --vault-password-file vault-password.txt vault-test-file.txt
|
- ansible-vault encrypt --vault-password-file vault-password.txt vault-test-file.txt
|
||||||
test "$(cat vault-test-file.txt)" != "$SECRET_MESSAGE" # encrypted
|
- test "$(cat vault-test-file.txt)" != "$SECRET_MESSAGE" # encrypted
|
||||||
|
|
||||||
ansible-vault decrypt --vault-password-file vault-password.txt vault-test-file.txt
|
- ansible-vault decrypt --vault-password-file vault-password.txt vault-test-file.txt
|
||||||
test "$(cat vault-test-file.txt)" = "$SECRET_MESSAGE" # decrypted
|
- test "$(cat vault-test-file.txt)" = "$SECRET_MESSAGE" # decrypted
|
||||||
|
|
||||||
# ensure paramiko is installed
|
# ensure paramiko is installed
|
||||||
{{prefix}}/venv/bin/python -c "import paramiko"
|
- ${{prefix}}/venv/bin/python -c "import paramiko"
|
||||||
|
|
||||||
env:
|
env:
|
||||||
VAULT_PASSWORD: "123456789"
|
VAULT_PASSWORD: '123456789'
|
||||||
SECRET_MESSAGE: "Hello world!"
|
SECRET_MESSAGE: 'Hello world!'
|
||||||
|
|
||||||
|
|
||||||
provides:
|
provides:
|
||||||
- bin/ansible
|
- bin/ansible
|
||||||
|
|
Loading…
Reference in a new issue