profile
viewpoint
k1rk Singapore harder, better ...

VictoriaMetrics/operator 52

Kubernetes operator for Victoria Metrics

VictoriaMetrics/helm-charts 40

Helm charts for VictoriaMetrics

k1rk/azure-keyvault-env 1

Populates env variables from Azure KeyVault

k1rk/alfred-subnetmask-workflow 0

Alfred workflow v3 to calculate subnet mask.

k1rk/documentdb-go 0

Go driver for Microsoft Azure DocumentDB

k1rk/go-clickhouse 0

Golang ClickHouse HTTP connector

k1rk/RDruid 0

Druid connector for R

k1rk/realitycheck 0

A sample app that reality checks some things

startedzyedidia/micro

started time in 5 hours

startedstarship/starship

started time in a day

fork storozhukBM/deepcopier

simple struct copying for golang

fork in 4 days

startedh2o/h2o

started time in 6 days

startedfaceair/VictoriaLogs

started time in 9 days

issue closedVictoriaMetrics/operator

Publish operator to Hub

need to define the flow what we publish, consider 3 options:

  • publish prom crds as requirements to vm operator
  • provide same crds as prom
  • both

closed time in 9 days

tenmozes

issue commentVictoriaMetrics/operator

Publish operator to Hub

published https://operatorhub.io/operator/victoriametrics-operator

tenmozes

comment created time in 9 days

issue closedVictoriaMetrics/operator

possibility to specify nodeSelector for vmagent and vmalert

Hello. As i understand right now one can't specify the nodeSelector for pods of vmagent or vmalert. Could you add such option?

closed time in 10 days

VVvKamper

issue commentVictoriaMetrics/operator

possibility to specify nodeSelector for vmagent and vmalert

Well, operator supports kubernetes versions starts from v1.13 and for very old versions many things wouldn't work ( Deployments at least and some other deprecated stuff).

There is joke about Kubernetes features life-cycle: Alpha -> Beta -> Deprecated

VVvKamper

comment created time in 10 days

issue closedVictoriaMetrics/operator

VMAgent: unable to configure additional volumes

Hello.

I'm trying to setup a sidecar container in VMAgent and mount an additional volume inside it, using spec.volumes and spec.containers.volumeMounts like this:

apiVersion: operator.victoriametrics.com/v1beta1
kind: VMAgent
metadata:
  name: vmagent
spec:
  volumes:
  - name: vm-shared
    emptyDir: {}
  serviceScrapeNamespaceSelector: {}
  podScrapeNamespaceSelector: {}
  podScrapeSelector: {}
  serviceScrapeSelector: {}
  replicaCount: 1
  serviceAccountName: vmagent
  scrapeInterval: 60s
  remoteWrite:
    - url: "http://vmsingle-vmsingle-persisted.default.svc:8429/api/v1/write"
  containers:
  - image: busybox
    imagePullPolicy: IfNotPresent
    name: busybox
    volumeMounts:
    - mountPath: /etc/vm-shared
      name: vm-shared

After applying this manifest, no deployment appears and there is an error in VM Operator logs:

{"level":"error","ts":1604322110.788751,"logger":"controllers.VMAgent","msg":"cannot create or update vmagent deploy","vmagent":"default/vmagent","error":"cannot create new vmagent deploy: Deployment.apps \"vmagent-vmagent\" is invalid: spec.template.spec.containers[0].volumeMounts[2].name: Not found: \"vm-shared\"","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\tgithub.com/go-logr/zapr@v0.1.0/zapr.go:128\ngithub.com/VictoriaMetrics/operator/controllers.(*VMAgentReconciler).Reconcile\n\tgithub.com/VictoriaMetrics/operator/controllers/vmagent_controller.go:75\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\tsigs.k8s.io/controller-runtime@v0.6.2/pkg/internal/controller/controller.go:235\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\tsigs.k8s.io/controller-runtime@v0.6.2/pkg/internal/controller/controller.go:209\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker\n\tsigs.k8s.io/controller-runtime@v0.6.2/pkg/internal/controller/controller.go:188\nk8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1\n\tk8s.io/apimachinery@v0.18.6/pkg/util/wait/wait.go:155\nk8s.io/apimachinery/pkg/util/wait.BackoffUntil\n\tk8s.io/apimachinery@v0.18.6/pkg/util/wait/wait.go:156\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\tk8s.io/apimachinery@v0.18.6/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.Until\n\tk8s.io/apimachinery@v0.18.6/pkg/util/wait/wait.go:90"}

It looks like the operator ignores the volumes in spec.volumes part when creating a Deployment object.

Moving the volume list inside spec.containers also produces the same error, as well as moving spec.volumeMounts from spec.containers to spec. I'm able only to mount pre-set volumes inside my sidecar container (config, tls-assets and config-out).

VM Operator is version 0.3.0.

closed time in 10 days

GagarinX

issue commentVictoriaMetrics/operator

VMAgent: unable to configure additional volumes

Added to release https://github.com/VictoriaMetrics/operator/releases/tag/v0.4.0

GagarinX

comment created time in 10 days

issue closedVictoriaMetrics/operator

Deduplicate alerts when populating vmalert configmap

Type Feature request

Description Operator creates alert configmaps for vmalert, from prometheusrules and vmrules. Since vmalert does not allow duplicated alerts(ref), it would be good to have the operator to deduplicate the alerts from configmap. Currently, vmalert fails to start if there is a duplicate alert.

Expectation Rules with duplicate alerts should get deduplicated, so that vmalert can boot up.

closed time in 10 days

pmitra43

issue commentVictoriaMetrics/operator

Deduplicate alerts when populating vmalert configmap

added at release https://github.com/VictoriaMetrics/operator/releases/tag/v0.4.0

pmitra43

comment created time in 10 days

created tagVictoriaMetrics/operator

tagv0.4.0

Kubernetes operator for Victoria Metrics

created time in 10 days

release VictoriaMetrics/operator

v0.4.0

released time in 10 days

startedvectorizedio/redpanda

started time in 10 days

push eventVictoriaMetrics/operator

f41gh7

commit sha e2175f7a1762542dd9c7658e8fd1fd681f4005c1

fixes tests

view details

push time in 10 days

push eventVictoriaMetrics/operator

f41gh7

commit sha 0e64850f7ddd59f55677a7b4cc4bf04806246539

updates default version

view details

push time in 10 days

create barnchVictoriaMetrics/operator

branch : updates-versions

created branch time in 10 days

push eventVictoriaMetrics/operator

Nikolay

commit sha c6eaec608aaeca40d8d42b8f42d1898e434bc148

added OLM integration, minor fixes (#84) * added OLM integration, minor fixes packagemanifest generation for operator hub, docs how to generate it fixed issue with incorrect resources setting for vmalert, vmagent and vmsingle, minor docs update, bumped default versions for applications * adds rawconfig for Alertmanager, it simplifies its creation, updates docs and descriptions for api objects * fixes resources allocation for applications.

view details

push time in 10 days

PR merged VictoriaMetrics/operator

added OLM integration, minor fixes

packagemanifest generation for operator hub, docs how to generate it fixed issue with incorrect resources setting for vmalert, vmagent and vmsingle, minor docs update, bumped default versions for applications.

Need to fix few things.

+1094 -159

0 comment

48 changed files

f41gh7

pr closed time in 10 days

startedderailed/k9s

started time in 11 days

push eventVictoriaMetrics/operator

Nikolay

commit sha d254753c3cc89a91ae7f09c345893d6dad87c2d1

adds dedup annototations for vmalert (#102) * adds dedup annototations for vmalert https://github.com/VictoriaMetrics/operator/issues/99 operator.victoriametrics.com/vmalert-deduplicate-rules - add it with non empty value to vmalert annotation fixes linter adds deep package for better equal check * fixes doc * updates descriptions

view details

push time in 12 days

PR merged VictoriaMetrics/operator

adds dedup annototations for vmalert

https://github.com/VictoriaMetrics/operator/issues/99 operator.victoriametrics.com/vmalert-deduplicate-rules - add it with non empty value to vmalert annotation

+275 -4

0 comment

6 changed files

f41gh7

pr closed time in 12 days

push eventVictoriaMetrics/operator

f41gh7

commit sha 8dd86f2b11dcde39671121ce7aa36d039a0740bc

updates descriptions

view details

push time in 12 days

startedmholt/timeliner

started time in 14 days

Pull request review commentVictoriaMetrics/operator

adds dedup annototations for vmalert

 spec:   endpoints: [] ``` +### prometheus Rule duplcation

could you also describe what happens with duplicated rules? Are they combined into one rule?

f41gh7

comment created time in 14 days

Pull request review commentVictoriaMetrics/operator

adds dedup annototations for vmalert

 spec:   endpoints: [] ``` +### prometheus Rule duplcation+ `Prometheus` allows to specify rules with the same content with-in one group at Rule spec, but its forbidden by vmalert.+ You can tell operator to deduplicate this rules by addining annotation to the `VMAlert` crd definition.+ ```yaml+apiVersion: operator.victoriametrics.com/v1beta1+kind: VMAlert+metadata:+  name: example-vmalert-with-dedup+  annotations:+    operator.victoriametrics.com/vmalert-deduplicate-rules: "exist"

perator.victoriametrics.com/vmalert-deduplicate-rules: true

f41gh7

comment created time in 14 days

Pull request review commentVictoriaMetrics/operator

adds dedup annototations for vmalert

 func makeRulesConfigMap(cr *victoriametricsv1beta1.VMAlert, ruleFiles map[string func ruleConfigMapName(vmName string) string { 	return "vm-" + vmName + "-rulefiles" }++// deduplicateRules - takes list of vmRules and modifies it+// by removing duplicates.+// possible duplicates:+// group name across single vmRule. group might include non-duplicate rules.+// rules in group, must include uniq combination of values.+func deduplicateRules(origin []*victoriametricsv1beta1.VMRule) []*victoriametricsv1beta1.VMRule {+	// deduplicate rules across groups.+	for _, vmRule := range origin {+		for i, grp := range vmRule.Spec.Groups {+			uniqRules := make(map[uint64]struct{})+			rules := make([]victoriametricsv1beta1.Rule, 0, len(grp.Rules))+			for _, rule := range grp.Rules {+				ruleID := calculateRuleID(rule)+				if _, ok := uniqRules[ruleID]; ok {+					// duplicate rule skip it

irrelevant comment

f41gh7

comment created time in 14 days

startedapple/swift

started time in 14 days

more