Pierre Hubert
e2598d7509
Some checks reported errors
continuous-integration/drone/push Build was killed
Add base operator logic Reviewed-on: #1
136 lines
5.3 KiB
YAML
136 lines
5.3 KiB
YAML
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
# name must match the spec fields below, and be in the form: <plural>.<group>
|
|
name: minioinstances.communiquons.org
|
|
spec:
|
|
# group name to use for REST API: /apis/<group>/<version>
|
|
group: communiquons.org
|
|
# list of versions supported by this CustomResourceDefinition
|
|
versions:
|
|
- name: v1
|
|
# Each version can be enabled/disabled by Served flag.
|
|
served: true
|
|
# One and only one version must be marked as the storage version.
|
|
storage: true
|
|
schema:
|
|
openAPIV3Schema:
|
|
type: object
|
|
properties:
|
|
spec:
|
|
type: object
|
|
description: Information about how to reach the Minio bucket
|
|
properties:
|
|
endpoint:
|
|
description: The URL where the Minio API can be reached
|
|
example: https://minio.communiquons.org
|
|
type: string
|
|
credentials:
|
|
description: |
|
|
The name of the secret containings privilegied / root credentials of Minio instance
|
|
|
|
The secret must contains two fields :
|
|
* An access key named `accessKey`
|
|
* A secret key named `secretKey`
|
|
type: string
|
|
example: minio-root
|
|
# either Namespaced or Cluster
|
|
scope: Namespaced
|
|
names:
|
|
# plural name to be used in the URL: /apis/<group>/<version>/<plural>
|
|
plural: minioinstances
|
|
# singular name to be used as an alias on the CLI and for display
|
|
singular: minioinstance
|
|
# kind is normally the CamelCased singular type. Your resource manifests use this.
|
|
kind: MinioInstance
|
|
# shortNames allow shorter string to match your resource on the CLI
|
|
shortNames:
|
|
- mis
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
# name must match the spec fields below, and be in the form: <plural>.<group>
|
|
name: miniobuckets.communiquons.org
|
|
spec:
|
|
# group name to use for REST API: /apis/<group>/<version>
|
|
group: communiquons.org
|
|
# list of versions supported by this CustomResourceDefinition
|
|
versions:
|
|
- name: v1
|
|
# Each version can be enabled/disabled by Served flag.
|
|
served: true
|
|
# One and only one version must be marked as the storage version.
|
|
storage: true
|
|
schema:
|
|
openAPIV3Schema:
|
|
type: object
|
|
properties:
|
|
spec:
|
|
type: object
|
|
description: Information about the desired bucket
|
|
required:
|
|
- instance
|
|
- name
|
|
- secret
|
|
properties:
|
|
instance:
|
|
description: The name of the MinioInstance resource
|
|
example: minio
|
|
type: string
|
|
name:
|
|
description: The name of the bucket to create / update
|
|
type: string
|
|
example: mybucket
|
|
secret:
|
|
description: The name of the secret that will receive an access key & a secret key with write access on the bucket
|
|
type: string
|
|
example: secret-name
|
|
anonymous_read_access:
|
|
description: Allow anonymous users to access the because, in read only mode. Set to true to host a website
|
|
type: boolean
|
|
default: false
|
|
versioning:
|
|
description: Set to keep multiple versions of the same object under the same key
|
|
type: boolean
|
|
default: false
|
|
quota:
|
|
type: integer
|
|
description: Limits the amount of data in the bucket, in bytes. By default it is unlimited
|
|
example: 1000000000
|
|
lock:
|
|
description: Object locking prevent objects from being deleted. MUST be set to true when retention is defined. Cannot be changed.
|
|
type: boolean
|
|
default: false
|
|
retention:
|
|
type: object
|
|
description: Impose rules to prevent object deletion for a period of time. It requires versioning to be enabled/disabled
|
|
required:
|
|
- validity
|
|
- mode
|
|
properties:
|
|
validity:
|
|
type: integer
|
|
description: The number of days the data shall be kept
|
|
example: 180
|
|
type:
|
|
type: string
|
|
description: Retention type. In governance mode, some privileged user can bypass retention policy, while in governance policy, no one, including root user, can delete the data
|
|
enum:
|
|
- compliance
|
|
- governance
|
|
# either Namespaced or Cluster
|
|
scope: Namespaced
|
|
names:
|
|
# plural name to be used in the URL: /apis/<group>/<version>/<plural>
|
|
plural: miniobuckets
|
|
# singular name to be used as an alias on the CLI and for display
|
|
singular: miniobucket
|
|
# kind is normally the CamelCased singular type. Your resource manifests use this.
|
|
kind: MinioBucket
|
|
# shortNames allow shorter string to match your resource on the CLI
|
|
shortNames:
|
|
- mbs
|
|
- buckets
|
|
---
|