Cloud Native Experience Reference

CNE: AWS Ready - GitOps Infrastructure Configuration Reference

Cloud Native Experience (CNE) uses GitOps to manage infrastructure configuration. These configuration files define environment infrastructure, such as databases, search services, storage, and backup policies.

Infrastructure configuration is stored in the GitOps repository and applied automatically during deployment.

Two configuration files define infrastructure settings:

  • infrastructure.yaml
  • infrastructure-provider.yaml

infrastructure.yaml

infrastructure.yaml defines environment-level infrastructure resources, such as databases, search clusters, backups, and storage regions.

Default file locations

liferay/projects/<projectId>/base/infrastructure.yaml
liferay/projects/<projectId>/environments/<environmentId>/infrastructure.yaml

Example repository structure:

liferay/
└── projects
   └── <projectId>
      ├── base
      │   └── infrastructure.yaml
      └── environments
         └── <environmentId>
               └── infrastructure.yaml

The base configuration applies to all environments. Environment-specific files override the base configuration.

backup

Configures environment backup policies.

FieldDescriptionDefault
enabledDetermines whether backups run for the environment.false
regionAWS region used for backup storage.Set during bootstrap
rulesList of backup rules.

Each rule includes:

FieldDescription
retentionDaysNumber of days backups remain stored.
ruleNameName of the backup rule.
scheduleBackup schedule in cron format.
startWindowMinutes after the scheduled time before the backup job cancels if it has not started.

database

Configures the managed database instance.

FieldDescriptionDefault
engineDatabase engine."postgres"
engineVersionDatabase engine version."16.11"
instanceClassDatabase instance size."db.t3.medium"
regionAWS region used for deployment.Set during bootstrap
storageGBProvisioned storage capacity.20
usernameDatabase administrator username."liferay_database_admin"

Additional fields:

FieldDescriptionDefault
deletionProtectionPrevents resource deletion if infrastructure resources are removed.false
enabledDetermines whether the database resource is created.true

Configures search services.

Two search providers are supported:

  • Elasticsearch (ECK cluster)
  • AWS OpenSearch Service

Elasticsearch

FieldDescriptionDefault
enabledDetermines whether Elasticsearch nodes are created.false
maxMapCountKernel configuration for Elasticsearch memory usage.262144
nodeCountNumber of nodes in the cluster.3
versionElasticsearch version.8.12.0
volumeSizePersistent storage size for each node.10Gi

OpenSearch

FieldDescriptionDefault
engineVersionOpenSearch version."OpenSearch_2.15"
instanceCountNumber of data nodes.1
instanceTypeInstance size."t3.small.search"
regionAWS region used for deployment.Set during bootstrap
usernameAdministrator username."liferay_search_admin"
Note

instanceCount must be a multiple of the number of availability zones.

storage

Defines the region used for object storage.

FieldDescriptionDefault
regionAWS region used for storage services.Set during bootstrap

infrastructure-provider.yaml

infrastructure-provider.yaml defines system-level infrastructure services used by the platform.

Default file location

liferay/system/infrastructure-provider.yaml

Example repository structure:

liferay/
└── system
   └── infrastructure-provider.yaml

eck-operator

Configures the Elastic Cloud on Kubernetes (ECK) operator.

FieldDescriptionDefault
resources.limits.cpuCPU limit.1
resources.limits.memoryMemory limit."512Mi"
resources.requests.cpuCPU request."100m"
resources.requests.memoryMemory request."128Mi"

gateway

Configures the cluster gateway load balancer.

FieldDescriptionDefault
internet-facingDetermines whether the load balancer is public or internal.true