Tektoncd
This role helps in installing and configuring Tektoncd on to the Kubernetes cluster.
Requirements¶
Access to Kubernetes cluster,
For demo purpose you can have minikube cluster created locally as shown in the following example playbook,
e.g.
- name: "Create minikube Clusters"
hosts: all
vars:
# the demo work directory
work_dir: "{{ playbook_dir }}/work"
# the kubeconfig directory
kubeconfig_dir: "{{ work_dir }}/.kube"
# the kubernetes version to use with minikube
minikube_kubernetes_version: v1.21.6
# the minikube home directory
minikube_home_dir: "{{ work_dir }}/.minikube"
# minikube profiles
minikube_profiles:
mgmt: # profile name and Kubernetes context name
create: yes
destroy: no
addons:
- metallb
lbStartIP: 192.168.64.80
lbEndIP: 192.168.64.90
roles:
- role: kameshsampath.minikube
# Some extra configurations
tasks:
- name: "Configure metallb"
ansible.builtin.expect:
command: "{{ minikube_binary }} -p {{ item.key }} addons configure metallb"
responses:
"-- Enter Load Balancer Start IP:": "{{ item.value.lbStartIP}}"
"-- Enter Load Balancer End IP:": "{{ item.value.lbEndIP}}"
loop: "{{ minikube_profiles | dict2items }}"
loop_control:
label: "{{ item.key }}"
register: lb_setup_result
when: item.value.create and not item.value.destroy
- name: "Metallb result"
debug:
var: lb_setup_result
- name: "Ensure we are in mgmt context"
ansible.builtin.command:
argv:
- kubectl
- config
- use-context
- "mgmt"
environment:
KUBECONFIG: "{{ work_dir }}/.kube/config"
- name: "Ensure right permissions to kubeconfig directory"
ansible.builtin.file:
state: directory
recurse: yes
path: "{{ work_dir }}/.kube"
mode: "0700"
Variables¶
Name | Description | Default |
---|---|---|
kubernetes_spices_tektoncd_k8s_context | The Kubernetes context where Tektoncd will be installed. The playbook will fail if this is not set. | |
kubernetes_spices_tektoncd_pipelines_version | The Tekton pipelines version to use | v0.29.0 |
kubernetes_spices_tektoncd_triggers_version | The Tekton triggers version to use | v0.16.0 |
kubernetes_spices_tkn_cli_version | The tkn cli version |
v0.21.0 |
Example Playbook¶
- name: "Setup Knative"
hosts: localhost
vars:
kubernetes_spices_argocd_k8s_context: 'mgmt'
roles:
- { role: kameshsampath.kubernetes_spices.knative }
Important
- Based on the above example the
kubernetes_spices_tektoncd_k8s_context
should be set tomgmt
, the context which is created by minikube.