Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add conversion v1 v2 #423

Closed
wants to merge 33 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
fa31dc0
Add conversion support between v1 and v2
dvaldivia Jan 10, 2021
3969f49
updated tenant crd
dvaldivia Jan 20, 2021
628385f
Make upgrade smoother
dvaldivia Jan 20, 2021
b46ac2c
Fix certificates
dvaldivia Jan 20, 2021
fabf4d8
Add missing kinds to conversions
dvaldivia Jan 20, 2021
87c46ea
Ignore error if it's already exists
dvaldivia Jan 20, 2021
8307c21
Fix upgrade statefulsets
dvaldivia Jan 21, 2021
52088b8
Update Secret for webhook
dvaldivia Jan 22, 2021
437e0cd
Read ca.crt from k8s secrets
Alevsk Jan 21, 2021
2416619
Update the statefulsets when upgradig to v4
dvaldivia Jan 27, 2021
09dfdfa
update examples
dvaldivia Jan 27, 2021
35db35d
Checking in custom binary of controller-gen
dvaldivia Jan 27, 2021
4625940
Remove binary
dvaldivia Jan 27, 2021
d33517e
fixed controller-gen binary location
dvaldivia Jan 27, 2021
ad4f83e
Updated warning
dvaldivia Jan 27, 2021
c0f6873
fixup controller-gen v0.4.5
harshavardhana Jan 27, 2021
ec31890
update CRD docs for v2 API
harshavardhana Jan 27, 2021
96c62be
Update pkg/apis/minio.min.io/v1/constants.go
dvaldivia Jan 27, 2021
8ad2718
Update pkg/apis/minio.min.io/v1/constants.go
dvaldivia Jan 27, 2021
364b7d8
Update pkg/apis/minio.min.io/v2/constants.go
dvaldivia Jan 27, 2021
e3e0cf8
Update pkg/apis/minio.min.io/v2/constants.go
dvaldivia Jan 27, 2021
b2224fb
Update pkg/apis/minio.min.io/v2/constants.go
dvaldivia Jan 27, 2021
6a98541
Update pkg/apis/minio.min.io/v1/constants.go
dvaldivia Jan 27, 2021
78aeebc
Update kubectl-minio/cmd/helpers/constants.go
dvaldivia Jan 27, 2021
0ce833e
update dependent packages
harshavardhana Jan 28, 2021
5cc4391
Add deprecated marker to CRD
dvaldivia Jan 28, 2021
6aac43f
Merge branch 'add-conversion-v1-v2' of github.com:dvaldivia/operator …
dvaldivia Jan 28, 2021
928da47
Update CRD to reflect operator namespace
dvaldivia Jan 28, 2021
7eaab13
Fix bug in arguments
dvaldivia Jan 28, 2021
515b911
Fix reference bug
dvaldivia Jan 28, 2021
b8f296f
Improve loop
dvaldivia Jan 28, 2021
b22bf1d
update controller-gen to v0.4.6
harshavardhana Jan 28, 2021
114fab9
update default images console and kes
harshavardhana Jan 29, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ VERSION ?= $(shell git describe --tags)
endif
TAG ?= "minio/operator:$(VERSION)"
LDFLAGS ?= "-s -w -X main.Version=$(VERSION)"

TMPFILE := $(shell mktemp)
GOPATH := $(shell go env GOPATH)
GOARCH := $(shell go env GOARCH)
GOOS := $(shell go env GOOS)

KUSTOMIZE_HOME=operator-kustomize
KUSTOMIZE_CRDS=$(KUSTOMIZE_HOME)/crds/
KUSTOMIZE_CRDS=$(KUSTOMIZE_HOME)/base/crds/

PLUGIN_HOME=kubectl-minio

Expand Down Expand Up @@ -54,8 +54,12 @@ clean:
@rm -rf dist/

regen-crd:
@which controller-gen 1>/dev/null || (echo "Installing controller-gen" && GO111MODULE=on go get sigs.k8s.io/controller-tools/cmd/controller-gen@v0.4.1)
@controller-gen crd:trivialVersions=true paths="./..." output:crd:artifacts:config=$(KUSTOMIZE_CRDS)
@GO111MODULE=on go get github.com/minio/controller-tools/cmd/controller-gen@v0.4.6
@echo "WARNING: for the time being, you need to clone and build github.com/minio/controller-tools/cmd/controller-gen@v0.4.6"
@echo "Any other controller-gen will cause the generated CRD to lose the volumeClaimTemplate metadata to be lost"
@controller-gen crd:maxDescLen=0,generateEmbeddedObjectMeta=true paths="./..." output:crd:artifacts:config=$(KUSTOMIZE_CRDS)
@kustomize build operator-kustomize/patch-crd > $(TMPFILE)
@mv -f $(TMPFILE) operator-kustomize/base/crds/minio.min.io_tenants.yaml

regen-crd-docs:
@which crd-ref-docs 1>/dev/null || (echo "Installing crd-ref-docs" && GO111MODULE=on go get github.com/elastic/crd-ref-docs)
Expand Down
189 changes: 147 additions & 42 deletions docs/crd.adoc

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion examples/patch.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: minio.min.io/v1
apiVersion: minio.min.io/v2
kind: Tenant
metadata:
name: minio
Expand Down
6 changes: 3 additions & 3 deletions examples/tenant-encryption.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ stringData:
# token: "" # Your AWS session token (usually optional)
---
## MinIO Tenant Definition
apiVersion: minio.min.io/v1
apiVersion: minio.min.io/v2
kind: Tenant
metadata:
name: minio
Expand Down Expand Up @@ -224,15 +224,15 @@ spec:
## Define configuration for Console (Graphical user interface for MinIO)
## Refer https://github.com/minio/console
console:
image: minio/console:v0.4.6
image: minio/console:v0.5.2
replicas: 2
consoleSecret:
name: console-secret

## Define configuration for KES (stateless and distributed key-management system)
## Refer https://github.com/minio/kes
kes:
image: minio/kes:v0.12.1
image: minio/kes:v0.13.4
replicas: 2
kesSecret:
name: kes-config
Expand Down
2 changes: 1 addition & 1 deletion examples/tenant-log-search.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ data:
secretkey: bWluaW8xMjM=
---
## MinIO Tenant Definition
apiVersion: minio.min.io/v1
apiVersion: minio.min.io/v2
kind: Tenant
metadata:
name: minio
Expand Down
2 changes: 1 addition & 1 deletion examples/tenant-pod-security-policy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ subjects:
name: minio-pods
namespace: default
---
apiVersion: minio.min.io/v1
apiVersion: minio.min.io/v2
kind: Tenant
metadata:
name: minio
Expand Down
2 changes: 1 addition & 1 deletion examples/tenant-prometheus.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ data:
secretkey: bWluaW8xMjM=
---
## MinIO Tenant Definition
apiVersion: minio.min.io/v1
apiVersion: minio.min.io/v2
kind: Tenant
metadata:
name: minio
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ data:
CONSOLE_SECRET_KEY: WU9VUkNPTlNPTEVTRUNSRVQ=
---
## MinIO Tenant Definition
apiVersion: minio.min.io/v1
apiVersion: minio.min.io/v2
kind: Tenant
metadata:
name: minio-autocert-custom-cert-encryption-minio
Expand Down Expand Up @@ -174,7 +174,7 @@ spec:
## Define configuration for Console (Graphical user interface for MinIO)
## Refer https://github.com/minio/console
console:
image: minio/console:v0.4.6
image: minio/console:v0.5.2
replicas: 2
externalCertSecret:
name: minio-autocert-custom-cert-encryption-localhost-cert
Expand All @@ -184,7 +184,7 @@ spec:
## Define configuration for KES (stateless and distributed key-management system)
## Refer https://github.com/minio/kes
kes:
image: minio/kes:v0.12.1
image: minio/kes:v0.13.4
replicas: 2
kesSecret:
name: minio-autocert-custom-cert-encryption-kes-config
2 changes: 1 addition & 1 deletion examples/tenant-with-autocert-and-ldap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ data:
CONSOLE_SECRET_KEY: YmlsbHkxMjM=
---
## MinIO Tenant Definition
apiVersion: minio.min.io/v1
apiVersion: minio.min.io/v2
kind: Tenant
metadata:
name: minio-autocert-ldap
Expand Down
4 changes: 2 additions & 2 deletions examples/tenant-with-autocert-encryption-disabled.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ data:
CONSOLE_SECRET_KEY: WU9VUkNPTlNPTEVTRUNSRVQ=
---
## MinIO Tenant Definition
apiVersion: minio.min.io/v1
apiVersion: minio.min.io/v2
kind: Tenant
metadata:
name: minio-autocert-no-encryption
Expand Down Expand Up @@ -116,7 +116,7 @@ spec:
## Define configuration for Console (Graphical user interface for MinIO)
## Refer https://github.com/minio/console
console:
image: minio/console:v0.4.6
image: minio/console:v0.5.2
replicas: 2
consoleSecret:
name: minio-autocert-no-encryption-console-secret
6 changes: 3 additions & 3 deletions examples/tenant-with-autocert-encryption-enabled.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ stringData:
ping: 10s # Duration until the server checks Vault's status again.
---
## MinIO Tenant Definition
apiVersion: minio.min.io/v1
apiVersion: minio.min.io/v2
kind: Tenant
metadata:
name: minio-autocert-encryption
Expand Down Expand Up @@ -159,14 +159,14 @@ spec:
## Define configuration for Console (Graphical user interface for MinIO)
## Refer https://github.com/minio/console
console:
image: minio/console:v0.4.6
image: minio/console:v0.5.2
replicas: 2
consoleSecret:
name: minio-autocert-encryption-console-secret
## Define configuration for KES (stateless and distributed key-management system)
## Refer https://github.com/minio/kes
kes:
image: minio/kes:v0.12.1
image: minio/kes:v0.13.4
replicas: 2
kesSecret:
name: minio-autocert-encryption-kes-config
Expand Down
4 changes: 2 additions & 2 deletions examples/tenant-with-custom-ca-certs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ data:
CONSOLE_SECRET_KEY: WU9VUkNPTlNPTEVTRUNSRVQ=
---
## MinIO Tenant Definition
apiVersion: minio.min.io/v1
apiVersion: minio.min.io/v2
kind: Tenant
metadata:
name: minio-custom-cert-no-encryption-minio
Expand Down Expand Up @@ -170,7 +170,7 @@ spec:
## Define configuration for Console (Graphical user interface for MinIO)
## Refer https://github.com/minio/console
console:
image: minio/console:v0.4.6
image: minio/console:v0.5.2
replicas: 2
consoleSecret:
name: minio-custom-cert-no-encryption-console-secret
Expand Down
4 changes: 2 additions & 2 deletions examples/tenant-with-custom-cert-encryption-disabled.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ data:
CONSOLE_SECRET_KEY: WU9VUkNPTlNPTEVTRUNSRVQ=
---
## MinIO Tenant Definition
apiVersion: minio.min.io/v1
apiVersion: minio.min.io/v2
kind: Tenant
metadata:
name: minio-custom-cert-no-encryption-minio
Expand Down Expand Up @@ -156,7 +156,7 @@ spec:
## Define configuration for Console (Graphical user interface for MinIO)
## Refer https://github.com/minio/console
console:
image: minio/console:v0.4.6
image: minio/console:v0.5.2
replicas: 2
consoleSecret:
name: minio-custom-cert-no-encryption-console-secret
Expand Down
6 changes: 3 additions & 3 deletions examples/tenant-with-custom-cert-encryption-enabled.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ data:
CONSOLE_SECRET_KEY: WU9VUkNPTlNPTEVTRUNSRVQ=
---
## MinIO Tenant Definition
apiVersion: minio.min.io/v1
apiVersion: minio.min.io/v2
kind: Tenant
metadata:
name: minio-custom-cert-encryption-minio
Expand Down Expand Up @@ -223,7 +223,7 @@ spec:
## Define configuration for Console (Graphical user interface for MinIO)
## Refer https://github.com/minio/console
console:
image: minio/console:v0.4.6
image: minio/console:v0.5.2
replicas: 2
consoleSecret:
name: minio-custom-cert-encryption-console-secret
Expand All @@ -233,7 +233,7 @@ spec:
## Define configuration for KES (stateless and distributed key-management system)
## Refer https://github.com/minio/kes
kes:
image: minio/kes:v0.12.1
image: minio/kes:v0.13.4
replicas: 2
externalCertSecret:
name: minio-custom-cert-encryption-cluster-cert
Expand Down
4 changes: 2 additions & 2 deletions examples/tenant.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ data:
CONSOLE_SECRET_KEY: WU9VUkNPTlNPTEVTRUNSRVQ=
---
## MinIO Tenant Definition
apiVersion: minio.min.io/v1
apiVersion: minio.min.io/v2
kind: Tenant
metadata:
name: minio
Expand Down Expand Up @@ -163,7 +163,7 @@ spec:
## Define configuration for Console (Graphical user interface for MinIO)
## Refer https://github.com/minio/console
console:
image: minio/console:v0.4.6
image: minio/console:v0.5.2
replicas: 2
consoleSecret:
name: console-secret
18 changes: 10 additions & 8 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
module github.com/minio/operator

go 1.13
go 1.15

require (
github.com/dgrijalva/jwt-go v3.2.0+incompatible
github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017
github.com/google/go-containerregistry v0.1.2
github.com/gorilla/mux v1.8.0
github.com/minio/minio v0.0.0-20201203193910-919441d9c4d2
github.com/minio/minio-go/v7 v7.0.6
github.com/minio/controller-tools v0.4.6 // indirect
github.com/minio/minio v0.0.0-20210128013121-e79829b5b368
github.com/minio/minio-go/v7 v7.0.8-0.20210127003153-c40722862654
github.com/secure-io/sio-go v0.3.1 // indirect
github.com/stretchr/testify v1.6.1
golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1
golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e
gopkg.in/yaml.v2 v2.3.0
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 // indirect
k8s.io/api v0.18.6
k8s.io/apimachinery v0.18.8
k8s.io/client-go v0.18.6
k8s.io/api v0.20.2
k8s.io/apiextensions-apiserver v0.20.2
k8s.io/apimachinery v0.20.2
k8s.io/client-go v0.20.2
k8s.io/klog/v2 v2.4.0
sigs.k8s.io/controller-runtime v0.8.0
)
Loading