Skip to content

Commit c451ca2

Browse files
authored
Merge pull request #184 from tv2-oss/feature/istio-17
Feature/istio 17
2 parents 0d09a29 + 44720a9 commit c451ca2

File tree

5 files changed

+30
-13
lines changed

5 files changed

+30
-13
lines changed

Makefile.local

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ delete-cluster:
7070
kind delete cluster --name kind-gwc-dev-cluster
7171

7272
#################
73-
ISTIO_VERSION ?= 1.16.1
73+
ISTIO_VERSION ?= 1.17.2
7474

7575
.PHONY: deploy-istio
7676
deploy-istio:
@@ -231,7 +231,7 @@ undeploy-aws-istio-blueprint:
231231

232232
.PHONY: deploy-aws-istio-blueprint-local
233233
deploy-aws-istio-blueprint-local:
234-
kubectl apply -f blueprints/gatewayclassblueprint-aws-alb-crossplane.yaml -f blueprints/gatewayclass-aws-alb-crossplane.yaml
234+
kubectl apply -f blueprints/aws-alb-crossplane/gatewayclassblueprint-aws-alb-crossplane.yaml -f blueprints/aws-alb-crossplane/gatewayclass-aws-alb-crossplane.yaml
235235

236236
.PHONY: undeploy-aws-istio-blueprint-local
237237
undeploy-aws-istio-blueprint-local:

blueprints/aws-alb-crossplane/README.md

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ This definition is provided in the following files:
2525

2626
- [`gatewayclassblueprint-aws-alb-crossplane.yaml`](gatewayclassblueprint-aws-alb-crossplane.yaml) blueprint for infrastructure implementation
2727
- [`gatewayclass-aws-alb-crossplane.yaml`](gatewayclass-aws-alb-crossplane.yaml) definitions of `GatewayClass`es referencing the above `GatewayClassBlueprint`. Three `GatewayClass`es are created, one that is intended for internet exposed gateways (`public`), one for internet exposed gateways but access limited by e.g. ACLs (`private`) and one for non internet exposed gateways (`internal`).
28-
- [`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.
28+
- [`gatewayclassconfig-aws-alb-crossplane-dev-env.yaml`](../../test-data/gatewayclassconfig-aws-alb-crossplane-dev-env.yaml) example settings for the three `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.
2929
- [`gatewayclassblueprint-crossplane-aws-alb-values.yaml`](../../charts/bifrost-gateway-controller/ci/gatewayclassblueprint-crossplane-aws-alb-values.yaml)
3030
RBAC for bifrost-gateway-controller Helm deployment suited for the `aws-alb-crossplane` blueprint.
3131

@@ -36,12 +36,16 @@ Provider](https://marketplace.upbound.io/providers/upbound/provider-aws). The
3636
following compatibility between this blueprint, Crossplane, Crossplane
3737
Upbound AWS provider and Istio versions has been verified:
3838

39-
| Blueprint | AWS Provider | Crossplane | Istio | Status |
40-
| --------- | ------------ | ---------- | ----- | ------ |
39+
| Bifrost/Blueprint | AWS Provider | Crossplane | Istio | Status |
40+
| ----------------- | ------------ | ---------- | ----- | ------ |
4141
| `0.0.18` | `v0.28.0` | `v1.11.0` | `1.16.1` | :heavy_check_mark: |
4242
| `0.0.18` | `v0.32.1` | `v1.11.0` | `1.16.1` | :x: |
4343
| `0.0.18` | `v0.33.0` | `v1.11.0` | `1.16.1` | :heavy_check_mark: |
4444
| `0.0.19` | `v0.33.0` | `v1.11.0` | `1.16.1` | :heavy_check_mark: |
45+
| `0.0.20` | `v0.33.0` | `v1.11.0` | `1.17.2` | :x: (*) |
46+
| `0.0.21` | `v0.33.0` | `v1.11.0` | `1.17.2` | :heavy_check_mark: |
47+
48+
(*) In Istio [1.17.0 Gateway naming convention was changed](https://istio.io/latest/news/releases/1.17.x/announcing-1.17/change-notes/) to be a concatenation of Gateway `Name` and `GatewayClass`.
4549

4650
## Testing AWS/Crossplane/Istio Blueprint
4751

@@ -55,6 +59,17 @@ version of the dependencies.
5559
- IAM role for AWS load balancer controller (see make target `deploy-aws-load-balancer-controller`)
5660
- A TLS certificate and associated domain name (see below).
5761

62+
Specifically these environment variables should be provided:
63+
64+
```
65+
export CLUSTERNAME=
66+
export AWS_LOAD_BALANCER_CONTROLLER_IAM_ROLE_ARN=
67+
export CROSSPLANE_INITIAL_IAM_ROLE_ARN=
68+
export CROSSPLANE_IAM_ROLE_ARN=
69+
export DOMAIN=
70+
export CERTIFICATE_ARN=
71+
```
72+
5873
### Deploying Dependencies
5974

6075
Deploy dependencies with the make targets shown below. Version information can be left out to use default versions:
@@ -64,8 +79,8 @@ make deploy-gateway-api
6479
make deploy-aws-load-balancer-controller-crds
6580
AWS_LOAD_BALANCER_CONTROLLER_CHART_VERSION=v1.4.6 make deploy-aws-load-balancer-controller
6681
CROSSPLANE_VERSION=v1.11.0 make deploy-crossplane
67-
CROSSPLANE_AWS_PROVIDER_VERSION=v0.28.0 make deploy-crossplane-aws-provider
68-
ISTIO_VERSION=1.16.1 make deploy-istio
82+
CROSSPLANE_AWS_PROVIDER_VERSION=v0.33.0 make deploy-crossplane-aws-provider
83+
ISTIO_VERSION=1.17.2 make deploy-istio
6984
```
7085

7186
Deploy controller and blueprint:
@@ -84,16 +99,18 @@ specific, this guide does not describe how to prepare it. Additionally,
8499
a namespace-default `GatewayClassConfig` may be needed:
85100

86101
```bash
87-
CERTIFICATE_ARN=some-arn-for-foo.example.com make deploy-namespace-gatewayclassconfig
102+
make deploy-namespace-gatewayclassconfig
88103
```
89104

90105
Deploy the getting-started use-case:
91106

92107
```bash
93-
GATEWAY_CLASS_NAME=aws-alb-crossplane-public DOMAIN=foo.example.com make deploy-getting-started-usecase
108+
GATEWAY_CLASS_NAME=aws-alb-crossplane-public make deploy-getting-started-usecase
94109
```
95110

96-
Test the deployed data-path when resources are ready:
111+
Test the deployed data-path when resources are ready (use
112+
e.g. `hack/demo/show-resources.sh` to observe status). Particularly
113+
watch for an address on `foo-gateway`.
97114

98115
```bash
99116
hack/demo/curl.sh $DOMAIN # Where DOMAIN is as defined above

blueprints/aws-alb-crossplane/gatewayclassblueprint-aws-alb-crossplane.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ spec:
156156
targetGroupARN: {{ (index .Resources.LBTargetGroup 0).status.atProvider.arn }}
157157
targetType: ip
158158
serviceRef:
159-
name: {{ .Gateway.metadata.name }}-child
159+
name: {{ .Gateway.metadata.name }}-child-istio
160160
port: 80
161161
SecurityGroup: |
162162
apiVersion: ec2.aws.upbound.io/v1beta1

blueprints/contour-istio/gatewayclassblueprint-contour-istio-cert.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ spec:
6060
pathType: Prefix
6161
backend:
6262
service:
63-
name: {{ $.Gateway.metadata.name }}-child
63+
name: {{ $.Gateway.metadata.name }}-child-istio
6464
port:
6565
number: 80
6666
{{- end }}

blueprints/contour-istio/gatewayclassblueprint-contour-istio.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ spec:
5353
pathType: Prefix
5454
backend:
5555
service:
56-
name: {{ $.Gateway.metadata.name }}-child
56+
name: {{ $.Gateway.metadata.name }}-child-istio
5757
port:
5858
number: 80
5959
{{- end }}

0 commit comments

Comments
 (0)