mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-08-01 04:46:33 +00:00
Nested Go module (operator/go.mod) isolating controller-runtime deps. CRD SeaweedBlockCluster (block.seaweedfs.com/v1alpha1) with dual-mode: CSI-only (MasterRef) connects to existing cluster; full-stack (Master) deploys master+volume StatefulSets. Single reconciler manages all sub-resources with ownership labels, finalizer cleanup, CHAP secret auto-generation, and multi-CR conflict detection. Review fixes: cross-NS label ownership (H1), ParseQuantity validation (H2), volume readiness probe (M1), leader election (M2), PVC StorageClassName (M3), condition type separation (M4), FQDN master address (L1), port validation (L3). QA adversarial fixes: ExtraArgs override rejection (BUG-QA-1), malformed lastRotated infinite rotation (BUG-QA-2), DNS label length validation (BUG-QA-3), replicas=0 error message (BUG-QA-4), RFC 1123 name validation (BUG-QA-5), whitespace field trimming (BUG-QA-6), zero storage size (BUG-QA-7). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
26 lines
447 B
Makefile
26 lines
447 B
Makefile
IMG ?= sw-block-operator:local
|
|
CONTROLLER_GEN ?= $(shell which controller-gen 2>/dev/null)
|
|
|
|
.PHONY: generate manifests build docker-build test
|
|
|
|
generate:
|
|
$(CONTROLLER_GEN) object paths="./api/..."
|
|
|
|
manifests:
|
|
$(CONTROLLER_GEN) crd paths="./api/..." output:crd:artifacts:config=config/crd/bases
|
|
|
|
build:
|
|
go build -o bin/operator .
|
|
|
|
docker-build:
|
|
docker build -t $(IMG) .
|
|
|
|
test:
|
|
go test ./... -v -count=1
|
|
|
|
fmt:
|
|
go fmt ./...
|
|
|
|
vet:
|
|
go vet ./...
|