CNE AWS Ready: Bootstrapping Your Initial Environment
After completing the prerequisites, run the Cloud Native Experience (CNE) bootstrap process. This step provisions the AWS infrastructure, configures GitOps synchronization, and deploys the Liferay platform.
Initial Cloud Native Experience (CNE) provisioning can take 45–70 minutes to complete.
The bootstrap process provisions several AWS-managed services through Crossplane. The longest steps are typically:
- OpenSearch provisioning (up to ~30 minutes)
- Amazon RDS database provisioning (up to ~20 minutes)
These services run in parallel but must both complete before the LiferayInfrastructure resource reports Healthy, which allows the Liferay application to start with valid connection details.
Do not interrupt the bootstrap process during this time.
For your first Cloud Native deployment, run the bootstrap process with the default configuration before modifying any Terraform or Helm values.
This initial deployment helps you become familiar with the Cloud Native tooling, including Terraform, Argo CD, and the GitOps workflow.
After reviewing the environment and understanding the deployment process, tear down the environment and run the bootstrap again with the configuration required for your production deployment.
Authenticate Your Local Environment
Before running the script, authenticate your terminal with your AWS account.
-
Configure an AWS CLI profile if you have not already done so:
aws configure sso -
Authenticate with your AWS account:
export AWS_PROFILE=[your-profile-name] aws sso login
Prepare the Bootstrap Directory
Download and unzip the Cloud Native Experience bootstrap archive provided by Liferay. Open a terminal and navigate to the root directory of the extracted archive.
Configure the Bootstrap
The config.json file defines how the bootstrap process provisions your environment.
Open config.json and verify the required variables:
{
"provider": "aws",
"variables": {
"deployment_name": "clarity",
"liferay_git_repo_url": "https://github.com/clarity/acme-gitops",
"liferay_helm_chart_version": "0.1.90",
"region": "us-west-2"
}
}
| Variable | Description |
|---|---|
deployment_name | Identifier used to name infrastructure resources. |
liferay_git_repo_url | URL of the GitOps repository created during the prerequisites. |
liferay_helm_chart_version | Version of the Liferay Helm chart to deploy. |
region | AWS region where infrastructure will be created. |
If liferay_helm_chart_version is not explicitly set, the bootstrap process provisions the environment using the most recently available Liferay Helm chart version.
Run the Bootstrap Script
From the root directory of the extracted archive, execute the bootstrap script with your configuration file:
./cloud/scripts/setup_aws.sh ./config.json
During execution, the script prompts you to confirm infrastructure creation for:
- EKS – Kubernetes cluster
- GitOps Platform – Argo CD and supporting services
- GitOps Resources – Liferay and its dependencies
Executing the bootstrap script downloads the bootstrap resources to a temporary directory on your system (TEMPDIR, e.g., /tmp on MacOS/Linux). Advanced users can inspect or customize the Terraform resources and provisioning scripts in the extracted folder. After making changes, re-run the bootstrap script with your config.json to apply updates.
If the process fails due to network or authentication issues, run the same command again to resume provisioning.
After the script completes, you can access Argo CD to verify and manage your deployment.
Access Argo CD
When the bootstrap process completes, the script prints the Argo CD administrator password and starts a port-forward.
To access Argo CD, open http://localhost:8080 in your browser.
Log in with:
Username: admin
Password: [see terminal output]
If you close the terminal and want to access Argo CD again, run:
kubectl port-forward service/argocd-server 8080:443 \
--namespace argocd-system
To retrieve the initial administrator password again, run:
kubectl -n argocd-system get secret argocd-initial-admin-secret \
-o jsonpath="{.data.password}" | base64 --decode
Once the applications reach Healthy and Synced status in Argo CD, the Cloud Native Experience environment is fully provisioned. The AWS infrastructure, Kubernetes cluster, and Liferay platform are now running and managed through GitOps.
Continue with Configuring the Cloud Native Experience.