Skip to content

feat(sizing): centralize size profiles across environments#200

Open
rhefner1 wants to merge 3 commits into
masterfrom
feat/size-profiles
Open

feat(sizing): centralize size profiles across environments#200
rhefner1 wants to merge 3 commits into
masterfrom
feat/size-profiles

Conversation

@rhefner1

Copy link
Copy Markdown
Member

Summary

Centralizes deployment sizing behind the size_profile variable (dev / prod-small / prod-large) so a single setting drives metadata DB tier/storage, worker node sizes/counts, observability disk/memory/Tempo ingestion, ingress replicas, and GoodData.CN/subchart sizing across all three environments.

Commits

  • feat(storage): enable volume expansion on AWS gp3 storage classesallow_volume_expansion = true on both gp3 StorageClasses so PVCs can grow in place.
  • docs(examples): document size_profile and standardize tfvars comments — rewrites the size_profile guidance, drops override lines that now default to the profile, and standardizes commented optional settings to a consistent Uncomment to … convention across aws/azure/local.
  • feat(sizing): centralize size_profile into per-env size-profiles.tf — moves all per-profile sizing into a single size-profiles.tf per environment (resolved via locals); replaces the size_profile input to the shared modules with explicit selectors (ingress_replicas, gdcn_size, pulsar_size, observability_size); makes infra override variables default to null so the profile drives them unless explicitly overridden.

Notes

The sizing change is atomic at the Terraform-graph level (variable-signature changes, locals relocation, and call-site rewiring must land together), so it is kept in one commit. The storage and docs changes are independent and split out.

terraform fmt -check -recursive passes.

🤖 Generated with Claude Code

rhefner1 and others added 3 commits June 22, 2026 13:46
Set allow_volume_expansion = true on both gp3 StorageClasses so PVCs can
be grown in place without recreating the underlying volumes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rewrite the size_profile guidance to explain that the profile sets
sensible sizing defaults (metadata DB tier/storage, worker node
sizes/counts, observability disk sizes, and GoodData.CN/subchart sizing)
and drop the override lines that now default to the profile value.

Standardize commented optional settings to a consistent "Uncomment to
..." convention across the aws, azure, and local examples so the intent
of each commented block is unambiguous.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Move all per-profile sizing into a single size-profiles.tf per
environment, resolved through locals: RDS/EKS on AWS, PostgreSQL/AKS on
Azure, CNPG locally, plus the cloud-agnostic observability disk/memory
and Tempo ingestion sizing in the shared module.

Replace the size_profile input to the shared modules with explicit
selectors (ingress_replicas, gdcn_size, pulsar_size, observability_size)
and make the infrastructure override variables (eks/aks node sizing,
rds/postgresql tier and storage) default to null so the chosen profile
drives them unless explicitly overridden.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant