Running in air-gapped environments

The Hazelcast Platform Operator can be run in an air-gapped environment without access to the open internet when it is configured not to pull container images from docker.io/hazelcast.

By default, while using the Hazelcast Platform Operator, you don’t need to specify the container images in Hazelcast and Management Center custom resources for any application. The operator automatically sets the correct container image for each application. When running in an air-gapped or offline environment, you have to mirror the official images in a private container image registry. To make use of your mirrored images, you have to set the image for each application explicitly, as shown in the preceding sections.

Setting the image for the Platform Operator

helm install operator hazelcast/hazelcast-platform-operator --version=5.14.0 \
    --set=installCRDs=true \
    --set=image.repository= < PRIVATE_REGISTRY > \
    --set=image.tag= < PRIVATE_TAG > \
    --set=image.pullSecrets= {< REGISTRY-SECRET >}

Setting the image for Hazelcast

apiVersion: hazelcast.com/v1alpha1
kind: Hazelcast
metadata:
  name: hazelcast
spec:
  repository: < PRIVATE_REGISTRY >
  version: < PRIVATE_TAG >
  imagePullSecrets:
    - name: < PRIVATE_REGISTRY-SECRET >

Setting the image for the Sidecar Agent

apiVersion: hazelcast.com/v1alpha1
kind: Hazelcast
metadata:
  name: hazelcast
spec:
  imagePullSecrets:
    - name: < PRIVATE_REGISTRY-SECRET >
  agent:
    repository: < PRIVATE_REGISTRY >
    version: < PRIVATE_TAG >

Setting the image for the Management Center

apiVersion: hazelcast.com/v1alpha1
kind: ManagementCenter
metadata:
  name: managementcenter
spec:
  repository: < PRIVATE_REGISTRY >
  version: < PRIVATE_TAG >
  imagePullSecrets:
    - name: < PRIVATE_REGISTRY-SECRET >

Setting the image for Flow

apiVersion: hazelcast.com/v1alpha1
kind: Flow
metadata:
  name: flow
spec:
  repository: < PRIVATE_REGISTRY >
  version: < PRIVATE_TAG >
  imagePullSecrets:
    - name: < PRIVATE_REGISTRY-SECRET >