DevOps Helm Charts

Getting Started

Helm is a package deployment tool for Kubernetes. It can be used with Ping DevOps to deploy all the components of the solution with a simple command.

Prerequisites

  • Kubernetes Cluster

  • Helm 3

  • Ping Identity DevOps user/key

Ping Helm charts support OpenShift. See OpenShift Configuration to learn how to configure the values.yaml file to do so.

Creating Ping DevOps Secret

The charts use a secret called devops-secret to obtain an evaluation license for running images.

  • Eval License — Use your PING_IDENTITY_DEVOPS_USER/PING_IDENTITY_DEVOPS_KEY credentials along with your PING_IDENTITY_ACCEPT_EULA setting.

  • For more information on obtaining credentials, click here.

  • For more information on using the pingctl utility, click here.

    pingctl k8s generate devops-secret | kubectl apply -f -

Installing Helm 3

Ensure that you have Helm 3 installed.

Adding Helm Ping DevOps Repo

helm repo add pingidentity https://developer.pingidentity.com/helm/

Listing Ping DevOps Charts

helm search repo pingidentity

Updating Local Machine with the Latest Charts

helm repo update

Installing the Ping DevOps Chart

Install the ping-devops chart using the example below. In this case, it is installing a release called pf:

  • PingFederate Admin instance

  • PingFederate Engine instance

helm install pf pingidentity/ping-devops \
   --set pingfederate-admin.enabled=true \
   --set pingfederate-engine.enabled=true

or, if you have a ping-devops-values.yaml file:

# ping-devops-values.yaml
pingfederate-admin:
  enabled: true

pingfederate-engine:
enabled: true
helm install pf pingidentity/ping-devops \
-f ping-devops-values.yaml

Accessing Deployments

By default, the components of a release are prefixed with the release name. Continuing this example, everything will be prefixed with pf. Use kubectl to see the pods created.

View Kubernetes resources installed:

# get just pods
kubectl get pods --selector=app.kubernetes.io/instance=pf

# or get even more
kubectl get all --selector=app.kubernetes.io/instance=pf

View logs (from deployment):

kubectl logs deployment/pf-pingfederate-admin

Uninstalling Releases

To uninstall a release from Helm, use the following command (using pf as an example release):

helm uninstall pf