Skip to content

feat(umbrella): spec.enabled - deploy any component subset (transitive dep closure)#26

Merged
braghettos merged 1 commit into
mainfrom
feat/umbrella-subset
Jun 11, 2026
Merged

feat(umbrella): spec.enabled - deploy any component subset (transitive dep closure)#26
braghettos merged 1 commit into
mainfrom
feat/umbrella-subset

Conversation

@braghettos

Copy link
Copy Markdown
Owner

The umbrella only had profile: identity|full (full = all 34 services). Adds spec.enabled: an explicit component list that overrides profile and is expanded to its transitive dependency closure, so enabled: [heat] emits exactly heat + keystone + rabbitmq + mariadb + memcached.

  • osh.selected helper computes the closure (or falls back to profile/tier gating).
  • definitions.yaml + compositions.yaml gate on the selected set.
  • enabled on values + schema (array|null) + README example.

Validated: enabled=[heat]→5-chain, enabled=[nova]→10-component closure, profile identity=5/full=34; lint clean; deterministic.

🤖 Generated with Claude Code

…e dep closure)

The orchestrator only had profile identity|full (full = all 34 services). Add an
explicit selector: spec.enabled is a list of component names that overrides profile
and is expanded to its transitive dependency closure, so e.g. enabled:[heat] emits
exactly heat + keystone + rabbitmq + mariadb + memcached (and nothing else). Lets the
umbrella deploy a small chain on a small cluster while staying the real orchestrator.

- _helpers.tpl: osh.selected computes the closure (or falls back to profile/tier).
- definitions.yaml + compositions.yaml gate on the selected set.
- values.yaml: enabled (null default -> profile mode); values.schema.json: enabled
  array|null on the Openstack spec; README example.

Validated: enabled=[heat] -> 5-chain; enabled=[nova] -> 10-component closure;
profile identity=5 / full=34; lint clean; deterministic.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@braghettos braghettos merged commit c8f0565 into main Jun 11, 2026
1 check passed
@braghettos braghettos deleted the feat/umbrella-subset branch June 11, 2026 14:48
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