diff --git a/controllers/README.md b/controllers/README.md new file mode 100644 index 0000000000..ce482bc2cc --- /dev/null +++ b/controllers/README.md @@ -0,0 +1,6 @@ +### CRD生成 +```shell +kubebuilder init --domain laf.dev --project-name oss --repo github.com/labring/laf/controllers/oss +kubebuilder create api --group oss --version v1 --kind Oss + +``` \ No newline at end of file diff --git a/controllers/application/Makefile b/controllers/application/Makefile index 17b18a4a14..2bc5e8c7c9 100644 --- a/controllers/application/Makefile +++ b/controllers/application/Makefile @@ -2,7 +2,7 @@ # Image URL to use all building/pushing image targets IMG ?= controller:latest # ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. -ENVTEST_K8S_VERSION = 1.24.2 +ENVTEST_K8S_VERSION = 1.24.1 # Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set) ifeq (,$(shell go env GOBIN)) @@ -12,6 +12,7 @@ GOBIN=$(shell go env GOBIN) endif # Setting SHELL to bash allows bash commands to be executed by recipes. +# This is a requirement for 'setup-envtest.sh' in the test target. # Options are set to exit when a recipe line exits non-zero or a piped command fails. SHELL = /usr/bin/env bash -o pipefail .SHELLFLAGS = -ec @@ -113,20 +114,20 @@ ENVTEST ?= $(LOCALBIN)/setup-envtest ## Tool Versions KUSTOMIZE_VERSION ?= v3.8.7 -CONTROLLER_TOOLS_VERSION ?= v0.9.2 +CONTROLLER_TOOLS_VERSION ?= v0.9.0 KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" .PHONY: kustomize kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary. $(KUSTOMIZE): $(LOCALBIN) - test -s $(LOCALBIN)/kustomize || { curl -s $(KUSTOMIZE_INSTALL_SCRIPT) | bash -s -- $(subst v,,$(KUSTOMIZE_VERSION)) $(LOCALBIN); } + curl -s $(KUSTOMIZE_INSTALL_SCRIPT) | bash -s -- $(subst v,,$(KUSTOMIZE_VERSION)) $(LOCALBIN) .PHONY: controller-gen controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary. $(CONTROLLER_GEN): $(LOCALBIN) - test -s $(LOCALBIN)/controller-gen || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION) + GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION) .PHONY: envtest envtest: $(ENVTEST) ## Download envtest-setup locally if necessary. $(ENVTEST): $(LOCALBIN) - test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest + GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest diff --git a/controllers/application/PROJECT b/controllers/application/PROJECT index f9936c562b..efeca69671 100644 --- a/controllers/application/PROJECT +++ b/controllers/application/PROJECT @@ -1,16 +1,16 @@ -domain: application.laf.dev +domain: laf.dev layout: - go.kubebuilder.io/v3 projectName: application -repo: laf +repo: github.com/labring/laf/controllers/application resources: - api: crdVersion: v1 namespaced: true controller: true - domain: application.laf.dev + domain: laf.dev group: application kind: Application - path: laf/api/v1 + path: github.com/labring/laf/controllers/application/api/v1 version: v1 version: "3" diff --git a/controllers/application/api/v1/groupversion_info.go b/controllers/application/api/v1/groupversion_info.go index 366f8e68e5..593bce3cea 100644 --- a/controllers/application/api/v1/groupversion_info.go +++ b/controllers/application/api/v1/groupversion_info.go @@ -16,7 +16,7 @@ limitations under the License. // Package v1 contains API Schema definitions for the application v1 API group //+kubebuilder:object:generate=true -//+groupName=application.application.laf.dev +//+groupName=application.laf.dev package v1 import ( @@ -26,7 +26,7 @@ import ( var ( // GroupVersion is group version used to register these objects - GroupVersion = schema.GroupVersion{Group: "application.application.laf.dev", Version: "v1"} + GroupVersion = schema.GroupVersion{Group: "application.laf.dev", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} diff --git a/controllers/application/config/crd/kustomization.yaml b/controllers/application/config/crd/kustomization.yaml index e17a3a3caf..c8b31a6977 100644 --- a/controllers/application/config/crd/kustomization.yaml +++ b/controllers/application/config/crd/kustomization.yaml @@ -2,7 +2,7 @@ # since it depends on service name and namespace that are out of this kustomize package. # It should be run by config/default resources: -- bases/application.application.laf.dev_applications.yaml +- bases/application.laf.dev_applications.yaml #+kubebuilder:scaffold:crdkustomizeresource patchesStrategicMerge: diff --git a/controllers/application/config/crd/patches/cainjection_in_applications.yaml b/controllers/application/config/crd/patches/cainjection_in_applications.yaml index 8238197286..f565c638e3 100644 --- a/controllers/application/config/crd/patches/cainjection_in_applications.yaml +++ b/controllers/application/config/crd/patches/cainjection_in_applications.yaml @@ -4,4 +4,4 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME) - name: applications.application.application.laf.dev + name: applications.application.laf.dev diff --git a/controllers/application/config/crd/patches/webhook_in_applications.yaml b/controllers/application/config/crd/patches/webhook_in_applications.yaml index 5cd0331485..4898c1be84 100644 --- a/controllers/application/config/crd/patches/webhook_in_applications.yaml +++ b/controllers/application/config/crd/patches/webhook_in_applications.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: applications.application.application.laf.dev + name: applications.application.laf.dev spec: conversion: strategy: Webhook diff --git a/controllers/application/config/default/manager_auth_proxy_patch.yaml b/controllers/application/config/default/manager_auth_proxy_patch.yaml index cec149a078..28a6ef7c79 100644 --- a/controllers/application/config/default/manager_auth_proxy_patch.yaml +++ b/controllers/application/config/default/manager_auth_proxy_patch.yaml @@ -15,7 +15,7 @@ spec: capabilities: drop: - "ALL" - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.13.0 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.12.0 args: - "--secure-listen-address=0.0.0.0:8443" - "--upstream=http://127.0.0.1:8080/" diff --git a/controllers/application/config/manager/controller_manager_config.yaml b/controllers/application/config/manager/controller_manager_config.yaml index becd6e8619..94fe4b61a7 100644 --- a/controllers/application/config/manager/controller_manager_config.yaml +++ b/controllers/application/config/manager/controller_manager_config.yaml @@ -8,7 +8,7 @@ webhook: port: 9443 leaderElection: leaderElect: true - resourceName: 5e608ca8.application.laf.dev + resourceName: f892542c.laf.dev # leaderElectionReleaseOnCancel defines if the leader should step down volume # when the Manager ends. This requires the binary to immediately end when the # Manager is stopped, otherwise, this setting is unsafe. Setting this significantly diff --git a/controllers/application/config/rbac/application_editor_role.yaml b/controllers/application/config/rbac/application_editor_role.yaml index 180100e61e..8efd9173ae 100644 --- a/controllers/application/config/rbac/application_editor_role.yaml +++ b/controllers/application/config/rbac/application_editor_role.yaml @@ -5,7 +5,7 @@ metadata: name: application-editor-role rules: - apiGroups: - - application.application.laf.dev + - application.laf.dev resources: - applications verbs: @@ -17,7 +17,7 @@ rules: - update - watch - apiGroups: - - application.application.laf.dev + - application.laf.dev resources: - applications/status verbs: diff --git a/controllers/application/config/rbac/application_viewer_role.yaml b/controllers/application/config/rbac/application_viewer_role.yaml index 6bcdfaf229..fe7a002dc4 100644 --- a/controllers/application/config/rbac/application_viewer_role.yaml +++ b/controllers/application/config/rbac/application_viewer_role.yaml @@ -5,7 +5,7 @@ metadata: name: application-viewer-role rules: - apiGroups: - - application.application.laf.dev + - application.laf.dev resources: - applications verbs: @@ -13,7 +13,7 @@ rules: - list - watch - apiGroups: - - application.application.laf.dev + - application.laf.dev resources: - applications/status verbs: diff --git a/controllers/application/config/samples/application_v1_application.yaml b/controllers/application/config/samples/application_v1_application.yaml index 40d05f57a8..715700f1d3 100644 --- a/controllers/application/config/samples/application_v1_application.yaml +++ b/controllers/application/config/samples/application_v1_application.yaml @@ -1,4 +1,4 @@ -apiVersion: application.application.laf.dev/v1 +apiVersion: application.laf.dev/v1 kind: Application metadata: name: application-sample diff --git a/controllers/application/controllers/application_controller.go b/controllers/application/controllers/application_controller.go index c39a83d204..faf4d44cbc 100644 --- a/controllers/application/controllers/application_controller.go +++ b/controllers/application/controllers/application_controller.go @@ -24,7 +24,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/log" - applicationv1 "laf/api/v1" + applicationv1 "github.com/labring/laf/controllers/application/api/v1" ) // ApplicationReconciler reconciles a Application object @@ -33,9 +33,9 @@ type ApplicationReconciler struct { Scheme *runtime.Scheme } -//+kubebuilder:rbac:groups=application.application.laf.dev,resources=applications,verbs=get;list;watch;create;update;patch;delete -//+kubebuilder:rbac:groups=application.application.laf.dev,resources=applications/status,verbs=get;update;patch -//+kubebuilder:rbac:groups=application.application.laf.dev,resources=applications/finalizers,verbs=update +//+kubebuilder:rbac:groups=application.laf.dev,resources=applications,verbs=get;list;watch;create;update;patch;delete +//+kubebuilder:rbac:groups=application.laf.dev,resources=applications/status,verbs=get;update;patch +//+kubebuilder:rbac:groups=application.laf.dev,resources=applications/finalizers,verbs=update // Reconcile is part of the main kubernetes reconciliation loop which aims to // move the current state of the cluster closer to the desired state. @@ -45,7 +45,7 @@ type ApplicationReconciler struct { // the user. // // For more details, check Reconcile and its Result here: -// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.12.2/pkg/reconcile +// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.12.1/pkg/reconcile func (r *ApplicationReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { _ = log.FromContext(ctx) diff --git a/controllers/application/controllers/suite_test.go b/controllers/application/controllers/suite_test.go index 52409eafa6..0aac9aa70c 100644 --- a/controllers/application/controllers/suite_test.go +++ b/controllers/application/controllers/suite_test.go @@ -22,7 +22,6 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - "k8s.io/client-go/kubernetes/scheme" "k8s.io/client-go/rest" "sigs.k8s.io/controller-runtime/pkg/client" @@ -31,7 +30,7 @@ import ( logf "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/controller-runtime/pkg/log/zap" - applicationv1 "laf/api/v1" + applicationv1 "github.com/labring/laf/controllers/application/api/v1" //+kubebuilder:scaffold:imports ) diff --git a/controllers/application/go.mod b/controllers/application/go.mod index b928f0ddf3..a610848ab8 100644 --- a/controllers/application/go.mod +++ b/controllers/application/go.mod @@ -1,13 +1,13 @@ -module laf +module github.com/labring/laf/controllers/application go 1.18 require ( github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.18.1 - k8s.io/apimachinery v0.24.2 - k8s.io/client-go v0.24.2 - sigs.k8s.io/controller-runtime v0.12.2 + k8s.io/apimachinery v0.24.0 + k8s.io/client-go v0.24.0 + sigs.k8s.io/controller-runtime v0.12.1 ) require ( @@ -71,9 +71,9 @@ require ( gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect - k8s.io/api v0.24.2 // indirect - k8s.io/apiextensions-apiserver v0.24.2 // indirect - k8s.io/component-base v0.24.2 // indirect + k8s.io/api v0.24.0 // indirect + k8s.io/apiextensions-apiserver v0.24.0 // indirect + k8s.io/component-base v0.24.0 // indirect k8s.io/klog/v2 v2.60.1 // indirect k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 // indirect k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect diff --git a/controllers/application/go.sum b/controllers/application/go.sum index c27022bfb5..7087c092f6 100644 --- a/controllers/application/go.sum +++ b/controllers/application/go.sum @@ -936,18 +936,18 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.24.2 h1:g518dPU/L7VRLxWfcadQn2OnsiGWVOadTLpdnqgY2OI= -k8s.io/api v0.24.2/go.mod h1:AHqbSkTm6YrQ0ObxjO3Pmp/ubFF/KuM7jU+3khoBsOg= -k8s.io/apiextensions-apiserver v0.24.2 h1:/4NEQHKlEz1MlaK/wHT5KMKC9UKYz6NZz6JE6ov4G6k= -k8s.io/apiextensions-apiserver v0.24.2/go.mod h1:e5t2GMFVngUEHUd0wuCJzw8YDwZoqZfJiGOW6mm2hLQ= -k8s.io/apimachinery v0.24.2 h1:5QlH9SL2C8KMcrNJPor+LbXVTaZRReml7svPEh4OKDM= -k8s.io/apimachinery v0.24.2/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= -k8s.io/apiserver v0.24.2/go.mod h1:pSuKzr3zV+L+MWqsEo0kHHYwCo77AT5qXbFXP2jbvFI= -k8s.io/client-go v0.24.2 h1:CoXFSf8if+bLEbinDqN9ePIDGzcLtqhfd6jpfnwGOFA= -k8s.io/client-go v0.24.2/go.mod h1:zg4Xaoo+umDsfCWr4fCnmLEtQXyCNXCvJuSsglNcV30= -k8s.io/code-generator v0.24.2/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= -k8s.io/component-base v0.24.2 h1:kwpQdoSfbcH+8MPN4tALtajLDfSfYxBDYlXobNWI6OU= -k8s.io/component-base v0.24.2/go.mod h1:ucHwW76dajvQ9B7+zecZAP3BVqvrHoOxm8olHEg0nmM= +k8s.io/api v0.24.0 h1:J0hann2hfxWr1hinZIDefw7Q96wmCBx6SSB8IY0MdDg= +k8s.io/api v0.24.0/go.mod h1:5Jl90IUrJHUJYEMANRURMiVvJ0g7Ax7r3R1bqO8zx8I= +k8s.io/apiextensions-apiserver v0.24.0 h1:JfgFqbA8gKJ/uDT++feAqk9jBIwNnL9YGdQvaI9DLtY= +k8s.io/apiextensions-apiserver v0.24.0/go.mod h1:iuVe4aEpe6827lvO6yWQVxiPSpPoSKVjkq+MIdg84cM= +k8s.io/apimachinery v0.24.0 h1:ydFCyC/DjCvFCHK5OPMKBlxayQytB8pxy8YQInd5UyQ= +k8s.io/apimachinery v0.24.0/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= +k8s.io/apiserver v0.24.0/go.mod h1:WFx2yiOMawnogNToVvUYT9nn1jaIkMKj41ZYCVycsBA= +k8s.io/client-go v0.24.0 h1:lbE4aB1gTHvYFSwm6eD3OF14NhFDKCejlnsGYlSJe5U= +k8s.io/client-go v0.24.0/go.mod h1:VFPQET+cAFpYxh6Bq6f4xyMY80G6jKKktU6G0m00VDw= +k8s.io/code-generator v0.24.0/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= +k8s.io/component-base v0.24.0 h1:h5jieHZQoHrY/lHG+HyrSbJeyfuitheBvqvKwKHVC0g= +k8s.io/component-base v0.24.0/go.mod h1:Dgazgon0i7KYUsS8krG8muGiMVtUZxG037l1MKyXgrA= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= @@ -963,8 +963,8 @@ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8 rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.30/go.mod h1:fEO7lRTdivWO2qYVCVG7dEADOMo/MLDCVr8So2g88Uw= -sigs.k8s.io/controller-runtime v0.12.2 h1:nqV02cvhbAj7tbt21bpPpTByrXGn2INHRsi39lXy9sE= -sigs.k8s.io/controller-runtime v0.12.2/go.mod h1:qKsk4WE6zW2Hfj0G4v10EnNB2jMG1C+NTb8h+DwCoU0= +sigs.k8s.io/controller-runtime v0.12.1 h1:4BJY01xe9zKQti8oRjj/NeHKRXthf1YkYJAgLONFFoI= +sigs.k8s.io/controller-runtime v0.12.1/go.mod h1:BKhxlA4l7FPK4AQcsuL4X6vZeWnKDXez/vp1Y8dxTU0= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 h1:kDi4JBNAsJWfz1aEXhO8Jg87JJaPNLh5tIzYHgStQ9Y= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= diff --git a/controllers/application/main.go b/controllers/application/main.go index a47e0a2686..72a32d287c 100644 --- a/controllers/application/main.go +++ b/controllers/application/main.go @@ -31,8 +31,8 @@ import ( "sigs.k8s.io/controller-runtime/pkg/healthz" "sigs.k8s.io/controller-runtime/pkg/log/zap" - applicationv1 "laf/api/v1" - "laf/controllers" + applicationv1 "github.com/labring/laf/controllers/application/api/v1" + "github.com/labring/laf/controllers/application/controllers" //+kubebuilder:scaffold:imports ) @@ -71,7 +71,7 @@ func main() { Port: 9443, HealthProbeBindAddress: probeAddr, LeaderElection: enableLeaderElection, - LeaderElectionID: "5e608ca8.application.laf.dev", + LeaderElectionID: "f892542c.laf.dev", // LeaderElectionReleaseOnCancel defines if the leader should step down voluntarily // when the Manager ends. This requires the binary to immediately end when the // Manager is stopped, otherwise, this setting is unsafe. Setting this significantly diff --git a/controllers/database/Makefile b/controllers/database/Makefile index 17b18a4a14..2bc5e8c7c9 100644 --- a/controllers/database/Makefile +++ b/controllers/database/Makefile @@ -2,7 +2,7 @@ # Image URL to use all building/pushing image targets IMG ?= controller:latest # ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. -ENVTEST_K8S_VERSION = 1.24.2 +ENVTEST_K8S_VERSION = 1.24.1 # Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set) ifeq (,$(shell go env GOBIN)) @@ -12,6 +12,7 @@ GOBIN=$(shell go env GOBIN) endif # Setting SHELL to bash allows bash commands to be executed by recipes. +# This is a requirement for 'setup-envtest.sh' in the test target. # Options are set to exit when a recipe line exits non-zero or a piped command fails. SHELL = /usr/bin/env bash -o pipefail .SHELLFLAGS = -ec @@ -113,20 +114,20 @@ ENVTEST ?= $(LOCALBIN)/setup-envtest ## Tool Versions KUSTOMIZE_VERSION ?= v3.8.7 -CONTROLLER_TOOLS_VERSION ?= v0.9.2 +CONTROLLER_TOOLS_VERSION ?= v0.9.0 KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" .PHONY: kustomize kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary. $(KUSTOMIZE): $(LOCALBIN) - test -s $(LOCALBIN)/kustomize || { curl -s $(KUSTOMIZE_INSTALL_SCRIPT) | bash -s -- $(subst v,,$(KUSTOMIZE_VERSION)) $(LOCALBIN); } + curl -s $(KUSTOMIZE_INSTALL_SCRIPT) | bash -s -- $(subst v,,$(KUSTOMIZE_VERSION)) $(LOCALBIN) .PHONY: controller-gen controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary. $(CONTROLLER_GEN): $(LOCALBIN) - test -s $(LOCALBIN)/controller-gen || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION) + GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION) .PHONY: envtest envtest: $(ENVTEST) ## Download envtest-setup locally if necessary. $(ENVTEST): $(LOCALBIN) - test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest + GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest diff --git a/controllers/database/PROJECT b/controllers/database/PROJECT index 6385b8f47d..962ff675dd 100644 --- a/controllers/database/PROJECT +++ b/controllers/database/PROJECT @@ -1,16 +1,16 @@ -domain: database.laf.dev +domain: laf.dev layout: - go.kubebuilder.io/v3 projectName: database -repo: laf +repo: github.com/labring/laf/controllers/database resources: - api: crdVersion: v1 namespaced: true controller: true - domain: database.laf.dev + domain: laf.dev group: database kind: Database - path: laf/api/v1 + path: github.com/labring/laf/controllers/database/api/v1 version: v1 version: "3" diff --git a/controllers/database/api/v1/groupversion_info.go b/controllers/database/api/v1/groupversion_info.go index 8d38543535..75349d5cf6 100644 --- a/controllers/database/api/v1/groupversion_info.go +++ b/controllers/database/api/v1/groupversion_info.go @@ -16,7 +16,7 @@ limitations under the License. // Package v1 contains API Schema definitions for the database v1 API group //+kubebuilder:object:generate=true -//+groupName=database.database.laf.dev +//+groupName=database.laf.dev package v1 import ( @@ -26,7 +26,7 @@ import ( var ( // GroupVersion is group version used to register these objects - GroupVersion = schema.GroupVersion{Group: "database.database.laf.dev", Version: "v1"} + GroupVersion = schema.GroupVersion{Group: "database.laf.dev", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} diff --git a/controllers/database/config/crd/kustomization.yaml b/controllers/database/config/crd/kustomization.yaml index 7c927ee0e2..711c47ed94 100644 --- a/controllers/database/config/crd/kustomization.yaml +++ b/controllers/database/config/crd/kustomization.yaml @@ -2,7 +2,7 @@ # since it depends on service name and namespace that are out of this kustomize package. # It should be run by config/default resources: -- bases/database.database.laf.dev_databases.yaml +- bases/database.laf.dev_databases.yaml #+kubebuilder:scaffold:crdkustomizeresource patchesStrategicMerge: diff --git a/controllers/database/config/crd/patches/cainjection_in_databases.yaml b/controllers/database/config/crd/patches/cainjection_in_databases.yaml index a77402bf38..3d5b423c6e 100644 --- a/controllers/database/config/crd/patches/cainjection_in_databases.yaml +++ b/controllers/database/config/crd/patches/cainjection_in_databases.yaml @@ -4,4 +4,4 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME) - name: databases.database.database.laf.dev + name: databases.database.laf.dev diff --git a/controllers/database/config/crd/patches/webhook_in_databases.yaml b/controllers/database/config/crd/patches/webhook_in_databases.yaml index a3426c9c1f..e437b183b0 100644 --- a/controllers/database/config/crd/patches/webhook_in_databases.yaml +++ b/controllers/database/config/crd/patches/webhook_in_databases.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: databases.database.database.laf.dev + name: databases.database.laf.dev spec: conversion: strategy: Webhook diff --git a/controllers/database/config/default/manager_auth_proxy_patch.yaml b/controllers/database/config/default/manager_auth_proxy_patch.yaml index cec149a078..28a6ef7c79 100644 --- a/controllers/database/config/default/manager_auth_proxy_patch.yaml +++ b/controllers/database/config/default/manager_auth_proxy_patch.yaml @@ -15,7 +15,7 @@ spec: capabilities: drop: - "ALL" - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.13.0 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.12.0 args: - "--secure-listen-address=0.0.0.0:8443" - "--upstream=http://127.0.0.1:8080/" diff --git a/controllers/database/config/manager/controller_manager_config.yaml b/controllers/database/config/manager/controller_manager_config.yaml index b4255db107..da089a11aa 100644 --- a/controllers/database/config/manager/controller_manager_config.yaml +++ b/controllers/database/config/manager/controller_manager_config.yaml @@ -8,7 +8,7 @@ webhook: port: 9443 leaderElection: leaderElect: true - resourceName: 5e608ca8.database.laf.dev + resourceName: 3e4d01bb.laf.dev # leaderElectionReleaseOnCancel defines if the leader should step down volume # when the Manager ends. This requires the binary to immediately end when the # Manager is stopped, otherwise, this setting is unsafe. Setting this significantly diff --git a/controllers/database/config/rbac/database_editor_role.yaml b/controllers/database/config/rbac/database_editor_role.yaml index fb295ed489..533499523a 100644 --- a/controllers/database/config/rbac/database_editor_role.yaml +++ b/controllers/database/config/rbac/database_editor_role.yaml @@ -5,7 +5,7 @@ metadata: name: database-editor-role rules: - apiGroups: - - database.database.laf.dev + - database.laf.dev resources: - databases verbs: @@ -17,7 +17,7 @@ rules: - update - watch - apiGroups: - - database.database.laf.dev + - database.laf.dev resources: - databases/status verbs: diff --git a/controllers/database/config/rbac/database_viewer_role.yaml b/controllers/database/config/rbac/database_viewer_role.yaml index 33abc2ebd8..f632e0b20c 100644 --- a/controllers/database/config/rbac/database_viewer_role.yaml +++ b/controllers/database/config/rbac/database_viewer_role.yaml @@ -5,7 +5,7 @@ metadata: name: database-viewer-role rules: - apiGroups: - - database.database.laf.dev + - database.laf.dev resources: - databases verbs: @@ -13,7 +13,7 @@ rules: - list - watch - apiGroups: - - database.database.laf.dev + - database.laf.dev resources: - databases/status verbs: diff --git a/controllers/database/config/samples/database_v1_database.yaml b/controllers/database/config/samples/database_v1_database.yaml index 991b88c9b0..cec8f7f3d1 100644 --- a/controllers/database/config/samples/database_v1_database.yaml +++ b/controllers/database/config/samples/database_v1_database.yaml @@ -1,4 +1,4 @@ -apiVersion: database.database.laf.dev/v1 +apiVersion: database.laf.dev/v1 kind: Database metadata: name: database-sample diff --git a/controllers/database/controllers/database_controller.go b/controllers/database/controllers/database_controller.go index 263e379e01..b62fab4d94 100644 --- a/controllers/database/controllers/database_controller.go +++ b/controllers/database/controllers/database_controller.go @@ -24,7 +24,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/log" - databasev1 "laf/api/v1" + databasev1 "github.com/labring/laf/controllers/database/api/v1" ) // DatabaseReconciler reconciles a Database object @@ -33,9 +33,9 @@ type DatabaseReconciler struct { Scheme *runtime.Scheme } -//+kubebuilder:rbac:groups=database.database.laf.dev,resources=databases,verbs=get;list;watch;create;update;patch;delete -//+kubebuilder:rbac:groups=database.database.laf.dev,resources=databases/status,verbs=get;update;patch -//+kubebuilder:rbac:groups=database.database.laf.dev,resources=databases/finalizers,verbs=update +//+kubebuilder:rbac:groups=database.laf.dev,resources=databases,verbs=get;list;watch;create;update;patch;delete +//+kubebuilder:rbac:groups=database.laf.dev,resources=databases/status,verbs=get;update;patch +//+kubebuilder:rbac:groups=database.laf.dev,resources=databases/finalizers,verbs=update // Reconcile is part of the main kubernetes reconciliation loop which aims to // move the current state of the cluster closer to the desired state. @@ -45,7 +45,7 @@ type DatabaseReconciler struct { // the user. // // For more details, check Reconcile and its Result here: -// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.12.2/pkg/reconcile +// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.12.1/pkg/reconcile func (r *DatabaseReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { _ = log.FromContext(ctx) diff --git a/controllers/database/controllers/suite_test.go b/controllers/database/controllers/suite_test.go index 36c496f874..5c36da9649 100644 --- a/controllers/database/controllers/suite_test.go +++ b/controllers/database/controllers/suite_test.go @@ -22,7 +22,6 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - "k8s.io/client-go/kubernetes/scheme" "k8s.io/client-go/rest" "sigs.k8s.io/controller-runtime/pkg/client" @@ -31,7 +30,7 @@ import ( logf "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/controller-runtime/pkg/log/zap" - databasev1 "laf/api/v1" + databasev1 "github.com/labring/laf/controllers/database/api/v1" //+kubebuilder:scaffold:imports ) diff --git a/controllers/database/go.mod b/controllers/database/go.mod index b928f0ddf3..74b544bc2a 100644 --- a/controllers/database/go.mod +++ b/controllers/database/go.mod @@ -1,13 +1,13 @@ -module laf +module github.com/labring/laf/controllers/database go 1.18 require ( github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.18.1 - k8s.io/apimachinery v0.24.2 - k8s.io/client-go v0.24.2 - sigs.k8s.io/controller-runtime v0.12.2 + k8s.io/apimachinery v0.24.0 + k8s.io/client-go v0.24.0 + sigs.k8s.io/controller-runtime v0.12.1 ) require ( @@ -71,9 +71,9 @@ require ( gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect - k8s.io/api v0.24.2 // indirect - k8s.io/apiextensions-apiserver v0.24.2 // indirect - k8s.io/component-base v0.24.2 // indirect + k8s.io/api v0.24.0 // indirect + k8s.io/apiextensions-apiserver v0.24.0 // indirect + k8s.io/component-base v0.24.0 // indirect k8s.io/klog/v2 v2.60.1 // indirect k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 // indirect k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect diff --git a/controllers/database/go.sum b/controllers/database/go.sum index c27022bfb5..7087c092f6 100644 --- a/controllers/database/go.sum +++ b/controllers/database/go.sum @@ -936,18 +936,18 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.24.2 h1:g518dPU/L7VRLxWfcadQn2OnsiGWVOadTLpdnqgY2OI= -k8s.io/api v0.24.2/go.mod h1:AHqbSkTm6YrQ0ObxjO3Pmp/ubFF/KuM7jU+3khoBsOg= -k8s.io/apiextensions-apiserver v0.24.2 h1:/4NEQHKlEz1MlaK/wHT5KMKC9UKYz6NZz6JE6ov4G6k= -k8s.io/apiextensions-apiserver v0.24.2/go.mod h1:e5t2GMFVngUEHUd0wuCJzw8YDwZoqZfJiGOW6mm2hLQ= -k8s.io/apimachinery v0.24.2 h1:5QlH9SL2C8KMcrNJPor+LbXVTaZRReml7svPEh4OKDM= -k8s.io/apimachinery v0.24.2/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= -k8s.io/apiserver v0.24.2/go.mod h1:pSuKzr3zV+L+MWqsEo0kHHYwCo77AT5qXbFXP2jbvFI= -k8s.io/client-go v0.24.2 h1:CoXFSf8if+bLEbinDqN9ePIDGzcLtqhfd6jpfnwGOFA= -k8s.io/client-go v0.24.2/go.mod h1:zg4Xaoo+umDsfCWr4fCnmLEtQXyCNXCvJuSsglNcV30= -k8s.io/code-generator v0.24.2/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= -k8s.io/component-base v0.24.2 h1:kwpQdoSfbcH+8MPN4tALtajLDfSfYxBDYlXobNWI6OU= -k8s.io/component-base v0.24.2/go.mod h1:ucHwW76dajvQ9B7+zecZAP3BVqvrHoOxm8olHEg0nmM= +k8s.io/api v0.24.0 h1:J0hann2hfxWr1hinZIDefw7Q96wmCBx6SSB8IY0MdDg= +k8s.io/api v0.24.0/go.mod h1:5Jl90IUrJHUJYEMANRURMiVvJ0g7Ax7r3R1bqO8zx8I= +k8s.io/apiextensions-apiserver v0.24.0 h1:JfgFqbA8gKJ/uDT++feAqk9jBIwNnL9YGdQvaI9DLtY= +k8s.io/apiextensions-apiserver v0.24.0/go.mod h1:iuVe4aEpe6827lvO6yWQVxiPSpPoSKVjkq+MIdg84cM= +k8s.io/apimachinery v0.24.0 h1:ydFCyC/DjCvFCHK5OPMKBlxayQytB8pxy8YQInd5UyQ= +k8s.io/apimachinery v0.24.0/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= +k8s.io/apiserver v0.24.0/go.mod h1:WFx2yiOMawnogNToVvUYT9nn1jaIkMKj41ZYCVycsBA= +k8s.io/client-go v0.24.0 h1:lbE4aB1gTHvYFSwm6eD3OF14NhFDKCejlnsGYlSJe5U= +k8s.io/client-go v0.24.0/go.mod h1:VFPQET+cAFpYxh6Bq6f4xyMY80G6jKKktU6G0m00VDw= +k8s.io/code-generator v0.24.0/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= +k8s.io/component-base v0.24.0 h1:h5jieHZQoHrY/lHG+HyrSbJeyfuitheBvqvKwKHVC0g= +k8s.io/component-base v0.24.0/go.mod h1:Dgazgon0i7KYUsS8krG8muGiMVtUZxG037l1MKyXgrA= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= @@ -963,8 +963,8 @@ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8 rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.30/go.mod h1:fEO7lRTdivWO2qYVCVG7dEADOMo/MLDCVr8So2g88Uw= -sigs.k8s.io/controller-runtime v0.12.2 h1:nqV02cvhbAj7tbt21bpPpTByrXGn2INHRsi39lXy9sE= -sigs.k8s.io/controller-runtime v0.12.2/go.mod h1:qKsk4WE6zW2Hfj0G4v10EnNB2jMG1C+NTb8h+DwCoU0= +sigs.k8s.io/controller-runtime v0.12.1 h1:4BJY01xe9zKQti8oRjj/NeHKRXthf1YkYJAgLONFFoI= +sigs.k8s.io/controller-runtime v0.12.1/go.mod h1:BKhxlA4l7FPK4AQcsuL4X6vZeWnKDXez/vp1Y8dxTU0= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 h1:kDi4JBNAsJWfz1aEXhO8Jg87JJaPNLh5tIzYHgStQ9Y= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= diff --git a/controllers/database/main.go b/controllers/database/main.go index d569806f5a..bffaf189fa 100644 --- a/controllers/database/main.go +++ b/controllers/database/main.go @@ -31,8 +31,8 @@ import ( "sigs.k8s.io/controller-runtime/pkg/healthz" "sigs.k8s.io/controller-runtime/pkg/log/zap" - databasev1 "laf/api/v1" - "laf/controllers" + databasev1 "github.com/labring/laf/controllers/database/api/v1" + "github.com/labring/laf/controllers/database/controllers" //+kubebuilder:scaffold:imports ) @@ -71,7 +71,7 @@ func main() { Port: 9443, HealthProbeBindAddress: probeAddr, LeaderElection: enableLeaderElection, - LeaderElectionID: "5e608ca8.database.laf.dev", + LeaderElectionID: "3e4d01bb.laf.dev", // LeaderElectionReleaseOnCancel defines if the leader should step down voluntarily // when the Manager ends. This requires the binary to immediately end when the // Manager is stopped, otherwise, this setting is unsafe. Setting this significantly diff --git a/controllers/gateway/Makefile b/controllers/gateway/Makefile index 17b18a4a14..2bc5e8c7c9 100644 --- a/controllers/gateway/Makefile +++ b/controllers/gateway/Makefile @@ -2,7 +2,7 @@ # Image URL to use all building/pushing image targets IMG ?= controller:latest # ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. -ENVTEST_K8S_VERSION = 1.24.2 +ENVTEST_K8S_VERSION = 1.24.1 # Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set) ifeq (,$(shell go env GOBIN)) @@ -12,6 +12,7 @@ GOBIN=$(shell go env GOBIN) endif # Setting SHELL to bash allows bash commands to be executed by recipes. +# This is a requirement for 'setup-envtest.sh' in the test target. # Options are set to exit when a recipe line exits non-zero or a piped command fails. SHELL = /usr/bin/env bash -o pipefail .SHELLFLAGS = -ec @@ -113,20 +114,20 @@ ENVTEST ?= $(LOCALBIN)/setup-envtest ## Tool Versions KUSTOMIZE_VERSION ?= v3.8.7 -CONTROLLER_TOOLS_VERSION ?= v0.9.2 +CONTROLLER_TOOLS_VERSION ?= v0.9.0 KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" .PHONY: kustomize kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary. $(KUSTOMIZE): $(LOCALBIN) - test -s $(LOCALBIN)/kustomize || { curl -s $(KUSTOMIZE_INSTALL_SCRIPT) | bash -s -- $(subst v,,$(KUSTOMIZE_VERSION)) $(LOCALBIN); } + curl -s $(KUSTOMIZE_INSTALL_SCRIPT) | bash -s -- $(subst v,,$(KUSTOMIZE_VERSION)) $(LOCALBIN) .PHONY: controller-gen controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary. $(CONTROLLER_GEN): $(LOCALBIN) - test -s $(LOCALBIN)/controller-gen || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION) + GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION) .PHONY: envtest envtest: $(ENVTEST) ## Download envtest-setup locally if necessary. $(ENVTEST): $(LOCALBIN) - test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest + GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest diff --git a/controllers/gateway/PROJECT b/controllers/gateway/PROJECT index 31f6099894..6d6c87eea7 100644 --- a/controllers/gateway/PROJECT +++ b/controllers/gateway/PROJECT @@ -1,16 +1,16 @@ -domain: gateway.laf.dev +domain: laf.dev layout: - go.kubebuilder.io/v3 projectName: gateway -repo: laf +repo: github.com/labring/laf/controllers/gateway resources: - api: crdVersion: v1 namespaced: true controller: true - domain: gateway.laf.dev + domain: laf.dev group: gateway kind: Gateway - path: laf/api/v1 + path: github.com/labring/laf/controllers/gateway/api/v1 version: v1 version: "3" diff --git a/controllers/gateway/api/v1/groupversion_info.go b/controllers/gateway/api/v1/groupversion_info.go index d644233989..ed7d3acb14 100644 --- a/controllers/gateway/api/v1/groupversion_info.go +++ b/controllers/gateway/api/v1/groupversion_info.go @@ -16,7 +16,7 @@ limitations under the License. // Package v1 contains API Schema definitions for the gateway v1 API group //+kubebuilder:object:generate=true -//+groupName=gateway.gateway.laf.dev +//+groupName=gateway.laf.dev package v1 import ( @@ -26,7 +26,7 @@ import ( var ( // GroupVersion is group version used to register these objects - GroupVersion = schema.GroupVersion{Group: "gateway.gateway.laf.dev", Version: "v1"} + GroupVersion = schema.GroupVersion{Group: "gateway.laf.dev", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} diff --git a/controllers/gateway/config/crd/kustomization.yaml b/controllers/gateway/config/crd/kustomization.yaml index 1eb3f48370..39de844e7e 100644 --- a/controllers/gateway/config/crd/kustomization.yaml +++ b/controllers/gateway/config/crd/kustomization.yaml @@ -2,7 +2,7 @@ # since it depends on service name and namespace that are out of this kustomize package. # It should be run by config/default resources: -- bases/gateway.gateway.laf.dev_gateways.yaml +- bases/gateway.laf.dev_gateways.yaml #+kubebuilder:scaffold:crdkustomizeresource patchesStrategicMerge: diff --git a/controllers/gateway/config/crd/patches/cainjection_in_gateways.yaml b/controllers/gateway/config/crd/patches/cainjection_in_gateways.yaml index 9a1ef73e44..83ee79fc0f 100644 --- a/controllers/gateway/config/crd/patches/cainjection_in_gateways.yaml +++ b/controllers/gateway/config/crd/patches/cainjection_in_gateways.yaml @@ -4,4 +4,4 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME) - name: gateways.gateway.gateway.laf.dev + name: gateways.gateway.laf.dev diff --git a/controllers/gateway/config/crd/patches/webhook_in_gateways.yaml b/controllers/gateway/config/crd/patches/webhook_in_gateways.yaml index f9872acb63..454b9da99a 100644 --- a/controllers/gateway/config/crd/patches/webhook_in_gateways.yaml +++ b/controllers/gateway/config/crd/patches/webhook_in_gateways.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: gateways.gateway.gateway.laf.dev + name: gateways.gateway.laf.dev spec: conversion: strategy: Webhook diff --git a/controllers/gateway/config/default/manager_auth_proxy_patch.yaml b/controllers/gateway/config/default/manager_auth_proxy_patch.yaml index cec149a078..28a6ef7c79 100644 --- a/controllers/gateway/config/default/manager_auth_proxy_patch.yaml +++ b/controllers/gateway/config/default/manager_auth_proxy_patch.yaml @@ -15,7 +15,7 @@ spec: capabilities: drop: - "ALL" - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.13.0 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.12.0 args: - "--secure-listen-address=0.0.0.0:8443" - "--upstream=http://127.0.0.1:8080/" diff --git a/controllers/gateway/config/manager/controller_manager_config.yaml b/controllers/gateway/config/manager/controller_manager_config.yaml index bf8e27841c..40bf345924 100644 --- a/controllers/gateway/config/manager/controller_manager_config.yaml +++ b/controllers/gateway/config/manager/controller_manager_config.yaml @@ -8,7 +8,7 @@ webhook: port: 9443 leaderElection: leaderElect: true - resourceName: 5e608ca8.gateway.laf.dev + resourceName: e68e7628.laf.dev # leaderElectionReleaseOnCancel defines if the leader should step down volume # when the Manager ends. This requires the binary to immediately end when the # Manager is stopped, otherwise, this setting is unsafe. Setting this significantly diff --git a/controllers/gateway/config/rbac/gateway_editor_role.yaml b/controllers/gateway/config/rbac/gateway_editor_role.yaml index 9cdf2a0e12..6304f957cc 100644 --- a/controllers/gateway/config/rbac/gateway_editor_role.yaml +++ b/controllers/gateway/config/rbac/gateway_editor_role.yaml @@ -5,7 +5,7 @@ metadata: name: gateway-editor-role rules: - apiGroups: - - gateway.gateway.laf.dev + - gateway.laf.dev resources: - gateways verbs: @@ -17,7 +17,7 @@ rules: - update - watch - apiGroups: - - gateway.gateway.laf.dev + - gateway.laf.dev resources: - gateways/status verbs: diff --git a/controllers/gateway/config/rbac/gateway_viewer_role.yaml b/controllers/gateway/config/rbac/gateway_viewer_role.yaml index 1dbeb448d8..1a7edc3159 100644 --- a/controllers/gateway/config/rbac/gateway_viewer_role.yaml +++ b/controllers/gateway/config/rbac/gateway_viewer_role.yaml @@ -5,7 +5,7 @@ metadata: name: gateway-viewer-role rules: - apiGroups: - - gateway.gateway.laf.dev + - gateway.laf.dev resources: - gateways verbs: @@ -13,7 +13,7 @@ rules: - list - watch - apiGroups: - - gateway.gateway.laf.dev + - gateway.laf.dev resources: - gateways/status verbs: diff --git a/controllers/gateway/config/samples/gateway_v1_gateway.yaml b/controllers/gateway/config/samples/gateway_v1_gateway.yaml index c82f06667b..eff821424d 100644 --- a/controllers/gateway/config/samples/gateway_v1_gateway.yaml +++ b/controllers/gateway/config/samples/gateway_v1_gateway.yaml @@ -1,4 +1,4 @@ -apiVersion: gateway.gateway.laf.dev/v1 +apiVersion: gateway.laf.dev/v1 kind: Gateway metadata: name: gateway-sample diff --git a/controllers/gateway/controllers/gateway_controller.go b/controllers/gateway/controllers/gateway_controller.go index f3cb2052f1..fee0b29412 100644 --- a/controllers/gateway/controllers/gateway_controller.go +++ b/controllers/gateway/controllers/gateway_controller.go @@ -24,7 +24,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/log" - gatewayv1 "laf/api/v1" + gatewayv1 "github.com/labring/laf/controllers/gateway/api/v1" ) // GatewayReconciler reconciles a Gateway object @@ -33,9 +33,9 @@ type GatewayReconciler struct { Scheme *runtime.Scheme } -//+kubebuilder:rbac:groups=gateway.gateway.laf.dev,resources=gateways,verbs=get;list;watch;create;update;patch;delete -//+kubebuilder:rbac:groups=gateway.gateway.laf.dev,resources=gateways/status,verbs=get;update;patch -//+kubebuilder:rbac:groups=gateway.gateway.laf.dev,resources=gateways/finalizers,verbs=update +//+kubebuilder:rbac:groups=gateway.laf.dev,resources=gateways,verbs=get;list;watch;create;update;patch;delete +//+kubebuilder:rbac:groups=gateway.laf.dev,resources=gateways/status,verbs=get;update;patch +//+kubebuilder:rbac:groups=gateway.laf.dev,resources=gateways/finalizers,verbs=update // Reconcile is part of the main kubernetes reconciliation loop which aims to // move the current state of the cluster closer to the desired state. @@ -45,7 +45,7 @@ type GatewayReconciler struct { // the user. // // For more details, check Reconcile and its Result here: -// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.12.2/pkg/reconcile +// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.12.1/pkg/reconcile func (r *GatewayReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { _ = log.FromContext(ctx) diff --git a/controllers/gateway/controllers/suite_test.go b/controllers/gateway/controllers/suite_test.go index c8403a8fcc..36e2033452 100644 --- a/controllers/gateway/controllers/suite_test.go +++ b/controllers/gateway/controllers/suite_test.go @@ -22,7 +22,6 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - "k8s.io/client-go/kubernetes/scheme" "k8s.io/client-go/rest" "sigs.k8s.io/controller-runtime/pkg/client" @@ -31,7 +30,7 @@ import ( logf "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/controller-runtime/pkg/log/zap" - gatewayv1 "laf/api/v1" + gatewayv1 "github.com/labring/laf/controllers/gateway/api/v1" //+kubebuilder:scaffold:imports ) diff --git a/controllers/gateway/go.mod b/controllers/gateway/go.mod index b928f0ddf3..d5add609fe 100644 --- a/controllers/gateway/go.mod +++ b/controllers/gateway/go.mod @@ -1,13 +1,13 @@ -module laf +module github.com/labring/laf/controllers/gateway go 1.18 require ( github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.18.1 - k8s.io/apimachinery v0.24.2 - k8s.io/client-go v0.24.2 - sigs.k8s.io/controller-runtime v0.12.2 + k8s.io/apimachinery v0.24.0 + k8s.io/client-go v0.24.0 + sigs.k8s.io/controller-runtime v0.12.1 ) require ( @@ -71,9 +71,9 @@ require ( gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect - k8s.io/api v0.24.2 // indirect - k8s.io/apiextensions-apiserver v0.24.2 // indirect - k8s.io/component-base v0.24.2 // indirect + k8s.io/api v0.24.0 // indirect + k8s.io/apiextensions-apiserver v0.24.0 // indirect + k8s.io/component-base v0.24.0 // indirect k8s.io/klog/v2 v2.60.1 // indirect k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 // indirect k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect diff --git a/controllers/gateway/go.sum b/controllers/gateway/go.sum index c27022bfb5..7087c092f6 100644 --- a/controllers/gateway/go.sum +++ b/controllers/gateway/go.sum @@ -936,18 +936,18 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.24.2 h1:g518dPU/L7VRLxWfcadQn2OnsiGWVOadTLpdnqgY2OI= -k8s.io/api v0.24.2/go.mod h1:AHqbSkTm6YrQ0ObxjO3Pmp/ubFF/KuM7jU+3khoBsOg= -k8s.io/apiextensions-apiserver v0.24.2 h1:/4NEQHKlEz1MlaK/wHT5KMKC9UKYz6NZz6JE6ov4G6k= -k8s.io/apiextensions-apiserver v0.24.2/go.mod h1:e5t2GMFVngUEHUd0wuCJzw8YDwZoqZfJiGOW6mm2hLQ= -k8s.io/apimachinery v0.24.2 h1:5QlH9SL2C8KMcrNJPor+LbXVTaZRReml7svPEh4OKDM= -k8s.io/apimachinery v0.24.2/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= -k8s.io/apiserver v0.24.2/go.mod h1:pSuKzr3zV+L+MWqsEo0kHHYwCo77AT5qXbFXP2jbvFI= -k8s.io/client-go v0.24.2 h1:CoXFSf8if+bLEbinDqN9ePIDGzcLtqhfd6jpfnwGOFA= -k8s.io/client-go v0.24.2/go.mod h1:zg4Xaoo+umDsfCWr4fCnmLEtQXyCNXCvJuSsglNcV30= -k8s.io/code-generator v0.24.2/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= -k8s.io/component-base v0.24.2 h1:kwpQdoSfbcH+8MPN4tALtajLDfSfYxBDYlXobNWI6OU= -k8s.io/component-base v0.24.2/go.mod h1:ucHwW76dajvQ9B7+zecZAP3BVqvrHoOxm8olHEg0nmM= +k8s.io/api v0.24.0 h1:J0hann2hfxWr1hinZIDefw7Q96wmCBx6SSB8IY0MdDg= +k8s.io/api v0.24.0/go.mod h1:5Jl90IUrJHUJYEMANRURMiVvJ0g7Ax7r3R1bqO8zx8I= +k8s.io/apiextensions-apiserver v0.24.0 h1:JfgFqbA8gKJ/uDT++feAqk9jBIwNnL9YGdQvaI9DLtY= +k8s.io/apiextensions-apiserver v0.24.0/go.mod h1:iuVe4aEpe6827lvO6yWQVxiPSpPoSKVjkq+MIdg84cM= +k8s.io/apimachinery v0.24.0 h1:ydFCyC/DjCvFCHK5OPMKBlxayQytB8pxy8YQInd5UyQ= +k8s.io/apimachinery v0.24.0/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= +k8s.io/apiserver v0.24.0/go.mod h1:WFx2yiOMawnogNToVvUYT9nn1jaIkMKj41ZYCVycsBA= +k8s.io/client-go v0.24.0 h1:lbE4aB1gTHvYFSwm6eD3OF14NhFDKCejlnsGYlSJe5U= +k8s.io/client-go v0.24.0/go.mod h1:VFPQET+cAFpYxh6Bq6f4xyMY80G6jKKktU6G0m00VDw= +k8s.io/code-generator v0.24.0/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= +k8s.io/component-base v0.24.0 h1:h5jieHZQoHrY/lHG+HyrSbJeyfuitheBvqvKwKHVC0g= +k8s.io/component-base v0.24.0/go.mod h1:Dgazgon0i7KYUsS8krG8muGiMVtUZxG037l1MKyXgrA= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= @@ -963,8 +963,8 @@ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8 rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.30/go.mod h1:fEO7lRTdivWO2qYVCVG7dEADOMo/MLDCVr8So2g88Uw= -sigs.k8s.io/controller-runtime v0.12.2 h1:nqV02cvhbAj7tbt21bpPpTByrXGn2INHRsi39lXy9sE= -sigs.k8s.io/controller-runtime v0.12.2/go.mod h1:qKsk4WE6zW2Hfj0G4v10EnNB2jMG1C+NTb8h+DwCoU0= +sigs.k8s.io/controller-runtime v0.12.1 h1:4BJY01xe9zKQti8oRjj/NeHKRXthf1YkYJAgLONFFoI= +sigs.k8s.io/controller-runtime v0.12.1/go.mod h1:BKhxlA4l7FPK4AQcsuL4X6vZeWnKDXez/vp1Y8dxTU0= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 h1:kDi4JBNAsJWfz1aEXhO8Jg87JJaPNLh5tIzYHgStQ9Y= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= diff --git a/controllers/gateway/main.go b/controllers/gateway/main.go index bae046e7e8..99a2980f92 100644 --- a/controllers/gateway/main.go +++ b/controllers/gateway/main.go @@ -31,8 +31,8 @@ import ( "sigs.k8s.io/controller-runtime/pkg/healthz" "sigs.k8s.io/controller-runtime/pkg/log/zap" - gatewayv1 "laf/api/v1" - "laf/controllers" + gatewayv1 "github.com/labring/laf/controllers/gateway/api/v1" + "github.com/labring/laf/controllers/gateway/controllers" //+kubebuilder:scaffold:imports ) @@ -71,7 +71,7 @@ func main() { Port: 9443, HealthProbeBindAddress: probeAddr, LeaderElection: enableLeaderElection, - LeaderElectionID: "5e608ca8.gateway.laf.dev", + LeaderElectionID: "e68e7628.laf.dev", // LeaderElectionReleaseOnCancel defines if the leader should step down voluntarily // when the Manager ends. This requires the binary to immediately end when the // Manager is stopped, otherwise, this setting is unsafe. Setting this significantly diff --git a/controllers/instance/Makefile b/controllers/instance/Makefile index 17b18a4a14..2bc5e8c7c9 100644 --- a/controllers/instance/Makefile +++ b/controllers/instance/Makefile @@ -2,7 +2,7 @@ # Image URL to use all building/pushing image targets IMG ?= controller:latest # ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. -ENVTEST_K8S_VERSION = 1.24.2 +ENVTEST_K8S_VERSION = 1.24.1 # Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set) ifeq (,$(shell go env GOBIN)) @@ -12,6 +12,7 @@ GOBIN=$(shell go env GOBIN) endif # Setting SHELL to bash allows bash commands to be executed by recipes. +# This is a requirement for 'setup-envtest.sh' in the test target. # Options are set to exit when a recipe line exits non-zero or a piped command fails. SHELL = /usr/bin/env bash -o pipefail .SHELLFLAGS = -ec @@ -113,20 +114,20 @@ ENVTEST ?= $(LOCALBIN)/setup-envtest ## Tool Versions KUSTOMIZE_VERSION ?= v3.8.7 -CONTROLLER_TOOLS_VERSION ?= v0.9.2 +CONTROLLER_TOOLS_VERSION ?= v0.9.0 KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" .PHONY: kustomize kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary. $(KUSTOMIZE): $(LOCALBIN) - test -s $(LOCALBIN)/kustomize || { curl -s $(KUSTOMIZE_INSTALL_SCRIPT) | bash -s -- $(subst v,,$(KUSTOMIZE_VERSION)) $(LOCALBIN); } + curl -s $(KUSTOMIZE_INSTALL_SCRIPT) | bash -s -- $(subst v,,$(KUSTOMIZE_VERSION)) $(LOCALBIN) .PHONY: controller-gen controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary. $(CONTROLLER_GEN): $(LOCALBIN) - test -s $(LOCALBIN)/controller-gen || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION) + GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION) .PHONY: envtest envtest: $(ENVTEST) ## Download envtest-setup locally if necessary. $(ENVTEST): $(LOCALBIN) - test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest + GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest diff --git a/controllers/instance/PROJECT b/controllers/instance/PROJECT index 6eb90e1b27..29fd052b10 100644 --- a/controllers/instance/PROJECT +++ b/controllers/instance/PROJECT @@ -1,16 +1,16 @@ -domain: instance.laf.dev +domain: laf.dev layout: - go.kubebuilder.io/v3 projectName: instance -repo: laf +repo: github.com/labring/laf/controllers/instance resources: - api: crdVersion: v1 namespaced: true controller: true - domain: instance.laf.dev + domain: laf.dev group: instance kind: Instance - path: laf/api/v1 + path: github.com/labring/laf/controllers/instance/api/v1 version: v1 version: "3" diff --git a/controllers/instance/api/v1/groupversion_info.go b/controllers/instance/api/v1/groupversion_info.go index cb52fabd54..47bf98a4e8 100644 --- a/controllers/instance/api/v1/groupversion_info.go +++ b/controllers/instance/api/v1/groupversion_info.go @@ -16,7 +16,7 @@ limitations under the License. // Package v1 contains API Schema definitions for the instance v1 API group //+kubebuilder:object:generate=true -//+groupName=instance.instance.laf.dev +//+groupName=instance.laf.dev package v1 import ( @@ -26,7 +26,7 @@ import ( var ( // GroupVersion is group version used to register these objects - GroupVersion = schema.GroupVersion{Group: "instance.instance.laf.dev", Version: "v1"} + GroupVersion = schema.GroupVersion{Group: "instance.laf.dev", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} diff --git a/controllers/instance/config/crd/kustomization.yaml b/controllers/instance/config/crd/kustomization.yaml index 574c8b6f82..9b2ed1b75a 100644 --- a/controllers/instance/config/crd/kustomization.yaml +++ b/controllers/instance/config/crd/kustomization.yaml @@ -2,7 +2,7 @@ # since it depends on service name and namespace that are out of this kustomize package. # It should be run by config/default resources: -- bases/instance.instance.laf.dev_instances.yaml +- bases/instance.laf.dev_instances.yaml #+kubebuilder:scaffold:crdkustomizeresource patchesStrategicMerge: diff --git a/controllers/instance/config/crd/patches/cainjection_in_instances.yaml b/controllers/instance/config/crd/patches/cainjection_in_instances.yaml index 10782e9988..9b8a0552e2 100644 --- a/controllers/instance/config/crd/patches/cainjection_in_instances.yaml +++ b/controllers/instance/config/crd/patches/cainjection_in_instances.yaml @@ -4,4 +4,4 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME) - name: instances.instance.instance.laf.dev + name: instances.instance.laf.dev diff --git a/controllers/instance/config/crd/patches/webhook_in_instances.yaml b/controllers/instance/config/crd/patches/webhook_in_instances.yaml index 4470e52245..0c7745f07a 100644 --- a/controllers/instance/config/crd/patches/webhook_in_instances.yaml +++ b/controllers/instance/config/crd/patches/webhook_in_instances.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: instances.instance.instance.laf.dev + name: instances.instance.laf.dev spec: conversion: strategy: Webhook diff --git a/controllers/instance/config/default/manager_auth_proxy_patch.yaml b/controllers/instance/config/default/manager_auth_proxy_patch.yaml index cec149a078..28a6ef7c79 100644 --- a/controllers/instance/config/default/manager_auth_proxy_patch.yaml +++ b/controllers/instance/config/default/manager_auth_proxy_patch.yaml @@ -15,7 +15,7 @@ spec: capabilities: drop: - "ALL" - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.13.0 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.12.0 args: - "--secure-listen-address=0.0.0.0:8443" - "--upstream=http://127.0.0.1:8080/" diff --git a/controllers/instance/config/manager/controller_manager_config.yaml b/controllers/instance/config/manager/controller_manager_config.yaml index 70a5a8e6c4..a0a4f1a558 100644 --- a/controllers/instance/config/manager/controller_manager_config.yaml +++ b/controllers/instance/config/manager/controller_manager_config.yaml @@ -8,7 +8,7 @@ webhook: port: 9443 leaderElection: leaderElect: true - resourceName: 5e608ca8.instance.laf.dev + resourceName: ca1b3e11.laf.dev # leaderElectionReleaseOnCancel defines if the leader should step down volume # when the Manager ends. This requires the binary to immediately end when the # Manager is stopped, otherwise, this setting is unsafe. Setting this significantly diff --git a/controllers/instance/config/rbac/instance_editor_role.yaml b/controllers/instance/config/rbac/instance_editor_role.yaml index 32d25ae674..2702be8de0 100644 --- a/controllers/instance/config/rbac/instance_editor_role.yaml +++ b/controllers/instance/config/rbac/instance_editor_role.yaml @@ -5,7 +5,7 @@ metadata: name: instance-editor-role rules: - apiGroups: - - instance.instance.laf.dev + - instance.laf.dev resources: - instances verbs: @@ -17,7 +17,7 @@ rules: - update - watch - apiGroups: - - instance.instance.laf.dev + - instance.laf.dev resources: - instances/status verbs: diff --git a/controllers/instance/config/rbac/instance_viewer_role.yaml b/controllers/instance/config/rbac/instance_viewer_role.yaml index 5d52183d68..53116e5cda 100644 --- a/controllers/instance/config/rbac/instance_viewer_role.yaml +++ b/controllers/instance/config/rbac/instance_viewer_role.yaml @@ -5,7 +5,7 @@ metadata: name: instance-viewer-role rules: - apiGroups: - - instance.instance.laf.dev + - instance.laf.dev resources: - instances verbs: @@ -13,7 +13,7 @@ rules: - list - watch - apiGroups: - - instance.instance.laf.dev + - instance.laf.dev resources: - instances/status verbs: diff --git a/controllers/instance/config/samples/instance_v1_instance.yaml b/controllers/instance/config/samples/instance_v1_instance.yaml index f335c6b13d..1727079799 100644 --- a/controllers/instance/config/samples/instance_v1_instance.yaml +++ b/controllers/instance/config/samples/instance_v1_instance.yaml @@ -1,4 +1,4 @@ -apiVersion: instance.instance.laf.dev/v1 +apiVersion: instance.laf.dev/v1 kind: Instance metadata: name: instance-sample diff --git a/controllers/instance/controllers/instance_controller.go b/controllers/instance/controllers/instance_controller.go index 4fe485113c..c30f280be8 100644 --- a/controllers/instance/controllers/instance_controller.go +++ b/controllers/instance/controllers/instance_controller.go @@ -24,7 +24,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/log" - instancev1 "laf/api/v1" + instancev1 "github.com/labring/laf/controllers/instance/api/v1" ) // InstanceReconciler reconciles a Instance object @@ -33,9 +33,9 @@ type InstanceReconciler struct { Scheme *runtime.Scheme } -//+kubebuilder:rbac:groups=instance.instance.laf.dev,resources=instances,verbs=get;list;watch;create;update;patch;delete -//+kubebuilder:rbac:groups=instance.instance.laf.dev,resources=instances/status,verbs=get;update;patch -//+kubebuilder:rbac:groups=instance.instance.laf.dev,resources=instances/finalizers,verbs=update +//+kubebuilder:rbac:groups=instance.laf.dev,resources=instances,verbs=get;list;watch;create;update;patch;delete +//+kubebuilder:rbac:groups=instance.laf.dev,resources=instances/status,verbs=get;update;patch +//+kubebuilder:rbac:groups=instance.laf.dev,resources=instances/finalizers,verbs=update // Reconcile is part of the main kubernetes reconciliation loop which aims to // move the current state of the cluster closer to the desired state. @@ -45,7 +45,7 @@ type InstanceReconciler struct { // the user. // // For more details, check Reconcile and its Result here: -// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.12.2/pkg/reconcile +// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.12.1/pkg/reconcile func (r *InstanceReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { _ = log.FromContext(ctx) diff --git a/controllers/instance/controllers/suite_test.go b/controllers/instance/controllers/suite_test.go index fd56399736..bfa8c85bd4 100644 --- a/controllers/instance/controllers/suite_test.go +++ b/controllers/instance/controllers/suite_test.go @@ -22,7 +22,6 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - "k8s.io/client-go/kubernetes/scheme" "k8s.io/client-go/rest" "sigs.k8s.io/controller-runtime/pkg/client" @@ -31,7 +30,7 @@ import ( logf "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/controller-runtime/pkg/log/zap" - instancev1 "laf/api/v1" + instancev1 "github.com/labring/laf/controllers/instance/api/v1" //+kubebuilder:scaffold:imports ) diff --git a/controllers/instance/go.mod b/controllers/instance/go.mod index b928f0ddf3..2110c98e78 100644 --- a/controllers/instance/go.mod +++ b/controllers/instance/go.mod @@ -1,13 +1,13 @@ -module laf +module github.com/labring/laf/controllers/instance go 1.18 require ( github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.18.1 - k8s.io/apimachinery v0.24.2 - k8s.io/client-go v0.24.2 - sigs.k8s.io/controller-runtime v0.12.2 + k8s.io/apimachinery v0.24.0 + k8s.io/client-go v0.24.0 + sigs.k8s.io/controller-runtime v0.12.1 ) require ( @@ -71,9 +71,9 @@ require ( gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect - k8s.io/api v0.24.2 // indirect - k8s.io/apiextensions-apiserver v0.24.2 // indirect - k8s.io/component-base v0.24.2 // indirect + k8s.io/api v0.24.0 // indirect + k8s.io/apiextensions-apiserver v0.24.0 // indirect + k8s.io/component-base v0.24.0 // indirect k8s.io/klog/v2 v2.60.1 // indirect k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 // indirect k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect diff --git a/controllers/instance/go.sum b/controllers/instance/go.sum index c27022bfb5..7087c092f6 100644 --- a/controllers/instance/go.sum +++ b/controllers/instance/go.sum @@ -936,18 +936,18 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.24.2 h1:g518dPU/L7VRLxWfcadQn2OnsiGWVOadTLpdnqgY2OI= -k8s.io/api v0.24.2/go.mod h1:AHqbSkTm6YrQ0ObxjO3Pmp/ubFF/KuM7jU+3khoBsOg= -k8s.io/apiextensions-apiserver v0.24.2 h1:/4NEQHKlEz1MlaK/wHT5KMKC9UKYz6NZz6JE6ov4G6k= -k8s.io/apiextensions-apiserver v0.24.2/go.mod h1:e5t2GMFVngUEHUd0wuCJzw8YDwZoqZfJiGOW6mm2hLQ= -k8s.io/apimachinery v0.24.2 h1:5QlH9SL2C8KMcrNJPor+LbXVTaZRReml7svPEh4OKDM= -k8s.io/apimachinery v0.24.2/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= -k8s.io/apiserver v0.24.2/go.mod h1:pSuKzr3zV+L+MWqsEo0kHHYwCo77AT5qXbFXP2jbvFI= -k8s.io/client-go v0.24.2 h1:CoXFSf8if+bLEbinDqN9ePIDGzcLtqhfd6jpfnwGOFA= -k8s.io/client-go v0.24.2/go.mod h1:zg4Xaoo+umDsfCWr4fCnmLEtQXyCNXCvJuSsglNcV30= -k8s.io/code-generator v0.24.2/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= -k8s.io/component-base v0.24.2 h1:kwpQdoSfbcH+8MPN4tALtajLDfSfYxBDYlXobNWI6OU= -k8s.io/component-base v0.24.2/go.mod h1:ucHwW76dajvQ9B7+zecZAP3BVqvrHoOxm8olHEg0nmM= +k8s.io/api v0.24.0 h1:J0hann2hfxWr1hinZIDefw7Q96wmCBx6SSB8IY0MdDg= +k8s.io/api v0.24.0/go.mod h1:5Jl90IUrJHUJYEMANRURMiVvJ0g7Ax7r3R1bqO8zx8I= +k8s.io/apiextensions-apiserver v0.24.0 h1:JfgFqbA8gKJ/uDT++feAqk9jBIwNnL9YGdQvaI9DLtY= +k8s.io/apiextensions-apiserver v0.24.0/go.mod h1:iuVe4aEpe6827lvO6yWQVxiPSpPoSKVjkq+MIdg84cM= +k8s.io/apimachinery v0.24.0 h1:ydFCyC/DjCvFCHK5OPMKBlxayQytB8pxy8YQInd5UyQ= +k8s.io/apimachinery v0.24.0/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= +k8s.io/apiserver v0.24.0/go.mod h1:WFx2yiOMawnogNToVvUYT9nn1jaIkMKj41ZYCVycsBA= +k8s.io/client-go v0.24.0 h1:lbE4aB1gTHvYFSwm6eD3OF14NhFDKCejlnsGYlSJe5U= +k8s.io/client-go v0.24.0/go.mod h1:VFPQET+cAFpYxh6Bq6f4xyMY80G6jKKktU6G0m00VDw= +k8s.io/code-generator v0.24.0/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= +k8s.io/component-base v0.24.0 h1:h5jieHZQoHrY/lHG+HyrSbJeyfuitheBvqvKwKHVC0g= +k8s.io/component-base v0.24.0/go.mod h1:Dgazgon0i7KYUsS8krG8muGiMVtUZxG037l1MKyXgrA= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= @@ -963,8 +963,8 @@ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8 rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.30/go.mod h1:fEO7lRTdivWO2qYVCVG7dEADOMo/MLDCVr8So2g88Uw= -sigs.k8s.io/controller-runtime v0.12.2 h1:nqV02cvhbAj7tbt21bpPpTByrXGn2INHRsi39lXy9sE= -sigs.k8s.io/controller-runtime v0.12.2/go.mod h1:qKsk4WE6zW2Hfj0G4v10EnNB2jMG1C+NTb8h+DwCoU0= +sigs.k8s.io/controller-runtime v0.12.1 h1:4BJY01xe9zKQti8oRjj/NeHKRXthf1YkYJAgLONFFoI= +sigs.k8s.io/controller-runtime v0.12.1/go.mod h1:BKhxlA4l7FPK4AQcsuL4X6vZeWnKDXez/vp1Y8dxTU0= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 h1:kDi4JBNAsJWfz1aEXhO8Jg87JJaPNLh5tIzYHgStQ9Y= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= diff --git a/controllers/instance/main.go b/controllers/instance/main.go index 6780d88e8b..4c7d325918 100644 --- a/controllers/instance/main.go +++ b/controllers/instance/main.go @@ -31,8 +31,8 @@ import ( "sigs.k8s.io/controller-runtime/pkg/healthz" "sigs.k8s.io/controller-runtime/pkg/log/zap" - instancev1 "laf/api/v1" - "laf/controllers" + instancev1 "github.com/labring/laf/controllers/instance/api/v1" + "github.com/labring/laf/controllers/instance/controllers" //+kubebuilder:scaffold:imports ) @@ -71,7 +71,7 @@ func main() { Port: 9443, HealthProbeBindAddress: probeAddr, LeaderElection: enableLeaderElection, - LeaderElectionID: "5e608ca8.instance.laf.dev", + LeaderElectionID: "ca1b3e11.laf.dev", // LeaderElectionReleaseOnCancel defines if the leader should step down voluntarily // when the Manager ends. This requires the binary to immediately end when the // Manager is stopped, otherwise, this setting is unsafe. Setting this significantly diff --git a/controllers/oss/Makefile b/controllers/oss/Makefile index 17b18a4a14..2bc5e8c7c9 100644 --- a/controllers/oss/Makefile +++ b/controllers/oss/Makefile @@ -2,7 +2,7 @@ # Image URL to use all building/pushing image targets IMG ?= controller:latest # ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. -ENVTEST_K8S_VERSION = 1.24.2 +ENVTEST_K8S_VERSION = 1.24.1 # Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set) ifeq (,$(shell go env GOBIN)) @@ -12,6 +12,7 @@ GOBIN=$(shell go env GOBIN) endif # Setting SHELL to bash allows bash commands to be executed by recipes. +# This is a requirement for 'setup-envtest.sh' in the test target. # Options are set to exit when a recipe line exits non-zero or a piped command fails. SHELL = /usr/bin/env bash -o pipefail .SHELLFLAGS = -ec @@ -113,20 +114,20 @@ ENVTEST ?= $(LOCALBIN)/setup-envtest ## Tool Versions KUSTOMIZE_VERSION ?= v3.8.7 -CONTROLLER_TOOLS_VERSION ?= v0.9.2 +CONTROLLER_TOOLS_VERSION ?= v0.9.0 KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" .PHONY: kustomize kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary. $(KUSTOMIZE): $(LOCALBIN) - test -s $(LOCALBIN)/kustomize || { curl -s $(KUSTOMIZE_INSTALL_SCRIPT) | bash -s -- $(subst v,,$(KUSTOMIZE_VERSION)) $(LOCALBIN); } + curl -s $(KUSTOMIZE_INSTALL_SCRIPT) | bash -s -- $(subst v,,$(KUSTOMIZE_VERSION)) $(LOCALBIN) .PHONY: controller-gen controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary. $(CONTROLLER_GEN): $(LOCALBIN) - test -s $(LOCALBIN)/controller-gen || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION) + GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION) .PHONY: envtest envtest: $(ENVTEST) ## Download envtest-setup locally if necessary. $(ENVTEST): $(LOCALBIN) - test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest + GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest diff --git a/controllers/oss/PROJECT b/controllers/oss/PROJECT index b9b34a2c33..a0e8206a5a 100644 --- a/controllers/oss/PROJECT +++ b/controllers/oss/PROJECT @@ -1,16 +1,16 @@ -domain: oss.laf.dev +domain: laf.dev layout: - go.kubebuilder.io/v3 projectName: oss -repo: laf +repo: github.com/labring/laf/controllers/oss resources: - api: crdVersion: v1 namespaced: true controller: true - domain: oss.laf.dev + domain: laf.dev group: oss kind: Oss - path: laf/api/v1 + path: github.com/labring/laf/controllers/oss/api/v1 version: v1 version: "3" diff --git a/controllers/oss/api/v1/groupversion_info.go b/controllers/oss/api/v1/groupversion_info.go index 72c52a13ea..d7ab46b6d4 100644 --- a/controllers/oss/api/v1/groupversion_info.go +++ b/controllers/oss/api/v1/groupversion_info.go @@ -16,7 +16,7 @@ limitations under the License. // Package v1 contains API Schema definitions for the oss v1 API group //+kubebuilder:object:generate=true -//+groupName=oss.oss.laf.dev +//+groupName=oss.laf.dev package v1 import ( @@ -26,7 +26,7 @@ import ( var ( // GroupVersion is group version used to register these objects - GroupVersion = schema.GroupVersion{Group: "oss.oss.laf.dev", Version: "v1"} + GroupVersion = schema.GroupVersion{Group: "oss.laf.dev", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} diff --git a/controllers/oss/config/crd/bases/oss.laf.dev_osses.yaml b/controllers/oss/config/crd/bases/oss.laf.dev_osses.yaml new file mode 100644 index 0000000000..f88748d12a --- /dev/null +++ b/controllers/oss/config/crd/bases/oss.laf.dev_osses.yaml @@ -0,0 +1,50 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.0 + creationTimestamp: null + name: osses.oss.laf.dev +spec: + group: oss.laf.dev + names: + kind: Oss + listKind: OssList + plural: osses + singular: oss + scope: Namespaced + versions: + - name: v1 + schema: + openAPIV3Schema: + description: Oss is the Schema for the osses API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: OssSpec defines the desired state of Oss + properties: + foo: + description: Foo is an example field of Oss. Edit oss_types.go to + remove/update + type: string + type: object + status: + description: OssStatus defines the observed state of Oss + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/controllers/oss/config/crd/kustomization.yaml b/controllers/oss/config/crd/kustomization.yaml index e432f86d0f..33c0ba9373 100644 --- a/controllers/oss/config/crd/kustomization.yaml +++ b/controllers/oss/config/crd/kustomization.yaml @@ -2,7 +2,7 @@ # since it depends on service name and namespace that are out of this kustomize package. # It should be run by config/default resources: -- bases/oss.oss.laf.dev_osses.yaml +- bases/oss.laf.dev_osses.yaml #+kubebuilder:scaffold:crdkustomizeresource patchesStrategicMerge: diff --git a/controllers/oss/config/crd/patches/cainjection_in_osses.yaml b/controllers/oss/config/crd/patches/cainjection_in_osses.yaml index c1fe04be1a..6263f3e95b 100644 --- a/controllers/oss/config/crd/patches/cainjection_in_osses.yaml +++ b/controllers/oss/config/crd/patches/cainjection_in_osses.yaml @@ -4,4 +4,4 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME) - name: osses.oss.oss.laf.dev + name: osses.oss.laf.dev diff --git a/controllers/oss/config/crd/patches/webhook_in_osses.yaml b/controllers/oss/config/crd/patches/webhook_in_osses.yaml index 4355f068a8..54f7338bee 100644 --- a/controllers/oss/config/crd/patches/webhook_in_osses.yaml +++ b/controllers/oss/config/crd/patches/webhook_in_osses.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: osses.oss.oss.laf.dev + name: osses.oss.laf.dev spec: conversion: strategy: Webhook diff --git a/controllers/oss/config/default/manager_auth_proxy_patch.yaml b/controllers/oss/config/default/manager_auth_proxy_patch.yaml index cec149a078..28a6ef7c79 100644 --- a/controllers/oss/config/default/manager_auth_proxy_patch.yaml +++ b/controllers/oss/config/default/manager_auth_proxy_patch.yaml @@ -15,7 +15,7 @@ spec: capabilities: drop: - "ALL" - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.13.0 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.12.0 args: - "--secure-listen-address=0.0.0.0:8443" - "--upstream=http://127.0.0.1:8080/" diff --git a/controllers/oss/config/manager/controller_manager_config.yaml b/controllers/oss/config/manager/controller_manager_config.yaml index 8160856088..a2d20df004 100644 --- a/controllers/oss/config/manager/controller_manager_config.yaml +++ b/controllers/oss/config/manager/controller_manager_config.yaml @@ -8,7 +8,7 @@ webhook: port: 9443 leaderElection: leaderElect: true - resourceName: 5e608ca8.oss.laf.dev + resourceName: 362be751.laf.dev # leaderElectionReleaseOnCancel defines if the leader should step down volume # when the Manager ends. This requires the binary to immediately end when the # Manager is stopped, otherwise, this setting is unsafe. Setting this significantly diff --git a/controllers/oss/config/rbac/oss_editor_role.yaml b/controllers/oss/config/rbac/oss_editor_role.yaml index 0380e6f92f..6dd4370a5c 100644 --- a/controllers/oss/config/rbac/oss_editor_role.yaml +++ b/controllers/oss/config/rbac/oss_editor_role.yaml @@ -5,7 +5,7 @@ metadata: name: oss-editor-role rules: - apiGroups: - - oss.oss.laf.dev + - oss.laf.dev resources: - osses verbs: @@ -17,7 +17,7 @@ rules: - update - watch - apiGroups: - - oss.oss.laf.dev + - oss.laf.dev resources: - osses/status verbs: diff --git a/controllers/oss/config/rbac/oss_viewer_role.yaml b/controllers/oss/config/rbac/oss_viewer_role.yaml index f172f0cc75..4d5c1d008e 100644 --- a/controllers/oss/config/rbac/oss_viewer_role.yaml +++ b/controllers/oss/config/rbac/oss_viewer_role.yaml @@ -5,7 +5,7 @@ metadata: name: oss-viewer-role rules: - apiGroups: - - oss.oss.laf.dev + - oss.laf.dev resources: - osses verbs: @@ -13,7 +13,7 @@ rules: - list - watch - apiGroups: - - oss.oss.laf.dev + - oss.laf.dev resources: - osses/status verbs: diff --git a/controllers/oss/config/rbac/role.yaml b/controllers/oss/config/rbac/role.yaml new file mode 100644 index 0000000000..3863960669 --- /dev/null +++ b/controllers/oss/config/rbac/role.yaml @@ -0,0 +1,33 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + name: manager-role +rules: +- apiGroups: + - oss.laf.dev + resources: + - osses + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - oss.laf.dev + resources: + - osses/finalizers + verbs: + - update +- apiGroups: + - oss.laf.dev + resources: + - osses/status + verbs: + - get + - patch + - update diff --git a/controllers/oss/config/samples/oss_v1_oss.yaml b/controllers/oss/config/samples/oss_v1_oss.yaml index 52714c2d86..e53c022c9d 100644 --- a/controllers/oss/config/samples/oss_v1_oss.yaml +++ b/controllers/oss/config/samples/oss_v1_oss.yaml @@ -1,4 +1,4 @@ -apiVersion: oss.oss.laf.dev/v1 +apiVersion: oss.laf.dev/v1 kind: Oss metadata: name: oss-sample diff --git a/controllers/oss/controllers/oss_controller.go b/controllers/oss/controllers/oss_controller.go index 7ef5c6df5d..82ab82aba5 100644 --- a/controllers/oss/controllers/oss_controller.go +++ b/controllers/oss/controllers/oss_controller.go @@ -24,7 +24,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/log" - ossv1 "laf/api/v1" + ossv1 "github.com/labring/laf/controllers/oss/api/v1" ) // OssReconciler reconciles a Oss object @@ -33,9 +33,9 @@ type OssReconciler struct { Scheme *runtime.Scheme } -//+kubebuilder:rbac:groups=oss.oss.laf.dev,resources=osses,verbs=get;list;watch;create;update;patch;delete -//+kubebuilder:rbac:groups=oss.oss.laf.dev,resources=osses/status,verbs=get;update;patch -//+kubebuilder:rbac:groups=oss.oss.laf.dev,resources=osses/finalizers,verbs=update +//+kubebuilder:rbac:groups=oss.laf.dev,resources=osses,verbs=get;list;watch;create;update;patch;delete +//+kubebuilder:rbac:groups=oss.laf.dev,resources=osses/status,verbs=get;update;patch +//+kubebuilder:rbac:groups=oss.laf.dev,resources=osses/finalizers,verbs=update // Reconcile is part of the main kubernetes reconciliation loop which aims to // move the current state of the cluster closer to the desired state. @@ -45,7 +45,7 @@ type OssReconciler struct { // the user. // // For more details, check Reconcile and its Result here: -// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.12.2/pkg/reconcile +// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.12.1/pkg/reconcile func (r *OssReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { _ = log.FromContext(ctx) diff --git a/controllers/oss/controllers/suite_test.go b/controllers/oss/controllers/suite_test.go index 937b810b13..e85f213c07 100644 --- a/controllers/oss/controllers/suite_test.go +++ b/controllers/oss/controllers/suite_test.go @@ -22,7 +22,6 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - "k8s.io/client-go/kubernetes/scheme" "k8s.io/client-go/rest" "sigs.k8s.io/controller-runtime/pkg/client" @@ -31,7 +30,7 @@ import ( logf "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/controller-runtime/pkg/log/zap" - ossv1 "laf/api/v1" + ossv1 "github.com/labring/laf/controllers/oss/api/v1" //+kubebuilder:scaffold:imports ) diff --git a/controllers/oss/go.mod b/controllers/oss/go.mod index b928f0ddf3..cc33da1da5 100644 --- a/controllers/oss/go.mod +++ b/controllers/oss/go.mod @@ -1,13 +1,13 @@ -module laf +module github.com/labring/laf/controllers/oss go 1.18 require ( github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.18.1 - k8s.io/apimachinery v0.24.2 - k8s.io/client-go v0.24.2 - sigs.k8s.io/controller-runtime v0.12.2 + k8s.io/apimachinery v0.24.0 + k8s.io/client-go v0.24.0 + sigs.k8s.io/controller-runtime v0.12.1 ) require ( @@ -71,9 +71,9 @@ require ( gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect - k8s.io/api v0.24.2 // indirect - k8s.io/apiextensions-apiserver v0.24.2 // indirect - k8s.io/component-base v0.24.2 // indirect + k8s.io/api v0.24.0 // indirect + k8s.io/apiextensions-apiserver v0.24.0 // indirect + k8s.io/component-base v0.24.0 // indirect k8s.io/klog/v2 v2.60.1 // indirect k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 // indirect k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect diff --git a/controllers/oss/go.sum b/controllers/oss/go.sum index c27022bfb5..7087c092f6 100644 --- a/controllers/oss/go.sum +++ b/controllers/oss/go.sum @@ -936,18 +936,18 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.24.2 h1:g518dPU/L7VRLxWfcadQn2OnsiGWVOadTLpdnqgY2OI= -k8s.io/api v0.24.2/go.mod h1:AHqbSkTm6YrQ0ObxjO3Pmp/ubFF/KuM7jU+3khoBsOg= -k8s.io/apiextensions-apiserver v0.24.2 h1:/4NEQHKlEz1MlaK/wHT5KMKC9UKYz6NZz6JE6ov4G6k= -k8s.io/apiextensions-apiserver v0.24.2/go.mod h1:e5t2GMFVngUEHUd0wuCJzw8YDwZoqZfJiGOW6mm2hLQ= -k8s.io/apimachinery v0.24.2 h1:5QlH9SL2C8KMcrNJPor+LbXVTaZRReml7svPEh4OKDM= -k8s.io/apimachinery v0.24.2/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= -k8s.io/apiserver v0.24.2/go.mod h1:pSuKzr3zV+L+MWqsEo0kHHYwCo77AT5qXbFXP2jbvFI= -k8s.io/client-go v0.24.2 h1:CoXFSf8if+bLEbinDqN9ePIDGzcLtqhfd6jpfnwGOFA= -k8s.io/client-go v0.24.2/go.mod h1:zg4Xaoo+umDsfCWr4fCnmLEtQXyCNXCvJuSsglNcV30= -k8s.io/code-generator v0.24.2/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= -k8s.io/component-base v0.24.2 h1:kwpQdoSfbcH+8MPN4tALtajLDfSfYxBDYlXobNWI6OU= -k8s.io/component-base v0.24.2/go.mod h1:ucHwW76dajvQ9B7+zecZAP3BVqvrHoOxm8olHEg0nmM= +k8s.io/api v0.24.0 h1:J0hann2hfxWr1hinZIDefw7Q96wmCBx6SSB8IY0MdDg= +k8s.io/api v0.24.0/go.mod h1:5Jl90IUrJHUJYEMANRURMiVvJ0g7Ax7r3R1bqO8zx8I= +k8s.io/apiextensions-apiserver v0.24.0 h1:JfgFqbA8gKJ/uDT++feAqk9jBIwNnL9YGdQvaI9DLtY= +k8s.io/apiextensions-apiserver v0.24.0/go.mod h1:iuVe4aEpe6827lvO6yWQVxiPSpPoSKVjkq+MIdg84cM= +k8s.io/apimachinery v0.24.0 h1:ydFCyC/DjCvFCHK5OPMKBlxayQytB8pxy8YQInd5UyQ= +k8s.io/apimachinery v0.24.0/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= +k8s.io/apiserver v0.24.0/go.mod h1:WFx2yiOMawnogNToVvUYT9nn1jaIkMKj41ZYCVycsBA= +k8s.io/client-go v0.24.0 h1:lbE4aB1gTHvYFSwm6eD3OF14NhFDKCejlnsGYlSJe5U= +k8s.io/client-go v0.24.0/go.mod h1:VFPQET+cAFpYxh6Bq6f4xyMY80G6jKKktU6G0m00VDw= +k8s.io/code-generator v0.24.0/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= +k8s.io/component-base v0.24.0 h1:h5jieHZQoHrY/lHG+HyrSbJeyfuitheBvqvKwKHVC0g= +k8s.io/component-base v0.24.0/go.mod h1:Dgazgon0i7KYUsS8krG8muGiMVtUZxG037l1MKyXgrA= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= @@ -963,8 +963,8 @@ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8 rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.30/go.mod h1:fEO7lRTdivWO2qYVCVG7dEADOMo/MLDCVr8So2g88Uw= -sigs.k8s.io/controller-runtime v0.12.2 h1:nqV02cvhbAj7tbt21bpPpTByrXGn2INHRsi39lXy9sE= -sigs.k8s.io/controller-runtime v0.12.2/go.mod h1:qKsk4WE6zW2Hfj0G4v10EnNB2jMG1C+NTb8h+DwCoU0= +sigs.k8s.io/controller-runtime v0.12.1 h1:4BJY01xe9zKQti8oRjj/NeHKRXthf1YkYJAgLONFFoI= +sigs.k8s.io/controller-runtime v0.12.1/go.mod h1:BKhxlA4l7FPK4AQcsuL4X6vZeWnKDXez/vp1Y8dxTU0= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 h1:kDi4JBNAsJWfz1aEXhO8Jg87JJaPNLh5tIzYHgStQ9Y= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= diff --git a/controllers/oss/main.go b/controllers/oss/main.go index 30bdbafb32..0cd7f2a963 100644 --- a/controllers/oss/main.go +++ b/controllers/oss/main.go @@ -31,8 +31,8 @@ import ( "sigs.k8s.io/controller-runtime/pkg/healthz" "sigs.k8s.io/controller-runtime/pkg/log/zap" - ossv1 "laf/api/v1" - "laf/controllers" + ossv1 "github.com/labring/laf/controllers/oss/api/v1" + "github.com/labring/laf/controllers/oss/controllers" //+kubebuilder:scaffold:imports ) @@ -71,7 +71,7 @@ func main() { Port: 9443, HealthProbeBindAddress: probeAddr, LeaderElection: enableLeaderElection, - LeaderElectionID: "5e608ca8.oss.laf.dev", + LeaderElectionID: "362be751.laf.dev", // LeaderElectionReleaseOnCancel defines if the leader should step down voluntarily // when the Manager ends. This requires the binary to immediately end when the // Manager is stopped, otherwise, this setting is unsafe. Setting this significantly