Skip to content

Metaldata Proposal#4

Open
maxmoehl wants to merge 2 commits intomainfrom
maxmoehl/metaldata
Open

Metaldata Proposal#4
maxmoehl wants to merge 2 commits intomainfrom
maxmoehl/metaldata

Conversation

@maxmoehl
Copy link
Copy Markdown
Member

No description provided.

@maxmoehl maxmoehl self-assigned this Mar 30, 2026
@maxmoehl maxmoehl requested review from afritzler and hardikdr March 30, 2026 14:27
@hardikdr hardikdr added this to Roadmap Mar 31, 2026
Copy link
Copy Markdown
Member

@hardikdr hardikdr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @maxmoehl
I had a quick first pass and have dropped a few comments inline.


### Data Source

The top-level keys are populated based on the annotations and labels of the
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any specific reason for including both labels and annotations? Could we use only either of them, to avoid extra logic to prevent duplicated entries?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You will probably have labels for being able to include things like topology information, but on the other hand you also have data that does not fit the restricted format of labels und thus have to go into an annotation (e.g. IPv6 addresses).

included in the field `server-name`. Specifying an annotation or label with
that key overwrites it with the given value.

For data that is common among all servers the operator can define static
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we simplify this statement, with an example, maybe I couldn't understand it.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An example would be the region or zone, which is the same of all servers inside a cluster.


### Metaldata API

To retrieve data from a local metadata server, clients rely on DNS to resolve to
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should also support hard-coded reserved IP to avoid dependency on functional DNS imo.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Magic IPs are rather something for virtualized environments in which you can have SDN mangle the request. But in our bare-metal hardware setup we have to work with a real network which makes DNS the natural choice. In the end, you can also specify the IP address, it's up to the client how to discover the address of the server.


### Metal-API Changes

As outlined earlier we will have to add support for a user-data secret to the
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We might want to quickly think, if there are any potential overlaps with the ongoing efforts related to ServerMetadata.
Ref: https://github.com/ironcore-dev/metal-operator/pull/762/changes

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some touch-points but these two efforts are mostly separate. Metaldata consumes that information but supplying user-data is a separate concern which should be a property of the claim.


### Non-Goals

`¯\_(ツ)_/¯`
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👀

@maxmoehl maxmoehl requested review from afritzler and hardikdr March 31, 2026 12:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

3 participants