Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
00f2a4a
VMDistributedCluster: initial commit
vrutkovs Oct 21, 2025
cc63a72
Controller update
vrutkovs Oct 13, 2025
424a072
Generate v1alpha1 types
vrutkovs Oct 13, 2025
2c4ccff
.golangci.yml: add alias for v1alpha1
vrutkovs Oct 13, 2025
8011f74
Regenerate manifests
vrutkovs Oct 13, 2025
f536df0
Add 'install-slim' target, which installs CRD without description and…
vrutkovs Oct 13, 2025
b9ba55a
Register v1alpha1 type in manager and e2e tests
vrutkovs Oct 13, 2025
b892de6
Initial operator implementation
vrutkovs Oct 14, 2025
6445d8b
Add tests for vmdistributedcluster controller
vrutkovs Oct 14, 2025
8c9384f
vmdistributedcluster tests: count actions that we do
vrutkovs Oct 14, 2025
de04b28
test/e2e: add vmdistributedcluster e2e tests
vrutkovs Oct 14, 2025
e78c32d
api/operator/v1alpha1: add missing Resource method
vrutkovs Oct 14, 2025
ebe3082
Update e2e tests
vrutkovs Oct 15, 2025
d716715
Add delete cases
vrutkovs Oct 15, 2025
7dcbde3
Get fresh vmcluster before update
vrutkovs Oct 15, 2025
551a38f
Wait for VMCluster to become operational after upgrade again
vrutkovs Oct 15, 2025
fd6c794
vmdistributedcluster: add e2e tests
vrutkovs Oct 16, 2025
5cba0a1
vmdistributed: wait for vmclusters to become operational
vrutkovs Oct 16, 2025
c5b69b7
cleanup e2e tests
vrutkovs Oct 16, 2025
b846318
Rules are stored in VMUser, not VMAuth
vrutkovs Oct 16, 2025
2034a13
implement findVMUserReadRuleForVMCluster
vrutkovs Oct 16, 2025
6890656
Record targetref in the status when scanning vmclusters
vrutkovs Oct 17, 2025
e897af1
Switch off targetRef for vmcluster before upgrade, switch it back on …
vrutkovs Oct 17, 2025
0312e57
Fix unit and e2e tests
vrutkovs Oct 17, 2025
97cf426
should wait for VMCluster upgrade completion test: use real versions
vrutkovs Oct 17, 2025
b0cd65d
unit tests: track each action we did
vrutkovs Oct 17, 2025
d72c181
Add a test for real delayed check of vmcluster
vrutkovs Oct 17, 2025
1e3398f
Even more unit tests
vrutkovs Oct 17, 2025
8139ef1
More unit tests
vrutkovs Oct 20, 2025
83003e1
Regroup unit tests
vrutkovs Oct 20, 2025
23dce13
Add an option to pair vmcluster with vmagent writing data there
vrutkovs Oct 20, 2025
5d8205c
tests for Paused
vrutkovs Oct 20, 2025
7dca332
Wait for VMAgent to send all data before upgrade
vrutkovs Oct 20, 2025
f845e88
Add unit tests for VMAgent case
vrutkovs Oct 20, 2025
e72c0a1
Add e2e tests for VMAgent case
vrutkovs Oct 20, 2025
012822c
gci: format imports
vrutkovs Oct 21, 2025
ba53ffd
ginkgo: use HaveLen
vrutkovs Oct 21, 2025
c69a205
imports: use vmv1beta1/vmv1alpha1/k8serrors consistently
vrutkovs Oct 21, 2025
05338d7
lint: more small code fixes
vrutkovs Oct 21, 2025
a2c8842
gci: reorganize imports
vrutkovs Oct 21, 2025
a7751a0
Add RBAC rules
vrutkovs Oct 21, 2025
6dfe0bf
Remove additional RBAC roles
vrutkovs Oct 21, 2025
89854ce
Swap VMAgent and VMUser
vrutkovs Oct 22, 2025
25c8d13
vmcluster: put localobjectreference under Ref
vrutkovs Oct 22, 2025
3e3f615
spec: Use Zones instead of VMClusters
vrutkovs Oct 22, 2025
4c92c35
update vmdistributedcluster tests
vrutkovs Oct 22, 2025
7cc8b10
Break down fetchVMClusters into smaller functions
vrutkovs Oct 22, 2025
098dbdf
vmdistributedcluster: implement overridespec for vmclusters controlle…
vrutkovs Oct 23, 2025
e1d71ac
vmdistributioncluster: remove ClusterVersion, reconcile clusters when…
vrutkovs Oct 23, 2025
b685faa
tweaks
vrutkovs Oct 23, 2025
5336b00
vmagent metrics should be checked after vmcluster is ready
vrutkovs Oct 24, 2025
7b0fc91
Use vmagent which doesn't take in-memory data into account
vrutkovs Oct 24, 2025
e115f77
test fixes
vrutkovs Oct 27, 2025
970813d
Fix "should handle rolling updates with VMAgent configuration changes…
vrutkovs Oct 27, 2025
ed37b2e
More e2e test fixes
vrutkovs Oct 27, 2025
ad59235
Add unit tests for TestGetReferencedVMCluster
vrutkovs Oct 27, 2025
861cd6f
Add unit tests for reconcileInlineVMCluster
vrutkovs Oct 27, 2025
291ac64
Add tests for findVMUserReadRuleForVMCluster
vrutkovs Oct 27, 2025
7661a09
Add unit test for waitForVMClusterReady
vrutkovs Oct 27, 2025
3bde549
Fix some e2e tests
vrutkovs Oct 27, 2025
b7223be
Add reconciliation e2e
vrutkovs Oct 27, 2025
3a6dde4
test fixes
vrutkovs Oct 27, 2025
23fbb16
Fixes
vrutkovs Oct 27, 2025
14e7eb9
Update vmdistributedcluster_test.go
vrutkovs Oct 29, 2025
7d6e08c
fix paused reconciliation test
vrutkovs Oct 29, 2025
cabebab
Fixes
vrutkovs Oct 29, 2025
50f2deb
Fix updateVMUserTargetRefs
vrutkovs Oct 29, 2025
c3a4385
More test fixes
vrutkovs Oct 29, 2025
9c4683f
Fix waiting test
vrutkovs Oct 29, 2025
63c7377
gci
vrutkovs Oct 29, 2025
20b1654
fetchVMClusters: rewrite as switch
vrutkovs Oct 29, 2025
ee49277
Fix lint errors
vrutkovs Oct 29, 2025
f71bd33
tests: use real statuses for mockClientWithPollingResponse
vrutkovs Oct 29, 2025
074e8af
Makefile: remove descriptions from CRDs
vrutkovs Oct 29, 2025
ad0b2ee
Add Changelog entry
vrutkovs Nov 5, 2025
61b67a8
vmAgent / vmUsers: use lowercased names
vrutkovs Nov 5, 2025
cf84f74
Rearrange fields in VMClusterRefOrSpec for clarity
vrutkovs Nov 5, 2025
2bf9f75
validateVMClusterRefOrSpec: fix error message when both ref and spec …
vrutkovs Nov 5, 2025
a21a107
Set ownerRef to managed VMClusters
vrutkovs Nov 5, 2025
9e2fcf6
e2e test fix
vrutkovs Nov 6, 2025
be35447
vmdistributedcluster paused: use eventually to avoid conflicts
vrutkovs Nov 11, 2025
299fdf2
vmdistributedcluster: don't switch off cluster in vmuser unless it ha…
vrutkovs Nov 11, 2025
cb7b6a4
vmdistributedcluster: create a real vmagent
vrutkovs Nov 11, 2025
c4fd2d7
Properly retry vmdistributedcluster metrics
vrutkovs Nov 12, 2025
8c2c745
Check vmdistributedcluster status if the entry from vmuser has alread…
vrutkovs Nov 12, 2025
968f472
Refactor vmclusterinfo fetching, add unit tests
vrutkovs Nov 12, 2025
aa371ed
e2e tests: don't delete vmagent
vrutkovs Nov 12, 2025
9bc7514
Better diff on generations
vrutkovs Nov 13, 2025
225116d
f
vrutkovs Nov 13, 2025
f7227fd
Fix cleanups
vrutkovs Nov 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ linters:
importas:
no-unaliased: true
alias:
- pkg: github.com/VictoriaMetrics/operator/api/operator/v1alpha1
alias: vmv1alpha1
- pkg: github.com/VictoriaMetrics/operator/api/operator/v1beta1
alias: vmv1beta1
- pkg: github.com/VictoriaMetrics/operator/api/operator/v1
Expand Down
4 changes: 3 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,10 @@ help: ## Display this help.
##@ Development

.PHONY: manifests
manifests: controller-gen kustomize ## Generate WebhookConfiguration, ClusterRole and CustomResourceDefinition objects.
manifests: controller-gen yq kustomize ## Generate WebhookConfiguration, ClusterRole and CustomResourceDefinition objects.
$(CONTROLLER_GEN) rbac:roleName=manager-role crd webhook paths="./..." output:crd:artifacts:config=config/crd/bases
$(KUSTOMIZE) build config/crd > config/crd/overlay/crd.yaml
$(YQ) -r 'del(.. | .description?)' -i config/crd/overlay/crd.yaml
$(KUSTOMIZE) build config/crd-specless > config/crd/overlay/crd.specless.yaml

.PHONY: generate
Expand All @@ -105,6 +106,7 @@ api-gen: client-gen lister-gen informer-gen
--output-pkg github.com/VictoriaMetrics/operator/api/client \
--output-dir ./api/client \
--go-header-file hack/boilerplate.go.txt \
--input github.com/VictoriaMetrics/operator/api/operator/v1alpha1 \
--input github.com/VictoriaMetrics/operator/api/operator/v1beta1 \
--input github.com/VictoriaMetrics/operator/api/operator/v1
@echo ">> generating with lister-gen"
Expand Down
9 changes: 9 additions & 0 deletions PROJECT
Original file line number Diff line number Diff line change
Expand Up @@ -273,4 +273,13 @@ resources:
webhooks:
validation: true
webhookVersion: v1
- api:
crdVersion: v1
namespaced: true
controller: true
domain: victoriametrics.com
group: operator
kind: VMDistributedCluster
path: github.com/VictoriaMetrics/operator/api/operator/v1alpha1
version: v1alpha1
version: "3"
2 changes: 2 additions & 0 deletions api/.golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ linters:
importas:
no-unaliased: true
alias:
- pkg: github.com/VictoriaMetrics/operator/api/operator/v1alpha1
alias: vmv1alpha1
- pkg: github.com/VictoriaMetrics/operator/api/operator/v1beta1
alias: vmv1beta1
- pkg: github.com/VictoriaMetrics/operator/api/operator/v1
Expand Down
5 changes: 5 additions & 0 deletions api/client/informers/externalversions/generic.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions api/client/informers/externalversions/operator/interface.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 26 additions & 0 deletions api/client/listers/operator/v1alpha1/expansion_generated.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

69 changes: 69 additions & 0 deletions api/client/listers/operator/v1alpha1/vmdistributedcluster.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 15 additions & 2 deletions api/client/versioned/clientset.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading