Setting up a basic pipeline for WSO2 Identity Server on Kubernetes is quick and simple.
You can set up a simple CI/CD pipeline for WSO2 Identity Server in two steps.
- Create a Docker image for WSO2 Identity Server.
- Deploy the CI/CD pipeline.
Before you begin to develop your pipeline, set up the following prerequisites in your
Install and set up
NginxIngress Controller Git release nginx-0.22.0
Install and set up
Create WSO2 Identity Server Docker Image
First, let's create an image for WSO2 Identity Server on a private Docker registry.
- Pull the latest image from WSO2 and push it to the private registry following are the steps
If you have a WSO2 subscription, log into the WSO2 Docker registry using your subscription credentials.The WSO2 Identity Server Docker image automatically fetches product updates on a weekly basis. If you do not have a WSO2 subscription account, you can sign up for a free trial here.
Pull the Docker image for Identity Server
After the image pull is complete, tag the image as follows:<DOCKER_ORGANIZATION> refers to the name of your private docker repository in Docker Hub.
If you are using an image from docker.wso2.com make sure to use a private docker repository since this image contains proprietary updates.
If you do not have a WSO2 subscription use the docker hub image wso2/wso2is:5.8.0 instead
Log into your organization on Docker Hub and push the Identity Server image
Push the Docker image to a repository in your organization on Docker Hub.
Deploy the CI/CD pipeline
After successfully adding the Identity Server docker image to the organization’s docker hub let’s deploy the Kubernetes pipeline.
- Download the following values.yaml file and replace the following placeholders with relevant values
- <REGISTRY_USERNAME> - Docker organization name.
- <REGISTRY_PASSWORD> - Docker password.
- <REGISTRY_EMAIL> - Email address of Docker organization.
- <EMAIL> - Email address notifications should be sent to in case of failure.
- <GITHUB_USERNAME> - GitHub username
- <GITHUB_PASSWORD> - GitHub password or token
Add the WSO2 helm repository.
Install the pipeline Helm chart by pointing to the updated values-is-pattern-1.yaml file.Warning: The installation may take up to 10 minutes.
Obtain the external IP (`EXTERNAL-IP`) of the Ingress resources by listing down the Kubernetes Ingresses.
NAME HOSTS ADDRESS PORTS AGE <RELEASE_NAME>-grafana grafana <EXTERNAL_IP> 80 20m <RELEASE_NAME>-kibana kibana <EXTERNAL_IP> 80 20m <RELEASE_NAME>-spinnaker-deck spinnaker <EXTERNAL_IP> 80, 443 20m <RELEASE_NAME>-spinnaker-gate gate.spinnaker <EXTERNAL_IP> 80, 443 20m jenkins-ingress jenkins <EXTERNAL_IP> 80, 443 20m
Add the above hosts as an entry in /etc/hosts as follows and save the file
- Navigate to the following URLs on any web browser: