diff --git a/_docs/getting-started/architecture.md b/_docs/getting-started/architecture.md
index 77db5411..90deca15 100644
--- a/_docs/getting-started/architecture.md
+++ b/_docs/getting-started/architecture.md
@@ -142,7 +142,20 @@ The customer environment that communicates with the Codefresh platform, generall
#### Ingress Controller
In hybrid runtime environments, the ingress controller implements the ingress traffic rules for the Codefresh Runtime. It is configured on the same Kubernetes cluster as the Codefresh Runtime.
-See [Ingress controller]({{site.baseurl}}/docs/runtime/requirements/#ingress-controller).
+Alternatively, if implemented and supported, you can use the Gateway API instead of an ingress controller.
+
+See [Hybrid runtime requirements]({{site.baseurl}}/docs/runtime/requirements) and [Ingress controller flags]({{site.baseurl}}/docs/runtime/installation/#ingress-controller-flags).
+
+#### Gateway API
+In hybrid runtime environments, the Gateway API implements rules to route traffic to the Codefresh Runtime. It is configured on the same Kubernetes cluster as the Codefresh Runtime.
+
+The Gateway API is an open source project managed by the SIG-NETWORK community, currently in beta. The Gateway API aims to "evolve Kubernetes service networking through expressive, extensible, and role-oriented interfaces that are implemented by many vendors and have broad industry support".
+Codefresh is fully compatible with the current version of the Gatway API, and is vendor-agnostic, supporting different implementations and integrations.
+See [Hybrid runtime requirements]({{site.baseurl}}/docs/runtime/requirements) and [Gateway API flags]({{site.baseurl}}/docs/runtime/installation/#gateway-api-flags).
+
+
+For detailed information on the Gateway API, see [Kubernetes Gateway API](https://gateway-api.sigs.k8s.io/) and [Implementations](https://gateway-api.sigs.k8s.io/implementations/).
+
{::nomarkdown}
diff --git a/_docs/runtime/installation.md b/_docs/runtime/installation.md
index 51587766..b07d70f8 100644
--- a/_docs/runtime/installation.md
+++ b/_docs/runtime/installation.md
@@ -21,10 +21,6 @@ There are two parts to installing a hybrid runtime:
See also [Codefresh architecture]({{site.baseurl}}/docs/getting-started/architecture).
-{::nomarkdown}
-
-{:/}
-
### Hybrid runtime installation flags
This section describes the required and optional flags to install a hybrid runtime.
For documentation purposes, the flags are grouped into:
@@ -32,9 +28,6 @@ For documentation purposes, the flags are grouped into:
* Ingress controller flags, relating to ingress controller requirements
* Git repository flags, relating to Git provider requirements
-{::nomarkdown}
-
-{:/}
#### Runtime flags
@@ -46,7 +39,7 @@ The runtime name must start with a lower-case character, and can include up to 6
**Namespace resource labels**
Optional.
-The label of the namespace resource to which you are installing the hybrid runtime. Labels are required to identify the networks that need access during installation, as is the case when using services meshes such as Istio for example.
+The label of the namespace resource to which you are installing the hybrid runtime. Labels are required to identify the networks that need access during installation, as is the case when using services meshes such as Istio for example. For Gateway APIs, use the namespace label if defined to reference the runtine in the `allowedRoutes.namespaces`.
* CLI wizard and Silent install: Add the `--namespace-labels` flag, and define the labels in `key=value` format. Separate multiple labels with `commas`.
@@ -61,10 +54,6 @@ The cluster defined as the default for `kubectl`. If you have more than one Kube
The Git repository per runtime account with shared configuration manifests.
* CLI wizard and Silent install: Add the `--shared-config-repo` flag and define the path to the shared repo.
-{::nomarkdown}
-
-{:/}
-
#### Ingress controller flags
**Skip ingress**
@@ -73,7 +62,7 @@ For unsupported ingress controllers, bypass installing ingress resources with th
In this case, after completing the installation, manually configure the cluster's routing service, and create and register Git integrations. See the last step in [Install the hybrid runtime](#install-the-hybrid-runtime).
**Ingress class**
-Required.
+Required if you have more than one ingress class configured on your cluster.
* CLI wizard: Select the ingress class for runtime installation from the list displayed.
* Silent install: Explicitly specify the ingress class through the `--ingress-class` flag. Otherwise, runtime installation fails.
@@ -102,10 +91,29 @@ For both CLI wizard and Silent install:
* For existing installations, commit changes to the installation repository by modifying the `app-proxy ingress` and `.yaml`
See [(Optional) Internal ingress host configuration for existing hybrid runtimes](#optional-internal-ingress-host-configuration-for-existing-hybrid-runtimes).
+#### Gateway API flags
+
+
+**Gateway name**
+Required.
+The name of the gateway for runtime installation.
+
+* Silent install: Specify the gateway name through the `--gateway-name` flag.
+
+**Gateway namespace**
+
+Required.
+
+The namespace with the **Gateway name**.
+
+* Silent install: Specify the namespace through the `--gateway-namespace` flag.
+
+**Ingress host**
+Required.
+The IP address or host name of the gateway.
+
+* CLI wizard and Silent install: Specify the gateway host through the `--ingress-host` flag.
-{::nomarkdown}
-
-{:/}
#### Git repository flags
@@ -122,7 +130,7 @@ The Git token authenticating access to the GitHub installation repository.
-{::nomarkdown}
-
-{:/}
-
#### Codefresh resource flags
**Codefresh demo resources**
Optional.
@@ -168,22 +172,11 @@ Install demo pipelines to use as a starting point to create your own pipelines.
**Insecure flag**
For _on-premises installations_, if the Ingress controller does not have a valid SSL certificate, to continue with the installation, add the `--insecure` flag to the installation command.
-{::nomarkdown}
-
-{:/}
-{::nomarkdown}
-
-{:/}
-
### Install the Codefresh CLI
Install the Codefresh CLI using the option that best suits you: `curl`, `brew`, or standard download.
If you are not sure which OS to select for `curl`, simply select one, and Codefresh automatically identifies and selects the right OS for CLI installation.
-{::nomarkdown}
-
-{:/}
-
### Install the hybrid runtime
**Before you begin**
@@ -199,10 +192,6 @@ If you are not sure which OS to select for `curl`, simply select one, and Codefr
* [Traefik ingress configuration]({{site.baseurl}}/docs/runtime/requirements/#traefik-ingress-configuration)
-{::nomarkdown}
-
-{:/}
-
**How to**
1. Do one of the following:
@@ -223,10 +212,6 @@ If you are not sure which OS to select for `curl`, simply select one, and Codefr
`cf integration git register default --runtime --token `
-{::nomarkdown}
-
-{:/}
-
### Hybrid runtime components
**Git repositories**
@@ -253,9 +238,6 @@ If you are not sure which OS to select for `curl`, simply select one, and Codefr
Once the hybrid runtime is successfully installed, it is provisioned on the Kubernetes cluster, and displayed in the **Runtimes** page.
-{::nomarkdown}
-
-{:/}
### (Optional) Internal ingress host configuration for existing hybrid runtimes
diff --git a/_docs/runtime/requirements.md b/_docs/runtime/requirements.md
index 6546d253..cfe4d587 100644
--- a/_docs/runtime/requirements.md
+++ b/_docs/runtime/requirements.md
@@ -23,11 +23,14 @@ The requirements listed are the **_minimum_** requirements to provision **_hybri
| -------------- | -------------- |
|Kubernetes cluster | Server version 1.18 and higher, without Argo Project components. {::nomarkdown}
Tip: To check the server version, run:
kubectl version --short.{:/}|
| Ingress controller| Configured on Kubernetes cluster and exposed from the cluster. {::nomarkdown}
Supported and tested ingress controllers include: - Ambassador
{:/}(see [Ambassador ingress configuration](#ambassador-ingress-configuration)){::nomarkdown}- AWS ALB (Application Load Balancer)
{:/} (see [AWS ALB ingress configuration](#aws-alb-ingress-configuration)){::nomarkdown}- Istio
{:/} (see [Istio ingress configuration](#istio-ingress-configuration)){::nomarkdown}- NGINX Enterprise (nginx.org/ingress-controller)
{:/} (see [NGINX Enterprise ingress configuration](#nginx-enterprise-ingress-configuration)){::nomarkdown}- NGINX Community (k8s.io/ingress-nginx)
{:/} (see [NGINX Community ingress configuration](#nginx-community-version-ingress-configuration)){::nomarkdown}- Trafik
{:/}(see [Traefik ingress configuration](#traefik-ingress-configuration))|
+|Gateway API| Namespace with the Codefresh runtime in `allowedRoutes.namespaces` |
|Node requirements| {::nomarkdown}{:/}|
|Cluster permissions | Cluster admin permissions |
-|Git providers |{::nomarkdown}{:/}|
+|Git providers |{::nomarkdown}{:/}|
|Git access tokens | {::nomarkdown}Runtime Git token:- Valid expiration date
- Scopes: repo and admin-repo.hook
Personal access Git token:- Valid expiration date
- Scopes: repo
{:/}|
+
+