Skip to content

Add greengrassComponentName — the deployment system's one underivable fact - #7

Merged
mbreissi merged 1 commit into
mainfrom
feat/greengrass-component-name
Jul 23, 2026
Merged

Add greengrassComponentName — the deployment system's one underivable fact#7
mbreissi merged 1 commit into
mainfrom
feat/greengrass-component-name

Conversation

@mbreissi

Copy link
Copy Markdown
Contributor

A deployment targeting Greengrass must name each component exactly as published, and that name is not derivable from the catalog name: opcua-adapter publishes as OpcUaAdapter, ethernet-ip-adapter as EthernetIpAdapter.

The registry is the canonical home (it already carries the sibling library packaging coordinate). deployment lock will resolve it from here into the lock file, after which a definition no longer needs an artifact.greengrassName override.

The 9 values are harvested from each component's own recipe.yaml ComponentName — the source of truth — not hand-typed. ec-uns-cmd and ec-secrets publish no Greengrass component; the schema states that omission is legitimate.

⚠️ Pre-existing, unrelated: components.json already fails its own schema — ec-uns-cmd and ec-secrets use category: "tool", which the enum does not allow. This PR adds no new violations (identical error set before and after). Happy to fix separately: either add tool to the enum or recategorise those two.

Companion to edgecommons/edgecommons#63 (the Greengrass renderer).

🤖 Generated with Claude Code

https://claude.ai/code/session_01LsX7cWVGLszurNYMVwMJGo

…fact

A deployment targeting Greengrass must name each component exactly as it
is published - and that name is NOT derivable from the catalog `name`:
`opcua-adapter` publishes as `OpcUaAdapter`, `ethernet-ip-adapter` as
`EthernetIpAdapter`. The registry is the canonical home (it already
carries the sibling `library` packaging coordinate); `deployment lock`
resolves it from here and commits it into the lock, after which a
definition no longer has to carry an override.

The 9 values are harvested from each component's own recipe.yaml
ComponentName - the source of truth - not hand-typed. The two entries
without one (ec-uns-cmd, ec-secrets) publish no Greengrass component,
which the schema states is a legitimate omission.

Note: components.json has two PRE-EXISTING schema violations unrelated
to this change (ec-uns-cmd and ec-secrets use category "tool", which the
schema enum does not allow). This change adds no new violations; the
error set is identical before and after.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsX7cWVGLszurNYMVwMJGo
@mbreissi
mbreissi merged commit 7ed95b9 into main Jul 23, 2026
1 check failed
@mbreissi
mbreissi deleted the feat/greengrass-component-name branch July 23, 2026 14:40
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