diff --git a/README.md b/README.md index be555ab..40f7aa5 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ## Proxmox Cloud Controller Manager -This repository contains the Kubernetes cloud-controller-manager for Proxmox VE. Proxmox Cloud Controller Manager is compatible with [cluster-api-provider-proxmox](https://github.com/sp-yduck/cluster-api-provider-proxmox) so that machine controller of CAPI can match the nodes with their machine object. (See [machine-controller](https://cluster-api.sigs.k8s.io/developer/architecture/controllers/machine.html#machine--controller) for how it works) +This repository contains the Kubernetes cloud-controller-manager for Proxmox VE. Proxmox Cloud Controller Manager is compatible with [cluster-api-provider-proxmox](https://github.com/k8s-proxmox/cluster-api-provider-proxmox) so that machine controller of CAPI can match the nodes with their machine object. (See [machine-controller](https://cluster-api.sigs.k8s.io/developer/architecture/controllers/machine.html#machine--controller) for how it works) ## Feature ### Node lifecycle controller diff --git a/cmd/proxmox-cloud-controller-manager.go b/cmd/proxmox-cloud-controller-manager.go index 8f4816a..27aa70c 100644 --- a/cmd/proxmox-cloud-controller-manager.go +++ b/cmd/proxmox-cloud-controller-manager.go @@ -36,7 +36,7 @@ import ( _ "k8s.io/component-base/metrics/prometheus/version" // for version metric registration "k8s.io/klog/v2" - "github.com/sp-yduck/cloud-provider-proxmox/pkg/cloudprovider" + "github.com/k8s-proxmox/cloud-provider-proxmox/pkg/cloudprovider" ) func main() { diff --git a/go.mod b/go.mod index 7f71cd6..02cd300 100644 --- a/go.mod +++ b/go.mod @@ -1,10 +1,10 @@ -module github.com/sp-yduck/cloud-provider-proxmox +module github.com/k8s-proxmox/cloud-provider-proxmox go 1.20 require ( + github.com/k8s-proxmox/proxmox-go v0.0.0-alpha25 github.com/pkg/errors v0.9.1 - github.com/sp-yduck/proxmox-go v0.0.0-alpha22 github.com/spf13/pflag v1.0.5 github.com/stretchr/testify v1.8.4 gopkg.in/yaml.v3 v3.0.1 @@ -111,4 +111,4 @@ require ( sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect sigs.k8s.io/yaml v1.3.0 // indirect -) \ No newline at end of file +) diff --git a/go.sum b/go.sum index ebcca3e..8384386 100644 --- a/go.sum +++ b/go.sum @@ -216,6 +216,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/k8s-proxmox/proxmox-go v0.0.0-alpha25 h1:vPkQUj+1ZsJNhxFktsWB9+efgGIWJ8VmgSgq9OJKxPI= +github.com/k8s-proxmox/proxmox-go v0.0.0-alpha25/go.mod h1:ZSAdc9vVAEcIhbNkZxURWTY+k59cXUy9mswp5ofMM40= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= @@ -265,8 +267,6 @@ github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjR github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= -github.com/sp-yduck/proxmox-go v0.0.0-alpha22 h1:xMY7SBfieHUXMZY0f7AShO2fmGJtZZkmGbI/9PnmQ/c= -github.com/sp-yduck/proxmox-go v0.0.0-alpha22/go.mod h1:iEI7ilRwyUaWvoxuXs/30UJ2f8Z2TWXCW1cZ3QeU2JY= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/cobra v1.6.0 h1:42a0n6jwCot1pUmomAp4T7DeMD+20LFv4Q54pxLf2LI= github.com/spf13/cobra v1.6.0/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= diff --git a/manifests/cloud-controller-manager.yaml b/manifests/cloud-controller-manager.yaml index 6254859..5d86d8f 100644 --- a/manifests/cloud-controller-manager.yaml +++ b/manifests/cloud-controller-manager.yaml @@ -14,9 +14,9 @@ roleRef: kind: ClusterRole name: cluster-admin subjects: -- kind: ServiceAccount - name: proxmox-cloud-controller-manager - namespace: kube-system + - kind: ServiceAccount + name: proxmox-cloud-controller-manager + namespace: kube-system --- apiVersion: apps/v1 kind: DaemonSet @@ -36,41 +36,41 @@ spec: spec: serviceAccountName: proxmox-cloud-controller-manager containers: - - name: cloud-controller-manager - image: spyduck/cloud-provider-proxmox:latest - command: - - /usr/local/bin/cloud-controller-manager - - --cloud-provider=proxmox - - --cloud-config=/etc/proxmox/config.yaml - - --leader-elect=true - - --use-service-account-credentials - - --controllers=cloud-node,cloud-node-lifecycle - volumeMounts: - - name: cloud-config - mountPath: /etc/proxmox - readOnly: true - livenessProbe: - httpGet: - path: /healthz - port: 10258 - scheme: HTTPS - initialDelaySeconds: 20 - periodSeconds: 30 - timeoutSeconds: 5 + - name: cloud-controller-manager + image: ghcr.io/k8s-proxmox/cloud-provider-proxmox:latest + command: + - /usr/local/bin/cloud-controller-manager + - --cloud-provider=proxmox + - --cloud-config=/etc/proxmox/config.yaml + - --leader-elect=true + - --use-service-account-credentials + - --controllers=cloud-node,cloud-node-lifecycle + volumeMounts: + - name: cloud-config + mountPath: /etc/proxmox + readOnly: true + livenessProbe: + httpGet: + path: /healthz + port: 10258 + scheme: HTTPS + initialDelaySeconds: 20 + periodSeconds: 30 + timeoutSeconds: 5 volumes: - name: cloud-config secret: secretName: cloud-config tolerations: - - key: node.cloudprovider.kubernetes.io/uninitialized - value: "true" - effect: NoSchedule - - key: node-role.kubernetes.io/control-plane - operator: Exists - effect: NoSchedule - - key: node-role.kubernetes.io/master - operator: Exists - effect: NoSchedule + - key: node.cloudprovider.kubernetes.io/uninitialized + value: "true" + effect: NoSchedule + - key: node-role.kubernetes.io/control-plane + operator: Exists + effect: NoSchedule + - key: node-role.kubernetes.io/master + operator: Exists + effect: NoSchedule nodeSelector: node-role.kubernetes.io/control-plane: "" --- diff --git a/pkg/cloudprovider/instances.go b/pkg/cloudprovider/instances.go index 4c19110..64b7503 100644 --- a/pkg/cloudprovider/instances.go +++ b/pkg/cloudprovider/instances.go @@ -4,9 +4,9 @@ import ( "context" "fmt" - "github.com/sp-yduck/proxmox-go/api" - "github.com/sp-yduck/proxmox-go/proxmox" - "github.com/sp-yduck/proxmox-go/rest" + "github.com/k8s-proxmox/proxmox-go/api" + "github.com/k8s-proxmox/proxmox-go/proxmox" + "github.com/k8s-proxmox/proxmox-go/rest" v1 "k8s.io/api/core/v1" cloudprovider "k8s.io/cloud-provider" "k8s.io/klog/v2" diff --git a/pkg/cloudprovider/suite_test.go b/pkg/cloudprovider/suite_test.go index f8d1969..a4b8e89 100644 --- a/pkg/cloudprovider/suite_test.go +++ b/pkg/cloudprovider/suite_test.go @@ -4,7 +4,7 @@ import ( "os" "testing" - "github.com/sp-yduck/proxmox-go/proxmox" + "github.com/k8s-proxmox/proxmox-go/proxmox" "github.com/stretchr/testify/suite" v1 "k8s.io/api/core/v1" )