On-Prem Deployment Installation

Application Security Files

For application to run, we need some files for security purpose:

  1. GitHub token from middleware team (to read our images)
  2. Owner login credentials: Set email and password in values as defined in sample file
  3. Create folder structure:
mw-helm/
├── auth/
└── haproxy/
└── values-override.yaml
  1. Private/public key for auth in mw-helm/auth:
# Generate the private key
openssl genrsa -out auth_sign.pem 2048

# Generate the corresponding public key
openssl rsa -in auth_sign.pem -pubout -out auth_sign_public.pem

Put these as values in values-override.yaml as provided in sample 5. SSL certificate for domain which we will put in haproxy and that we will point to middleware:

  • Put in mw-helm/haproxy:
    • mw.crt
    • mw.crt.key

Configuration Files

  • Fill in required details for values as provided in samples:
    • Use values-azure.sample.yaml if you want to use storage as Azure.
    • Use values-aws.sample.yaml if you want to use storage as AWS S3.
    • Put this in mw-helm/values-override.yaml

Helm Registry Login

We need to do helm registry login to ghcr.io where middleware's chart is hosted:

helm registry login ghcr.io

Use username and token provided by middleware's team.

Installation

Once all above steps are done, proceed with installation:

helm install mw oci://ghcr.io/middleware-labs/helm-charts/mw-infra/middleware \
  --namespace mw \
  --create-namespace \
  -f values-override.yaml \
  --set-file secrets.appConfiguration.authKeys.privateKey=./auth/auth_sign.pem \
  --set-file secrets.appConfiguration.authKeys.publicKey=./auth/auth_sign_public.pem \
  --set-file haproxy.ssl.certificate=./haproxy/mw.crt \
  --set-file haproxy.ssl.privateKey=./haproxy/mw.crt.key

Need assistance or want to learn more about Middleware? Contact our support team at [email protected] or join our Slack channel.