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
* docs: updated contributing instructions
* attempt with kind listening on 127.0.0.1
* set image name based on git hash
Signed-off-by: Tero Saarni <[email protected]>
The simplest way to get up and running is to build Contour in a Docker container and to deploy it to a local Kind cluster.
48
+
These commands will launch a Kind cluster and deploy your build of Contour to it.
49
+
50
+
```shell
51
+
make install-contour-working
52
+
```
53
+
54
+
or for Contour Gateway Provisioner:
55
+
56
+
```shell
57
+
make install-provisioner-working
58
+
```
59
+
60
+
You can access Contour in localhost ports 9080 and 9443.
61
+
62
+
To remove the Kind cluster and all resources, run:
63
+
64
+
```shell
65
+
make cleanup-kind
66
+
```
67
+
68
+
69
+
### Building locally
70
+
71
+
To build Contour locally, run:
38
72
39
73
```
40
74
make
@@ -65,8 +99,6 @@ Before making a commit, it's always a good idea to check the code for common pro
65
99
make lint
66
100
```
67
101
68
-
Note: The lint tasks require the [codespell](https://github.com/codespell-project/codespell) application. Be sure to install version 2.0 or newer before running the lint tasks.
69
-
70
102
### Local Development/Testing
71
103
72
104
It's very helpful to be able to test out changes to Contour locally without building images and pushing into clusters.
@@ -109,9 +141,9 @@ Change `initContainers:` to look like this updating the IP and removing the thre
109
141
110
142
5. Change your Contour code.
111
143
112
-
6. Build & start Contour allowing Envoy to connect and get its configuration.
144
+
6. Build & start Contour allowing Envoy to connect and get its configuration.
113
145
```shell
114
-
make install && contour serve --kubeconfig=$HOME/.kube/config --xds-address=0.0.0.0 --insecure
146
+
make install && contour serve --kubeconfig=$HOME/.kube/config --xds-address=0.0.0.0 --insecure
115
147
```
116
148
117
149
8. Test using the local kind cluster by deploying resources into that cluster. Many of our examples use `local.projectcontour.io` which is configured to point to `127.0.0.1` which allows requests to route to the local kind cluster for easy testing.
@@ -182,7 +214,7 @@ with a colon as delimiter. For example 'docs:', 'internal/(packagename):', 'desi
182
214
it may have a `release-note/not-required` category. PRs may also include a `release-note/deprecation`
183
215
label alone or in addition to the primary label.
184
216
- PRs *must* include a file named `changelogs/unreleased/PR#-githubID-category.md`, which is a Markdown
185
-
file with a description of the change. Please see `changelogs/unreleased/<category>-sample.md` for
217
+
file with a description of the change. Please see `changelogs/unreleased/<category>-sample.md` for
186
218
sample changelogs.
187
219
- If main has moved on, you'll need to rebase before we can merge,
188
220
so merging upstream main or rebasing from upstream before opening your
Before a change is submitted it should pass all the pre commit CI jobs.
@@ -283,11 +315,11 @@ This section provides some useful information and guidelines for working with Co
283
315
#### Config/Data Categories
284
316
***Kubernetes Config**: `HTTPProxy`, `Ingress` or [Gateway API][8] config that Contour watches and converts to Envoy config.
285
317
***DAG**: The internal Contour representation of L7 proxy concepts. Kubernetes config is first converted to DAG objects before being converted to Envoy config.
286
-
***Envoy Config**: Configuration that can be provided to Envoy via xDS. This is Contour's final output, generated directly from the DAG.
318
+
***Envoy Config**: Configuration that can be provided to Envoy via xDS. This is Contour's final output, generated directly from the DAG.
287
319
288
320
#### Test Categories
289
321
***Unit Test**: A Go test for a particular function/package. In some cases, these test more than one package at a time.
290
-
***Feature Test**: A Go test in `internal/featuretests` that tests the translation of Kubernetes config to Envoy config, using a Contour event handler and xDS server.
322
+
***Feature Test**: A Go test in `internal/featuretests` that tests the translation of Kubernetes config to Envoy config, using a Contour event handler and xDS server.
291
323
***End-To-End (E2E) Test**: A Go test in `test/e2e` that performs a full end-to-end test of Contour running in a cluster. Typically verifies the behavior of HTTP requests given a Kubernetes `HTTPProxy`, `Ingress` or Gateway API config.
292
324
293
325
### Summary of Major Test Suites
@@ -370,7 +402,7 @@ By making a contribution to this project, I certify that:
0 commit comments