Skip to main content

Installing Commons

AHD Commons provides middleware and monitoring tools that are required by Data.

Prerequisites

warning

To install Commons, you'll need appropriate AWS IAM credentials from Smeup. If you don't have them yet, stop this installation process and come back once you do.

You will need an Helm CLI installation connected to your EKS cluster of choice.

Follow the official AWS Documentation to connect to your EKS Cluster.

1. Adding the AHD Helm Repository

Add the AHD Helm Repository with the following command:

helm repo add smartkit https://repo.smeup.cloud/nexus/repository/smartkit

To fetch the latest releases of AHD Commons, run:

helm repo update

2. Update Helm Repositories

Update your Helm repositories to get the latest available chart versions.

helm repo update

3. Prepare Commons Configurations

Create a configuration file named commons-values.yaml

Inside the file, paste the following content:

ecrCredentials:
# -- Access Key ID of the AWS IAM User
accessKey: ""
# -- Secret Access Key ID of the AWS IAM User
secretKey: ""

csiDriverSmb:
# -- Install SMB Driver, required for CIFS Mounts
enabled: false

argo-cd:
# -- Install ArgoCD
enabled: true

Fill out the various fields:

  • ecrCredentials should be filled with the Access Key and Secret Key of the AWS IAM user given to you by Smeup.
  • csiDriverSmb.enabled should be set to true only if you need to use CIFS network mounts (e.g., from webup), otherwise leave it as false
  • argo-cd.enabled should be set to true to enable ArgoCD. Set to false only if you want to manage AHD VM from an existing ArgoCD (i.e. from an existing AHD VM with ArgoCD enabled)

Traefik Ingress Controller

info

If you already have a working Ingress Controller inside your cluster, skip this step

If you plan on using Traefik as your Ingress Controller, add the following code to your commons-values.yaml file:

traefik:
install: true
installMiddleware: true
service:
annotations:
service.beta.kubernetes.io/aws-load-balancer-type: nlb
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: <Replace this with your certificate ARN>
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "443,3500"
service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"
  • Replace the service.beta.kubernetes.io/aws-load-balancer-ssl-cert value with the ARN of a certificate relative to the Domain Name that you will use to connect to Data.

4. Install the Latest Version of Commons

Install Commons:

helm install commons smartkit/commons --values commons-values.yaml

5. Validate Installation

Check if everything is working correctly by running k get pod

You should see a pod called commons-ecr-first-job-<random-id> with the Status Completed.

smeup@smartkit:~$ k get pod
NAME READY STATUS RESTARTS AGE
commons-ecr-first-job-zg2cs 0/1 Completed 0 10s
info

If the pod status is Running or Pending, wait a few seconds before trying the k get pod command again.