1
0
mirror of https://github.com/tektoncd/catalog.git synced 2024-11-25 06:17:50 +00:00
catalog/task/ansible-runner/0.1
Vincent Demeester d93795673c Update self reference from master to main 🧙
And update references to community, pipeline, etc. too.

Signed-off-by: Vincent Demeester <vdemeest@redhat.com>
2021-03-19 11:09:49 +00:00
..
support (fix) Ansible Runner Task 2020-08-10 10:13:05 +01:00
tests Add add_task helper function for tests 2020-10-07 17:51:55 +01:00
ansible-runner.yaml Fix Catlin error by adding Digest to the Images 2020-10-26 09:03:20 +00:00
README.md Update self reference from master to main 🧙 2021-03-19 11:09:49 +00: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/main/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/main/task/git-clone/0.1/git-clone.yaml \
  -f  https://raw.githubusercontent.com/tektoncd/catalog/main/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/main/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