Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

Provisioning with custom versions of images or helm charts

NOTE: Check that you're in release branch (example release/0.22). Master branch can be unstable due to development.

This example illustrates how to install OSDU instance with specific versions of release images or helm charts on Baremetal Environment.

Some possible use-cases:

  • You installed OSDU instance with release version 0.18, and you need to deploy specific OSDU Service(s) with a new (or a previous) image version (with some fixes, for example)
  • You installed OSDU instance with release version 0.18, and you need to deploy specific OSDU Service(s) with a new (or a previous) helm chart version (with some fixes, for example)

Installation with custom versions of images

Download the following files:

  • custom-values.yaml
  • custom-images.yaml

Create a separate directory

mkdir osdu-baremetal-custom-versions && cd osdu-baremetal-custom-versions

To determine the latest release version, run the following command:

tag=$(git ls-remote --tags https://community.opengroup.org/osdu/platform/deployment-and-operations/infra-gcp-provisioning.git | awk '{print $2}' | cut -d '/' -f 3 | cut -d 'v' -f2 | cut -d . -f1-2 | sort -V | tail -n 1)

For custom version of release, you need to redefine the tag you need, example: tag=0.22

tag=<put your version here>

After we have written the required value in the variable, execute the following command:

echo "tag: "$tag &&
curl -LO https://community.opengroup.org/osdu/platform/deployment-and-operations/infra-gcp-provisioning/-/raw/release/$tag/examples/osdu-baremetal-custom-versions/custom-values.yaml &&
curl -LO https://community.opengroup.org/osdu/platform/deployment-and-operations/infra-gcp-provisioning/-/raw/release/$tag/examples/osdu-baremetal-custom-versions/custom-images.yaml

To override versions of images that is set in Services helm charts' with custom-images.yaml fill in the required values as described in the example:

# Example how to override a current version of image for Legal Service and set it to `v0.19.0`
gc_legal_deploy:
  data:
    image: "community.opengroup.org:5555/osdu/platform/security-and-compliance/legal/gc-legal:v0.19.0"
    bootstrapImage: "community.opengroup.org:5555/osdu/platform/security-and-compliance/legal/gc-bootstrap-legal:v0.19.0"

# Example how to override a current version of image for File Service and set it to `v0.19.0`
gc_file_deploy:
  data:
    image: "community.opengroup.org:5555/osdu/platform/system/file/gc-file:v0.19.0"

custom-images.yaml is an extendible file. If you need to change images for a set of Services, you should add required values for the set of Services there.

The command for deploying with custom-images.yaml:

helm install -f custom-images.yaml osdu-baremetal osdu-baremetal oci://community.opengroup.org:5555/osdu/platform/deployment-and-operations/infra-gcp-provisioning/gc-helm/osdu-gc-baremetal

Installation with custom values and custom versions of images

It is possible to override main values.yaml 1 with custom-values.yaml and custom-images.yaml.

Prepare custom-values.yaml file by example. It is needed to use only alphanumerical characters and at least 8 symbols for passwords.

Name Description Type Default Required
global.domain 2 DNS name for OSDU installation string none yes
keycloak.auth.adminPassword Password for keycloak admin user string none yes
minio.auth.rootPassword Password for minio root user string none yes
postgresql.global.postgresql.auth.postgresPassword Password for postgres database string none yes
airflow-database-password Password for airflow database string none yes
airflow.auth.password Password for airflow admin user string none yes
rabbitmq.auth.password Password for rabbitmq admin user string none yes
elasticsearch.security.elasticPassword Password for ElasticSearch instance string none yes

NOTE:

  • Starting from version 0.24.x, we've stopped using the Policy service to validate requests from other services by default. To change this behavior you need to set policy_enabled variable to true.

  • Parameter that enables upload of the sample storage data data_bootstrap_enabled No longer supported in with basic installation, use a separate helm to load the date Data Bootstrap Helm Chart

  • gc_storage_deploy.data.opaEnabled

  • gc_search_deploy.data.servicePolicyEnabled

To install helm chart use the command:

helm install -f custom-values.yaml -f custom-images.yaml osdu-baremetal oci://community.opengroup.org:5555/osdu/platform/deployment-and-operations/infra-gcp-provisioning/gc-helm/osdu-gc-baremetal

Installation with custom version of Helm chart

To install the Helm chart of a specific version(for example 0.19.3) use the --version flag:

helm install osdu-baremetal oci://community.opengroup.org:5555/osdu/platform/deployment-and-operations/infra-gcp-provisioning/gc-helm/osdu-gc-baremetal --version 0.19.3

To install the Helm chart with the latest patch of a specific version(for example 0.19) use the following command:

helm install osdu-baremetal oci://community.opengroup.org:5555/osdu/platform/deployment-and-operations/infra-gcp-provisioning/gc-helm/osdu-gc-baremetal --version 0.19.x

All available versions can be found here.

  1. Minio, by default, uses the Single-Node Single-Drive ("Standalone") mode without Persistent Volumes. To use the Multi-Node Multi-Drive ("Distributed") mode, change the mode variable to "distributed" in the values.yaml file.

  2. If you do not have a domain name you can use "<loadBalancerIP>.nip.io" as your domain name. LoadBalancerIP could be found with the command: kubectl -n istio-gateway get svc istio-ingressgateway -o jsonpath={.status.loadBalancer.ingress[].ip} You can find more information about using nip.io as a domain here