Skip to main content

Setup Platform Installer (Online)

This topic explains how to install the iceDQ platform installer in an online environment.


Before you start

Please ensure that all prerequisites have been met before starting the installation. See the Existing Cluster Install Requirements.

Accessing the Helm Chart Registry

The iceDQ Helm chart is available in the iceDQ's private registry. The iceDQ team will provide you the password.

To log in, use the command below, replacing the email with the one given to the iceDQ team:

helm registry login registry.icedq.com --username <email> --password <strong-password>

Customize the local values file

This installation offers multiple customization options. Use a local values file (named local-values.yaml) for customizations when installing any Helm application.

Ensure your values file configures these essential elements:

At the minimum, your values must configure the following elements:

  • hostDomain
  • postgres database
  • appAdminUser
  • appAdminPassword

Below is an example values file covering these elements:

global:
hostDomain: app.icedq.net
appAdminUser: superuser
appAdminPassword: super-password
tlsCertificate: "WW91IGFyZSBsb29raW5nIGF0IGEgZHVtbXkgY3J0IGZpbGUuIEl0IGlzIGJhc2U2NCBlbmNvZGVkLg=="
tlsKey: "WW91IGFyZSBsb29raW5nIGF0IGEgZHVtbXkgYmFzZTY0IGVuY29kZWQga2V5IGZpbGUu"
database:
type: external
provider: "postgres"
username: "<User-name>"
password: "<Strong-Password>"
host: "test.postgres.database.azure.com"
port: 5432
databaseName: icedq_db
## Enable Kong if you don't have an ingress controller
tags:
enableKong: true
kong:
proxy:
enabled: true
type: "NodePort"
tls:
nodePort: "8443" ## Replace this port number
enabled: true
ingress:
className: "nginx" ## Replace with the name of your ingress class name.
rootCaCertificate: |
IwYDVQQKDBxUb3JhbmEgRW50ZXJwcmlzZXMgUHZ0LiBMdGQuMQ8wDQYDVQQDDAZU
JrOq0WUrzJY0mb/JV1Shg5x08Vf/IvIJhriDG7ldt9JqqCVaXMQ0szBTBxAQGw2e
D4Z7cyrtWPd9o2TX
-----END CERTIFICATE-----
## Only if you want to use an existing storage class and persistent volume. Configure only storage class if you want to provision a new peristent volume.
pvc:
#storageClassName: Provide the existing storage class. Keep empty to create new one automatically.
storageClassName: "azurefile-csi"
storageSize: "200Gi"
#volumeName: If a persistent volume has been created using the storage class mentioned above, please provide the name of that persistent volume.
volumeName: ""
volumeprovisioner:
storage:
# type is field to configure either azure-files/aws-efs/embedded-nfs-provisioner. The embedded-nfs-provisioner is the embedded volume provisioner. The aws-efs is the AWS EFS file system.
# none - if you already have your storage class created in your cluster. Specify the class name under pvc>storageClassName
type: "none"

Preflight Checks

IMPORTANT

Preflight checks are critical for a successful installation. The following rules apply:

  • Preflight Check Failures: If preflight checks fails, the installation must not continue until the targeted environment meets all requirements. Please reach out to our support team.
  • Preflight Check Warnings: If preflight checks return warnings, the installation can proceed, but it is recommended that you address these warnings to comply with our recommendations.
  • **Install preflight **
curl https://krew.sh/preflight | bash
  • Run the pre-flight check
helm template oci://registry.icedq.com/icedq/stable/icedq | kubectl preflight -

Install the application

helm install <release-name> --timeout 30m -n icedq --create-namespace oci://registry.icedq.com/icedq/stable/icedq -f local-values.yaml

Example Usage:

helm install icedq --timeout 30m -n icedq --create-namespace oci://registry.icedq.com/icedq/stable/icedq -f local-values.yaml

Verify the installation

Upon successful installation, you should see the following output:

NOTES:
To access the Application use below URL:
https://app.icedq.net

You can get the first user credentials with below commands:

Username: kubectl get secrets icedq-keycloak -o jsonpath="{.data.APP_USER}" | base64 --decode && echo
Password: kubectl get secrets icedq-keycloak -o jsonpath="{.data.APP_USER_PASSWORD}" | base64 --decode && echo

These notes can later be retrieved with helm get notes <release-name>

If you opt to install an embedded database it will include the commands to get the database credentials as well.

Once all the pods are in running state, you can start using the application.