diff --git a/api/operator/v1beta1/vmuser_types.go b/api/operator/v1beta1/vmuser_types.go index 4856fa64..4adfa2f8 100644 --- a/api/operator/v1beta1/vmuser_types.go +++ b/api/operator/v1beta1/vmuser_types.go @@ -89,7 +89,7 @@ type VMUserIPFilters struct { type CRDRef struct { // Kind one of: // VMAgent,VMAlert, VMSingle, VMCluster/vmselect, VMCluster/vmstorage,VMCluster/vminsert or VMAlertManager - // +kubebuilder:validation:Enum=VMAgent;VMAlert;VMSingle;VMAlertManager;VMAlertmanager;VMCluster/vmselect;VMCluster/vmstorage;VMCluster/vminsert + // +kubebuilder:validation:Enum=VMAgent;VMAlert;VMSingle;VLogs;VMAlertManager;VMAlertmanager;VMCluster/vmselect;VMCluster/vmstorage;VMCluster/vminsert Kind string `json:"kind"` // Name target CRD object name Name string `json:"name"` diff --git a/config/crd/overlay/crd.yaml b/config/crd/overlay/crd.yaml index baca1e15..dc7db66b 100644 --- a/config/crd/overlay/crd.yaml +++ b/config/crd/overlay/crd.yaml @@ -31857,6 +31857,7 @@ spec: - VMAgent - VMAlert - VMSingle + - VLogs - VMAlertManager - VMAlertmanager - VMCluster/vmselect diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 65144d70..59a56ef7 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -18,6 +18,7 @@ aliases: * Dependency: [vmoperator](https://docs.victoriametrics.com/operator/): Updated default versions for VM apps to v1.110.0 version * FEATURE: [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig/): add `thread_message_id` to `telegram_configs` definition. It's supported by [alertmanager v0.28.0+](https://github.com/prometheus/alertmanager/releases/tag/v0.28.0). See [this issue](https://github.com/VictoriaMetrics/operator/issues/1229) for details. +* FEATURE: [vlogs](https://docs.victoriametrics.com/operator/resources/vlogs): support VLogs in VMUser targetRefs.crd * BUGFIX: [vmoperator](https://docs.victoriametrics.com/operator/): properly check `Pod` state during `StatefulSet` rolling upgrade procedure. See [this issue](https://github.com/VictoriaMetrics/operator/issues/1227) for details. * BUGFIX: [vmagent](https://docs.victoriametrics.com/operator/resources/vmagent/): properly upscale on `shardCount` change. See [this issue](https://github.com/VictoriaMetrics/operator/issues/1224) for details. diff --git a/internal/controller/operator/factory/vmauth/vmusers_config.go b/internal/controller/operator/factory/vmauth/vmusers_config.go index be416305..1ef9163e 100644 --- a/internal/controller/operator/factory/vmauth/vmusers_config.go +++ b/internal/controller/operator/factory/vmauth/vmusers_config.go @@ -316,6 +316,7 @@ var crdNameToObject = map[string]objectWithURL{ "VMAgent": &vmv1beta1.VMAgent{}, "VMAlert": &vmv1beta1.VMAlert{}, "VMSingle": &vmv1beta1.VMSingle{}, + "VLogs": &vmv1beta1.VLogs{}, // keep both variants for backward-compatibility "VMAlertmanager": &vmv1beta1.VMAlertmanager{}, "VMAlertManager": &vmv1beta1.VMAlertmanager{}, diff --git a/internal/controller/operator/factory/vmauth/vmusers_config_test.go b/internal/controller/operator/factory/vmauth/vmusers_config_test.go index 6f5b32ba..6bb687d0 100644 --- a/internal/controller/operator/factory/vmauth/vmusers_config_test.go +++ b/internal/controller/operator/factory/vmauth/vmusers_config_test.go @@ -141,6 +141,15 @@ bearer_token: secret-token "/", }, }, + { + CRD: &vmv1beta1.CRDRef{ + Kind: "VLogs", + Namespace: "monitoring", + Name: "db", + }, + Paths: []string{"/logs/v1.*"}, + }, + { CRD: &vmv1beta1.CRDRef{ Kind: "VMSingle", @@ -154,6 +163,7 @@ bearer_token: secret-token crdURLCache: map[string]string{ "VMAgent/monitoring/base": "http://vmagent-base.monitoring.svc:8429", "VMSingle/monitoring/db": "http://vmsingle-b.monitoring.svc:8429", + "VLogs/monitoring/db": "http://vlogs-b.monitoring.svc:8482", }, }, want: `url_map: @@ -169,6 +179,10 @@ bearer_token: secret-token - http://vmcluster-remote.mydomain.com:8401/insert/0/prometheus?extra_label=key%3Dvalue src_paths: - /.* +- url_prefix: + - http://vlogs-b.monitoring.svc:8482 + src_paths: + - /logs/v1.* - url_prefix: - http://vmsingle-b.monitoring.svc:8429 src_paths: