72 lines
1.9 KiB
YAML
72 lines
1.9 KiB
YAML
---
|
|
apiVersion: tekton.dev/v1beta1
|
|
kind: Task
|
|
metadata:
|
|
name: ansible-runner
|
|
labels:
|
|
app.kubernetes.io/version: '0.2'
|
|
app.kubernetes.io/ansible-version: '2.12.5'
|
|
annotations:
|
|
tekton.dev/deprecated: "true"
|
|
tekton.dev/pipelines.minVersion: '0.12.1'
|
|
tekton.dev/categories: CLI
|
|
tekton.dev/tags: cli
|
|
tekton.dev/displayName: 'Ansible Runner'
|
|
tekton.dev/platforms: "linux/amd64"
|
|
spec:
|
|
description: >-
|
|
Task to run Ansible playbooks using Ansible Runner
|
|
|
|
workspaces:
|
|
- name: runner-dir
|
|
description: The Ansibler runner directory
|
|
params:
|
|
- name: project-dir
|
|
description: The project directory under the workspace runner-dir
|
|
default: 'project'
|
|
- name: args
|
|
description: The arguments to pass ansible-runner
|
|
type: array
|
|
default:
|
|
- --help
|
|
- name: user-home
|
|
description: Absolute path to the user's home directory.
|
|
default: /tekton/home
|
|
- name: image
|
|
description: Ansible runner image.
|
|
default: quay.io/ansible/ansible-runner:stable-2.12-latest #tag: stable-2.12-latest
|
|
stepTemplate:
|
|
env:
|
|
- name: HOME
|
|
value: $(params.user-home)
|
|
steps:
|
|
- name: requirements
|
|
image: $(params.image)
|
|
script: |
|
|
#!/bin/bash
|
|
set -e
|
|
|
|
if [ -f requirements.txt ];
|
|
then
|
|
pip3 install --user \
|
|
-r requirements.txt
|
|
fi
|
|
|
|
if [ -f requirements.yml ];
|
|
then
|
|
ansible-galaxy role install -vv \
|
|
-r requirements.yml
|
|
ansible-galaxy collection install -vv \
|
|
-r requirements.yml
|
|
fi
|
|
workingDir: '$(workspaces.runner-dir.path)/$(params.project-dir)'
|
|
|
|
- name: run-playbook
|
|
image: $(params.image)
|
|
command: ['entrypoint']
|
|
args:
|
|
- ansible-runner
|
|
- run
|
|
- $(params.args)
|
|
- $(params.project-dir)
|
|
workingDir: '$(workspaces.runner-dir.path)' |