Skip to content

SMOODEV-1524: ESO manifest generator#103

Merged
brentrager merged 1 commit into
mainfrom
SMOODEV-1524-eso-generator
Jun 2, 2026
Merged

SMOODEV-1524: ESO manifest generator#103
brentrager merged 1 commit into
mainfrom
SMOODEV-1524-eso-generator

Conversation

@brentrager

Copy link
Copy Markdown
Contributor

Adds @smooai/config/eso-manifests: buildClusterSecretStore() (webhook → real api.smoo.ai config-values endpoint, org+env baked, bearer from the refresher's bootstrap Secret) and buildExternalSecret() (secret-tier config keys → env-var names, snakecase default + overrides, dupe guard, distinct target-Secret-name for safe migration). Pure data objects; 12 unit tests.

Epic SMOODEV-1522 · consumed by smooai under SMOODEV-1525.

🤖 Generated with Claude Code

@brentrager brentrager enabled auto-merge (squash) June 2, 2026 19:09
@changeset-bot

changeset-bot Bot commented Jun 2, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 1b293d0

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@smooai/config Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Emit the two ESO resources that let a workload pull secrets from api.smoo.ai
instead of Pulumi-baking them at SST deploy time:

- buildClusterSecretStore(): ClusterSecretStore whose webhook points at the REAL
  config-values endpoint (GET /organizations/{org}/config/values/{key}
  ?environment={env} -> {value}, jsonPath $.value), org+env baked into the URL,
  bearer from the bootstrap Secret the eso-refresher (1523) keeps fresh. Never
  the hallucinated config.smoo.ai.
- buildExternalSecret(): per-workload ExternalSecret mapping secret-tier config
  keys -> env-var names (UPPER_SNAKE_CASE default + explicit overrides like
  DASHSCOPE_API_KEY <- alibabaModelStudioApiKey), with duplicate-env-var guard
  and distinct target-Secret-name support for safe migration.

Pure data (cdk8s/ArgoCD/kubectl all accept the objects). 12 unit tests.
Epic SMOODEV-1522; consumed by smooai under SMOODEV-1525.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@brentrager brentrager force-pushed the SMOODEV-1524-eso-generator branch from 87e212d to 1b293d0 Compare June 2, 2026 19:17
@brentrager brentrager merged commit bb64793 into main Jun 2, 2026
1 check passed
@brentrager brentrager deleted the SMOODEV-1524-eso-generator branch June 2, 2026 19:17
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