You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update documentation for ingresses and running PRs
This commit updates documentation for ingresses:
- to provide GKE examples
- to point to proxying docs
- to clarify where to find more information on setting up your ingress
It also clarifies where PipelineRun configuration must be stored,
and how PipelineRuns from pull requests can be run.
Copy file name to clipboardExpand all lines: docs/content/docs/install/installation.md
+5-11Lines changed: 5 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -140,19 +140,13 @@ You can use following command to update the envs on the controller
140
140
141
141
## Proxy service for PAC controller
142
142
143
-
### What
143
+
Pipelines as Code requires an externally accessible URL to receive events from Git providers.
144
+
If you're developing locally (such as on kind or Minikube) or don't want to set up an ingress on your cluster,
145
+
you can also use a proxy service to expose the `pipelines-as-code-controller` service and allow it to receive events.
144
146
145
-
proxy service is used to forward request coming to `pipelines-as-code-controller` service
147
+
### Proxying with smee.io
146
148
147
-
### Why
148
-
149
-
PAC requires externally accessible URL to configure for GitHub, GitLab, BitBucket and there are few clusters which doesn't expose services to external world ex: Minikube, Kind and so on.
150
-
151
-
### Proposed solution
152
-
153
-
To handle such scenario for minikube/kind cluster lets use [smee.io](https://smee.io/)
154
-
155
-
### Steps to configure smee.io
149
+
To handle such scenario for minikube/kind cluster let's use [smee.io](https://smee.io/)
156
150
157
151
- Generate your own URL by going to [smee.io/new](https://smee.io/new)
Ensure that the pipelines-as-code controller, webhook, and watcher have come up healthy, for example:
31
+
32
+
```shell
33
+
$ kubectl get deployment -n pipelines-as-code
34
+
NAME READY UP-TO-DATE AVAILABLE AGE
35
+
pipelines-as-code-controller 1/1 1 1 43h
36
+
pipelines-as-code-watcher 1/1 1 1 43h
37
+
pipelines-as-code-webhook 1/1 1 1 43h
38
+
```
39
+
40
+
All three deployments should have all pods ready before moving on to ingress setup.
41
+
28
42
## Ingress
29
43
30
-
You will need a `Ingress` to point to the pipelines-as-code controller, here is an example working with the [nginx ingress](https://kubernetes.github.io/ingress-nginx/) controller :
44
+
You will need a `Ingress` to point to the pipelines-as-code controller.
45
+
The ingress configuration depends on your Kubernetes provider.
46
+
Either the ingress hostname or its IP address may be used as the webhook URL.
47
+
You'll provide this configuration when connecting Pipelines as Code to your Git provider.
48
+
49
+
Here is an example working with the [nginx ingress](https://kubernetes.github.io/ingress-nginx/) controller :
31
50
32
51
```yaml
33
52
apiVersion: networking.k8s.io/v1
@@ -52,7 +71,34 @@ spec:
52
71
pathType: Prefix
53
72
```
54
73
55
-
In this example `webhook.host.tld` is the hostname for your pipeline's controller to fill as the webhook URL in the provider platform setup.
74
+
In this example `webhook.host.tld` is the hostname that will be used for the Pipelines as Code webhook URL.
75
+
76
+
Here's an example with GKE:
77
+
78
+
```yaml
79
+
apiVersion: networking.k8s.io/v1
80
+
kind: Ingress
81
+
metadata:
82
+
labels:
83
+
pipelines-as-code/route: controller
84
+
name: pipelines-as-code
85
+
namespace: pipelines-as-code
86
+
annotations:
87
+
kubernetes.io/ingress.class: gce
88
+
spec:
89
+
defaultBackend:
90
+
service:
91
+
name: pipelines-as-code-controller
92
+
port:
93
+
number: 8080
94
+
```
95
+
96
+
In this example, you will use the ingress's IP address rather than a hostname for the webhook URL.
97
+
You can find the ingress's address via `kubectl get ingress pipelines-as-code -n pipelines-as-code`.
98
+
99
+
If you can't or don't want to set up an ingress on your cluster (for example, you're using a kind cluster,
100
+
or you just want to experiment with Pipelines as Code before setting up an ingress),
101
+
see [Proxy service for PAC controller](./installation.md#proxy-service-for-pac-controller).
0 commit comments