jenkins-x/jx

Manual Cloud Infrastructure (AWS)

dcshiman opened this issue · 1 comments

I have an existing cloud infrastructure created with terraform & terragrunt. Is it necessary to create my cloud infrastructure using jx3-gitops-repositories/jx3-terraform-eks or I can just clone https://github.com/jx3-gitops-repositories/jx3-eks-vault and pass in the necessary values ?

my infrastructure already has cert manager and nginx installed. I have searched for any guide to do manual setup, but was not able to find one, if anyone can direct me to a guide which can help me to do manual setup on my own ?

Going through github.com/jenkins-x/terraform-aws-eks-jx I have found theses are the required modules

There are few reasons why I want setup my infrastructure independently.

  • My cluster is in IPV6 EKS v1.23 which requires nginx controller to be configured to handle traffic to node target as ip
  • I am using EKS managed node group with bottlerocket AMIs (arm 64)
  • I am using terraform-aws-modules/eks/aws version ~> 18.0
  • and in my experience (moving from terraform-aws-modules/eks/aws v17 to v18) has alot of breaking changes. Having a huge terraform template with so many modules in one repo like https://github.com/jenkins-x/terraform-aws-eks-jx couple too many modules together. Rather I find having separate terraform templates for each module and applying the templates using terragrunt makes is much easier to manage and upgrade.

We have an option to install jx in an existing cluster using create_eks and create_vpc set to false.
See: https://github.com/jenkins-x/terraform-aws-eks-jx#existing-vpc and https://github.com/jenkins-x/terraform-aws-eks-jx#existing-eks-cluster

Since you have cert manager installed already, you can remove the cert manager and nginx installed, you can remove these charts from the helmfile: https://github.com/jx3-gitops-repositories/jx3-eks-vault/blob/29d7396eb33266a5e81442e4082f806a6e7c11e8/helmfile.yaml#L3 and https://github.com/jx3-gitops-repositories/jx3-eks-vault/blob/29d7396eb33266a5e81442e4082f806a6e7c11e8/helmfile.yaml#L6

The one thing where things will fail for you is arm support. Most Jenkins X images are built only for amd64 platform, but we have a ticket tracking arm support: #8411