Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 28 Next »

You can install Adeptia Connect microservices using Helm Charts. A Helm Chart is a collection of files and templates that describe Kubernetes resources governing the deployment of microservices.

Follow the steps below in the same order to install Adeptia Connect. 

Before you begin to install the application, ensure that you're meeting all the prerequisites and system requirements.

Enabling OCI support in the Helm 3 client

Helm 3 supports Open Container Initiative (OCI) for package distribution. Set the HELM_EXPERIMENTAL_OCI in the environment to enable OCI support in the Helm 3 client by running the following command on the Helm CLI.

export HELM_EXPERIMENTAL_OCI=1

Pulling the Helm chart

On the Helm CLI, run the following command to pull Adeptia Connect Helm chart to your local cache. 

helm chart pull public.ecr.aws/p2x5n4m0/adeptia-connect/helm:Image_tag

Where,

You may be interested in...

You can refer to this page for the links to Adeptia Connect docker images.

Exporting the chart 

Export the pulled chart to a local directory by running the command given below.

helm chart export public.ecr.aws/p2x5n4m0/adeptia-connect/helm:Image_tag --destination ./charts

Where,

  • public.ecr.aws/p2x5n4m0/adeptia-connect/helm:Image_tag is the URL of the repository.
  • charts is the name of the directory where you want to export the chart.

Installing the chart

Before you start the installation, you need to download the values.yaml file and set the following properties related to the database and Secrets in the file.

After setting the values for these properties, run the helm command for installing the application.

Defining the required database properties

PropertyValueDescription
BACKEND_DB_USERNAME<User defined>

Username for your backend database.

If you're using external Secrets, you need not provide a value for this property.

BACKEND_DB_PASSWORD<User defined>

Password for your backend database.

If you're using external Secrets, you need not provide a value for this property.

LOG_DB_USERNAME<User defined>

Username for your log database.

If you're using external Secrets, you need not provide a value for this property.

LOG_DB_PASSWORD<User defined>

Password for your log database.

If you're using external Secrets, you need not provide a value for this property.

LOG_ARCHIVE_DB_PASSWORD<User defined>

Password for your log archive database.

If you're using external Secrets, you need not provide a value for this property.

LOG_ARCHIVE_DB_USERNAME<User defined>

Username for your log archive database.

If you're using external Secrets, you need not provide a value for this property.

QUARTZ_DB_USERNAME<User defined>

Username for your quartz database. This value will be the same as that for the backend database.

If you're using external Secrets, you need not provide a value for this property.

QUARTZ_DB_PASSWORD<User defined>

Password for your quartz database. This value will be the same as that for the backend database.

If you're using external Secrets, you need not provide a value for this property.

BACKEND_DB_URL<User defined>Backend database name and its URL. Currently, only the MS Azure SQL database is certified.

BACKEND_DB_DRIVER_CLASS

com.microsoft.sqlserver.jdbc.SQLServerDriverDriver class name based on the backend db. Do not change the value for this pre-defined property.
BACKEND_DB_TYPESQL-ServerCurrently, only the MS Azure SQL database is certified. Do not change the value for this pre-defined property.
BACKEND_DB_DIALECT org.hibernate.dialect.SQLServer2008DialectCurrently, only the MS Azure SQL database is certified. Do not change the value for this pre-defined property.
LOG_DB_DRIVER_CLASScom.microsoft.sqlserver.jdbc.SQLServerDriver
Driver class name based on the log db. Do not change the value for this pre-defined property.
LOG_DB_URL<User defined>Log database name and its URL. Currently, only the MS Azure SQL database is certified.
LOG_DB_TYPESQL-ServerCurrently, only the MS Azure SQL database is certified. Do not change the value for this pre-defined property.
LOG_DB_DIALECTorg.hibernate.dialect.SQLServer2008DialectCurrently, only the MS Azure SQL database is certified. Do not change the value for this pre-defined property.
LOG_ARCHIVE_DB_URL<User defined>Log archive database name and its URL. Currently, only the MS Azure SQL database is certified.

LOG_ARCHIVE_DB_DRIVER_CLASS

com.microsoft.sqlserver.jdbc.SQLServerDriverDriver class name based on the log archive db. Do not change the value for this pre-defined property.
LOG_ARCHIVE_DB_TYPESQL-ServerCurrently, only the MS Azure SQL database is certified. Do not change the value for this pre-defined property.
LOG_ARCHIVE_DB_DIALECTorg.hibernate.dialect.SQLServer2008DialectCurrently, only the MS Azure SQL database is certified. Do not change the value for this pre-defined property.

QUARTZ_DB_URL

<User defined>Quartz database name and its URL. Currently, only the MS Azure SQL database is certified. This value will be the same as that for the backend database.
QUARTZ_DB_DRIVER_CLASS com.microsoft.sqlserver.jdbc.SQLServerDriverDriver class name based on the quartz db. This value will be the same as that for the backend database.
QUARTZ_DB_TYPE SQL-ServerCurrently, only the MS Azure SQL database is certified. Do not change the value for this pre-defined property.
QUARTZ_DB_DIALECTorg.hibernate.dialect.SQLServer2008DialectCurrently, only the MS Azure SQL database is certified. Do not change the value for this pre-defined property. This value will be the same as that for the backend database.

Defining required Secrets properties

You need to set these properties only when you're using external Secrets. If you're not using external Secrets, skip to the next step.

The following table contains the properties to be set if you're using an external tool such as 'Vault' for managing Secrets. Refer to this page to know more about configuring Secrets. 

PropertyValueDescription
config.image.pullSecret.enabledtrue (Default)

If set to false, external Secrets will be used.

infra.secret.enabledfalse (Default)You'd need to set this value to true to work with external Secrets.
infra.secret.vaultMountPoint
Authentication method that you have created in the external tool.
infra.secret.vaultRole
Role that you've created in the tool.
infra.secret.dbDataFrom
Path of the database Secret created in the tool.
infra.secret.imageDataFrom
Path of the image Secret created in the tool.
infra.secret.env.VAULT_ADDR
URL of the external tool such as Vault.

Running the helm command for installation

Once you've set the properties in values.yaml file, you can run the following command to install the application.

helm install <Name of the release> <Name of the repository> -f <Path of the values.yaml file> -n <Namespace>

For example,

helm install adeptia-connect adeptia -f /home/ec2-user/values.yaml -n devspace

Where,

  • adeptia-connect is the name you want to give to your release.
  • adeptia is path of the application within the adeptia repository.
  • -f denotes file.
  • /home/ec2-user/values.yaml is the path of the values.yaml file.
  • -n denotes Kubernetes namespace.
  • devspace is the Kubernetes Namespace.

This command deploys Adeptia Connect on the Kubernetes cluster with the default configuration.

Once you've completed the deployment, you need to configure your domain specific SSL certificate by using either of the two options:

  • Use Ingress in front of the Gateway service and configure SSL on Ingress.
  • Configure SSL directly on the Gateway service.

To know more about configuring SSL, click here.

Removing the resources if installation fails

If the installation fails for any reason, you need to take the following steps before you reinstall the application.

  1. Check if there is an entry of the release (Name given to the release while installing) in the namespace. Use the following command to check the entry:

    helm list -n <Namespace>
  2. Remove the entry of the release. Use the following command to remove the release.

    helm delete <Name of the release> -n <Namespace>
  3. Remove the resources that were deployed during the failed installation. 
    Ensure that you have removed the following resources before you begin to install the application once again.
    1. Jobs (For example, Migration)
    2. Deployment of the microservices
    3. Secrets
    4. PVC

Uninstalling Adeptia Connect

If you wish to uninstall the application, run the following command.

helm uninstall <adeptia-connect>

Where,

adeptia-connect is name of the deployment.

After the uninstalling is complete, there are some resources that you need to remove from the system manually. The resources on the following list are subject to be deleted manually, and their removal ensures a successful installation of the application in the future.

  • Service Account 
  • Secrets
  • PVC

If you've configured external Secrets, you need to manually delete the Secrets and its deployment after you uninstall the application.
  • No labels