1
0
mirror of https://github.com/tektoncd/catalog.git synced 2024-11-22 06:02:51 +00:00
catalog/task/ansible-runner/0.1
Kamesh Sampath 9a76ee5a01 Call entrypoint as base command for the step and remove script parameter
Signed-off-by: Kamesh Sampath <ksampath@redhat.com>
2020-08-18 16:58:08 +01:00
..
support (fix) Ansible Runner Task 2020-08-10 10:13:05 +01:00
tests (fix) Ansible Runner Task 2020-08-10 10:13:05 +01:00
ansible-runner.yaml Call entrypoint as base command for the step and remove script parameter 2020-08-18 16:58:08 +01:00
README.md Call entrypoint as base command for the step and remove script parameter 2020-08-18 16:58:08 +01:00

Ansible Runner

Ansible Runner Task allows running the Ansible Playbooks using the ansible-runner tool.

Creating the Task

Create the Task and other resources:

kubectl apply --filename https://raw.githubusercontent.com/tektoncd/catalog/master/task/ansible-runner/0.1/ansible-runner.yaml

Verify the created tasks:

tkn task ls

Parameters

  • project-dir: The ansible-runner private data dir
  • args:: The array of arguments to pass to the runner command (default: --help)

Workspaces

Usage

The TaskRun uses the repository https://github.com/kameshsampath/tektoncd-ansible-runner-example, that houses some example playbooks.

All the examples will be run in namespace called funstuff. Create the namespace and shift the context to it:

   kubectl create ns funstuff && \
   kubectl config set-context --current --namespace=funstuff

Create the PVC and clone example sources

kubectl apply -f https://raw.githubusercontent.com/tektoncd/catalog/master/task/git-clone/0.1/git-clone.yaml \
  -f  https://raw.githubusercontent.com/tektoncd/catalog/master/task/ansible-runner/0.1/support/playbooks-pvc.yaml

Do the git clone of the examples repository:

tkn task start git-clone \
  --workspace=name=output,claimName=ansible-playbooks \
  --param=url=https://github.com/kameshsampath/tektoncd-ansible-runner-example \
  --param=revision=master \
  --param=deleteExisting=true \
  --showlog

Create the Service Account

As we will do get, list and create on the namespace, lets use a service account that has right RBAC:

kubectl apply -f  https://raw.githubusercontent.com/tektoncd/catalog/master/task/ansible-runner/0.1/support/ansible-deployer.yaml

Run Tasks

List the pods of kube-system namespace:

 tkn task start ansible-runner \
   --serviceaccount ansible-deployer-account \
   --param=project-dir=kubernetes \
   --param=args='-p list-pods.yml' \
   --workspace=name=runner-dir,claimName=ansible-playbooks \
   --showlog

Create Deployment

Create a deployment in funstuff namespace:

 tkn task start ansible-runner \
   --serviceaccount ansible-deployer-account \
   --param=project-dir=kubernetes \
   --param=args='-p create-deployment.yml' \
   --workspace=name=runner-dir,claimName=ansible-playbooks \
   --showlog

Create Service

Create a service in funstuff namespace:

 tkn task start ansible-runner \
   --serviceaccount ansible-deployer-account \
   --param=project-dir=kubernetes \
   --param=args='-p create-service.yml' \
   --workspace=name=runner-dir,claimName=ansible-playbooks \
   --showlog