Joget DX 8 Stable Released
The stable release for Joget DX 8 is now available, with a focus on UX and Governance.
English |
---|
The following guide will show steps to deploy Joget on EKS using Terraform |
Table of Contents |
---|
Disclaimer: The Terraform code provisions the minimum required infrastructure. You may have to modify some of the parameters to ensure that it is working works in your environment. You may refer to the official AWS and Hashicorp documentation for more details
...
Code Block | ||
---|---|---|
| ||
app_name= |
...
"<your-app- |
...
name> |
terraform init
terraform plan
to observe the resources that will be deployed (optional)terraform apply -auto-approve
infrastructure
directory and open main.tf
...
Code Block | ||
---|---|---|
| ||
backend "s3" { |
...
bucket = "xxx" |
...
key = "terraform.infrastructure.tfstate" |
...
region = "xxx" |
...
dynamodb_table = "xxx" } |
...
...
Note: This process will create a local Terraform state. The remote state will only apply for infrastructure infrastructure.
terraform.tfvars
file and ensure the following variables are includedCode Block | ||
---|---|---|
| ||
app_name=”<your-app-name>” |
...
cluster_name=”<your-eks-cluster-name>” |
...
rds_username=”<your-rds-username>” |
...
rds_password=”<your-rds-password>” |
terraform init
terraform plan
to observe the resources that will be deployed (optional)terraform apply -auto-approve
Note: This step will take some time, around 20-30 minutes.
These are the core services and resources (non exhaustive) list deployed from Terraform:
kubectl apply -f joget-dx8-tomcat9-deployment.yaml
kubectl get pods -A
to obtain the status of the pods.Note: The manifest file creates a Storage Class with EFS CSI as provisioner which will dynamically create a Persistent Volume.
kubectl get ingress -A
. You should see the DNS under Address column like soas follows:Code Block | ||
---|---|---|
| ||
k8s-namespace-RANDOM-STRING.REGION.elb.amazonaws.com |
/jw
. It will redirect you to the database setup.Note: The Terraform IaC has RDS Aurora Serverless included in the Infrastructure, and as such, it will be deployed alongside the EKS. You may use the RDS to better synergize with the VPC configuration. Ensure that you use the writer endpoint when setting up Joget database
aws_auth_users= [
...
{
...
userarn = "arn:aws:iam::<account-id>:user/<username>"
...
username = "<username>"
...
groups = ["system:masters"]
...
}
...
]
If you are using roles, you may append the aws_auth_roles block like so:
{
...
rolearn = “arn:aws:iam::<account-id>:role/<role-name>”
...
username = "<role-name>"
...
groups = ["system:masters"]
...
}