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 the2025.2.1. For example:$ git clone https://github.com/ForgeRock/forgeops.git $ cd forgeops $ git checkout
2025.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:
$ 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.
Perform the following steps in the terminal window where you have activated the Python venv.
-
Set up a ForgeOps deployment configuration environment:
$ cd /path/to/forgeops/bin $ ./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 your Kubernetes context:
-
Create a Kubernetes namespace in the cluster for the Ping Identity Platform pods:
$ kubectl create namespace my-namespace -
Set the active namespace in your Kubernetes context to the Kubernetes namespace you just created:
$ kubens my-namespace
-
-
Install the secret generator for secret management:
$ forgeops prereqs --secret-generator -
In a separate terminal tab or window, run the minikube tunnel command, and enter your system’s superuser password when prompted:
$ sudo minikube tunnel ✅ Tunnel successfully started ...
-
Set up the
faststorage class using theminikube-fast-storage-class.yamlfile in the /path/to/forgeops/cluster/resources directory:$ kubectl apply -f /path/to/forgeops/cluster/resources/minikube-fast-storage-class.yaml
-
Enable secret generator in your deployment environment:
$ forgeops env --env-name my-env --namespace my-namespace --secret-generator
-
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 Identity Platform UI appears in the browser.
-