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
Yulia Gaponenko f4708d478e Add linux/amd64 platform annotation to the rest of the tasks
At this moment all tasks which can be executed on linux/s390x or
linux/ppc64le are tested and labelled accordingly.
The rest of the tasks can be labelled as `linux/amd64`, which
is default platform and where tasks are already tested via
default PR testing cycle.

Signed-off-by: Yulia Gaponenko <yulia.gaponenko1@de.ibm.com>
2021-10-29 17:08:38 +01: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 Add linux/amd64 platform annotation to the rest of the tasks 2021-10-29 17:08:38 +01:00
README.md Add linux/amd64 platform annotation to the rest of the tasks 2021-10-29 17:08:38 +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/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)
  • user-home: Absolute path to the user's home directory. (default: /tekton/home)

Workspaces

Platforms

The Task can be run on linux/amd64 platform.

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