This repository was archived by the owner on May 22, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTaskfile.yml
More file actions
111 lines (95 loc) · 3.03 KB
/
Taskfile.yml
File metadata and controls
111 lines (95 loc) · 3.03 KB
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
# https://taskfile.dev
version: '3'
vars:
CLUSTER_NAME: knative
CONTEXT_NAME: "k3d-{{.CLUSTER_NAME}}"
KUBECTL: "kubectl --context={{.CONTEXT_NAME}}"
KUBEAPPLY: "{{.KUBECTL}} apply"
KUSTOMIZE: "{{.KUBEAPPLY}} --kustomize"
KUBEWAIT: "{{.KUBECTL}} wait"
KUBEWAIT_AVAIL: "{{.KUBEWAIT}} --for=condition=available"
KUBEWAIT_READY: "{{.KUBEWAIT}} --for=condition=ready"
KUBECREATE: "{{.KUBECTL}} create -o yaml --dry-run=client"
KN: "kn --context={{.CONTEXT_NAME}}"
tasks:
default:
cmds:
- task -l
silent: true
create:
desc: create k3d cluster
cmds:
- k3d cluster create --config=cluster/config.yaml
destroy:
desc: destroy k3d cluster
cmds:
- "k3d cluster delete {{.CLUSTER_NAME}}"
start:
desc: starts knative environment
cmds:
- "k3d cluster start {{.CLUSTER_NAME}}"
stop:
desc: stop knative environment
cmds:
- "k3d cluster stop {{.CLUSTER_NAME}}"
operator:
desc: install knative operator
cmds:
- "{{.KUSTOMIZE}} cluster/operator"
- "{{.KUBEWAIT_AVAIL}} --timeout=120s -n kube-system deployment/knative-operator"
knative:
desc: install knative serving/eventing
cmds:
- "{{.KUSTOMIZE}} cluster/knative"
- "{{.KUBEWAIT_READY}} --timeout=300s -n knative-eventing knativeeventing/eventing"
- "{{.KUBEWAIT_READY}} --timeout=300s -n knative-serving knativeserving/serving"
bootstrap:
desc: bootstrap local knative environment
cmds:
- task: create
- task: operator
- task: knative
extras:
desc: "list installed extras"
cmds:
- "{{.KN}} source apiserver list"
extras:broker:
desc: "install extra: default broker"
cmds:
- "{{.KN}} broker create default || true"
extras:apiserver:
desc: "install extra: k8s apiserver source"
deps: [extras:broker]
cmds:
- "{{.KUBECREATE}} serviceaccount apiserver-source"
- |
{{.KUBECREATE}} clusterrole default-eventing-event-observer \
--resource=events --verb=get,list,watch \
| {{.KUBEAPPLY}} -f -
- |
{{.KUBECREATE}} clusterrolebinding default:apiserver-source:default-eventing-event-observer \
--clusterrole default-eventing-event-observer \
--serviceaccount default:apiserver-source \
| {{.KUBEAPPLY}} -f -
- |
{{.KN}} source apiserver create apiserver-source \
--resource Event:v1 --sink broker:default \
--service-account apiserver-source || true
extras:player:
desc: "install extra: cloudevents-player"
deps: [extras:broker]
cmds:
- |
{{.KN}} service create cloudevents-player \
--image ruromero/cloudevents-player:latest \
--env BROKER_URL=http://broker-ingress.knative-eventing.svc.cluster.local/default/default
extras:display:
desc: "install extra: event-display"
deps: [extras:broker]
cmds:
- |
{{.KN}} service create event-display \
--image gcr.io/knative-releases/knative.dev/eventing/cmd/event_display
- |
{{.KN}} trigger create broker-to-event-display \
--sink ksvc:event-display