-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpipelines.yml
130 lines (118 loc) · 4.04 KB
/
pipelines.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
- name: "Deploy Tektoncd pipelines"
hosts: all
vars_files:
- vars.local.yml
vars:
kubernetes_spices_pipelines_host_aliases: []
roles:
- role: kameshsampath.kubernetes_spices.tektoncd
tasks:
- name: Include gitea_details
include_vars:
file: "{{ work_dir }}/gitea_details.yaml"
name: kubernetes_spices_gitea_details
when: kubernetes_spices_gitea_add_host_aliases
# - debug:
# var: kubernetes_spices_gitea_details
- name: Add gitea hosts to step pods
set_fact:
kubernetes_spices_pipelines_host_aliases: "{{ kubernetes_spices_pipelines_host_aliases + kubernetes_spices_gitea_details.kubernetes_spices_gitea_host_aliases }}"
when: kubernetes_spices_gitea_details is defined
- name: Update tekton config-defaults to use hostAliases
kubernetes.core.k8s:
state: patched
kind: ConfigMap
name: config-defaults
namespace: tekton-pipelines
definition:
data:
# https://tekton.dev/docs/pipelines/podtemplates/
# https://tekton.dev/docs/pipelines/install/#customizing-basic-execution-parameters
default-pod-template: |
hostAliases: {{ kubernetes_spices_pipelines_host_aliases}}
context: "{{ kubernetes_spices_tektoncd_k8s_context }}"
when: kubernetes_spices_pipelines_host_aliases | length > 0
- name: "Query Gitea Service"
kubernetes.core.k8s_info:
kind: Service
name: gateway-proxy
namespace: gitea
context: "{{ kubernetes_spices_gitea_k8s_context }}"
register: gitea_svc_result
- name: "Query el-webhook Service"
kubernetes.core.k8s_info:
kind: Service
name: gateway-proxy
label_selectors:
- app = gloo
namespace: gloo-system
context: "{{ kubernetes_spices_tektoncd_k8s_context }}"
register: el_gitea_webhook_svc_result
- name: "Set Gitea Hostname"
set_fact:
kubernetes_spices_gitea_host_name: "gitea.{{ kubernetes_spices_acme_dns_zone }}"
- name: "Set Gitea Service Facts"
set_fact:
git_url: "https://{{ kubernetes_spices_gitea_host_name }}"
el_webhook_nip_io: "http://el-gitea-webhook-{{ el_gitea_webhook_svc_result.resources[0].status.loadBalancer.ingress[0].ip }}.nip.io"
- name: "Clone Fruits API Repo"
ansible.builtin.uri:
url: "{{ git_url }}/api/v1/repos/migrate"
method: POST
body_format: json
user: "gitea"
password: "password"
force_basic_auth: yes
body:
clone_addr: "{{ github_template_repos.fruits_api }}"
uid: 1
repo_name: "fruits-api"
status_code:
- 200
- 201
- 409 # ignore already exists
validate_certs: no
- name: "Add Hook to Fruits API Repo"
ansible.builtin.uri:
url: "{{ git_url }}/api/v1/repos/gitea/fruits-api/hooks"
method: POST
body_format: json
user: "gitea"
password: "password"
force_basic_auth: yes
body:
type: "gitea"
active: true
config:
content_type: "json"
method: "POST"
url: "{{ el_webhook_nip_io }}"
status_code:
- 200
- 201
- 409 # ignore already exists
validate_certs: no
- name: "Create Fruits API GitOps Repo"
ansible.builtin.uri:
url: "{{ git_url }}/api/v1/user/repos"
method: POST
body_format: json
user: "gitea"
password: "password"
force_basic_auth: yes
body:
auto_init: false
description: "Gloo Fruits API GitOps Demo"
name: "fruits-api-gitops"
private: false
default_branch: main
status_code:
- 200
- 201
- 409 # ignore already exists
- name: "direnv allow"
ansible.builtin.command:
argv:
- direnv
- allow
- "{{ playbook_dir }}"