> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ulm.m1amdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Docker Image Setup with Kubernetes

A first-time configuration of the Kubernetes cluster is required to complete the setup of repositories, containers, and docker images in order to to manage ULM 9 components and services.

**Note:** See The [Kubernetes documentation](https://kubernetes.io/docs/home/) for more details and [how to pull images](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/).

1. Login to Kubernetes to create an image pull Secret using the `kubectl` command. Enter the docker credentials to pull Docker images as part of the container creation (if using Amdocs' repositories directly). Enter the following:

   ```
   kubectl -n <namespace> create secret docker-registry <namespace>-pull-secret
         --docker-server=<https://example.url.com> --docker-username=<username> --docker-password=<password>
         --docker-email=<your-email>
   ```

   **Note:** If the default namespace isn't used, the `-n <namespace>` parameter is needed so the Secret is applied to the correct namespace.

2. The resources defined within ULM's Helm charts automatically look for a Secret matching the format **\<namespace>-pull-secret** and it's recommended to use this default when configuring your container resources.

   1. **Optional - Different Namespace**: When deploying to a different namespace, ULM auto-searches for and uses the Secret named `your-secret-name`. To use a different naming convention for secrets, edit each microservice `values.yaml` and add your specific secret name as shown below:

   ```
   common:
     imagePullSecret:
       name: your-secret-name
   ```

   **Example**: If you deploy to a namespace called **pvc-ulm**, ULM looks for and uses a Secret named **pvc-ulm-pull-secret** if it exists.

With an image pull Secret created, each microservice can now be installed via its Helm chart.

* **[Docker Image Details](../topics/ulm9Kubernates#)**

**Parent topic:**[ULM 9 Operations Overview](../topics/ulm9IntroInstall)

## Docker Image Details

| Image Name | Description |
| - | - |
| `connect-bannedpassword-ms-exe` | Manages and enforces secure password usage and authentication based on a banned password list. |
| `connect-webauthn-ms-exe` | Provides the back end implementation (APIs) for WebAuthn support. |
| `connect-webauthn-database-migration` | Contains the database migration scripts for the WebAuthn microservice. This is run before the WebAuth microservice is allowed to start during an install/upgrade. |
| `ulm-platform` | The ULM core with most REST APIs and the process engine/processes. |
| `ulm-platform-liquibase` | Core microservice to perform liquibase updates. |
| `ulmid-oidc-boot` | Provides ULM's OpenID Connect implementation and framework. |
| `ulmid-oidc-database-migration` | Contains the database migration scripts for the OIDC microservice. This is run before the WebAuth microservice is allowed to start during an install/upgrade. |
| `redhat_ubi7_minimal_withkubectl` | Required as the init container waiting for Liquibase to finish before starting the microservice. |
| `aws-load-balancer-controller` | Provisions AWS Application Load Balancers to satisfy Kubernetes ingress resources. |
| `kong/kubernetes-ingress-controller` | Microservice to handle routing requests through the ingress controller using Kong/Kubernetes. |

| Image Name | Description |
| - | - |
| `m1-admin-ui` | Required if Admin UI (Admin console) is requested by the customer. |
| `ulm-csr-portal` | Required if Care UI (Care console) is requested by the customer. |
| `ulm-custom-data-exe` | Required if Custom data is used. |
| `ulm-idp-portal` | Required if IdP UI (Identity app) is to be used by the customers. |
| `ulm-uxdr-exe` | Required if user metrics are requested by the customer. |
| `ulm-cluster-controller-exe` | This image is only required if API-based CORS configuration is requested by the customer. The CORS configuration can also be done via Helm values. |
| `registry.redhat.com/ubi7/ubi-minimal` | For access to log sidecars |
| `obsidiandynamics/kafdrop` | Kafdrop is used to monitor Kafka brokers that installs with the Landscape Helm chart |
| `bitnami/phpmyadmin` | For GUI-based administration (phpMyAdmin) of MySQL databases that installs with the Landscape Helm chart |

**Parent topic:**[Docker Image Setup with Kubernetes](../topics/ulm9Kubernates#)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.