vectordotdev / vector

A high-performance observability data pipeline.
https://vector.dev
Mozilla Public License 2.0
18.29k stars 1.61k forks source link

Support renaming components #8119

Open shousper opened 3 years ago

shousper commented 3 years ago

Current Vector Version

v0.14.0

Use-cases

Changing the name of components to be more specific or appropriate. Mostly so metrics & logs can reflect accurately what is happening with which component, and what that component relates to in your configuration.

My specific case is naively naming certain components very generically, and now that we're adding more it'll become.. awkward to identify which components relate to one pipeline or another.

Attempted Solutions

None.

I think maybe I could try scaling the entirely DaemonSet to zero, manually starting a pod & mounting the vector volumes to it in order to update the checkpoint files, before scaling the DaemonSet back up. However that seems quite risky and I'm unfamiliar with how it all works.

Proposal

Add a configuration property on sinks & sources called alias to specify the previous name of a component. This could then be used on startup (or reload) to "migrate" any necessary state information across to the new name. Afterwards, you should then remove this property from the configuration.

I'm borrowing the idea from how Pulumi handles renaming of resources.

References

I couldn't find any 😞

jszwedko commented 3 years ago

Thanks @shousper ! I do like the aliases idea.