diff --git a/.holo/branches/k8s-manifests/infra/envoy-gateway-crds.toml b/.holo/branches/k8s-manifests/infra/envoy-gateway-crds.toml new file mode 100644 index 0000000..b8618ac --- /dev/null +++ b/.holo/branches/k8s-manifests/infra/envoy-gateway-crds.toml @@ -0,0 +1,4 @@ +[holomapping] +holosource = "envoy-gateway-chart" +root = "charts/gateway-crds-helm" +files = "**" diff --git a/.holo/branches/k8s-manifests/infra/envoy-gateway.toml b/.holo/branches/k8s-manifests/infra/envoy-gateway.toml new file mode 100644 index 0000000..e2738d0 --- /dev/null +++ b/.holo/branches/k8s-manifests/infra/envoy-gateway.toml @@ -0,0 +1,4 @@ +[holomapping] +holosource = "envoy-gateway-chart" +root = "charts/gateway-helm" +files = "**" diff --git a/.holo/branches/k8s-manifests/infra/gateway-api-crds.toml b/.holo/branches/k8s-manifests/infra/gateway-api-crds.toml new file mode 100644 index 0000000..5dd7ac0 --- /dev/null +++ b/.holo/branches/k8s-manifests/infra/gateway-api-crds.toml @@ -0,0 +1,4 @@ +[holomapping] +holosource = "gateway-api-crds" +root = "config/crd/standard" +files = "*.yaml" diff --git a/.holo/lenses/envoy-gateway-crds.toml b/.holo/lenses/envoy-gateway-crds.toml new file mode 100644 index 0000000..a6d3833 --- /dev/null +++ b/.holo/lenses/envoy-gateway-crds.toml @@ -0,0 +1,17 @@ +[hololens] +container = "ghcr.io/hologit/lenses/helm3:latest" + +[hololens.input] +root = "infra/envoy-gateway-crds" +files = "**" + +[hololens.output] +merge = "replace" + +[hololens.helm] +release_name = "eg-crds" + +chart_path = "helm-chart" +value_files = [ + "release-values.yaml" +] diff --git a/.holo/lenses/envoy-gateway.toml b/.holo/lenses/envoy-gateway.toml new file mode 100644 index 0000000..bc7e173 --- /dev/null +++ b/.holo/lenses/envoy-gateway.toml @@ -0,0 +1,18 @@ +[hololens] +container = "ghcr.io/hologit/lenses/helm3:latest" + +[hololens.input] +root = "infra/envoy-gateway" +files = "**" + +[hololens.output] +merge = "replace" + +[hololens.helm] +namespace = "envoy-gateway-system" +release_name = "eg" + +chart_path = "helm-chart" +value_files = [ + "release-values.yaml" +] diff --git a/.holo/sources/envoy-gateway-chart.toml b/.holo/sources/envoy-gateway-chart.toml new file mode 100644 index 0000000..8a508f7 --- /dev/null +++ b/.holo/sources/envoy-gateway-chart.toml @@ -0,0 +1,3 @@ +[holosource] +url = "https://github.com/envoyproxy/gateway.git" +ref = "refs/tags/v1.7.0" diff --git a/.holo/sources/gateway-api-crds.toml b/.holo/sources/gateway-api-crds.toml new file mode 100644 index 0000000..0486c53 --- /dev/null +++ b/.holo/sources/gateway-api-crds.toml @@ -0,0 +1,3 @@ +[holosource] +url = "https://github.com/kubernetes-sigs/gateway-api.git" +ref = "refs/tags/v1.5.0" diff --git a/balancer/kustomization.yaml b/balancer/kustomization.yaml index 6a32015..f60a002 100644 --- a/balancer/kustomization.yaml +++ b/balancer/kustomization.yaml @@ -7,7 +7,8 @@ resources: - manifests/namespace.yaml - manifests/deployment.yaml - manifests/service.yaml - - manifests/ingress.yaml + - manifests/gateway-listeners.yaml + - manifests/httproute.yaml images: - name: ghcr.io/codeforphilly/balancer-main/app @@ -15,21 +16,22 @@ images: patches: - target: - kind: Ingress - name: balancer + kind: ListenerSet + name: balancer-listeners patch: |- - - op: add - path: /metadata/annotations/cert-manager.io~1cluster-issuer - value: letsencrypt-prod - - op: add - path: /metadata/annotations/kubernetes.io~1ingress.class - value: nginx - op: replace - path: /spec/tls/0/hosts/0 + path: /spec/listeners/0/hostname value: sandbox.balancerproject.org - op: replace - path: /spec/rules/0/host + path: /spec/listeners/1/hostname value: sandbox.balancerproject.org + - target: + kind: HTTPRoute + name: balancer + patch: |- + - op: add + path: /spec/hostnames + value: ["sandbox.balancerproject.org"] - target: kind: Namespace name: balancer diff --git a/infra/envoy-gateway-crds/release-values.yaml b/infra/envoy-gateway-crds/release-values.yaml new file mode 100644 index 0000000..a8729b0 --- /dev/null +++ b/infra/envoy-gateway-crds/release-values.yaml @@ -0,0 +1,2 @@ +# Default values for Envoy Gateway CRDs +# See https://github.com/envoyproxy/gateway/blob/main/charts/gateway-crds-helm/values.yaml diff --git a/infra/envoy-gateway-manifests/gateway-class.yaml b/infra/envoy-gateway-manifests/gateway-class.yaml new file mode 100644 index 0000000..016605a --- /dev/null +++ b/infra/envoy-gateway-manifests/gateway-class.yaml @@ -0,0 +1,6 @@ +apiVersion: gateway.networking.k8s.io/v1 +kind: GatewayClass +metadata: + name: envoy +spec: + controllerName: gateway.envoyproxy.io/gatewayclass-controller diff --git a/infra/envoy-gateway-manifests/gateway.yaml b/infra/envoy-gateway-manifests/gateway.yaml new file mode 100644 index 0000000..9b0fdad --- /dev/null +++ b/infra/envoy-gateway-manifests/gateway.yaml @@ -0,0 +1,11 @@ +apiVersion: gateway.networking.k8s.io/v1 +kind: Gateway +metadata: + name: main-gateway + namespace: envoy-gateway-system +spec: + gatewayClassName: envoy + allowedListeners: + namespaces: + from: All + listeners: [] diff --git a/infra/envoy-gateway/release-values.yaml b/infra/envoy-gateway/release-values.yaml new file mode 100644 index 0000000..2c240b8 --- /dev/null +++ b/infra/envoy-gateway/release-values.yaml @@ -0,0 +1,2 @@ +# Default values for Envoy Gateway +# See https://github.com/envoyproxy/gateway/blob/main/charts/gateway/values.yaml