Skip to content

Commit 37c3582

Browse files
Merge pull request #59 from nicholasjackson/dev
Post Deployment Tests
2 parents e0fe0f7 + 7ec0e55 commit 37c3582

File tree

87 files changed

+22529
-283
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+22529
-283
lines changed

.github/workflows/go.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
- name: Set up Go
1414
uses: actions/setup-go@v2
1515
with:
16-
go-version: 1.17
16+
go-version: 1.18
1717

1818
- name: Build
1919
run: go build -v ./...
@@ -30,7 +30,7 @@ jobs:
3030
- name: Set up Go
3131
uses: actions/setup-go@v2
3232
with:
33-
go-version: 1.17
33+
go-version: 1.18
3434

3535
- name: Setup Kubebuilder
3636
run: |
@@ -58,13 +58,15 @@ jobs:
5858
- "@k8s_canary_existing"
5959
- "@k8s_canary_none"
6060
- "@k8s_canary_rollback"
61+
- "@k8s_canary_with_post_deployment_test"
62+
- "@k8s_canary_with_post_deployment_test_fail"
6163
steps:
6264
- uses: actions/checkout@v2
6365

6466
- name: Set up Go
6567
uses: actions/setup-go@v2
6668
with:
67-
go-version: 1.17
69+
go-version: 1.18
6870

6971
- name: Setup Functional Tests
7072
run: |
@@ -185,10 +187,10 @@ jobs:
185187
if: ${{ needs.check_labels.outputs.pr_labels_set == 'true' }}
186188

187189
steps:
188-
- name: Set up Go 1.17
190+
- name: Set up Go 1.18
189191
uses: actions/setup-go@v2
190192
with:
191-
go-version: 1.17
193+
go-version: 1.18
192194

193195
- name: Set up Node 14
194196
uses: actions/setup-node@v2

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
*.tgz
21
node_modules
32
docs/.docusaurus
43
docs/build

Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,10 @@ generate_helm:
8989
# First generate the Helm specific kustomize config that creates the RBAC and CRDs
9090
kustomize build ./kubernetes/controller/config/helm -o ./deploy/kubernetes/charts/consul-release-controller/templates
9191

92+
# Move the crds to the crds folder for helm
93+
mv ./deploy/kubernetes/charts/consul-release-controller/templates/apiextensions.k8s.io_v1_customresourcedefinition_releases.consul-release-controller.nicholasjackson.io.yaml \
94+
./deploy/kubernetes/charts/consul-release-controller/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_releases.consul-release-controller.nicholasjackson.io.yaml
95+
9296
# Set the version in the chart
9397
cp ./deploy/kubernetes/charts/consul-release-controller/Chart.tpl ./deploy/kubernetes/charts/consul-release-controller/Chart.yaml
9498
sedi=(-i) && [ "$(UNAME)" == "Darwin" ] && sedi=(-i '') ; \
@@ -98,6 +102,9 @@ generate_helm:
98102
sedi=(-i) && [ "$(UNAME)" == "Darwin" ] && sedi=(-i '') ; \
99103
sed "$${sedi[@]}" -e 's/##VERSION##/${VERSION}/' ./deploy/kubernetes/charts/consul-release-controller/values.yaml
100104

105+
# Fetch the chart deps
106+
helm dep up ./deploy/kubernetes/charts/consul-release-controller
107+
101108
# Now package the Helm chart into a tarball
102109
helm package ./deploy/kubernetes/charts/consul-release-controller
103110

changelog.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Changed
11+
- Helm chart Webhook config failure policy now defaults to `Ignore`
12+
- Configuration for the server moved to global `config` package
13+
14+
### Added
15+
- Added features to run manual tests for candidate services before initial traffic is sent.
16+
Post deployment tests can be configured to automatically call the defined endpoint for the consul
17+
service under test. All traffic is routed over consul service mesh ensuring no requirement to have
18+
the candidate service exposed outside of the mesh.
19+
20+
```yaml
21+
postDeploymentTest:
22+
pluginName: "http"
23+
config:
24+
path: "/"
25+
method: "GET"
26+
requiredTestPasses: 3
27+
interval: "10s"
28+
timeout: "120s"
29+
```
30+
31+
- Added sidecar to controller deployment to allow communication with consul services for post deployment tests
32+
1033
## [0.0.14 - 2022-03-14
1134
### Fixed
1235
- Ensure a release reconfigures the plugins on update

0 commit comments

Comments
 (0)