---
schema_version: "1"
id: 4eef0b69cafc9be0c6467e58b5492d84ce9e6faa6ef19a951315c4fe8b44b4f1
title: Registering and Running in Local Mode with a Username and Password
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/gateway/latest/local-reg-run-up.md
canonical_url: https://docs.mulesoft.com/gateway/latest/local-reg-run-up
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 340dfbc09346a50f57639bcef2474c81278a3142b031e9d3893c67b096b350c9
description: MuleSoft Documentation Site
release: "1.14"
latest: true
---
---
product: Omni Gateway
version: 1.14
is-latest-version: true
---

# Registering and Running in Local Mode with a Username and Password

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

<table><colgroup><col> <col> <col> <col></colgroup><tbody><tr><td><div><div><p><span><a href="#linux"><img src="https://docs.mulesoft.com/gateway/latest/_images/install-linux-logo.png" alt="20%" width="20%"></a></span></p></div></div></td><td><div><div><p><span><a href="#container"><img src="https://docs.mulesoft.com/gateway/latest/_images/install-container-logo.png" alt="25%" width="25%"></a></span></p></div></div></td><td><div><div><p><span><a href="#kubernetes"><img src="https://docs.mulesoft.com/gateway/latest/_images/install-kubernetes-logo.png" alt="20%" width="20%"></a></span></p></div></div></td><td><div><div><p><span><a href="#openshift"><img src="https://docs.mulesoft.com/gateway/latest/_images/install-openshift-logo.png" alt="20%" width="20%"></a></span></p></div></div></td></tr><tr><td><div><div><p><a href="#linux">Linux</a></p></div></div></td><td><div><div><p><a href="#container">Container</a></p></div></div></td><td><div><div><p><a href="#kubernetes">Kubernetes</a></p></div></div></td><td><div><div><p><a href="#openshift">OpenShift</a></p></div></div></td></tr></tbody></table>

## Before You Begin

Before registering Omni Gateway, you must complete the following tasks:

- [Install an Omni Gateway](https://docs.mulesoft.com/gateway/latest/install)

- Request _Manage Servers_ and _Read Servers_ permissions in Runtime Manager from your Anypoint
  Platform admin

- Collect the following information from your Anypoint Platform instance:

  - The **Organization ID** for the organization where you want to run Omni Gateway

    See
    [Find your Organization ID](https://docs.mulesoft.com/access-management/managing-business-groups#find-your-organization-id)
    for more information on how to find your Organization ID.

  - The **Environment ID** for the environment where you want to run Omni Gateway

    See
    [What API Manager Looks Like](https://docs.mulesoft.com/api-manager/latest/latest-overview-concept#what-api-manager-looks-like)
    for more information on how to find your Environment ID.

  - The **Username** and **Password** of a user with _Read Servers_ and _Manage Servers_ permissions
    for Runtime Manager

## Register and Run with a Username and Password as a Linux Service

Omni Gateway runs on the following Long Term Support (LTS) versions of Linux:

- Amazon Linux 2023

- CentOS 8

- Debian Bookworm

- Red Hat Enterprise Linux (9)

- Red Hat Enterprise Linux (9) on IBM Power (ppc64le)

- Ubuntu Jammy

To register an Omni Gateway with Anypoint Platform, you must enter the registration command and then
the start command. Each command includes information specific to your Anypoint Platform instance and
**must be updated before** executing. See [Before You Begin](#prereqs) for more information on how
to find the information you will need.

### Collect Your Registration Data

Before registering your Omni Gateway instance, collect information for the following registration
command options:

- `--username` = the username for an Anypoint Platform user with _Read Servers_ and _Manage Servers_
  permissions for Runtime Manager

- `--password` = the password for an Anypoint Platform user with _Read Servers_ and _Manage Servers_
  permissions for Runtime Manager

- `--environment` = the Environment Id for the environment in Anypoint Platform where you want the
  Omni Gateway to run

- `--organization` = your Organization ID in Anypoint Platform

- `--split` (optional) = the flag that determines whether registration information should split into
  multiple files. The default value is `false`.

  If `split` is set to `true`, registration information is split into two files: `registration.yaml`
  and `certificate.yaml`. If `false`, all registration information is contained in one file:
  `registration.yaml`.

- `--output-directory` (optional) = the directory in which registration information is output

- `my-gateway` = the name you want to assign the gateway cluster

### Register Omni Gateway

Register your Omni Gateway instance using the data that you gathered for the command options.

```ssh
flexctl registration create \
--username=<your-username> \
--password=<your-password> \
--environment=<your-environment-id> \
--organization=<your-org-id> \
--output-directory=/usr/local/share/mulesoft/flex-gateway/conf.d \
my-gateway
```

Use `sudo` if you encounter file permission issues when running this command.

> [!NOTE] If you are in Europe you will need to add the
> `--anypoint-url=https://eu1.anypoint.mulesoft.com` flag to your command.

In the output directory, you should see the following new registration file(s):

- `registration.yaml`

- `certificate.yaml` (generated only if the `split` registration parameter is set to `true`,
  otherwise certificate information will be contained in `registration.yaml`)

> [!IMPORTANT] These generated files are credentials for you to connect your Omni Gateway. If you
> lose them you can no longer connect your Omni Gateway.

### Start Commands

Start Omni Gateway with the following command:

```ssh
sudo systemctl start flex-gateway
```

Verify that the Omni Gateway service is running successfully:

```ssh
systemctl list-units flex-gateway*
```

If `flex-gateway.service` has a status of `active`, Omni Gateway is successfully running.

```text
  UNIT                              LOAD   ACTIVE SUB     DESCRIPTION
  flex-gateway.service              loaded active running Application
```

## Register and Run with a Username and Password in a Container

You can register and run Omni Gateway for use in one of the following containers:

<table><colgroup><col> <col></colgroup><tbody><tr><td><div><div><p><span><a href="#docker"><img src="https://docs.mulesoft.com/gateway/latest/_images/install-docker-logo.png" alt="15%" width="15%"></a></span></p></div></div></td><td><div><div><p><span><a href="#podman"><img src="https://docs.mulesoft.com/gateway/latest/_images/install-podman-logo.png" alt="12%" width="12%"></a></span></p></div></div></td></tr><tr><td><div><div><p><a href="#docker">Docker</a></p></div></div></td><td><div><div><p><a href="#podman">Podman</a></p></div></div></td></tr></tbody></table>

### Register and Run with a Username and Password in a Docker Container

To register an Omni Gateway with Anypoint Platform, you must enter the registration command and then
the start command. Each command includes information specific to your Anypoint Platform instance and
**must be updated before** executing. See [Before You Begin](#prereqs) for more information on how
to find the information you will need.

#### Collect Your Registration Data

Before registering your Omni Gateway instance, collect information for the following registration
command options:

- `--username` = the username for an Anypoint Platform user with _Read Servers_ and _Manage Servers_
  permissions for Runtime Manager

- `--password` = the password for an Anypoint Platform user with _Read Servers_ and _Manage Servers_
  permissions for Runtime Manager

- `--environment` = the Environment Id for the environment in Anypoint Platform where you want the
  Omni Gateway to run

- `--organization` = your Organization ID in Anypoint Platform

- `--split` (optional) = the flag that determines whether registration information should split into
  multiple files. The default value is `false`.

  If `split` is set to `true`, registration information is split into two files: `registration.yaml`
  and `certificate.yaml`. If `false`, all registration information is contained in one file:
  `registration.yaml`.

- `--output-directory` (optional) = the directory in which registration information is output

- `my-gateway` = the name you want to assign the gateway cluster

#### Register Omni Gateway

Register your Omni Gateway instance using the data that you gathered for the command options.

> [!IMPORTANT] Create a new directory called `flex-registration` (or similar) and then run the
> registration command in this new directory. The command creates registration files in this
> location.

```ssh
docker run --entrypoint flexctl \
-v "$(pwd)":/registration -u $UID mulesoft/flex-gateway \
registration create \
--username=<your-username> \
--password=<your-password> \
--environment=<your-environment-id> \
--organization=<your-org-id> \
--output-directory=/registration \
my-gateway
```

Use `sudo` if you encounter file permission issues when running this command.

> [!NOTE] If you are in Europe you will need to add the
> `--anypoint-url=https://eu1.anypoint.mulesoft.com` flag to your command.

In the output directory, you should see the following new registration file(s):

- `registration.yaml`

- `certificate.yaml` (generated only if the `split` registration parameter is set to `true`,
  otherwise certificate information will be contained in `registration.yaml`)

> [!IMPORTANT] These generated files are credentials for you to connect your Omni Gateway. If you
> lose them you can no longer connect your Omni Gateway.

#### Start Command

Run the following start command in the same directory where you ran the registration command:

```ssh
docker run --rm \
-v "$(pwd)":/usr/local/share/mulesoft/flex-gateway/conf.d \
-p 8080:8080 \
mulesoft/flex-gateway
```

> [!NOTE] Specify an optional name you want to assign to your Omni Replica by including the
> following: `-e FLEX_NAME=<name-for-flex-replica> \`.

The output logs should include this line:

```ssh
[flex-gateway-envoy][info] all dependencies initialized. starting workers
```

### Register and Run with a Username and Password in a Podman Container

To register an Omni Gateway with Anypoint Platform, you must enter the registration command and then
the start command. Each command includes information specific to your Anypoint Platform instance and
**must be updated before** executing. See [Before You Begin](#prereqs) for more information on how
to find the information you will need.

#### Collect Your Registration Data

Before registering your Omni Gateway instance, collect information for the following registration
command options:

- `--username` = the username for an Anypoint Platform user with _Read Servers_ and _Manage Servers_
  permissions for Runtime Manager

- `--password` = the password for an Anypoint Platform user with _Read Servers_ and _Manage Servers_
  permissions for Runtime Manager

- `--environment` = the Environment Id for the environment in Anypoint Platform where you want the
  Omni Gateway to run

- `--organization` = your Organization ID in Anypoint Platform

- `--split` (optional) = the flag that determines whether registration information should split into
  multiple files. The default value is `false`.

  If `split` is set to `true`, registration information is split into two files: `registration.yaml`
  and `certificate.yaml`. If `false`, all registration information is contained in one file:
  `registration.yaml`.

- `--output-directory` (optional) = the directory in which registration information is output

- `my-gateway` = the name you want to assign the gateway cluster

#### Register Omni Gateway

Register your Omni Gateway instance using the data that you gathered for the command options.

> [!IMPORTANT] Create a new directory called `flex-registration` (or similar) and then run the
> registration command in this new directory. The command creates registration files in this
> location.

```ssh
podman run --entrypoint flexctl --userns=keep-id \
-v "$(pwd)":/registration:Z -u $UID docker.io/mulesoft/flex-gateway \
registration create \
--username=<your-username> \
--password=<your-password> \
--environment=<your-environment-id> \
--organization=<your-org-id> \
--output-directory=/registration \
my-gateway
```

Use `sudo` if you encounter file permission issues when running this command.

> [!NOTE] If you are in Europe you will need to add the
> `--anypoint-url=https://eu1.anypoint.mulesoft.com` flag to your command.

In the output directory, you should see the following new registration file(s):

- `registration.yaml`

- `certificate.yaml` (generated only if the `split` registration parameter is set to `true`,
  otherwise certificate information will be contained in `registration.yaml`)

> [!IMPORTANT] These generated files are credentials for you to connect your Omni Gateway. If you
> lose them you can no longer connect your Omni Gateway.

#### Start Command

Run the following start command in the same directory where you ran the registration command:

```ssh
podman run --rm \
-v "$(pwd)":/usr/local/share/mulesoft/flex-gateway/conf.d \
-p 8080:8080 \
docker.io/mulesoft/flex-gateway
```

> [!NOTE] Specify an optional name you want to assign to your Omni Replica by including the
> following: `-e FLEX_NAME=<name-for-flex-replica> \`.

The output logs should include this line:

```ssh
[flex-gateway-envoy][info] all dependencies initialized. starting workers
```

## Register and Run with a Username and Password in a Kubernetes Cluster

Register Omni Gateway, and then use Helm to deploy Omni Gateway to a node in your cluster.

When deploying Omni Gateway to a Kubernetes cluster that enables role-based access control (RBAC),
you must have cluster-level permissions to permit installation of custom resource definitions (CRDs)
used by Omni Gateway.

Complete the following steps:

1.  [Collect Your Registration Data](#options-k8s)

2.  [Register Omni Gateway](#reg-k8s)

3.  [Install Helm Chart into the Namespace](#deploy-k8s)

In Local Mode, Omni Gateway typically acts as an ingress controller that manages external access to
your cluster. Omni Gateway can also act as a standalone gateway for internal (east-west) traffic.

When using this mode, you must know what resources to create and apply, and use `kubectl apply` to
deploy Kubernetes targets and resources such as APIs, policies, or Omni Gateway-related resources to
your gateway.

Omni Gateway acts as an ingress controller when you apply an `Ingress` resource to configure gateway
routing rules. You provide this configuration through a YAML file. The file supports other
properties, such as `apiVersion`, `kind`, `metadata`, `spec` to configure a load balancer or proxy
server, and `rules` for directing HTTP and HTTPS traffic. For more information about how Omni
Gateway manages `Ingress` resources, see
[Configure Omni Gateway as an Ingress Controller in Local Mode](https://docs.mulesoft.com/gateway/latest/gateway-k8-ingress-class).

### Collect Your Registration Data

Before registering your Omni Gateway instance, collect information for the following registration
command options:

- `--username` = the username for an Anypoint Platform user with _Read Servers_ and _Manage Servers_
  permissions for Runtime Manager

- `--password` = the password for an Anypoint Platform user with _Read Servers_ and _Manage Servers_
  permissions for Runtime Manager

- `--environment` = the Environment Id for the environment in Anypoint Platform where you want the
  Omni Gateway to run

- `--organization` = your Organization ID in Anypoint Platform

- `--split` (optional) = the flag that determines whether registration information should split into
  multiple files. The default value is `false`.

  If `split` is set to `true`, registration information is split into two files: `registration.yaml`
  and `certificate.yaml`. If `false`, all registration information is contained in one file:
  `registration.yaml`.

- `--output-directory` (optional) = the directory in which registration information is output

- `my-gateway` = the name you want to assign the gateway cluster

### Register Omni Gateway

Register your Omni Gateway instance using the data that you gathered for the command options.

You can register using one of the following container runtimes:

**Docker**

Run the following command to register using Docker:

```ssh
docker run --entrypoint flexctl \
-v "$(pwd)":/registration -u $UID mulesoft/flex-gateway \
registration create \
--username=<your-username> \
--password=<your-password> \
--environment=<your-environment-id> \
--organization=<your-org-id> \
--output-directory=/registration \
my-gateway
```

Use `sudo` if you encounter file permission issues when running this command.

> [!NOTE] If you are in Europe you will need to add the
> `--anypoint-url=https://eu1.anypoint.mulesoft.com` flag to your command.

In the output directory, you should see the following new registration file(s):

- `registration.yaml`

- `certificate.yaml` (generated only if the `split` registration parameter is set to `true`,
  otherwise certificate information will be contained in `registration.yaml`)

> [!IMPORTANT] These generated files are credentials for you to connect your Omni Gateway. If you
> lose them you can no longer connect your Omni Gateway.

**Podman**

Run the following command to register using Podman:

```ssh
podman run --entrypoint flexctl --userns=keep-id \
-v "$(pwd)":/registration:Z -u $UID docker.io/mulesoft/flex-gateway \
registration create \
--username=<your-username> \
--password=<your-password> \
--environment=<your-environment-id> \
--organization=<your-org-id> \
--output-directory=/registration \
my-gateway
```

Use `sudo` if you encounter file permission issues when running this command.

> [!NOTE] If you are in Europe you will need to add the
> `--anypoint-url=https://eu1.anypoint.mulesoft.com` flag to your command.

In the output directory, you should see the following new registration file(s):

- `registration.yaml`

- `certificate.yaml` (generated only if the `split` registration parameter is set to `true`,
  otherwise certificate information will be contained in `registration.yaml`)

> [!IMPORTANT] These generated files are credentials for you to connect your Omni Gateway. If you
> lose them you can no longer connect your Omni Gateway.

### Install Helm Chart into the Namespace

A Helm chart installs Omni Gateway, monitoring tools, and applications. A minimum Helm version of
3.0.0 is required. Refer to [Helm Chart Settings](#helm-options-k8s) for configuration options.

1.  Add a Helm repository named `flex-gateway` for your chart:

    ```helm
    helm repo add flex-gateway https://flex-packages.anypoint.mulesoft.com/helm
    ```

    The command either adds the repository or skips this process if a Helm repository with that name
    already exists on your machine:

    - If the repository is new, the command returns the following message:

      "flex-gateway" has been added to your repositories

    - If the repository already exists, the command returns the following message:

      "flex-gateway" already exists with the same configuration, skipping

2.  Run `helm repo up`.

    The command returns the following message:

    Hang tight while we grab the latest from your chart repositories... ...Successfully got an
    update from the "flex-gateway" chart repository Update Complete. ⎈Happy Helming!⎈

    If you have more than one Helm repository on your machine, the message in your terminal window
    lists all of the repositories.

3.  Run the Helm command for deploying your gateway in Local Mode:

    ```helm
    helm -n gateway upgrade -i --create-namespace \
    ingress flex-gateway/flex-gateway \
    --set-file registration.content=registration.yaml
    ```

    This command creates the `gateway` namespace and a release named `ingress` if they do not exist.
    You can use names of your choice for your namespace and release. The command syntax for the Helm
    repository and chart names is `<helm-repo-name>/<helm-chart-name>`.

    When you install Omni Gateway, a Service type `LoadBalancer` is created by default. You must
    have the appropriate permissions to create a load balancer in your cloud. If the load balancer
    is not provisioned or has issues with the provisioning process, you must choose another type by
    changing the `service.type` property during the installation.

    > [!NOTE] By default, Omni Gateways running in Kubernetes or Openshift use a readiness probe. If
    > there’s no API deployed to your Omni Gateway instance, the readiness state is `false`. This
    > isn’t an issue with custom readiness probe configurations.

    When successful, the command prints a message indicating an upgrade to your `ingress` release:

    Release "ingress" does not exist. Installing it now. NAME: ingress LAST DEPLOYED: Mon Mar 20
    21:36:19 2023 NAMESPACE: gateway STATUS: deployed REVISION: 1 TEST SUITE: None

    The `REVISION` value increments the `ingress` release by `1` each time you run this command with
    the same namespace, repository, and chart names. For example, if you run the command a second
    time, you find a new revision number (`REVISION: 2`). The `LAST DEPLOYED` date reflects the date
    of that revision.

### Helm Chart Settings

To modify the default Helm settings with new values, such as `resource` values for CPU and memory
settings, see
[Update Pod Settings for an Omni Gateway Deployment Through a Helm Chart](https://docs.mulesoft.com/gateway/latest/gateway-k8-change-helm-settings).
For additional Helm chart configurations, see
[Managing Kubernetes Deployments](https://docs.mulesoft.com/gateway/latest/gateway-k8-management).

Before modifying a Helm chart for an Omni Gateway deployment, review the default Helm chart
settings:

- Open the **flex-gateway** page in
  [ArtifactHUB](https://artifacthub.io/packages/helm/flex-gateway/flex-gateway)

- Run `helm show values <repository-name>/<chart-name>` from a terminal window.

  Example:

  ```kubernetes
  helm show values flex-gateway/flex-gateway
  ```

  The example returns _default_ values of a repository and chart with the same name.

To view the Helm chart `README`, run `helm show readme <repository-name>/<chart-name>` from a
terminal window.

Example:

```kubernetes
helm show readme flex-gateway/flex-gateway
```

## Register and Run with a Username and Password in an OpenShift Cluster

Register Omni Gateway, and then use Helm to deploy Omni Gateway to a node in your cluster.

When deploying Omni Gateway to a Kubernetes cluster that enables role-based access control (RBAC),
you must have cluster-level permissions to permit installation of custom resource definitions (CRDs)
used by Omni Gateway. In OpenShift, the `cluster-admin` role provides this level of access.

From the command line, OpenShift procedures match Kubernetes procedures. Complete the following
steps:

1.  [Collect Your Registration Data](#options-openshift)

2.  [Register Omni Gateway](#reg-openshift)

3.  [Install Helm Chart into the Namespace](#deploy-openshift)

In Local Mode, Omni Gateway typically acts as an ingress controller that manages external access to
your cluster. Omni Gateway can also act as a standalone gateway for internal (east-west) traffic.

When using this mode, you must know what resources to create and apply, and use `kubectl apply` to
deploy Kubernetes targets and resources such as APIs, policies, or Omni Gateway-related resources to
your gateway.

Omni Gateway acts as an ingress controller when you apply an `Ingress` resource to configure gateway
routing rules. You provide this configuration through a YAML file. The file supports other
properties, such as `apiVersion`, `kind`, `metadata`, `spec` to configure a load balancer or proxy
server, and `rules` for directing HTTP and HTTPS traffic. For more information about how Omni
Gateway manages `Ingress` resources, see
[Configure Omni Gateway as an Ingress Controller in Local Mode](https://docs.mulesoft.com/gateway/latest/gateway-k8-ingress-class).

### Collect Your Registration Data

Before registering your Omni Gateway instance, collect information for the following registration
command options:

- `--username` = the username for an Anypoint Platform user with _Read Servers_ and _Manage Servers_
  permissions for Runtime Manager

- `--password` = the password for an Anypoint Platform user with _Read Servers_ and _Manage Servers_
  permissions for Runtime Manager

- `--environment` = the Environment Id for the environment in Anypoint Platform where you want the
  Omni Gateway to run

- `--organization` = your Organization ID in Anypoint Platform

- `--split` (optional) = the flag that determines whether registration information should split into
  multiple files. The default value is `false`.

  If `split` is set to `true`, registration information is split into two files: `registration.yaml`
  and `certificate.yaml`. If `false`, all registration information is contained in one file:
  `registration.yaml`.

- `--output-directory` (optional) = the directory in which registration information is output

- `my-gateway` = the name you want to assign the gateway cluster

### Register Omni Gateway

Register your Omni Gateway instance using the data that you gathered for the command options.

You can register using one of the following container runtimes:

**Docker**

Run the following command to register using Docker:

```ssh
docker run --entrypoint flexctl \
-v "$(pwd)":/registration -u $UID mulesoft/flex-gateway \
registration create \
--username=<your-username> \
--password=<your-password> \
--environment=<your-environment-id> \
--organization=<your-org-id> \
--output-directory=/registration \
my-gateway
```

Use `sudo` if you encounter file permission issues when running this command.

> [!NOTE] If you are in Europe you will need to add the
> `--anypoint-url=https://eu1.anypoint.mulesoft.com` flag to your command.

In the output directory, you should see the following new registration file(s):

- `registration.yaml`

- `certificate.yaml` (generated only if the `split` registration parameter is set to `true`,
  otherwise certificate information will be contained in `registration.yaml`)

> [!IMPORTANT] These generated files are credentials for you to connect your Omni Gateway. If you
> lose them you can no longer connect your Omni Gateway.

**Podman**

Run the following command to register using Podman:

```ssh
podman run --entrypoint flexctl --userns=keep-id \
-v "$(pwd)":/registration:Z -u $UID docker.io/mulesoft/flex-gateway \
registration create \
--username=<your-username> \
--password=<your-password> \
--environment=<your-environment-id> \
--organization=<your-org-id> \
--output-directory=/registration \
my-gateway
```

Use `sudo` if you encounter file permission issues when running this command.

> [!NOTE] If you are in Europe you will need to add the
> `--anypoint-url=https://eu1.anypoint.mulesoft.com` flag to your command.

In the output directory, you should see the following new registration file(s):

- `registration.yaml`

- `certificate.yaml` (generated only if the `split` registration parameter is set to `true`,
  otherwise certificate information will be contained in `registration.yaml`)

> [!IMPORTANT] These generated files are credentials for you to connect your Omni Gateway. If you
> lose them you can no longer connect your Omni Gateway.

### Install Helm Chart into the Namespace

A Helm chart installs Omni Gateway, monitoring tools, and applications. A minimum Helm version of
3.0.0 is required. Refer to [Helm Chart Settings](#helm-options-openshift) for configuration
options.

1.  Add a Helm repository named `flex-gateway` for your chart:

    ```helm
    helm repo add flex-gateway https://flex-packages.anypoint.mulesoft.com/helm
    ```

    The command either adds the repository or skips this process if a Helm repository with that name
    already exists on your machine:

    - If the repository is new, the command returns the following message:

      "flex-gateway" has been added to your repositories

    - If the repository already exists, the command returns the following message:

      "flex-gateway" already exists with the same configuration, skipping

2.  Run `helm repo up`.

    The command returns the following message:

    Hang tight while we grab the latest from your chart repositories... ...Successfully got an
    update from the "flex-gateway" chart repository Update Complete. ⎈Happy Helming!⎈

    If you have more than one Helm repository on your machine, the message in your terminal window
    lists all of the repositories.

3.  Run the Helm command for deploying your gateway in Local Mode:

    ```helm
    helm -n gateway upgrade -i --create-namespace \
    ingress flex-gateway/flex-gateway \
    --set-file registration.content=registration.yaml
    ```

    This command creates the `gateway` namespace and a release named `ingress` if they do not exist.
    You can use names of your choice for your namespace and release. The command syntax for the Helm
    repository and chart names is `<helm-repo-name>/<helm-chart-name>`.

    When you install Omni Gateway, a Service type `LoadBalancer` is created by default. You must
    have the appropriate permissions to create a load balancer in your cloud. If the load balancer
    is not provisioned or has issues with the provisioning process, you must choose another type by
    changing the `service.type` property during the installation.

    > [!NOTE] By default, Omni Gateways running in Kubernetes or Openshift use a readiness probe. If
    > there’s no API deployed to your Omni Gateway instance, the readiness state is `false`. This
    > isn’t an issue with custom readiness probe configurations.

    When successful, the command prints a message indicating an upgrade to your `ingress` release:

    Release "ingress" does not exist. Installing it now. NAME: ingress LAST DEPLOYED: Mon Mar 20
    21:36:19 2023 NAMESPACE: gateway STATUS: deployed REVISION: 1 TEST SUITE: None

    The `REVISION` value increments the `ingress` release by `1` each time you run this command with
    the same namespace, repository, and chart names. For example, if you run the command a second
    time, you find a new revision number (`REVISION: 2`). The `LAST DEPLOYED` date reflects the date
    of that revision.

### Helm Chart Settings

To modify the default Helm settings with new values, such as `resource` values for CPU and memory
settings, see
[Update Pod Settings for an Omni Gateway Deployment Through a Helm Chart](https://docs.mulesoft.com/gateway/latest/gateway-k8-change-helm-settings).
For additional Helm chart configurations, see
[Managing Kubernetes Deployments](https://docs.mulesoft.com/gateway/latest/gateway-k8-management).

Before modifying a Helm chart for an Omni Gateway deployment, review the default Helm chart
settings:

- Open the **flex-gateway** page in
  [ArtifactHUB](https://artifacthub.io/packages/helm/flex-gateway/flex-gateway)

- Run `helm show values <repository-name>/<chart-name>` from a terminal window.

  Example:

  ```kubernetes
  helm show values flex-gateway/flex-gateway
  ```

  The example returns _default_ values of a repository and chart with the same name.

To view the Helm chart `README`, run `helm show readme <repository-name>/<chart-name>` from a
terminal window.

Example:

```kubernetes
helm show readme flex-gateway/flex-gateway
```

## See Also

- [Getting Started with Self-Managed Omni Gateway](https://docs.mulesoft.com/gateway/latest/gateway-getting-started)

- [Registering and Running Omni Gateway in Connected Mode](https://docs.mulesoft.com/gateway/latest/conn-reg-run)
