azavea / azavea/kubernetes-deployment

Inline infrastructure module and reorganize into core stage

Open
#21 1 comment 0 reactions 0 assignees View on GitHub
kubernetes
Dominant language
HCL
Stars
2
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Issue #1 suggested that the right way to go about architecting this infrastructure was to use a Terraform module to provision an EKS cluster. This was done in #6, but it's unclear if this module structure was a good idea. In particular, because some of the steps to set up the infrastructure require the use of the `kubernetes` Terraform provider, and configuring that provider relies on the output of the EKS module, which creates a circular dependency when using the infrastructure module as currently set up, but not when the same code is inlined (for some idiosyncratic Terraform reason, no doubt), I had to separate the core into the `0-hardware` and `1-services` stages, rather than simply offer a `core` stage. This hasn't been and continues not to be a particularly big deal, but configuring IRSA for some core add-ons (notably EBS CSI, as introduced in #17 / #18) is now split across stages—the add-on is installed in `0-hardware` and the IRSA role is attached in `1-services`. This has a smell, and I think the better way might be to inline the `infrastructure` module code, and merge the two core deployment stages.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the infrastructure module from issue #6 and the split 0-hardware and 1-services stages. Trace the Kubernetes provider dependency and the EBS CSI IRSA changes from issues #17 and #18. Done means the module is inlined, the core stages are merged, and core add-on IRSA configuration no longer spans stages.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, kubernetes, terraform
Domain
cloud, devops, infrastructure
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.