Skip to content

Enable loading existing ConfigMaps by label #522

@jusch23

Description

@jusch23

At the moment (chart version 0.48.0) the vector configuration can only be defined by customConfig and existingConfigMaps parameter. The existingConfigMaps parameter is a defined list of ConfigMaps that have to exist in vector namespace. I would like to select existing ConfigMaps by label.

I have already experimented with adding an extra container using the k8s-sidecar image (see #281 (comment)) to load existing ConfigMaps. In my view, the only thing that is missing to achieve this behaviour is the ability to configure an empty config directory as emptyDir.

There are multiple ways to implement this; for now, I can think of two ways I would try to do this:

  1. introducing a helm value like "emptyConfig: false", which can be enabled and sets the config volume as an emptyDir
  2. introducing a value object called "sidecar" similar to the dashboard and datasource provider in the grafana helm chart (https://github.com/grafana/helm-charts/blob/3a633bf46cdd430065c83d6e9f1837325d0700d2/charts/grafana/values.yaml#L955).

In my opinion, approach 1 is simple and requires only a few changes to the existing helm chart. However, it requires quite a lot overrides and knowledge of vector's CLI flags and default values (e.g. the existence of the --allow-empty-config and --watch-config flags: https://vector.dev/docs/reference/cli), as well as the k8s-sidecar configuration.
Approach 2 is more complex to implement in the helm chart, but easier to use (in my opinion).

What do you think? For now, I would like to keep it simple and add an emptyConfig parameter via a PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions