Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
d50efb8
VMDistributedCluster: initial commit
vrutkovs Oct 21, 2025
35f9d34
Controller update
vrutkovs Oct 13, 2025
bd4f282
Generate v1alpha1 types
vrutkovs Oct 13, 2025
3e758ab
.golangci.yml: add alias for v1alpha1
vrutkovs Oct 13, 2025
6af5cf9
Regenerate manifests
vrutkovs Oct 13, 2025
fa820c1
Add 'install-slim' target, which installs CRD without description and…
vrutkovs Oct 13, 2025
44d9a88
Register v1alpha1 type in manager and e2e tests
vrutkovs Oct 13, 2025
8968d56
Initial operator implementation
vrutkovs Oct 14, 2025
a46e034
Add tests for vmdistributedcluster controller
vrutkovs Oct 14, 2025
3611e9e
vmdistributedcluster tests: count actions that we do
vrutkovs Oct 14, 2025
aba7cb8
test/e2e: add vmdistributedcluster e2e tests
vrutkovs Oct 14, 2025
540fb7d
api/operator/v1alpha1: add missing Resource method
vrutkovs Oct 14, 2025
f701e5a
Update e2e tests
vrutkovs Oct 15, 2025
4e8e259
Add delete cases
vrutkovs Oct 15, 2025
6e6699b
Get fresh vmcluster before update
vrutkovs Oct 15, 2025
445e986
Wait for VMCluster to become operational after upgrade again
vrutkovs Oct 15, 2025
470c186
vmdistributedcluster: add e2e tests
vrutkovs Oct 16, 2025
6d1f324
vmdistributed: wait for vmclusters to become operational
vrutkovs Oct 16, 2025
93c2cb3
cleanup e2e tests
vrutkovs Oct 16, 2025
9ac7f97
Rules are stored in VMUser, not VMAuth
vrutkovs Oct 16, 2025
239ec0a
implement findVMUserReadRuleForVMCluster
vrutkovs Oct 16, 2025
48f8279
Record targetref in the status when scanning vmclusters
vrutkovs Oct 17, 2025
53b196a
Switch off targetRef for vmcluster before upgrade, switch it back on …
vrutkovs Oct 17, 2025
cf333ff
Fix unit and e2e tests
vrutkovs Oct 17, 2025
76f69df
should wait for VMCluster upgrade completion test: use real versions
vrutkovs Oct 17, 2025
c0598b0
unit tests: track each action we did
vrutkovs Oct 17, 2025
51d5c1b
Add a test for real delayed check of vmcluster
vrutkovs Oct 17, 2025
f1a1b24
Even more unit tests
vrutkovs Oct 17, 2025
f04a960
More unit tests
vrutkovs Oct 20, 2025
cec0eb8
Regroup unit tests
vrutkovs Oct 20, 2025
72ed7ea
Add an option to pair vmcluster with vmagent writing data there
vrutkovs Oct 20, 2025
5bf96d4
tests for Paused
vrutkovs Oct 20, 2025
a497595
Wait for VMAgent to send all data before upgrade
vrutkovs Oct 20, 2025
1383daf
Add unit tests for VMAgent case
vrutkovs Oct 20, 2025
d19dad4
Add e2e tests for VMAgent case
vrutkovs Oct 20, 2025
c7d7d95
gci: format imports
vrutkovs Oct 21, 2025
0effd7e
ginkgo: use HaveLen
vrutkovs Oct 21, 2025
5b4a2c6
imports: use vmv1beta1/vmv1alpha1/k8serrors consistently
vrutkovs Oct 21, 2025
d66b512
lint: more small code fixes
vrutkovs Oct 21, 2025
39a6ccd
gci: reorganize imports
vrutkovs Oct 21, 2025
486972f
Add RBAC rules
vrutkovs Oct 21, 2025
6f1aab8
Remove additional RBAC roles
vrutkovs Oct 21, 2025
9925fd2
Swap VMAgent and VMUser
vrutkovs Oct 22, 2025
f7056f1
vmcluster: put localobjectreference under Ref
vrutkovs Oct 22, 2025
09ae84e
spec: Use Zones instead of VMClusters
vrutkovs Oct 22, 2025
1f4eee8
update vmdistributedcluster tests
vrutkovs Oct 22, 2025
b3d0f27
Break down fetchVMClusters into smaller functions
vrutkovs Oct 22, 2025
190986c
vmdistributedcluster: implement overridespec for vmclusters controlle…
vrutkovs Oct 23, 2025
b6947ac
vmdistributioncluster: remove ClusterVersion, reconcile clusters when…
vrutkovs Oct 23, 2025
38829ba
tweaks
vrutkovs Oct 23, 2025
1103a72
vmagent metrics should be checked after vmcluster is ready
vrutkovs Oct 24, 2025
37f918c
Use vmagent which doesn't take in-memory data into account
vrutkovs Oct 24, 2025
39719ba
test fixes
vrutkovs Oct 27, 2025
6312c75
Fix "should handle rolling updates with VMAgent configuration changes…
vrutkovs Oct 27, 2025
f395b1c
More e2e test fixes
vrutkovs Oct 27, 2025
ea2719e
Add unit tests for TestGetReferencedVMCluster
vrutkovs Oct 27, 2025
b02e5e0
Add unit tests for reconcileInlineVMCluster
vrutkovs Oct 27, 2025
9387510
Add tests for findVMUserReadRuleForVMCluster
vrutkovs Oct 27, 2025
7f4f1da
Add unit test for waitForVMClusterReady
vrutkovs Oct 27, 2025
e0a1c7b
Fix some e2e tests
vrutkovs Oct 27, 2025
d439dfd
Add reconciliation e2e
vrutkovs Oct 27, 2025
c137d02
test fixes
vrutkovs Oct 27, 2025
2ef260d
Fixes
vrutkovs Oct 27, 2025
fe5e8b5
Update vmdistributedcluster_test.go
vrutkovs Oct 29, 2025
bebb73c
fix paused reconciliation test
vrutkovs Oct 29, 2025
6346181
Fixes
vrutkovs Oct 29, 2025
c109875
Fix updateVMUserTargetRefs
vrutkovs Oct 29, 2025
0fbb096
More test fixes
vrutkovs Oct 29, 2025
765b75e
Fix waiting test
vrutkovs Oct 29, 2025
b40ba55
gci
vrutkovs Oct 29, 2025
c277cf3
fetchVMClusters: rewrite as switch
vrutkovs Oct 29, 2025
dc94c53
Fix lint errors
vrutkovs Oct 29, 2025
d47b903
tests: use real statuses for mockClientWithPollingResponse
vrutkovs Oct 29, 2025
d555d52
Makefile: remove descriptions from CRDs
vrutkovs Oct 29, 2025
e034424
Add Changelog entry
vrutkovs Nov 5, 2025
d755c20
vmAgent / vmUsers: use lowercased names
vrutkovs Nov 5, 2025
3baa048
Rearrange fields in VMClusterRefOrSpec for clarity
vrutkovs Nov 5, 2025
39ef751
validateVMClusterRefOrSpec: fix error message when both ref and spec …
vrutkovs Nov 5, 2025
7ce0559
Set ownerRef to managed VMClusters
vrutkovs Nov 5, 2025
cd3b51a
e2e test fix
vrutkovs Nov 6, 2025
ca78b96
vmdistributedcluster paused: use eventually to avoid conflicts
vrutkovs Nov 11, 2025
3797078
vmdistributedcluster: don't switch off cluster in vmuser unless it ha…
vrutkovs Nov 11, 2025
8919bfb
vmdistributedcluster: create a real vmagent
vrutkovs Nov 11, 2025
9337923
Properly retry vmdistributedcluster metrics
vrutkovs Nov 12, 2025
1526499
Check vmdistributedcluster status if the entry from vmuser has alread…
vrutkovs Nov 12, 2025
b9dc2e7
Refactor vmclusterinfo fetching, add unit tests
vrutkovs Nov 12, 2025
5cf9d57
e2e tests: don't delete vmagent
vrutkovs Nov 12, 2025
e268f1b
Better diff on generations
vrutkovs Nov 13, 2025
a762710
f
vrutkovs Nov 13, 2025
30cfa41
Fix cleanups
vrutkovs Nov 13, 2025
7549d72
vmdistributedcluster: disable vmauth before applying changes to vmclu…
vrutkovs Nov 14, 2025
fc031c6
Add documentation for VMDistributedCluster
vrutkovs Nov 14, 2025
eb763dc
VMDistributedCluster: add a stub for VMSingles support it spec
vrutkovs Nov 14, 2025
e9370b5
Allow tweaking vmcluster ready duration
vrutkovs Nov 19, 2025
831e4f1
Implement a pause between zone updates
vrutkovs Nov 19, 2025
c2e8aed
e2e tests: use shorter duration for vmcluster update and zone update …
vrutkovs Nov 19, 2025
a7c6b8d
Add more examples
vrutkovs Nov 19, 2025
e2fad64
vmdistributedcluster: throw error if any other found
vrutkovs Nov 21, 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