Skip to content

Commit

Permalink
Openshift refactor (#1697)
Browse files Browse the repository at this point in the history
Kustomization transformations for Operator hub manifests

Signed-off-by: pjuarezd <pjuarezd@users.noreply.github.com>
  • Loading branch information
pjuarezd committed Jul 26, 2023
1 parent de854db commit bbabf7d
Show file tree
Hide file tree
Showing 9 changed files with 282 additions and 105 deletions.
142 changes: 142 additions & 0 deletions config/manifests/bases/minio-operator-rhmp.clusterserviceversion.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
annotations:
alm-examples: '[]'
categories: "AI/Machine Learning, Big Data, Cloud Provider, Storage"
description: |-
MinIO is a Kubernetes-native high performance object store with an
S3-compatible API. The MinIO Operator supports deploying MinIO Tenants
onto any Kubernetes.
k8sMinVersion: "1.18"
repository: https://github.com/minio/operator
marketplace.openshift.io/remote-workflow: https://marketplace.redhat.com/en-us/operators/minio-operator-rhmp/pricing?utm_source=openshift_console
marketplace.openshift.io/support-workflow: https://marketplace.redhat.com/en-us/operators/minio-operator-rhmp/support?utm_source=openshift_console
capabilities: "Full Lifecycle"
name: minio-operator-rhmp.v0.0.0
namespace: placeholder
spec:
apiservicedefinitions: {}
maturity: stable
customresourcedefinitions:
owned:
- kind: Tenant
name: tenants.minio.min.io
version: v2
- kind: PolicyBinding
name: policybindings.sts.min.io
version: v1alpha1
keywords:
- S3
- MinIO
- Object Storage
maintainers:
- name: MinIO Team
email: dev@min.io
provider:
name: MinIO Inc
url: https://min.io
icon:
- base64data: >-
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
mediatype: image/png
links:
- name: Website
url: 'https://min.io'
- name: Support
url: 'https://subnet.min.io'
- name: Github
url: 'https://github.com/minio/operator'
description: |-
## Overview
The MinIO Operator brings native support for deploying and managing MinIO
deployments (“MinIO Tenants”) on a Kubernetes cluster.
MinIO is a high performance, Kubernetes native object storage suite. With an
extensive list of enterprise features, it is scalable, secure and resilient
while remaining remarkably simple to deploy and operate at scale.
Software-defined, MinIO can run on any infrastructure and in any cloud -
public, private or edge. MinIO is the world's fastest object storage and can
run the broadest set of workloads in the industry. It is widely considered
to be the leader in compatibility with Amazon's S3 API.
## Features
The MinIO Operator takes care of the deployment of MinIO Tenant along with:
* TLS Certificate Management
* Configuration of the encryption at rest
* Cluster expansion
* Hot Updates
* Users and Buckets bootstrapping
## Prerequisites for enabling this Operator
* At least Kubernetes 1.18
* [CSR
Capability](https://kubernetes.io/docs/reference/access-authn-authz/certificate-signing-requests/)
must be enabled
* Locally attached volumes for performance or some CSI to provision block
storage to the MinIO pods.
displayName: Minio Operator Rhmp
installModes:
- supported: false
type: OwnNamespace
- supported: false
type: SingleNamespace
- supported: false
type: MultiNamespace
- supported: true
type: AllNamespaces
labels:
operatorframework.io/arch.386: supported
operatorframework.io/arch.amd64: supported
operatorframework.io/arch.amd64p32: supported
operatorframework.io/arch.arm: supported
operatorframework.io/arch.armbe: supported
operatorframework.io/arch.arm64: supported
operatorframework.io/arch.arm64be: supported
operatorframework.io/arch.loong64: supported
operatorframework.io/arch.mips: supported
operatorframework.io/arch.mipsle: supported
operatorframework.io/arch.mips64: supported
operatorframework.io/arch.mips64le: supported
operatorframework.io/arch.mips64p32: supported
operatorframework.io/arch.mips64p32le: supported
operatorframework.io/arch.ppc: supported
operatorframework.io/arch.ppc64: supported
operatorframework.io/arch.ppc64le: supported
operatorframework.io/arch.riscv: supported
operatorframework.io/arch.riscv64: supported
operatorframework.io/arch.s390: supported
operatorframework.io/arch.s390x: supported
operatorframework.io/arch.sparc: supported
operatorframework.io/arch.sparc64: supported
operatorframework.io/arch.wasm: supported
operatorframework.io/os.aix: supported
operatorframework.io/os.android: supported
operatorframework.io/os.darwin: supported
operatorframework.io/os.dragonfly: supported
operatorframework.io/os.freebsd: supported
operatorframework.io/os.hurd: supported
operatorframework.io/os.illumos: supported
operatorframework.io/os.ios: supported
operatorframework.io/os.js: supported
operatorframework.io/os.linux: supported
operatorframework.io/os.nacl: supported
operatorframework.io/os.netbsd: supported
operatorframework.io/os.openbsd: supported
operatorframework.io/os.plan9: supported
operatorframework.io/os.solaris: supported
operatorframework.io/os.windows: supported
operatorframework.io/os.zos: supported
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
annotations:
alm-examples: '[]'
categories: "AI/Machine Learning, Big Data, Cloud Provider, Storage"
description: |-
MinIO is a Kubernetes-native high performance object store with an
Expand All @@ -8,8 +11,10 @@ metadata:
k8sMinVersion: "1.18"
repository: https://github.com/minio/operator
capabilities: "Full Lifecycle"
namespace: minio-operator
name: minio-operator.v0.0.0
namespace: placeholder
spec:
apiservicedefinitions: {}
maturity: stable
customresourcedefinitions:
owned:
Expand Down Expand Up @@ -81,3 +86,55 @@ spec:
* Locally attached volumes for performance or some CSI to provision block
storage to the MinIO pods.
displayName: Minio Operator
installModes:
- supported: false
type: OwnNamespace
- supported: false
type: SingleNamespace
- supported: false
type: MultiNamespace
- supported: true
type: AllNamespaces
labels:
operatorframework.io/arch.386: supported
operatorframework.io/arch.amd64: supported
operatorframework.io/arch.amd64p32: supported
operatorframework.io/arch.arm: supported
operatorframework.io/arch.armbe: supported
operatorframework.io/arch.arm64: supported
operatorframework.io/arch.arm64be: supported
operatorframework.io/arch.loong64: supported
operatorframework.io/arch.mips: supported
operatorframework.io/arch.mipsle: supported
operatorframework.io/arch.mips64: supported
operatorframework.io/arch.mips64le: supported
operatorframework.io/arch.mips64p32: supported
operatorframework.io/arch.mips64p32le: supported
operatorframework.io/arch.ppc: supported
operatorframework.io/arch.ppc64: supported
operatorframework.io/arch.ppc64le: supported
operatorframework.io/arch.riscv: supported
operatorframework.io/arch.riscv64: supported
operatorframework.io/arch.s390: supported
operatorframework.io/arch.s390x: supported
operatorframework.io/arch.sparc: supported
operatorframework.io/arch.sparc64: supported
operatorframework.io/arch.wasm: supported
operatorframework.io/os.aix: supported
operatorframework.io/os.android: supported
operatorframework.io/os.darwin: supported
operatorframework.io/os.dragonfly: supported
operatorframework.io/os.freebsd: supported
operatorframework.io/os.hurd: supported
operatorframework.io/os.illumos: supported
operatorframework.io/os.ios: supported
operatorframework.io/os.js: supported
operatorframework.io/os.linux: supported
operatorframework.io/os.nacl: supported
operatorframework.io/os.netbsd: supported
operatorframework.io/os.openbsd: supported
operatorframework.io/os.plan9: supported
operatorframework.io/os.solaris: supported
operatorframework.io/os.windows: supported
operatorframework.io/os.zos: supported
38 changes: 38 additions & 0 deletions config/manifests/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
namespace: minio-operator

resources:
- bases/minio-operator.clusterserviceversion.yaml
- bases/minio-operator-rhmp.clusterserviceversion.yaml
- ../../resources/
- ../../samples/

patchesStrategicMerge:
- overlay/minio-operator-deployment.yaml

patchesJson6902:
- target:
group: apps
version: v1
kind: Deployment
name: console
namespace: minio-operator
patch: |-
- op: remove
path: /spec/template/spec/containers/0/securityContext/runAsGroup
- op: remove
path: /spec/template/spec/containers/0/securityContext/runAsUser
- op: remove
path: /spec/template/spec/containers/0/securityContext/runAsNonRoot
- target:
group: apps
version: v1
kind: Deployment
name: minio-operator
namespace: minio-operator
patch: |-
- op: remove
path: /spec/template/spec/containers/0/securityContext/runAsGroup
- op: remove
path: /spec/template/spec/containers/0/securityContext/runAsUser
- op: remove
path: /spec/template/spec/containers/0/securityContext/runAsNonRoot
14 changes: 14 additions & 0 deletions config/manifests/overlay/minio-operator-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: minio-operator
namespace: minio-operator
spec:
replicas: 1
template:
spec:
containers:
- name: minio-operator
env:
- name: MINIO_OPERATOR_RUNTIME
value: "OpenShift"

0 comments on commit bbabf7d

Please sign in to comment.