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.yamlinfrastructure-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.
| Field | Description | Default |
|---|---|---|
enabled | Determines whether backups run for the environment. | false |
region | AWS region used for backup storage. | Set during bootstrap |
rules | List of backup rules. | — |
Each rule includes:
| Field | Description |
|---|---|
retentionDays | Number of days backups remain stored. |
ruleName | Name of the backup rule. |
schedule | Backup schedule in cron format. |
startWindow | Minutes after the scheduled time before the backup job cancels if it has not started. |
database
Configures the managed database instance.
| Field | Description | Default |
|---|---|---|
engine | Database engine. | "postgres" |
engineVersion | Database engine version. | "16.11" |
instanceClass | Database instance size. | "db.t3.medium" |
region | AWS region used for deployment. | Set during bootstrap |
storageGB | Provisioned storage capacity. | 20 |
username | Database administrator username. | "liferay_database_admin" |
Additional fields:
| Field | Description | Default |
|---|---|---|
deletionProtection | Prevents resource deletion if infrastructure resources are removed. | false |
enabled | Determines whether the database resource is created. | true |
search
Configures search services.
Two search providers are supported:
- Elasticsearch (ECK cluster)
- AWS OpenSearch Service
Elasticsearch
| Field | Description | Default |
|---|---|---|
enabled | Determines whether Elasticsearch nodes are created. | false |
maxMapCount | Kernel configuration for Elasticsearch memory usage. | 262144 |
nodeCount | Number of nodes in the cluster. | 3 |
version | Elasticsearch version. | 8.12.0 |
volumeSize | Persistent storage size for each node. | 10Gi |
OpenSearch
| Field | Description | Default |
|---|---|---|
engineVersion | OpenSearch version. | "OpenSearch_2.15" |
instanceCount | Number of data nodes. | 1 |
instanceType | Instance size. | "t3.small.search" |
region | AWS region used for deployment. | Set during bootstrap |
username | Administrator username. | "liferay_search_admin" |
instanceCount must be a multiple of the number of availability zones.
storage
Defines the region used for object storage.
| Field | Description | Default |
|---|---|---|
region | AWS 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.
| Field | Description | Default |
|---|---|---|
resources.limits.cpu | CPU limit. | 1 |
resources.limits.memory | Memory limit. | "512Mi" |
resources.requests.cpu | CPU request. | "100m" |
resources.requests.memory | Memory request. | "128Mi" |
gateway
Configures the cluster gateway load balancer.
| Field | Description | Default |
|---|---|---|
internet-facing | Determines whether the load balancer is public or internal. | true |