Accessing Application Manager

The way you and your systems access Application Manager depends on your environment.

During testing and initial setup, the easiest approach is probably to use the port forwarding support built into Kubernetes. For example, if you have deployed dA Platform using Helm with release name daplatform into namespace my-namespace, you can use this command to forward the Application Manager API and user interface locally:

$ POD_NAME=$(kubectl -n my-namespace get pod -l release=daplatform,component=appmanager -o jsonpath='{.items[0].metadata.name}'))
$ kubectl -n my-namespace port-forward $POD_NAME 8080

In a production environment the recommended approach is to use a Kubernetes Ingress or Service to access Application Manager. The Helm chart creates a Service called <release-name>-appmanager, which can be accessed directly or referenced from an Ingress.

Examples

A LoadBalancer Service that exposes Application Manager using the release name and namespace above:

apiVersion: v1
kind: Service
metadata:
  name: my-service
  namespace: my-namespace
spec:
  type: LoadBalancer
  ports:
  - name: appmanager
    port: 80
    targetPort: 8080
  selector:
    app: daplatform-appmanager
    component: appmanager

An Nginx Ingress configured to serve Application Manager from an internal domain:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
  name: my-ingress
  namespace: my-namespace
spec:
  rules:
  - host: appmanager.daplatform.internal
    http:
      paths:
      - backend:
          serviceName: daplatform-appmanager
          servicePort: 80
        path: /