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
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.