Repository navigation
Conversation
…ned playground draft
- inputs follow the order of the setup steps; root_folder_name sits after stackit_org
- use_global_location defaults to true
- descriptions name the deployment service account consistently
- tags carry no defaults; project_owner_tag_key is optional, null or empty sets no owner tag
(default_tags is removed)
- imports titles are the keys; imports.platform becomes the boolean imports.adopt_platform
BREAKING CHANGE: send imports.adopt_platform = true instead of imports.platform = {}; the
default_tags variable is gone.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…o role_mapping role_mapping becomes an object of admin, user and reader with organization_onboarding, which defaults to true, so an existing building block keeps onboarding users. BREAKING CHANGE: drop the stackit_organization_onboarding_enabled input; set role_mapping.organization_onboarding instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…in display order Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…onal inputs bbd_input_order reports a definition whose inputs or buildingblock variables are not in display order. bbd_optional_input_default reports an optional input whose variable has no default or whose code treats "" as unset, since meshStack sends nothing for an empty optional input. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…at order The runner writes an empty input as null, so a variable default never applies. A buildingblock variable fed by an input has no default: an input with a sane default is required and carries it in default_value with a nullable = false variable, and an optional input is nullable and checked only for null. bbd_input_defaults replaces bbd_optional_over_default and bbd_optional_input_default. The STACKIT landing zone follows it: root_folder_name, network and imports lose their null default. Its playground_mode becomes a user input, default false, and a terraform_data pin fails any run that changes it after the order; deletion still works. BREAKING CHANGE: the playground_mode variable of the landing zone module is gone; send playground_mode as a building block input. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… an order form input Starterkit Approval Policies becomes a JSON user input with all gates off by default. Generated inputs follow the user inputs and hub comes last, which bbd_input_order now reports too. BREAKING CHANGE: the starterkit_approval_policies variable of the landing zone module is gone; send it as a building block input. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Scorecard Check
📊 meshstack-hub Reference Architecture Scorecard
📋 Per-Reference Architecture Category SummaryScore per category per reference architecture.
Shared Practices — some checks failingPractices modules and reference architectures share — applies to 1 reference architectures
Shared Practices — Summary
Reference Architecture — ✅ all passingHow a reference architecture orders and documents its building blocks — applies to 1 reference architectures
Reference Architecture — Summary
Testing — ✅ all passingEnd-to-end test coverage — applies to 1 reference architectures
Testing — Summary
|
The provider rejects a description over 255 characters at plan time. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…f the landing zone
- Inputs and buildingblock variables are declared in display order, steps of 10; generated inputs
and then hub come last, in the outer and in the nested definition.
- The definition owns input defaults: fed variables have no default, optional inputs are nullable
and only null means unset (cluster_name, dns_subdomain no longer handle "").
- playground_mode is an order form input, off by default, and a terraform_data pin fails a run
that changes it after the order.
- approval_policies and starterkit_approval_policies are JSON order form inputs for the registered
definitions; the approval_policies variable keeps the gates of this definition.
- tags and stages are JSON inputs built from {key, values} lists, quota_definitions and imports
are JSON with schemas whose titles are the keys.
- imports.ske = {} and imports.ingress = {} become imports.adopt_ske and imports.adopt_ingress.
- Imports and Import Secrets are hidden in playground mode.
- project_owner_tag_key is optional; null sets no owner tag.
BREAKING CHANGE: callers send playground_mode, approval_policies and
starterkit_approval_policies as building block inputs, tags and stages as lists, adopt_ske and
adopt_ingress instead of ske = {} and ingress = {}, and null instead of "" for
project_owner_tag_key. The module variables playground_mode and starterkit_approval_policies are
gone.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
bcf8748 to
47896f2
Compare
|
5944d3b to
554c2b5
Compare
|
Merged into #425, which now carries these commits. |



Stacked on #425: the base is
feature/ske-ref-arch-migration-lz-form. Draft until #425 merges.The STACKIT Kubernetes Platform order form follows the rules #425 set for the STACKIT Landing Zone.
starterkit_add_random_name_suffixandplatform_engineer_role_mapping, the generated workspace, creator and workspace members, andhublast. The order follows the playground draft tuned in meshPanel. The nested Platform Services definition has display orders too.meshstack_integration.tffiles and the variables in bothbuildingblock/variables.tfare declared in display order.cluster_nameanddns_subdomainno longer handle"".terraform_datapin from feat(ref-arch)!: order forms of the STACKIT Landing Zone and Kubernetes Platform #425 fails a run that changes it after the order.approval_policiesvariable now sets only the gates of this definition.{key, values}lists; stages are a list with aname. The buildingblock folds them back into maps, so the nested building block gets the same values as before.imports.ske = {}andimports.ingress = {}becomeimports.adopt_skeandimports.adopt_ingress.!input.playground_mode); meshStack accepts the condition.project_owner_tag_keyis optional; null sets no owner tag, through toske-starterkit.Breaking:
playground_mode,approval_policiesandstarterkit_approval_policiesas building block inputs. The module variablesplayground_modeandstarterkit_approval_policiesare gone.adopt_ske/adopt_ingress = trueinstead ofske/ingress = {}, and leave outproject_owner_tag_keyinstead of sending"".jsonencode(null)included.Verified:
tofu validatepasses in the outer and nested directories. Scorecard:bbd_input_orderandbbd_input_defaultspass. ICF's and LCF'sske/platformunits plan0 to add, 2 to change, 0 to destroyagainst this branch, only the definition and the building block inputs change. TCF plans the first creation.🤖 Generated with Claude Code