Skip to content

feat: add metadata-service commands#98

Open
synackd wants to merge 12 commits into
mainfrom
feat/metadata-service
Open

feat: add metadata-service commands#98
synackd wants to merge 12 commits into
mainfrom
feat/metadata-service

Conversation

@synackd

@synackd synackd commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator

Description

Add commands that map to the metadata-service API to support interacting with metadata-service through ochami.

Metadata-service commands are all under the metadata top-level command, aliased as md:

  • ochami metadata defaults: handles cluster defaults
  • ochami metadata group: handles cloud-init group templates
  • ochami metadata instance: handles instance info records
  • ochami metadata peer: handles WireGuard peer records
  • ochami metadata service: handles metadata-service status checks

The defaults, group, instance, and peer commands contain add (create), delete, get, list, patch, and set (update) commands. The service command currently contains status.

This also adds metadata-service client wrappers, configuration support for metadata-service service URIs and API versions, and the ochami-metadata(1) manual page. add commands support both single-object and array payloads, with JSON and YAML examples documented in command help and the manual page.

Token handling is enabled and follows the existing ochami service command conventions.

Checklist for Reviewers

  • Verify ochami-metadata(1) manual page is accurate and descriptive
    • make man, man ./ochami-metadata.1
  • Verify ochami metadata <cmd>... --help output is accurate, including examples
  • Verify defaults/group/instance/peer commands accurately and predictably manage their respective resources for each of the subcommand actions.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update

synackd added 11 commits June 3, 2026 11:53
Signed-off-by: Devon Bautista <17506592+synackd@users.noreply.github.com>
Signed-off-by: Devon Bautista <17506592+synackd@users.noreply.github.com>
Signed-off-by: Devon Bautista <17506592+synackd@users.noreply.github.com>
Signed-off-by: Devon Bautista <17506592+synackd@users.noreply.github.com>
Signed-off-by: Devon Bautista <17506592+synackd@users.noreply.github.com>
Signed-off-by: Devon Bautista <17506592+synackd@users.noreply.github.com>
Signed-off-by: Devon Bautista <17506592+synackd@users.noreply.github.com>
Signed-off-by: Devon Bautista <17506592+synackd@users.noreply.github.com>
Signed-off-by: Devon Bautista <17506592+synackd@users.noreply.github.com>
Signed-off-by: Devon Bautista <17506592+synackd@users.noreply.github.com>
Signed-off-by: Devon Bautista <17506592+synackd@users.noreply.github.com>
@synackd synackd added the needs testing Needs more testing before approval label Jun 9, 2026
Signed-off-by: Devon Bautista <17506592+synackd@users.noreply.github.com>
@synackd synackd linked an issue Jun 11, 2026 that may be closed by this pull request
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs testing Needs more testing before approval

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Add metadata-service commands

1 participant