Skip to content

feat: embed app registry at build time#18

Open
d-buckner wants to merge 1 commit intomainfrom
embed-app-registry
Open

feat: embed app registry at build time#18
d-buckner wants to merge 1 commit intomainfrom
embed-app-registry

Conversation

@d-buckner
Copy link
Copy Markdown
Owner

Summary

  • Add apps/registry.go with //go:embed */metadata.yaml and */icon.png — all app metadata and icons are now embedded into the host-agent binary at compile time
  • Switch catalog.Loader to use io/fs.FS internally; add NewLoaderFromFS constructor for the embedded FS, keeping NewLoader(dir) for tests
  • Server and configure subcommand use the embedded registry instead of reading from a runtime appsDir path
  • Icon serving reads from the embedded FS instead of the filesystem
  • Remove AppsDir from Config and ServerConfig — no longer needed at runtime
  • Remove step 4 ("Register in appconfig/register.go") from the adding-apps docs in README

Test plan

  • All Go tests pass (pre-commit hook confirmed)
  • ./bloud smoke --build end-to-end validation

App metadata and icons are now embedded directly into the host-agent binary
via go:embed, eliminating the runtime dependency on the apps/ directory.

- Add apps/registry.go with //go:embed */metadata.yaml and */icon.png
- Switch catalog.Loader to use io/fs.FS internally; add NewLoaderFromFS
- Server and configure subcommand use embedded registry instead of appsDir
- Icon serving reads from embedded FS instead of filesystem
- Remove AppsDir from Config and ServerConfig (no longer needed)
- Update tests to reflect embedded catalog behavior
- Remove manual appconfig/register.go step from adding-app docs
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