Skip to content
Open
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
0174bad
feat(modules): ecs_cluster + ecs_service ravion_domains for V2 contro…
siddhsuresh May 19, 2026
f0e497a
feat: cluster cert-source toggle + service domains list
siddhsuresh May 20, 2026
6dbc42c
Revert try(..., true) removals from variables.tf files
siddhsuresh May 19, 2026
0da47ca
ecs_service: wrap null-tolerant validations in try() for TF 1.10
siddhsuresh May 20, 2026
a701eb6
ecs_service/locals: wrap remaining null-attribute access in try()
siddhsuresh May 20, 2026
140000c
ecs_service/auto_scaling: try() around null var.auto_scaling.scheduled
siddhsuresh May 20, 2026
06787c5
feat: Update ECS cluster and service modules for Ravion DNS provider …
siddhsuresh May 20, 2026
ac13e1f
feat(ecs_service): per-service cert groups (additive to cluster wildc…
siddhsuresh May 20, 2026
b61ee3c
refactor: clean up comments and improve readability in provider and d…
siddhsuresh May 20, 2026
266f009
ecs_cluster: add ravion_dns_provider_given_id form field
siddhsuresh May 20, 2026
fcc3522
feat(ecs): cluster use_ravion_subdomain + service ravion_auto_subdomain
siddhsuresh May 20, 2026
fce1f27
feat(ecs): address review feedback (Q3+Q4+Q7)
siddhsuresh May 20, 2026
a1a2e69
fix(ecs_cluster): correct ravion dns output name in module.yml
siddhsuresh May 21, 2026
403a18b
fix(ecs_service): guard ravion_auto allocations against missing dns_p…
siddhsuresh May 21, 2026
edd4953
refactor(ravion): extract cert-groups dispatch into shared child module
siddhsuresh May 21, 2026
0f18804
fix(ecs_cluster): cloudflare CNAME ttl=60 to match proxied=false
siddhsuresh May 21, 2026
142e38b
fix(variables): unwrap try(..., true) validation conditions
siddhsuresh May 21, 2026
921e2c2
feat(ecs_cluster): ravion_certificate_groups via shared module (paren…
siddhsuresh May 21, 2026
ed15cd4
feat(ecs_service): cluster_wildcard kind w/ cluster_group_name picker
siddhsuresh May 21, 2026
ebb7196
feat(cert_groups): scaffold `external` kind (validation + check, disp…
siddhsuresh May 21, 2026
8ff8246
chore(locks): drop .terraform.lock.hcl files committed with single-pl…
siddhsuresh May 21, 2026
f9df070
fix(cert_groups): only iterate `customer` groups in DnsProvider data …
siddhsuresh May 21, 2026
3a7aaad
fix(cert_groups): use known group-name keys for parent-mode for_each
siddhsuresh May 21, 2026
4e25d39
fix(cert_groups): drop has_listener/has_target_group gates from for_each
siddhsuresh May 21, 2026
fdafac8
fix(cert_groups): pass allocation id (not managed_domain_id) to ravio…
siddhsuresh May 21, 2026
604ca83
refactor(cert_groups): strip cloudflare_dns_record HCL blocks
siddhsuresh May 21, 2026
2fd60f5
refactor(modules): drop cloudflare/cloudflare HCL provider entirely
siddhsuresh May 21, 2026
970e08a
refactor(cert_groups): drop infra coupling — kind=inherit, parent_gro…
siddhsuresh May 21, 2026
b51b6c0
chore(modules): re-drop .terraform.lock.hcl committed by accident
siddhsuresh May 21, 2026
5192026
feat(cert_groups): TF passes cert_group_name + cert_group_kind on eve…
siddhsuresh May 21, 2026
8a0c03d
feat(cert_groups): cert-group identity on ManagedCertificate (1a pivot)
siddhsuresh May 21, 2026
4361229
fix(cert_groups): plan-stable for_each + nonsensitive provider kind d…
siddhsuresh May 21, 2026
785f6b3
fix(cert_groups): swap each.value.domain_key → each.key in customer v…
siddhsuresh May 21, 2026
e27aec9
feat(cert_groups): add ownership attribute to cert groups and update …
siddhsuresh May 25, 2026
d81a193
feat(static_site): implement existing bucket support and Ravion-domai…
siddhsuresh May 25, 2026
c30f00c
fix(static_site): drop purpose= on ravion_dns_records — unsupported b…
siddhsuresh May 25, 2026
6485253
Revert(static_site): re-add purpose= on ravion_dns_records — v2.5.0 s…
siddhsuresh May 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions _shared/ravion_cert_groups/data.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
################################################################################
# Per-cert-group DnsProvider resolution.
#
# `customer` groups carry their own provider on the row (id or
# given_id; id wins). Non-customer kinds (`ravion_auto`) fall back to
# the cluster's provider (var.ravion_dns_provider_id) so the data
# source still resolves to a usable variant for downstream variant
# dispatch (route53_ravion / route53 / cloudflare).
################################################################################

# Only iterates over groups that need their OWN DnsProvider row.
# `ravion_auto` skips this lookup — it uses data.platform_apex below.
# `inherit` (leaf-mode) skips too — its provider comes from
# var.cluster_groups[group.parent_group_name].dns_provider_id.
# `external` skips entirely — no provider row by definition.
data "ravion_dns_provider" "groups" {
for_each = {
for g in var.cert_groups : g.name => g
if g.kind == "customer"
}

id = coalesce(each.value.dns_provider_id, "") != "" ? each.value.dns_provider_id : null
given_id = (
coalesce(each.value.dns_provider_id, "") == ""
? each.value.dns_provider_given_id
: null
)
}

# Parent mode + kind=ravion_auto looks up the platform-apex DnsProvider
# so the wildcard is allocated under the right zone. Count-gated so
# leaf-mode + non-ravion_auto parent groups don't pay the lookup.
data "ravion_dns_provider" "platform_apex" {
count = var.mode == "parent" && length([for g in var.cert_groups : g if g.kind == "ravion_auto"]) > 0 ? 1 : 0
given_id = var.platform_apex_provider_given_id
}
Loading
Loading