Gloo

The following document will take you through the process of installing, verifying the installation, and uninstalling the Developer Portal.

Prerequisites

For this guide, we’ll need the following:

Early versions of the Developer Portal used to be installed as part of Gloo Enterprise. Before proceeding, you should make sure your cluster does not contain the CRDs that were installed with these older versions of the Developer Portal.

Since these CRDs have the same name as some newer ones, Helm will not overwrite them, which might lead to errors similar to the following:

Error: no matches for kind "Portal" in version "devportal.solo.io/v1alpha1"

To remove these old CRDs you can run the following command:

kubectl get crd | grep "devportal.solo.io" | awk '{print $1}' | xargs kubectl delete crd

Note on Gateways

The Developer Portal will create Gloo Virtual Services in the same namespaces as the resources that generated them (APIProducts and Portals). Make sure you have configured a Gloo Gateway resource in such a way that the generated Virtual Services will be applied to it.

Going forward, we will assume that Gloo has been installed with the default Gateways, which will match all virtual services in all namespaces that Gloo watches (by default Gloo watches all namespaces).

Installation

To install the Dev Portal you’ll use a Helm chart. You will also need a license key to submit as part of the chart deployment. If you do not have a license key, please request a trial on our website.

First we will add the repository with the Helm chart and update the repo contents.

# Add the Helm repository for the Developer Portal
helm repo add dev-portal https://storage.googleapis.com/dev-portal-helm
helm repo update

Next, let’s create a Helm values override file:

cat << EOF > gloo-values.yaml
gloo:
  enabled: true
licenseKey:
  secretRef:
    name: license
    namespace: gloo-system
    key: license-key
EOF

Here’s a brief explanation of the above values: - gloo.enabled enables the integration with Gloo Enterprise. - When running on top of Gloo, the Developer portal requires a valid Gloo Enterprise license key. We are assuming that you have already installed Gloo Enterprise to your cluster, so we use licenseKey.secretRef to reference the existing license key secret. If you wish to create a new license secret, you can just pass in the license key string via the licenseKey.value value. See the Gloo docs for more info on how to request a Gloo Enterprise trial license.

Now we can create the target namespace for the deployment and install the Dev Portal referencing the above values file:

# Create the namespace and install the Helm chart
kubectl create namespace dev-portal
helm install dev-portal dev-portal/dev-portal -n dev-portal --values gloo-values.yaml

Helm will create an installation named dev-portal.

NAME: dev-portal
LAST DEPLOYED: XXXXXXXXXXX
NAMESPACE: dev-portal
STATUS: deployed
REVISION: 1
TEST SUITE: None

Verify your Installation

To verify that your installation was successful, check that the Developer Portal deployments and services have been created. If you choose to install into a namespace other than dev-portal, you will need to query your chosen namespace instead.

kubectl get all -n dev-portal
NAME                                READY   STATUS    RESTARTS   AGE
pod/admin-server-557b64597d-q7vxl   3/3     Running   0          45s
pod/dev-portal-7d56b8876d-ns7l6     1/1     Running   0          45s

NAME                   TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)    AGE
service/admin-server   ClusterIP   10.20.10.185   <none>        8080/TCP   45s
service/dev-portal     ClusterIP   10.20.2.10     <none>        8080/TCP   45s

NAME                           READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/admin-server   1/1     1            1           45s
deployment.apps/dev-portal     1/1     1            1           45s

NAME                                      DESIRED   CURRENT   READY   AGE
replicaset.apps/admin-server-557b64597d   1         1         1       45s
replicaset.apps/dev-portal-7d56b8876d     1         1         1       45s

Please refer to the Architecture page for more details about what function each deployment serves.

Uninstall

To uninstall the Developer Portal simply run the following command:

helm uninstall dev-portal -n dev-portal