From c4708aa6d8a309c18bae4cae405e3ffb82a9d342 Mon Sep 17 00:00:00 2001 From: Kevin Carter Date: Mon, 12 Aug 2024 08:52:17 -0500 Subject: [PATCH] feat: breakout the routes into independent files This change documents all of our example custom routes. Signed-off-by: Kevin Carter --- docs/infrastructure-gateway-api.md | 16 +- docs/openstack-barbican.md | 30 ++ docs/openstack-cinder.md | 32 ++ docs/openstack-compute-kit.md | 122 +++++++ docs/openstack-glance.md | 30 ++ docs/openstack-heat.md | 47 +++ docs/openstack-keystone.md | 30 ++ docs/openstack-magnum.md | 30 ++ docs/openstack-octavia.md | 30 ++ docs/openstack-skyline.md | 30 ++ etc/gateway-api/gateway-routes.yaml | 313 ------------------ .../routes/custom-barbican-gateway-route.yaml | 17 + .../routes/custom-cinder-gateway-route.yaml | 21 ++ .../custom-cloudformation-gateway-route.yaml | 21 ++ .../routes/custom-glance-gateway-route.yaml | 21 ++ .../routes/custom-heat-gateway-route.yaml | 21 ++ .../routes/custom-keystone-gateway-route.yaml | 17 + .../routes/custom-magnum-gateway-route.yaml | 17 + .../routes/custom-metadata-gateway-route.yaml | 21 ++ .../routes/custom-neutron-gateway-route.yaml | 21 ++ .../routes/custom-nova-gateway-route.yaml | 21 ++ .../routes/custom-novnc-gateway-route.yaml | 21 ++ .../routes/custom-octavia-gateway-route.yaml | 26 ++ .../custom-placement-gateway-route.yaml | 21 ++ .../routes/custom-skyline-gateway-route.yaml | 21 ++ .../routes/http-wildcard-listener.yaml | 23 ++ 26 files changed, 701 insertions(+), 319 deletions(-) delete mode 100644 etc/gateway-api/gateway-routes.yaml create mode 100644 etc/gateway-api/routes/custom-barbican-gateway-route.yaml create mode 100644 etc/gateway-api/routes/custom-cinder-gateway-route.yaml create mode 100644 etc/gateway-api/routes/custom-cloudformation-gateway-route.yaml create mode 100644 etc/gateway-api/routes/custom-glance-gateway-route.yaml create mode 100644 etc/gateway-api/routes/custom-heat-gateway-route.yaml create mode 100644 etc/gateway-api/routes/custom-keystone-gateway-route.yaml create mode 100644 etc/gateway-api/routes/custom-magnum-gateway-route.yaml create mode 100644 etc/gateway-api/routes/custom-metadata-gateway-route.yaml create mode 100644 etc/gateway-api/routes/custom-neutron-gateway-route.yaml create mode 100644 etc/gateway-api/routes/custom-nova-gateway-route.yaml create mode 100644 etc/gateway-api/routes/custom-novnc-gateway-route.yaml create mode 100644 etc/gateway-api/routes/custom-octavia-gateway-route.yaml create mode 100644 etc/gateway-api/routes/custom-placement-gateway-route.yaml create mode 100644 etc/gateway-api/routes/custom-skyline-gateway-route.yaml create mode 100644 etc/gateway-api/routes/http-wildcard-listener.yaml diff --git a/docs/infrastructure-gateway-api.md b/docs/infrastructure-gateway-api.md index f3e32a26..4cff86a0 100644 --- a/docs/infrastructure-gateway-api.md +++ b/docs/infrastructure-gateway-api.md @@ -185,21 +185,25 @@ kubectl patch -n nginx-gateway gateway flex-gateway \ Another example with most of the OpenStack services is located at `/etc/genestack/gateway-api/gateway-routes.yaml`. Similarly, you must modify and apply them as shown below, or apply your own. -??? example "An example routes file you can modify to include your own domain name can be found at `/etc/genestack/gateway-api/gateway-routes.yaml`" +??? example "Example routes file" ``` yaml - --8<-- "etc/gateway-api/gateway-routes.yaml" + --8<-- "etc/gateway-api/routes/http-wildcard-listener.yaml" ``` -!!! example "Example modifying the Gateway routes" +All routes can be found at `/etc/genestack/gateway-api/routes`. + +!!! example "Example modifying all available Gateway routes with `your.domain.tld`" ``` shell - mkdir -p /etc/genestack/gateway-api - sed 's/your.domain.tld//g' /opt/genestack/etc/gateway-api/gateway-routes.yaml > /etc/genestack/gateway-api/gateway-routes.yaml + mkdir -p /etc/genestack/gateway-api/routes + for route in $(ls -1 /opt/genestack/etc/gateway-api/routes); do + sed 's/your.domain.tld//g' /opt/genestack/etc/gateway-api/routes/$route > /etc/genestack/gateway-api/routes/$route + done ``` ``` shell -kubectl apply -f /etc/genestack/gateway-api/gateway-routes.yaml +kubectl apply -f /etc/genestack/gateway-api/routes ``` ## Patch Gateway with Let's Encrypt Cluster Issuer diff --git a/docs/openstack-barbican.md b/docs/openstack-barbican.md index 3da07eca..b28c2802 100644 --- a/docs/openstack-barbican.md +++ b/docs/openstack-barbican.md @@ -50,3 +50,33 @@ helm upgrade --install barbican ./barbican \ You may need to provide custom values to configure your openstack services, for a simple single region or lab deployment you can supply an additional overrides flag using the example found at `base-helm-configs/aio-example-openstack-overrides.yaml`. In other cases such as a multi-region deployment you may want to view the [Multi-Region Support](multi-region-support.md) guide to for a workflow solution. + +### Custom Routes + +!!! note "This step is not needed if all routes were applied when the Gateway API was deployed" + +A custom gateway route can be used when setting up the service. The custom route make it possible to for a domain like `your.domain.tld` to be used for the service. + +??? example "Example routes file found in `/opt/genestack/etc/gateway-api/routes`" + + ``` yaml + --8<-- "etc/gateway-api/routes/custom-barbican-gateway-route.yaml" + ``` + +#### Modify the Route + +This example changes the placeholder domain to ``. Review the [gateway route documentation](https://gateway-api.sigs.k8s.io/api-types/httproute) +for more information on route types. + +``` shell +mkdir -p /etc/genestack/gateway-api/routes +sed 's/your.domain.tld//g' \ + /opt/genestack/etc/gateway-api/routes/custom-barbican-gateway-route.yaml \ + > /etc/genestack/gateway-api/routes/custom-barbican-gateway-route.yaml +``` + +### Apply the Route + +``` shell +kubectl --namespace openstack apply -f /etc/gateway-api/routes/custom-barbican-gateway-route.yaml +``` diff --git a/docs/openstack-cinder.md b/docs/openstack-cinder.md index 6bf17739..1dab1cb4 100644 --- a/docs/openstack-cinder.md +++ b/docs/openstack-cinder.md @@ -54,6 +54,38 @@ helm upgrade --install cinder ./cinder \ You may need to provide custom values to configure your openstack services, for a simple single region or lab deployment you can supply an additional overrides flag using the example found at `base-helm-configs/aio-example-openstack-overrides.yaml`. In other cases such as a multi-region deployment you may want to view the [Multi-Region Support](multi-region-support.md) guide to for a workflow solution. +### Custom Routes + +!!! note "This step is not needed if all routes were applied when the Gateway API was deployed" + +A custom gateway route can be used when setting up the service. The custom route make it possible to for a domain like `your.domain.tld` to be used for the service. + +??? example "Example routes file found in `/opt/genestack/etc/gateway-api/routes`" + + ``` yaml + --8<-- "etc/gateway-api/routes/custom-cinder-gateway-route.yaml" + ``` + +#### Modify the Route + +This example changes the placeholder domain to ``. Review the [gateway route documentation](https://gateway-api.sigs.k8s.io/api-types/httproute) +for more information on route types. + +``` shell +mkdir -p /etc/genestack/gateway-api/routes +sed 's/your.domain.tld//g' \ + /opt/genestack/etc/gateway-api/routes/custom-cinder-gateway-route.yaml \ + > /etc/genestack/gateway-api/routes/custom-cinder-gateway-route.yaml +``` + +### Apply the Route + +``` shell +kubectl --namespace openstack apply -f /etc/gateway-api/routes/custom-cinder-gateway-route.yaml +``` + +## Post Deployment + Once the helm deployment is complete cinder and all of it's API services will be online. However, using this setup there will be no volume node at this point. The reason volume deployments have been disabled is because we didn't expose ceph to the openstack environment and OSH makes a lot of ceph related assumptions. For testing purposes we're wanting to run with the logical volume diff --git a/docs/openstack-compute-kit.md b/docs/openstack-compute-kit.md index 3a674c06..a3801ffd 100644 --- a/docs/openstack-compute-kit.md +++ b/docs/openstack-compute-kit.md @@ -120,6 +120,36 @@ helm upgrade --install placement ./placement --namespace=openstack \ --post-renderer-args placement/base ``` +### Custom Placement Routes + +!!! note "This step is not needed if all routes were applied when the Gateway API was deployed" + +A custom gateway route can be used when setting up the service. The custom route make it possible to for a domain like `your.domain.tld` to be used for the service. + +??? example "Example routes file found in `/opt/genestack/etc/gateway-api/routes`" + + ``` yaml + --8<-- "etc/gateway-api/routes/custom-placement-gateway-route.yaml" + ``` + +#### Modify the Placement Route + +This example changes the placeholder domain to ``. Review the [gateway route documentation](https://gateway-api.sigs.k8s.io/api-types/httproute) +for more information on route types. + +``` shell +mkdir -p /etc/genestack/gateway-api/routes +sed 's/your.domain.tld//g' \ + /opt/genestack/etc/gateway-api/routes/custom-placement-gateway-route.yaml \ + > /etc/genestack/gateway-api/routes/custom-placement-gateway-route.yaml +``` + +### Apply the Placement Route + +``` shell +kubectl --namespace openstack apply -f /etc/gateway-api/routes/custom-placement-gateway-route.yaml +``` + ## Deploy Nova ``` shell @@ -173,6 +203,68 @@ If running in an environment that doesn't have hardware virtualization extension You may need to provide custom values to configure your openstack services, for a simple single region or lab deployment you can supply an additional overrides flag using the example found at `base-helm-configs/aio-example-openstack-overrides.yaml`. In other cases such as a multi-region deployment you may want to view the [Multi-Region Support](multi-region-support.md) guide to for a workflow solution. +### Custom Nova Routes + +!!! note "This step is not needed if all routes were applied when the Gateway API was deployed" + +A custom gateway route can be used when setting up the service. The custom route make it possible to for a domain like `your.domain.tld` to be used for the service. + +??? example "Example routes file found in `/opt/genestack/etc/gateway-api/routes`" + + ``` yaml + --8<-- "etc/gateway-api/routes/custom-nova-gateway-route.yaml" + ``` + +#### Modify the Nova Routes + +This example changes the placeholder domain to ``. Review the [gateway route documentation](https://gateway-api.sigs.k8s.io/api-types/httproute) +for more information on route types. + +##### Nova Route + +``` shell +mkdir -p /etc/genestack/gateway-api/routes +sed 's/your.domain.tld//g' \ + /opt/genestack/etc/gateway-api/routes/custom-nova-gateway-route.yaml \ + > /etc/genestack/gateway-api/routes/custom-nova-gateway-route.yaml +``` + +##### Novnc Route + +``` shell +mkdir -p /etc/genestack/gateway-api/routes +sed 's/your.domain.tld//g' \ + /opt/genestack/etc/gateway-api/routes/custom-novnc-gateway-route.yaml \ + > /etc/genestack/gateway-api/routes/custom-novnc-gateway-route.yaml +``` + +##### Metadata Route + +``` shell +mkdir -p /etc/genestack/gateway-api/routes +sed 's/your.domain.tld//g' \ + /opt/genestack/etc/gateway-api/routes/custom-metadata-gateway-route.yaml \ + > /etc/genestack/gateway-api/routes/custom-metadata-gateway-route.yaml +``` + +#### Apply the Nova Route + +``` shell +kubectl --namespace openstack apply -f /etc/gateway-api/routes/custom-nova-gateway-route.yaml +``` + +#### Apply the Novnc Route + +``` shell +kubectl --namespace openstack apply -f /etc/gateway-api/routes/custom-novnc-gateway-route.yaml +``` + +#### Apply the Metadata Route + +``` shell +kubectl --namespace openstack apply -f /etc/gateway-api/routes/custom-metadata-gateway-route.yaml +``` + ## Deploy Neutron ``` shell @@ -212,6 +304,36 @@ helm upgrade --install neutron ./neutron \ The above command derives the OVN north/south bound database from our K8S environment. The insert `set` is making the assumption we're using **tcp** to connect. +### Custom Neutron Routes + +!!! note "This step is not needed if all routes were applied when the Gateway API was deployed" + +A custom gateway route can be used when setting up the service. The custom route make it possible to for a domain like `your.domain.tld` to be used for the service. + +??? example "Example routes file found in `/opt/genestack/etc/gateway-api/routes`" + + ``` yaml + --8<-- "etc/gateway-api/routes/custom-neutron-gateway-route.yaml" + ``` + +#### Modify the Neutron Route + +This example changes the placeholder domain to ``. Review the [gateway route documentation](https://gateway-api.sigs.k8s.io/api-types/httproute) +for more information on route types. + +``` shell +mkdir -p /etc/genestack/gateway-api/routes +sed 's/your.domain.tld//g' \ + /opt/genestack/etc/gateway-api/routes/custom-neutron-gateway-route.yaml \ + > /etc/genestack/gateway-api/routes/custom-neutron-gateway-route.yaml +``` + +### Apply the Neutron Route + +``` shell +kubectl --namespace openstack apply -f /etc/gateway-api/routes/custom-neutron-gateway-route.yaml +``` + ## Demo [![asciicast](https://asciinema.org/a/629813.svg)](https://asciinema.org/a/629813) diff --git a/docs/openstack-glance.md b/docs/openstack-glance.md index cb568ede..b483bd92 100644 --- a/docs/openstack-glance.md +++ b/docs/openstack-glance.md @@ -66,6 +66,36 @@ helm upgrade --install glance ./glance \ kubectl --namespace openstack exec -ti openstack-admin-client -- openstack image list ``` +### Custom Routes + +!!! note "This step is not needed if all routes were applied when the Gateway API was deployed" + +A custom gateway route can be used when setting up the service. The custom route make it possible to for a domain like `your.domain.tld` to be used for the service. + +??? example "Example routes file found in `/opt/genestack/etc/gateway-api/routes`" + + ``` yaml + --8<-- "etc/gateway-api/routes/custom-glance-gateway-route.yaml" + ``` + +#### Modify the Route + +This example changes the placeholder domain to ``. Review the [gateway route documentation](https://gateway-api.sigs.k8s.io/api-types/httproute) +for more information on route types. + +``` shell +mkdir -p /etc/genestack/gateway-api/routes +sed 's/your.domain.tld//g' \ + /opt/genestack/etc/gateway-api/routes/custom-glance-gateway-route.yaml \ + > /etc/genestack/gateway-api/routes/custom-glance-gateway-route.yaml +``` + +### Apply the Route + +``` shell +kubectl --namespace openstack apply -f /etc/gateway-api/routes/custom-glance-gateway-route.yaml +``` + ## Demo [![asciicast](https://asciinema.org/a/629806.svg)](https://asciinema.org/a/629806) diff --git a/docs/openstack-heat.md b/docs/openstack-heat.md index 14267d51..9ca09dcc 100644 --- a/docs/openstack-heat.md +++ b/docs/openstack-heat.md @@ -67,6 +67,53 @@ helm upgrade --install heat ./heat \ kubectl --namespace openstack exec -ti openstack-admin-client -- openstack --os-interface internal orchestration service list ``` +### Custom Routes + +!!! note "This step is not needed if all routes were applied when the Gateway API was deployed" + +A custom gateway route can be used when setting up the service. The custom route make it possible to for a domain like `your.domain.tld` to be used for the service. + +??? example "Example routes file found in `/opt/genestack/etc/gateway-api/routes`" + + ``` yaml + --8<-- "etc/gateway-api/routes/custom-heat-gateway-route.yaml" + ``` + +#### Modify the Route + +This example changes the placeholder domain to ``. Review the [gateway route documentation](https://gateway-api.sigs.k8s.io/api-types/httproute) +for more information on route types. + +##### Heat Route + +``` shell +mkdir -p /etc/genestack/gateway-api/routes +sed 's/your.domain.tld//g' \ + /opt/genestack/etc/gateway-api/routes/custom-heat-gateway-route.yaml \ + > /etc/genestack/gateway-api/routes/custom-heat-gateway-route.yaml +``` + +##### Cloudformation Route + +``` shell +mkdir -p /etc/genestack/gateway-api/routes +sed 's/your.domain.tld//g' \ + /opt/genestack/etc/gateway-api/routes/custom-cloudformation-gateway-route.yaml \ + > /etc/genestack/gateway-api/routes/custom-cloudformation-gateway-route.yaml +``` + +#### Apply the Heat Route + +``` shell +kubectl --namespace openstack apply -f /etc/gateway-api/routes/custom-heat-gateway-route.yaml +``` + +#### Apply the Cloudformation Route + +``` shell +kubectl --namespace openstack apply -f /etc/gateway-api/routes/custom-cloudformation-gateway-route.yaml +``` + ## Demo [![asciicast](https://asciinema.org/a/629807.svg)](https://asciinema.org/a/629807) diff --git a/docs/openstack-keystone.md b/docs/openstack-keystone.md index dca7618c..dbeceef8 100644 --- a/docs/openstack-keystone.md +++ b/docs/openstack-keystone.md @@ -71,6 +71,36 @@ kubectl --namespace openstack apply -f /opt/genestack/manifests/utils/utils-open kubectl --namespace openstack exec -ti openstack-admin-client -- openstack user list ``` +### Custom Routes + +!!! note "This step is not needed if all routes were applied when the Gateway API was deployed" + +A custom gateway route can be used when setting up the service. The custom route make it possible to for a domain like `your.domain.tld` to be used for the service. + +??? example "Example routes file found in `/opt/genestack/etc/gateway-api/routes`" + + ``` yaml + --8<-- "etc/gateway-api/routes/custom-keystone-gateway-route.yaml" + ``` + +#### Modify the Route + +This example changes the placeholder domain to ``. Review the [gateway route documentation](https://gateway-api.sigs.k8s.io/api-types/httproute) +for more information on route types. + +``` shell +mkdir -p /etc/genestack/gateway-api/routes +sed 's/your.domain.tld//g' \ + /opt/genestack/etc/gateway-api/routes/custom-keystone-gateway-route.yaml \ + > /etc/genestack/gateway-api/routes/custom-keystone-gateway-route.yaml +``` + +### Apply the Route + +``` shell +kubectl --namespace openstack apply -f /etc/gateway-api/routes/custom-keystone-gateway-route.yaml +``` + ## Demo [![asciicast](https://asciinema.org/a/629802.svg)](https://asciinema.org/a/629802) diff --git a/docs/openstack-magnum.md b/docs/openstack-magnum.md index a2a6432a..5cf6ed58 100644 --- a/docs/openstack-magnum.md +++ b/docs/openstack-magnum.md @@ -54,3 +54,33 @@ helm upgrade --install magnum ./magnum \ You may need to provide custom values to configure your openstack services, for a simple single region or lab deployment you can supply an additional overrides flag using the example found at `base-helm-configs/aio-example-openstack-overrides.yaml`. In other cases such as a multi-region deployment you may want to view the [Multi-Region Support](multi-region-support.md) guide to for a workflow solution. + +### Custom Routes + +!!! note "This step is not needed if all routes were applied when the Gateway API was deployed" + +A custom gateway route can be used when setting up the service. The custom route make it possible to for a domain like `your.domain.tld` to be used for the service. + +??? example "Example routes file found in `/opt/genestack/etc/gateway-api/routes`" + + ``` yaml + --8<-- "etc/gateway-api/routes/custom-magnum-gateway-route.yaml" + ``` + +#### Modify the Route + +This example changes the placeholder domain to ``. Review the [gateway route documentation](https://gateway-api.sigs.k8s.io/api-types/httproute) +for more information on route types. + +``` shell +mkdir -p /etc/genestack/gateway-api/routes +sed 's/your.domain.tld//g' \ + /opt/genestack/etc/gateway-api/routes/custom-magnum-gateway-route.yaml \ + > /etc/genestack/gateway-api/routes/custom-magnum-gateway-route.yaml +``` + +### Apply the Route + +``` shell +kubectl --namespace openstack apply -f /etc/gateway-api/routes/custom-magnum-gateway-route.yaml +``` diff --git a/docs/openstack-octavia.md b/docs/openstack-octavia.md index affa666b..493106df 100644 --- a/docs/openstack-octavia.md +++ b/docs/openstack-octavia.md @@ -59,6 +59,36 @@ helm upgrade --install octavia ./octavia \ You may need to provide custom values to configure your openstack services, for a simple single region or lab deployment you can supply an additional overrides flag using the example found at `base-helm-configs/aio-example-openstack-overrides.yaml`. In other cases such as a multi-region deployment you may want to view the [Multi-Region Support](multi-region-support.md) guide to for a workflow solution. +### Custom Routes + +!!! note "This step is not needed if all routes were applied when the Gateway API was deployed" + +A custom gateway route can be used when setting up the service. The custom route make it possible to for a domain like `your.domain.tld` to be used for the service. + +??? example "Example routes file found in `/opt/genestack/etc/gateway-api/routes`" + + ``` yaml + --8<-- "etc/gateway-api/routes/custom-octavia-gateway-route.yaml" + ``` + +#### Modify the Route + +This example changes the placeholder domain to ``. Review the [gateway route documentation](https://gateway-api.sigs.k8s.io/api-types/httproute) +for more information on route types. + +``` shell +mkdir -p /etc/genestack/gateway-api/routes +sed 's/your.domain.tld//g' \ + /opt/genestack/etc/gateway-api/routes/custom-octavia-gateway-route.yaml \ + > /etc/genestack/gateway-api/routes/custom-octavia-gateway-route.yaml +``` + +### Apply the Route + +``` shell +kubectl --namespace openstack apply -f /etc/gateway-api/routes/custom-octavia-gateway-route.yaml +``` + ## Demo [![asciicast](https://asciinema.org/a/629814.svg)](https://asciinema.org/a/629814) diff --git a/docs/openstack-skyline.md b/docs/openstack-skyline.md index 42021ed5..e639ebec 100644 --- a/docs/openstack-skyline.md +++ b/docs/openstack-skyline.md @@ -50,6 +50,36 @@ OpenStack Skyline is the next-generation web-based dashboard designed to provide kubectl --namespace openstack apply -k /opt/genestack/base-kustomize/skyline/base ``` +### Custom Routes + +!!! note "This step is not needed if all routes were applied when the Gateway API was deployed" + +A custom gateway route can be used when setting up the service. The custom route make it possible to for a domain like `your.domain.tld` to be used for the service. + +??? example "Example routes file found in `/opt/genestack/etc/gateway-api/routes`" + + ``` yaml + --8<-- "etc/gateway-api/routes/custom-skyline-gateway-route.yaml" + ``` + +#### Modify the Route + +This example changes the placeholder domain to ``. Review the [gateway route documentation](https://gateway-api.sigs.k8s.io/api-types/httproute) +for more information on route types. + +``` shell +mkdir -p /etc/genestack/gateway-api/routes +sed 's/your.domain.tld//g' \ + /opt/genestack/etc/gateway-api/routes/custom-skyline-gateway-route.yaml \ + > /etc/genestack/gateway-api/routes/custom-skyline-gateway-route.yaml +``` + +### Apply the Route + +``` shell +kubectl --namespace openstack apply -f /etc/gateway-api/routes/custom-skyline-gateway-route.yaml +``` + ## Demo [![asciicast](https://asciinema.org/a/629816.svg)](https://asciinema.org/a/629816) diff --git a/etc/gateway-api/gateway-routes.yaml b/etc/gateway-api/gateway-routes.yaml deleted file mode 100644 index 60ac80df..00000000 --- a/etc/gateway-api/gateway-routes.yaml +++ /dev/null @@ -1,313 +0,0 @@ ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: http2https-route - namespace: openstack - labels: - application: gateway-api - service: HTTPRoute - route: http2https -spec: - parentRefs: - - name: flex-gateway - sectionName: http-wildcard-listener - namespace: nginx-gateway - hostnames: - - "*.your.domain.tld" - rules: - - filters: - - type: RequestRedirect - requestRedirect: - scheme: https - statusCode: 301 ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: custom-barbican-gateway-route - namespace: openstack -spec: - parentRefs: - - name: flex-gateway - sectionName: barbican-https - namespace: nginx-gateway - hostnames: - - "barbican.your.domain.tld" - rules: - - backendRefs: - - name: barbican-api - port: 9311 ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: custom-cinder-gateway-route - namespace: openstack - labels: - application: gateway-api - service: HTTPRoute - route: cinder -spec: - parentRefs: - - name: flex-gateway - sectionName: cinder-https - namespace: nginx-gateway - hostnames: - - "cinder.your.domain.tld" - rules: - - backendRefs: - - name: cinder-api - port: 8776 ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: custom-glance-gateway-route - namespace: openstack - labels: - application: gateway-api - service: HTTPRoute - route: glance -spec: - parentRefs: - - name: flex-gateway - sectionName: glance-https - namespace: nginx-gateway - hostnames: - - "glance.your.domain.tld" - rules: - - backendRefs: - - name: glance-api - port: 9292 ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: custom-cloudformation-gateway-route - namespace: openstack - labels: - application: gateway-api - service: HTTPRoute - route: cloudformation -spec: - parentRefs: - - name: flex-gateway - sectionName: cloudformation-https - namespace: nginx-gateway - hostnames: - - "cloudformation.your.domain.tld" - rules: - - backendRefs: - - name: heat-cfn - port: 8000 ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: custom-heat-gateway-route - namespace: openstack - labels: - application: gateway-api - service: HTTPRoute - route: heat -spec: - parentRefs: - - name: flex-gateway - sectionName: heat-https - namespace: nginx-gateway - hostnames: - - "heat.your.domain.tld" - rules: - - backendRefs: - - name: heat-api - port: 8004 ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: custom-keystone-gateway-route - namespace: openstack -spec: - parentRefs: - - name: flex-gateway - sectionName: keystone-https - namespace: nginx-gateway - hostnames: - - "keystone.your.domain.tld" - rules: - - backendRefs: - - name: keystone-api - port: 5000 ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: custom-magnum-gateway-route - namespace: openstack -spec: - parentRefs: - - name: flex-gateway - sectionName: magnum-https - namespace: nginx-gateway - hostnames: - - "magnum.your.domain.tld" - rules: - - backendRefs: - - name: magnum-api - port: 9511 ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: custom-neutron-gateway-route - namespace: openstack - labels: - application: gateway-api - service: HTTPRoute - route: neutron -spec: - parentRefs: - - name: flex-gateway - sectionName: neutron-https - namespace: nginx-gateway - hostnames: - - "neutron.your.domain.tld" - rules: - - backendRefs: - - name: neutron-server - port: 9696 ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: custom-octavia-gateway-route - namespace: openstack - labels: - application: gateway-api - service: HTTPRoute - route: octavia -spec: - parentRefs: - - name: flex-gateway - sectionName: octavia-https - namespace: nginx-gateway - - name: flex-gateway - sectionName: http-wildcard-listener - namespace: nginx-gateway - hostnames: - - "octavia.your.domain.tld" - rules: - - filters: - - type: RequestRedirect - requestRedirect: - scheme: https - statusCode: 301 - - backendRefs: - - name: octavia-api - port: 9876 ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: custom-placement-gateway-route - namespace: openstack - labels: - application: gateway-api - service: HTTPRoute - route: placement -spec: - parentRefs: - - name: flex-gateway - sectionName: placement-https - namespace: nginx-gateway - hostnames: - - "placement.your.domain.tld" - rules: - - backendRefs: - - name: placement-api - port: 8778 ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: custom-metadata-gateway-route - namespace: openstack - labels: - application: gateway-api - service: HTTPRoute - route: nova-metadata -spec: - parentRefs: - - name: flex-gateway - sectionName: metadata-https - namespace: nginx-gateway - hostnames: - - "metadata.your.domain.tld" - rules: - - backendRefs: - - name: nova-metadata - port: 8775 ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: custom-nova-gateway-route - namespace: openstack - labels: - application: gateway-api - service: HTTPRoute - route: nova -spec: - parentRefs: - - name: flex-gateway - sectionName: nova-https - namespace: nginx-gateway - hostnames: - - "nova.your.domain.tld" - rules: - - backendRefs: - - name: nova-api - port: 8774 ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: custom-novnc-gateway-route - namespace: openstack - labels: - application: gateway-api - service: HTTPRoute - route: novnc -spec: - parentRefs: - - name: flex-gateway - sectionName: novnc-https - namespace: nginx-gateway - hostnames: - - "novnc.your.domain.tld" - rules: - - backendRefs: - - name: nova-novncproxy - port: 6080 ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: custom-skyline-gateway-route - namespace: openstack - labels: - application: gateway-api - service: HTTPRoute - route: skyline -spec: - parentRefs: - - name: flex-gateway - sectionName: skyline-https - namespace: nginx-gateway - hostnames: - - "skyline.your.domain.tld" - rules: - - backendRefs: - - name: skyline-apiserver - port: 9999 diff --git a/etc/gateway-api/routes/custom-barbican-gateway-route.yaml b/etc/gateway-api/routes/custom-barbican-gateway-route.yaml new file mode 100644 index 00000000..e42f4c79 --- /dev/null +++ b/etc/gateway-api/routes/custom-barbican-gateway-route.yaml @@ -0,0 +1,17 @@ +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: custom-barbican-gateway-route + namespace: openstack +spec: + parentRefs: + - name: flex-gateway + sectionName: barbican-https + namespace: nginx-gateway + hostnames: + - "barbican.your.domain.tld" + rules: + - backendRefs: + - name: barbican-api + port: 9311 diff --git a/etc/gateway-api/routes/custom-cinder-gateway-route.yaml b/etc/gateway-api/routes/custom-cinder-gateway-route.yaml new file mode 100644 index 00000000..bab67ad0 --- /dev/null +++ b/etc/gateway-api/routes/custom-cinder-gateway-route.yaml @@ -0,0 +1,21 @@ +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: custom-cinder-gateway-route + namespace: openstack + labels: + application: gateway-api + service: HTTPRoute + route: cinder +spec: + parentRefs: + - name: flex-gateway + sectionName: cinder-https + namespace: nginx-gateway + hostnames: + - "cinder.your.domain.tld" + rules: + - backendRefs: + - name: cinder-api + port: 8776 diff --git a/etc/gateway-api/routes/custom-cloudformation-gateway-route.yaml b/etc/gateway-api/routes/custom-cloudformation-gateway-route.yaml new file mode 100644 index 00000000..7ccbaa4b --- /dev/null +++ b/etc/gateway-api/routes/custom-cloudformation-gateway-route.yaml @@ -0,0 +1,21 @@ +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: custom-cloudformation-gateway-route + namespace: openstack + labels: + application: gateway-api + service: HTTPRoute + route: cloudformation +spec: + parentRefs: + - name: flex-gateway + sectionName: cloudformation-https + namespace: nginx-gateway + hostnames: + - "cloudformation.your.domain.tld" + rules: + - backendRefs: + - name: heat-cfn + port: 8000 diff --git a/etc/gateway-api/routes/custom-glance-gateway-route.yaml b/etc/gateway-api/routes/custom-glance-gateway-route.yaml new file mode 100644 index 00000000..79d8598c --- /dev/null +++ b/etc/gateway-api/routes/custom-glance-gateway-route.yaml @@ -0,0 +1,21 @@ +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: custom-glance-gateway-route + namespace: openstack + labels: + application: gateway-api + service: HTTPRoute + route: glance +spec: + parentRefs: + - name: flex-gateway + sectionName: glance-https + namespace: nginx-gateway + hostnames: + - "glance.your.domain.tld" + rules: + - backendRefs: + - name: glance-api + port: 9292 diff --git a/etc/gateway-api/routes/custom-heat-gateway-route.yaml b/etc/gateway-api/routes/custom-heat-gateway-route.yaml new file mode 100644 index 00000000..755d8dd0 --- /dev/null +++ b/etc/gateway-api/routes/custom-heat-gateway-route.yaml @@ -0,0 +1,21 @@ +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: custom-heat-gateway-route + namespace: openstack + labels: + application: gateway-api + service: HTTPRoute + route: heat +spec: + parentRefs: + - name: flex-gateway + sectionName: heat-https + namespace: nginx-gateway + hostnames: + - "heat.your.domain.tld" + rules: + - backendRefs: + - name: heat-api + port: 8004 diff --git a/etc/gateway-api/routes/custom-keystone-gateway-route.yaml b/etc/gateway-api/routes/custom-keystone-gateway-route.yaml new file mode 100644 index 00000000..7547dabb --- /dev/null +++ b/etc/gateway-api/routes/custom-keystone-gateway-route.yaml @@ -0,0 +1,17 @@ +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: custom-keystone-gateway-route + namespace: openstack +spec: + parentRefs: + - name: flex-gateway + sectionName: keystone-https + namespace: nginx-gateway + hostnames: + - "keystone.your.domain.tld" + rules: + - backendRefs: + - name: keystone-api + port: 5000 diff --git a/etc/gateway-api/routes/custom-magnum-gateway-route.yaml b/etc/gateway-api/routes/custom-magnum-gateway-route.yaml new file mode 100644 index 00000000..d1c7891c --- /dev/null +++ b/etc/gateway-api/routes/custom-magnum-gateway-route.yaml @@ -0,0 +1,17 @@ +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: custom-magnum-gateway-route + namespace: openstack +spec: + parentRefs: + - name: flex-gateway + sectionName: magnum-https + namespace: nginx-gateway + hostnames: + - "magnum.your.domain.tld" + rules: + - backendRefs: + - name: magnum-api + port: 9511 diff --git a/etc/gateway-api/routes/custom-metadata-gateway-route.yaml b/etc/gateway-api/routes/custom-metadata-gateway-route.yaml new file mode 100644 index 00000000..33a514e3 --- /dev/null +++ b/etc/gateway-api/routes/custom-metadata-gateway-route.yaml @@ -0,0 +1,21 @@ +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: custom-metadata-gateway-route + namespace: openstack + labels: + application: gateway-api + service: HTTPRoute + route: nova-metadata +spec: + parentRefs: + - name: flex-gateway + sectionName: metadata-https + namespace: nginx-gateway + hostnames: + - "metadata.your.domain.tld" + rules: + - backendRefs: + - name: nova-metadata + port: 8775 diff --git a/etc/gateway-api/routes/custom-neutron-gateway-route.yaml b/etc/gateway-api/routes/custom-neutron-gateway-route.yaml new file mode 100644 index 00000000..6ecc7ccd --- /dev/null +++ b/etc/gateway-api/routes/custom-neutron-gateway-route.yaml @@ -0,0 +1,21 @@ +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: custom-neutron-gateway-route + namespace: openstack + labels: + application: gateway-api + service: HTTPRoute + route: neutron +spec: + parentRefs: + - name: flex-gateway + sectionName: neutron-https + namespace: nginx-gateway + hostnames: + - "neutron.your.domain.tld" + rules: + - backendRefs: + - name: neutron-server + port: 9696 diff --git a/etc/gateway-api/routes/custom-nova-gateway-route.yaml b/etc/gateway-api/routes/custom-nova-gateway-route.yaml new file mode 100644 index 00000000..74adf928 --- /dev/null +++ b/etc/gateway-api/routes/custom-nova-gateway-route.yaml @@ -0,0 +1,21 @@ +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: custom-nova-gateway-route + namespace: openstack + labels: + application: gateway-api + service: HTTPRoute + route: nova +spec: + parentRefs: + - name: flex-gateway + sectionName: nova-https + namespace: nginx-gateway + hostnames: + - "nova.your.domain.tld" + rules: + - backendRefs: + - name: nova-api + port: 8774 diff --git a/etc/gateway-api/routes/custom-novnc-gateway-route.yaml b/etc/gateway-api/routes/custom-novnc-gateway-route.yaml new file mode 100644 index 00000000..1a8f1ad7 --- /dev/null +++ b/etc/gateway-api/routes/custom-novnc-gateway-route.yaml @@ -0,0 +1,21 @@ +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: custom-novnc-gateway-route + namespace: openstack + labels: + application: gateway-api + service: HTTPRoute + route: novnc +spec: + parentRefs: + - name: flex-gateway + sectionName: novnc-https + namespace: nginx-gateway + hostnames: + - "novnc.your.domain.tld" + rules: + - backendRefs: + - name: nova-novncproxy + port: 6080 diff --git a/etc/gateway-api/routes/custom-octavia-gateway-route.yaml b/etc/gateway-api/routes/custom-octavia-gateway-route.yaml new file mode 100644 index 00000000..b77533f4 --- /dev/null +++ b/etc/gateway-api/routes/custom-octavia-gateway-route.yaml @@ -0,0 +1,26 @@ +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: custom-octavia-gateway-route + namespace: openstack + labels: + application: gateway-api + service: HTTPRoute + route: octavia +spec: + parentRefs: + - name: flex-gateway + sectionName: octavia-https + namespace: nginx-gateway + hostnames: + - "octavia.your.domain.tld" + rules: + - filters: + - type: RequestRedirect + requestRedirect: + scheme: https + statusCode: 301 + - backendRefs: + - name: octavia-api + port: 9876 diff --git a/etc/gateway-api/routes/custom-placement-gateway-route.yaml b/etc/gateway-api/routes/custom-placement-gateway-route.yaml new file mode 100644 index 00000000..acc77a65 --- /dev/null +++ b/etc/gateway-api/routes/custom-placement-gateway-route.yaml @@ -0,0 +1,21 @@ +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: custom-placement-gateway-route + namespace: openstack + labels: + application: gateway-api + service: HTTPRoute + route: placement +spec: + parentRefs: + - name: flex-gateway + sectionName: placement-https + namespace: nginx-gateway + hostnames: + - "placement.your.domain.tld" + rules: + - backendRefs: + - name: placement-api + port: 8778 diff --git a/etc/gateway-api/routes/custom-skyline-gateway-route.yaml b/etc/gateway-api/routes/custom-skyline-gateway-route.yaml new file mode 100644 index 00000000..a98e963c --- /dev/null +++ b/etc/gateway-api/routes/custom-skyline-gateway-route.yaml @@ -0,0 +1,21 @@ +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: custom-skyline-gateway-route + namespace: openstack + labels: + application: gateway-api + service: HTTPRoute + route: skyline +spec: + parentRefs: + - name: flex-gateway + sectionName: skyline-https + namespace: nginx-gateway + hostnames: + - "skyline.your.domain.tld" + rules: + - backendRefs: + - name: skyline-apiserver + port: 9999 diff --git a/etc/gateway-api/routes/http-wildcard-listener.yaml b/etc/gateway-api/routes/http-wildcard-listener.yaml new file mode 100644 index 00000000..cafa5ff6 --- /dev/null +++ b/etc/gateway-api/routes/http-wildcard-listener.yaml @@ -0,0 +1,23 @@ +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: http2https-route + namespace: openstack + labels: + application: gateway-api + service: HTTPRoute + route: http2https +spec: + parentRefs: + - name: flex-gateway + sectionName: http-wildcard-listener + namespace: nginx-gateway + hostnames: + - "*.your.domain.tld" + rules: + - filters: + - type: RequestRedirect + requestRedirect: + scheme: https + statusCode: 301