Quick deployment on minikube
Perform the steps described in this section to set up a demo or development environment on minikube.
| Use the steps described here only to set up in a demo or development environment. More information about setting up clusters is available in Setup overview, and performing ForgeOps deployment in Deployment overview. |
Set up a minikube cluster
-
Clone the
forgeopsand check out the2026.2.1. For example:$ git clone https://github.com/ForgeRock/forgeops.git $ cd forgeops $ git checkout
2026.2.1 -
Ensure that you have installed the following:
-
Set up a minikube cluster:
-
Create minikube cluster:
$ minikube start --cpus=3 --memory=9g --disk-size=40g --cni=true \ --kubernetes-version=stable --addons=ingress,volumesnapshots,metrics-server \ --driver=docker
-
Add an entry to the /etc/hosts file to resolve the deployment FQDN, for example forgeops.example.com:
127.0.0.1 forgeops.example.com
-
-
Create a
venvfor using theforgeopsutility:-
Initiate a Python virtual environment[1].
$ python3 -m venv .venv
-
Configure Python3 dependencies for
forgeopsutility.$ source .venv/bin/activate $ /path/to/forgeops/bin/forgeops configure
-
Perform ForgeOps deployment
This section describes steps to perform ForgeOps deployment on minikube quickly using Helm. Learn more about deployment steps in Deployment overview.
-
In a separate terminal tab or window, run the minikube tunnel command, and enter your system’s superuser password when prompted. Keep this terminal window open while you perform the ForgeOps deployment.:
$ sudo minikube tunnel ✅ Tunnel successfully started 📌 NOTE: Please do not close this terminal as this process must stay alive for the tunnel to be accessible … Password: ...
Perform following steps in the terminal window where you have activated the Python venv.
-
Install the prerequisites:
$ cd /path/to/forgeops/bin $ ./forgeops prereqs
-
Set up the default cluster issuer[2]. For example:
$ kubectl apply -f /path/to/forgeops/etc/resources/selfsigned-issuer.yaml
-
Set up a ForgeOps deployment configuration environment:
$ ./forgeops env --env-name my-env --fqdn forgeops.example.com --cluster-issuer my-cluster-issuer --single-instance
In the previous command, replace forgeops.example.com and my-cluster-issuer with appropriate values from your environment.
-
Set up a namespace in your Kubernetes context:
-
Create a Kubernetes namespace in the cluster for the Ping Advanced Identity Software pods:
$ kubectl create namespace my-namespace -
Set the active namespace in your Kubernetes context to the Kubernetes namespace you just created:
$ kubens my-namespace
-
-
Set up the
faststorage class using theminikube-fast-storage-class.yamlfile in the /path/to/forgeops/etc/resources directory:$ kubectl apply -f /path/to/forgeops/etc/resources/minikube-fast-storage-class.yaml
-
Update your ForgeOps deployment environment to use the namespace you created:
$ ./forgeops env --env-name my-env --namespace my-namespace
-
Perform a ForgeOps deployment using Helm:
$ helm upgrade --install identity-platform identity-platform \ --repo https://ForgeRock.github.io/forgeops/ \ --namespace my-namespace \ --values /path/to/forgeops/helm/my-env/values.yaml
-
Check the status of the pods in the namespace in which you deployed the platform until all the pods are ready:
-
Run the kubectl get pods command.
-
Review the output. Deployment is complete when:
-
All entries in the
STATUScolumn indicateRunningorCompleted. -
The
READYcolumn indicates all running containers are available. The entry in theREADYcolumn represents [total number of containers/number of available containers].
-
-
If necessary, continue to query your deployment’s status until all the pods are ready.
-
Access the administrator UI
-
Obtain the
amadminuser’s password:$ cd /path/to/forgeops/bin $ ./forgeops info | grep amadmin vr58qt11ihoa31zfbjsdxxrqryfw0s31 (amadmin user) -
Open a new window or tab in a web browser.
-
Go to https://forgeops.example.com/platform.
The Kubernetes ingress controller handles the request, routing it to the
login-uipod.The login UI prompts you to log in.
-
Log in as the
amadminuser, with the password you obtained in the previous step.The Ping Advanced Identity Software UI appears in the browser.
-