Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
70af829
VMDistributedCluster: initial commit
vrutkovs Oct 21, 2025
6959c69
Controller update
vrutkovs Oct 13, 2025
b42afae
Generate v1alpha1 types
vrutkovs Oct 13, 2025
87bedc3
.golangci.yml: add alias for v1alpha1
vrutkovs Oct 13, 2025
c781223
Regenerate manifests
vrutkovs Oct 13, 2025
5e3f5dd
Add 'install-slim' target, which installs CRD without description and…
vrutkovs Oct 13, 2025
e19fc52
Register v1alpha1 type in manager and e2e tests
vrutkovs Oct 13, 2025
185739d
Initial operator implementation
vrutkovs Oct 14, 2025
0a4ffe8
Add tests for vmdistributedcluster controller
vrutkovs Oct 14, 2025
4f8b332
vmdistributedcluster tests: count actions that we do
vrutkovs Oct 14, 2025
17076f3
test/e2e: add vmdistributedcluster e2e tests
vrutkovs Oct 14, 2025
07ce1f2
api/operator/v1alpha1: add missing Resource method
vrutkovs Oct 14, 2025
8c9897a
Update e2e tests
vrutkovs Oct 15, 2025
31d9c2f
Add delete cases
vrutkovs Oct 15, 2025
2530739
Get fresh vmcluster before update
vrutkovs Oct 15, 2025
1926f4c
Wait for VMCluster to become operational after upgrade again
vrutkovs Oct 15, 2025
00a5e23
vmdistributedcluster: add e2e tests
vrutkovs Oct 16, 2025
fbba3f6
vmdistributed: wait for vmclusters to become operational
vrutkovs Oct 16, 2025
edfc6ff
cleanup e2e tests
vrutkovs Oct 16, 2025
b944d32
Rules are stored in VMUser, not VMAuth
vrutkovs Oct 16, 2025
d5ccfc7
implement findVMUserReadRuleForVMCluster
vrutkovs Oct 16, 2025
97d4503
Record targetref in the status when scanning vmclusters
vrutkovs Oct 17, 2025
177f808
Switch off targetRef for vmcluster before upgrade, switch it back on …
vrutkovs Oct 17, 2025
569018c
Fix unit and e2e tests
vrutkovs Oct 17, 2025
c642228
should wait for VMCluster upgrade completion test: use real versions
vrutkovs Oct 17, 2025
d557ce0
unit tests: track each action we did
vrutkovs Oct 17, 2025
2b6f45d
Add a test for real delayed check of vmcluster
vrutkovs Oct 17, 2025
43d766c
Even more unit tests
vrutkovs Oct 17, 2025
0166e44
More unit tests
vrutkovs Oct 20, 2025
cdd3173
Regroup unit tests
vrutkovs Oct 20, 2025
715deaf
Add an option to pair vmcluster with vmagent writing data there
vrutkovs Oct 20, 2025
cd1ee59
tests for Paused
vrutkovs Oct 20, 2025
daf1cca
Wait for VMAgent to send all data before upgrade
vrutkovs Oct 20, 2025
1aff1e4
Add unit tests for VMAgent case
vrutkovs Oct 20, 2025
1e7d6c5
Add e2e tests for VMAgent case
vrutkovs Oct 20, 2025
6013212
gci: format imports
vrutkovs Oct 21, 2025
ce7b2c3
ginkgo: use HaveLen
vrutkovs Oct 21, 2025
31de99b
imports: use vmv1beta1/vmv1alpha1/k8serrors consistently
vrutkovs Oct 21, 2025
9ec5f45
lint: more small code fixes
vrutkovs Oct 21, 2025
9501d9c
gci: reorganize imports
vrutkovs Oct 21, 2025
c58d7e5
Add RBAC rules
vrutkovs Oct 21, 2025
e7f1c59
Remove additional RBAC roles
vrutkovs Oct 21, 2025
4ebf3a1
Swap VMAgent and VMUser
vrutkovs Oct 22, 2025
1e5bf87
vmcluster: put localobjectreference under Ref
vrutkovs Oct 22, 2025
3e99de8
spec: Use Zones instead of VMClusters
vrutkovs Oct 22, 2025
96c4942
update vmdistributedcluster tests
vrutkovs Oct 22, 2025
39b22df
Break down fetchVMClusters into smaller functions
vrutkovs Oct 22, 2025
a39ee7a
vmdistributedcluster: implement overridespec for vmclusters controlle…
vrutkovs Oct 23, 2025
ff40e88
vmdistributioncluster: remove ClusterVersion, reconcile clusters when…
vrutkovs Oct 23, 2025
1ba91c6
tweaks
vrutkovs Oct 23, 2025
ae2bee8
vmagent metrics should be checked after vmcluster is ready
vrutkovs Oct 24, 2025
2930ccd
Use vmagent which doesn't take in-memory data into account
vrutkovs Oct 24, 2025
8f55964
test fixes
vrutkovs Oct 27, 2025
b460a79
Fix "should handle rolling updates with VMAgent configuration changes…
vrutkovs Oct 27, 2025
33f757d
More e2e test fixes
vrutkovs Oct 27, 2025
580c5af
Add unit tests for TestGetReferencedVMCluster
vrutkovs Oct 27, 2025
9fc3d8d
Add unit tests for reconcileInlineVMCluster
vrutkovs Oct 27, 2025
ed726a2
Add tests for findVMUserReadRuleForVMCluster
vrutkovs Oct 27, 2025
c673afe
Add unit test for waitForVMClusterReady
vrutkovs Oct 27, 2025
0da3c18
Fix some e2e tests
vrutkovs Oct 27, 2025
959c7a0
Add reconciliation e2e
vrutkovs Oct 27, 2025
59e6bed
test fixes
vrutkovs Oct 27, 2025
1a34c1f
Fixes
vrutkovs Oct 27, 2025
6275cee
Update vmdistributedcluster_test.go
vrutkovs Oct 29, 2025
49874de
fix paused reconciliation test
vrutkovs Oct 29, 2025
63c659d
Fixes
vrutkovs Oct 29, 2025
95330fd
Fix updateVMUserTargetRefs
vrutkovs Oct 29, 2025
19af1ed
More test fixes
vrutkovs Oct 29, 2025
c5027f9
Fix waiting test
vrutkovs Oct 29, 2025
4909c34
gci
vrutkovs Oct 29, 2025
39bc0b5
fetchVMClusters: rewrite as switch
vrutkovs Oct 29, 2025
6344323
Fix lint errors
vrutkovs Oct 29, 2025
ea20c88
tests: use real statuses for mockClientWithPollingResponse
vrutkovs Oct 29, 2025
25b3c1b
Makefile: remove descriptions from CRDs
vrutkovs Oct 29, 2025
e67f285
Add Changelog entry
vrutkovs Nov 5, 2025
e2240eb
vmAgent / vmUsers: use lowercased names
vrutkovs Nov 5, 2025
95bc654
Rearrange fields in VMClusterRefOrSpec for clarity
vrutkovs Nov 5, 2025
129d0b6
validateVMClusterRefOrSpec: fix error message when both ref and spec …
vrutkovs Nov 5, 2025
42b277d
Set ownerRef to managed VMClusters
vrutkovs Nov 5, 2025
0e87e4b
e2e test fix
vrutkovs Nov 6, 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 @@ -82,9 +82,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 @@ -103,6 +104,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