Skip to content

Commit d7732e4

Browse files
authored
Merge pull request #147 from tv2-oss/feature/test-aws-blueprint-vs-provider-versions
Test AWS/crossplane blueprint against different crossplane aws provider versions
2 parents 2c236a0 + 743be6b commit d7732e4

15 files changed

+189
-46
lines changed

.github/dependabot.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ updates:
88
# The version of client-go and other Kubernetes APIs should approximately match target Kubernetes version, i.e. only update semver-patch version
99
# Minor version updates then becomes a manual procedure. Security updates are not ignored by this
1010
- dependency-name: "k8s.io/*"
11-
versions: ["version-update:semver-minor"]
11+
update-types: ["version-update:semver-minor"]
1212

1313
- package-ecosystem: "github-actions"
1414
directory: "/"

Makefile.local

Lines changed: 102 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,7 @@ wait-ready-external-dns-test:
4343
until kubectl wait pods -l app.kubernetes.io/instance=external-dns --for condition=Ready --timeout=120s ; do echo "."; sleep 1; done
4444

4545
#################
46-
ifeq ($(GATEWAY_API_VERSION),)
47-
GATEWAY_API_VERSION=v0.6.0
48-
endif
46+
GATEWAY_API_VERSION ?= v0.6.0
4947

5048
.PHONY: gateway-api-upstream-get
5149
gateway-api-upstream-get:
@@ -72,10 +70,16 @@ delete-cluster:
7270
kind delete cluster --name kind-gwc-dev-cluster
7371

7472
#################
73+
ISTIO_VERSION ?= 1.16.1
74+
7575
.PHONY: deploy-istio
7676
deploy-istio:
77-
helm upgrade -i --repo https://istio-release.storage.googleapis.com/charts base base --version 1.16.1 -n istio-system --create-namespace
78-
helm upgrade -i --repo https://istio-release.storage.googleapis.com/charts istiod istiod --version 1.16.1 -n istio-system
77+
helm upgrade -i --repo https://istio-release.storage.googleapis.com/charts base base --version ${ISTIO_VERSION} -n istio-system --create-namespace
78+
helm upgrade -i --repo https://istio-release.storage.googleapis.com/charts istiod istiod --version ${ISTIO_VERSION} -n istio-system
79+
80+
.PHONY: undeploy-istio
81+
undeploy-istio:
82+
helm uninstall -n istio-system istiod
7983

8084
#################
8185
.PHONY: cluster-load-controller-image
@@ -143,25 +147,100 @@ ca-cert-secret-create:
143147
kubectl -n cert-manager create secret tls ca-key-pair --cert=foo-example-com.crt --key=foo-example-com.key
144148

145149
#################
150+
AWS_LOAD_BALANCER_CONTROLLER_VERSION ?= v2.4.5
151+
AWS_LOAD_BALANCER_CONTROLLER_CHART_VERSION ?= v1.4.6
152+
# Note, template also require CLUSTERNAME and AWS_LOAD_BALANCER_CONTROLLER_IAM_ROLE_ARN
153+
146154
.PHONY: deploy-aws-load-balancer-controller-crds
147155
deploy-aws-load-balancer-controller-crds:
148-
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.4.5/helm/aws-load-balancer-controller/crds/crds.yaml
156+
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/${AWS_LOAD_BALANCER_CONTROLLER_VERSION}/helm/aws-load-balancer-controller/crds/crds.yaml
157+
158+
.PHONY: deploy-aws-load-balancer-controller
159+
deploy-aws-load-balancer-controller:
160+
cat test-data/aws-load-balancer-controller-values.yaml_tpl | envsubst > aws-load-balancer-controller-values.yaml
161+
helm upgrade -i --repo https://aws.github.io/eks-charts aws-load-balancer-controller aws-load-balancer-controller --version ${AWS_LOAD_BALANCER_CONTROLLER_CHART_VERSION} -n kube-system --set installCRDs=false --values aws-load-balancer-controller-values.yaml
162+
163+
.PHONY: undeploy-aws-load-balancer-controller
164+
undeploy-aws-load-balancer-controller:
165+
helm uninstall -n kube-system aws-load-balancer-controller
149166

150167
#################
168+
CROSSPLANE_VERSION ?= v1.11.0
169+
151170
.PHONY: deploy-crossplane
152171
deploy-crossplane:
153-
helm upgrade -i --repo https://charts.crossplane.io/stable crossplane crossplane --version v1.11.0 -n crossplane-system --create-namespace
172+
helm upgrade -i --repo https://charts.crossplane.io/stable crossplane crossplane --version ${CROSSPLANE_VERSION} -n crossplane-system --create-namespace
173+
174+
.PHONY: undeploy-crossplane
175+
undeploy-crossplane:
176+
helm uninstall crossplane -n crossplane-system
177+
178+
CROSSPLANE_AWS_PROVIDER_VERSION ?= v0.28.0
179+
# Note, templates also require CROSSPLANE_INITIAL_IAM_ROLE_ARN and CROSSPLANE_IAM_ROLE_ARN
154180

155181
.PHONY: deploy-crossplane-aws-provider
156182
deploy-crossplane-aws-provider:
157-
kubectl apply -f test-data/crossplane-aws-provider.yaml
183+
cat test-data/crossplane-aws-provider.yaml_tpl | CROSSPLANE_AWS_PROVIDER_VERSION=${CROSSPLANE_AWS_PROVIDER_VERSION} CROSSPLANE_INITIAL_IAM_ROLE_ARN=${CROSSPLANE_INITIAL_IAM_ROLE_ARN} envsubst > crossplane-aws-provider.yaml
184+
cat test-data/crossplane-aws-provider-config.yaml_tpl | CROSSPLANE_IAM_ROLE_ARN=${CROSSPLANE_IAM_ROLE_ARN} envsubst > crossplane-aws-provider-config.yaml
185+
kubectl apply -f crossplane-aws-provider.yaml
158186
kubectl wait "providers.pkg.crossplane.io/provider-aws" --for=condition=Installed --timeout=180s
159187
kubectl wait "providers.pkg.crossplane.io/provider-aws" --for=condition=Healthy --timeout=180s
188+
kubectl apply -f crossplane-aws-provider-config.yaml
189+
190+
.PHONY: undeploy-crossplane-aws-provider
191+
undeploy-crossplane-aws-provider:
192+
kubectl delete -f crossplane-aws-provider-config.yaml
193+
kubectl delete -f crossplane-aws-provider.yaml
194+
195+
#################
196+
BIFROST_VERSION ?= 0.1.6
197+
198+
.PHONY: deploy-controller-helm
199+
deploy-controller-helm:
200+
helm upgrade -i bifrost-gateway-controller-helm oci://ghcr.io/tv2-oss/bifrost-gateway-controller-helm --version ${BIFROST_VERSION} --values charts/bifrost-gateway-controller/ci/gatewayclassblueprint-contour-istio-values.yaml -n bifrost-gateway-controller-system --create-namespace
201+
202+
.PHONY: deploy-controller-aws-helm
203+
deploy-controller-aws-helm:
204+
helm upgrade -i bifrost-gateway-controller-helm oci://ghcr.io/tv2-oss/bifrost-gateway-controller-helm --version ${BIFROST_VERSION} --values charts/bifrost-gateway-controller/ci/gatewayclassblueprint-crossplane-aws-alb-values.yaml -n bifrost-gateway-controller-system --create-namespace
205+
206+
.PHONY: undeploy-controller
207+
undeploy-controller:
208+
helm uninstall -n bifrost-gateway-controller-system bifrost-gateway-controller-helm
209+
210+
#################
211+
BIFROST_BLUEPRINTS_VERSION ?= 0.0.18
212+
213+
.PHONY: deploy-controller-blueprint
214+
setup-getting-started-controller-blueprint:
215+
kubectl apply -f https://github.com/tv2-oss/bifrost-gateway-controller/releases/download/${BIFROST_BLUEPRINTS_VERSION}/gatewayclassblueprint-contour-istio-cert.yaml
216+
kubectl apply -f https://github.com/tv2-oss/bifrost-gateway-controller/releases/download/${BIFROST_BLUEPRINTS_VERSION}/gatewayclass-contour-istio-cert.yaml
217+
218+
.PHONY: deploy-controller-blueprint-local
219+
deploy-controller-blueprint-local:
220+
kubectl apply -f blueprints/gatewayclassblueprint-contour-istio-cert.yaml -f blueprints/gatewayclass-contour-istio-cert.yaml
221+
222+
.PHONY: deploy-aws-istio-blueprint
223+
deploy-aws-istio-blueprint:
224+
kubectl apply -f https://github.com/tv2-oss/bifrost-gateway-controller/releases/download/${BIFROST_BLUEPRINTS_VERSION}/gatewayclassblueprint-aws-alb-crossplane.yaml
225+
kubectl apply -f https://github.com/tv2-oss/bifrost-gateway-controller/releases/download/${BIFROST_BLUEPRINTS_VERSION}/gatewayclass-aws-alb-crossplane.yaml
226+
227+
.PHONY: undeploy-aws-istio-blueprint
228+
undeploy-aws-istio-blueprint:
229+
kubectl delete -f https://github.com/tv2-oss/bifrost-gateway-controller/releases/download/${BIFROST_BLUEPRINTS_VERSION}/gatewayclassblueprint-aws-alb-crossplane.yaml
230+
kubectl delete -f https://github.com/tv2-oss/bifrost-gateway-controller/releases/download/${BIFROST_BLUEPRINTS_VERSION}/gatewayclass-aws-alb-crossplane.yaml
231+
232+
.PHONY: deploy-aws-istio-blueprint-local
233+
deploy-aws-istio-blueprint-local:
234+
kubectl apply -f blueprints/gatewayclassblueprint-aws-alb-crossplane.yaml -f blueprints/gatewayclass-aws-alb-crossplane.yaml
235+
236+
.PHONY: undeploy-aws-istio-blueprint-local
237+
undeploy-aws-istio-blueprint-local:
238+
kubectl delete -f blueprints/gatewayclassblueprint-aws-alb-crossplane.yaml -f blueprints/gatewayclass-aws-alb-crossplane.yaml
160239

161240
#################
162241
# See 'doc/getting-started.md'
163242
.PHONY: setup-getting-started
164-
setup-getting-started: setup-getting-started-cluster setup-getting-started-controller setup-getting-started-usecase
243+
setup-getting-started: setup-getting-started-cluster setup-getting-started-controller setup-getting-started-controller-blueprint deploy-getting-started-usecase
165244

166245
.PHONY: setup-getting-started-cluster
167246
setup-getting-started-cluster:
@@ -179,23 +258,29 @@ setup-getting-started-controller:
179258
make docker-build
180259
make cluster-load-controller-image
181260
make deploy
182-
kubectl apply -f blueprints/gatewayclassblueprint-contour-istio-cert.yaml -f blueprints/gatewayclass-contour-istio-cert.yaml
183261

184-
.PHONY: setup-getting-started-controller-helm
185-
setup-getting-started-controller-helm:
186-
helm upgrade -i bifrost-gateway-controller-helm oci://ghcr.io/tv2-oss/bifrost-gateway-controller-helm --version 0.1.6 --values charts/bifrost-gateway-controller/ci/gatewayclassblueprint-contour-istio-values.yaml -n bifrost-gateway-controller-system --create-namespace
187-
kubectl apply -f blueprints/gatewayclassblueprint-contour-istio-cert.yaml -f blueprints/gatewayclass-contour-istio-cert.yaml
262+
GATEWAY_CLASS_NAME ?= contour-istio-cert
263+
DOMAIN ?= foo.example.com
188264

189-
.PHONY: setup-getting-started-usecase
190-
setup-getting-started-usecase:
265+
.PHONY: deploy-getting-started-usecase
266+
deploy-getting-started-usecase:
191267
kubectl apply -f test-data/getting-started/foo-namespaces.yaml
192-
kubectl apply -f test-data/getting-started/foo-gateway.yaml
268+
cat test-data/getting-started/foo-gateway.yaml | GATEWAY_CLASS_NAME=${GATEWAY_CLASS_NAME} DOMAIN=${DOMAIN} envsubst | kubectl apply -f -
193269
kubectl -n foo-site apply -f test-data/getting-started/app-foo-site.yaml
194270
kubectl -n foo-site apply -f test-data/getting-started/foo-site-httproute.yaml
195271
kubectl -n foo-store apply -f test-data/getting-started/app-foo-store-v1.yaml
196272
kubectl -n foo-store apply -f test-data/getting-started/app-foo-store-v2.yaml
197273
kubectl -n foo-store apply -f test-data/getting-started/foo-store-httproute.yaml
198274

275+
.PHONY: undeploy-getting-started-usecase
276+
undeploy-getting-started-usecase:
277+
kubectl delete -f test-data/getting-started/foo-namespaces.yaml
278+
279+
.PHONY: deploy-namespace-gatewayclassconfig
280+
deploy-namespace-gatewayclassconfig:
281+
kubectl apply -f test-data/getting-started/foo-namespaces.yaml
282+
cat hack/demo/namespace-gatewayclassconfig.yaml | CERTIFICATE_ARN=${CERTIFICATE_ARN} envsubst | kubectl apply -f -
283+
199284
.PHONY: wait-ready-getting-started-usecase
200285
wait-ready-getting-started-usecase:
201286
scripts/waitfor.sh scripts/curl.sh -s --connect-timeout 1 --fail --resolve foo.example.com:80:127.0.0.1 http://foo.example.com/site

blueprints/README.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,5 +55,19 @@ This definition is provided in the following files:
5555
- [`gatewayclassblueprint-aws-alb-crossplane.yaml`](gatewayclassblueprint-aws-alb-crossplane.yaml) blueprint for infrastructure implementation
5656
- [`gatewayclass-aws-alb-crossplane.yaml`](gatewayclass-aws-alb-crossplane.yaml) definitions of `GatewayClass`es referencing the above `GatewayClassBlueprint`. Two `GatewayClass`es are created, one that is intended for internet exposed gateways, and one for non internet exposed gateways.
5757
- [`gatewayclassconfig-aws-alb-crossplane-dev-env.yaml`](../test-data/gatewayclassconfig-aws-alb-crossplane-dev-env.yaml) example settings for the two `GatewayClass`es defined in `gatewayclass-aws-alb-crossplane.yaml`, i.e. with different subnet settings for the internet-exposed and non internet-exposed `GatewayClass'es.
58-
[`gatewayclassblueprint-crossplane-aws-alb-values.yaml`](../charts/bifrost-gateway-controller/ci/gatewayclassblueprint-crossplane-aws-alb-values.yaml)
59-
(RBAC for bifrost-gateway-controller Helm deployment suited for the `aws-alb-crossplane` blueprint).
58+
- [`gatewayclassblueprint-crossplane-aws-alb-values.yaml`](../charts/bifrost-gateway-controller/ci/gatewayclassblueprint-crossplane-aws-alb-values.yaml)
59+
RBAC for bifrost-gateway-controller Helm deployment suited for the `aws-alb-crossplane` blueprint.
60+
61+
### Compatibility
62+
63+
This blueprint use AWS Crossplane resources through the [Upbound AWS
64+
Provider](https://marketplace.upbound.io/providers/upbound/provider-aws). The
65+
following compatibility between this blueprint, Crossplane, Crossplane
66+
Upbound AWS provider and Istio versions has been verified:
67+
68+
| Blueprint | AWS Provider | Crossplane | Istio | Status |
69+
| ------------- | ------------- |
70+
| `0.0.18` | `v0.28.0` | `v1.11.0` | `1.16.1` | :heavy_check_mark: |
71+
| `0.0.18` | `v0.32.1` | `v1.11.0` | `1.16.1` | :x: |
72+
| `0.0.18` | `v0.33.0` | `v1.11.0` | `1.16.1` | :heavy_check_mark: |
73+
| `0.0.19` | `v0.33.0` | `v1.11.0` | `1.16.1` | :heavy_check_mark: |

blueprints/gatewayclassblueprint-aws-alb-crossplane.yaml

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ spec:
1717
port: 443
1818
tags: []
1919
# Values required by this blueprint without defaults:
20+
# providerConfigName: "example-crossplane-provider-name"
2021
# region: "example-region"
2122
# vpcId: "example-vpc"
2223
# subnets:
@@ -42,7 +43,9 @@ spec:
4243
namespace: {{ .Gateway.metadata.namespace }}
4344
annotations:
4445
networking.istio.io/service-type: ClusterIP
46+
{{ if .Values.tags }}
4547
{{ toYaml .Values.tags | nindent 4 }}
48+
{{ end }}
4649
spec:
4750
gatewayClassName: istio
4851
listeners:
@@ -67,7 +70,7 @@ spec:
6770
name: gw-{{ .Gateway.metadata.namespace }}-{{ .Gateway.metadata.name }}
6871
spec:
6972
providerConfigRef:
70-
name: admin
73+
name: {{ .Values.providerConfigName }}
7174
forProvider:
7275
name: gw-{{ .Gateway.metadata.namespace }}-{{ .Gateway.metadata.name }}
7376
region: {{ .Values.region }}
@@ -79,8 +82,10 @@ spec:
7982
{{ range .Values.subnets }}
8083
- subnetId: {{ . }}
8184
{{ end }}
85+
{{ if .Values.tags }}
8286
tags:
8387
{{- toYaml .Values.tags | nindent 6 }}
88+
{{ end }}
8489
LBTargetGroup: |
8590
apiVersion: elbv2.aws.upbound.io/v1beta1
8691
kind: LBTargetGroup
@@ -90,7 +95,7 @@ spec:
9095
name: gw-{{ .Gateway.metadata.namespace }}-{{ .Gateway.metadata.name }}
9196
spec:
9297
providerConfigRef:
93-
name: admin
98+
name: {{ .Values.providerConfigName }}
9499
forProvider:
95100
name: gw-{{ .Gateway.metadata.namespace }}-{{ .Gateway.metadata.name }}
96101
region: {{ .Values.region }}
@@ -104,8 +109,10 @@ spec:
104109
port: {{ .Values.healthCheck.port | quote }}
105110
port: 80
106111
protocol: HTTP
112+
{{ if .Values.tags }}
107113
tags:
108114
{{- toYaml .Values.tags | nindent 6 }}
115+
{{ end }}
109116
targetType: ip
110117
LBListener: |
111118
apiVersion: elbv2.aws.upbound.io/v1beta1
@@ -116,7 +123,7 @@ spec:
116123
name: gw-{{ .Gateway.metadata.namespace }}-{{ .Gateway.metadata.name }}
117124
spec:
118125
providerConfigRef:
119-
name: admin
126+
name: {{ .Values.providerConfigName }}
120127
forProvider:
121128
region: {{ .Values.region }}
122129
port: 443
@@ -130,16 +137,20 @@ spec:
130137
loadBalancerArnSelector:
131138
matchLabels:
132139
tv2.dk/gw: {{ .Gateway.metadata.namespace }}-{{ .Gateway.metadata.name }}
140+
{{ if .Values.tags }}
133141
tags:
134142
{{- toYaml .Values.tags | nindent 6 }}
143+
{{ end }}
135144
TargetGroupBinding: |
136145
apiVersion: elbv2.k8s.aws/v1beta1
137146
kind: TargetGroupBinding
138147
metadata:
139148
name: gw-{{ .Gateway.metadata.namespace }}-{{ .Gateway.metadata.name }}
140149
namespace: {{ .Gateway.metadata.namespace }}
150+
{{ if .Values.tags }}
141151
annotations:
142152
{{- toYaml .Values.tags | nindent 4 }}
153+
{{ end }}
143154
spec:
144155
targetGroupARN: {{ .Resources.LBTargetGroup.status.atProvider.arn }}
145156
targetType: ip
@@ -155,13 +166,15 @@ spec:
155166
name: gw-{{ .Gateway.metadata.namespace }}-{{ .Gateway.metadata.name }}
156167
spec:
157168
providerConfigRef:
158-
name: admin
169+
name: {{ .Values.providerConfigName }}
159170
forProvider:
160171
description: "SG for ALB"
161172
name: gw-{{ .Gateway.metadata.namespace }}-{{ .Gateway.metadata.name }}
162173
region: {{ .Values.region }}
174+
{{ if .Values.tags }}
163175
tags:
164176
{{- toYaml .Values.tags | nindent 6 }}
177+
{{ end }}
165178
vpcId: {{ .Values.vpcId}}
166179
SecurityGroupRuleEgress80: |
167180
apiVersion: ec2.aws.upbound.io/v1beta1
@@ -172,7 +185,7 @@ spec:
172185
name: gw-{{ .Gateway.metadata.namespace }}-{{ .Gateway.metadata.name }}-egress80
173186
spec:
174187
providerConfigRef:
175-
name: admin
188+
name: {{ .Values.providerConfigName }}
176189
forProvider:
177190
description: "Traffic towards Istio ingress gateway"
178191
cidrBlocks:
@@ -194,7 +207,7 @@ spec:
194207
name: gw-{{ .Gateway.metadata.namespace }}-{{ .Gateway.metadata.name }}-egress15021
195208
spec:
196209
providerConfigRef:
197-
name: admin
210+
name: {{ .Values.providerConfigName }}
198211
forProvider:
199212
description: "Healthcheck towards Istio ingress gateway"
200213
cidrBlocks:
@@ -216,7 +229,7 @@ spec:
216229
name: gw-{{ .Gateway.metadata.namespace }}-{{ .Gateway.metadata.name }}-ingress
217230
spec:
218231
providerConfigRef:
219-
name: admin
232+
name: {{ .Values.providerConfigName }}
220233
forProvider:
221234
description: "External traffic towards ALB"
222235
cidrBlocks:
@@ -240,7 +253,7 @@ spec:
240253
name: gw-{{ .Gateway.metadata.namespace }}-{{ .Gateway.metadata.name }}-upstream80
241254
spec:
242255
providerConfigRef:
243-
name: admin
256+
name: {{ .Values.providerConfigName }}
244257
forProvider:
245258
description: {{ printf "Ingress from gw-%s-%s" .Gateway.metadata.namespace .Gateway.metadata.name }}
246259
fromPort: 80
@@ -261,7 +274,7 @@ spec:
261274
name: gw-{{ .Gateway.metadata.namespace }}-{{ .Gateway.metadata.name }}-upstream15021
262275
spec:
263276
providerConfigRef:
264-
name: admin
277+
name: {{ .Values.providerConfigName }}
265278
forProvider:
266279
description: {{ printf "Healthcheck ingress from gw-%s-%s" .Gateway.metadata.namespace .Gateway.metadata.name }}
267280
fromPort: 15021
@@ -284,8 +297,10 @@ spec:
284297
name: {{ .HTTPRoute.metadata.name }}-child
285298
namespace: {{ .HTTPRoute.metadata.namespace }}
286299
annotations:
300+
{{ if .Values.tags }}
287301
tags:
288302
{{- toYaml .Values.tags | nindent 4 }}
303+
{{ end }}
289304
spec:
290305
parentRefs:
291306
{{ range .HTTPRoute.spec.parentRefs -}}

doc/getting-started.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,11 @@ that is out out-of-scope for this guide):
125125
kubectl apply -f test-data/getting-started/foo-namespaces.yaml
126126
```
127127

128-
The cluster-operator/SRE also creates the common `Gateway`:
128+
The cluster-operator/SRE also creates the common `Gateway` using the
129+
`GatewayClass` created previously:
129130

130131
```
131-
kubectl apply -f test-data/getting-started/foo-gateway.yaml
132+
cat test-data/getting-started/foo-gateway.yaml | GATEWAY_CLASS_NAME=contour-istio-cert DOMAIN=foo.example.com envsubst | kubectl apply -f -
132133
```
133134

134135
### Developer of 'Site' Application

doc/installing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,4 @@ helm upgrade -i bifrost-gateway-controller-helm oci://ghcr.io/tv2-oss/bifrost-ga
3939
4040
In addition to the *bifrost-gateway-controller*, you will need
4141
blueprints defining datapath implementations. See [Example
42-
GatewayClassBlueprints](blueprints/README.md).
42+
GatewayClassBlueprints](../blueprints/README.md).

hack/demo/curl.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
#! /bin/bash
22

3+
DOMAIN=$1
4+
35
ADDR=`kubectl -n foo-infra get gateway foo-gateway -o jsonpath='{.status.addresses[0].value}'`
46
IP=`dig "$ADDR" +short | head -n1`
5-
DOMAIN=foo.kubecon23.tv2dev.dk
67

78
echo "-------------------------------------------------------------------"
89
echo "Skipping DNS, using $DOMAIN = $IP"

0 commit comments

Comments
 (0)