Skip to content

Commit

Permalink
Adding documentation for Operator version 6
Browse files Browse the repository at this point in the history
  • Loading branch information
cniackz committed Jun 3, 2024
1 parent f3978db commit fd25a09
Showing 1 changed file with 72 additions and 0 deletions.
72 changes: 72 additions & 0 deletions docs/notes/v6.0.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# MinIO Operator v6.0.0 release notes

## About this release

MinIO Operator is the production-ready easiest way to manage MinIO deployments in kubernetes. And with a new version, new features, a lot of bug fixes, new kubernetes base version requirements, deprecations and much more.

## What’s new?

Operator 6.0.0 is now available, this release requires Kubernetes version 1.25.0 or later, you must upgrade your Kubernetes cluster to 1.25.0 or later to use Operator v6.0.0+.

* Introducing MinIO Job
* Sidecard container
* TLS refactors
* Operator STS
* Fields immutable
* Field `spec.pools.*.name` is required starting v5.0.15
* Headless service port name is now renamed based on TLS settings

## Introducing MinIO Job

MinIO Job is designed to manage MinIO using Jobs. Typically, the DevOps team must perform tasks on the fly while deploying MinIO, such as creating a bucket, adding a policy, attaching the policy to a user, and so on. With the current approach, we either continuously modify our existing Tenant CRD, which is already overpopulated, or we adopt a new approach to distribute the load between what a Tenant is supposed to do and what a new controller can handle if the MinIO Job CRD is added. In other words, MinIO Job allows you to manage some of these tasks imperatively through a new CRD. It is like controlling things with mc but via CRD. Please review the examples below for a better understanding of this added feature.

### MinIO Job Example (To create a bucket with a Job):

> Assuming that Operator is installed and latest version is used
1. Enable STS:

```shell
kubectl -n minio-operator set env deployment/minio-operator OPERATOR_STS_ENABLED=on
```

2. Deploy `MinIOJob` CRD along with its binded policy:

```yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: mc-job-sa
namespace: minio-tenant-1
---
apiVersion: sts.min.io/v1alpha1
kind: PolicyBinding
metadata:
name: mc-job-bingding
namespace: minio-tenant-1
spec:
application:
serviceaccount: mc-job-sa
namespace: minio-tenant-1
policies:
- consoleAdmin
---
apiVersion: job.min.io/v1alpha1
kind: MinIOJob
metadata:
name: minio-test-job
namespace: minio-tenant-1
spec:
serviceAccountName: mc-job-sa
tenant:
name: myminio
namespace: minio-tenant-1
commands:
- op: make-bucket
args:
name: memes
```
3. Job is completed, bucket created:
<TODO: See how to put an image with the bucket>

0 comments on commit fd25a09

Please sign in to comment.