Skip to content

Commit

Permalink
update unified bundle and deployments
Browse files Browse the repository at this point in the history
Signed-off-by: Nitin Goyal <[email protected]>
  • Loading branch information
iamniting committed Sep 10, 2024
1 parent 698318f commit adb6dc8
Show file tree
Hide file tree
Showing 105 changed files with 46,250 additions and 89 deletions.
390 changes: 390 additions & 0 deletions bundle/manifests/backingstores.noobaa.io.crd.yaml

Large diffs are not rendered by default.

274 changes: 274 additions & 0 deletions bundle/manifests/bucketclasses.noobaa.io.crd.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,274 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.14.0
creationTimestamp: null
name: bucketclasses.noobaa.io
spec:
group: noobaa.io
names:
kind: BucketClass
listKind: BucketClassList
plural: bucketclasses
singular: bucketclass
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Placement
jsonPath: .spec.placementPolicy
name: Placement
type: string
- description: NamespacePolicy
jsonPath: .spec.namespacePolicy
name: NamespacePolicy
type: string
- description: Quota
jsonPath: .spec.quota
name: Quota
type: string
- description: Phase
jsonPath: .status.phase
name: Phase
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
description: BucketClass is the Schema for the bucketclasses API
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: Specification of the desired behavior of the noobaa BucketClass.
properties:
namespacePolicy:
description: NamespacePolicy specifies the namespace policy for the
bucket class
properties:
cache:
description: Cache is a namespace policy configuration of type
Cache
properties:
caching:
description: Caching is the cache specification for the ns
policy
properties:
prefix:
description: Prefix is prefix of the future cached data
type: string
ttl:
description: TTL specifies the cache ttl
type: integer
type: object
hubResource:
description: HubResource is the read and write resource name
to use
type: string
type: object
multi:
description: Multi is a namespace policy configuration of type
Multi
properties:
readResources:
description: ReadResources is an ordered list of read resources
names to use
items:
type: string
type: array
writeResource:
description: WriteResource is the write resource name to use
type: string
type: object
single:
description: Single is a namespace policy configuration of type
Single
properties:
resource:
description: Resource is the read and write resource name
to use
type: string
type: object
type:
description: Type is the namespace policy type
type: string
type: object
placementPolicy:
description: PlacementPolicy specifies the placement policy for the
bucket class
properties:
tiers:
description: |-
Tiers is an ordered list of tiers to use.
The model is a waterfall - push to first tier by default,
and when no more space spill "cold" storage to next tier.
items:
description: Tier specifies a storage tier
properties:
backingStores:
description: |-
BackingStores is an unordered list of backing store names.
The meaning of the list depends on the placement.
items:
type: string
type: array
placement:
description: |-
Placement specifies the type of placement for the tier
If empty it should have a single backing store.
enum:
- Spread
- Mirror
type: string
type: object
type: array
type: object
quota:
description: Quota specifies the quota configuration for the bucket
class
properties:
maxObjects:
description: limits the max total quantity of objects per bucket
type: string
maxSize:
description: limits the max total size of objects per bucket
type: string
type: object
replicationPolicy:
description: ReplicationPolicy specifies a json of replication rules
for the bucketclass
type: string
type: object
status:
description: Most recently observed status of the noobaa BackingStore.
properties:
conditions:
description: Conditions is a list of conditions related to operator
reconciliation
items:
description: |-
Condition represents the state of the operator's
reconciliation functionality.
properties:
lastHeartbeatTime:
format: date-time
type: string
lastTransitionTime:
format: date-time
type: string
message:
type: string
reason:
type: string
status:
type: string
type:
description: ConditionType is the state of the operator's reconciliation
functionality.
type: string
required:
- status
- type
type: object
type: array
mode:
description: Mode is a simple, high-level summary of where the System
is in its lifecycle
type: string
phase:
description: Phase is a simple, high-level summary of where the System
is in its lifecycle
type: string
relatedObjects:
description: RelatedObjects is a list of objects related to this operator.
items:
description: |-
ObjectReference contains enough information to let you inspect or modify the referred object.
---
New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs.
1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage.
2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular
restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted".
Those cannot be well described when embedded.
3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen.
4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity
during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple
and the version of the actual struct is irrelevant.
5. We cannot easily change it. Because this type is embedded in many locations, updates to this type
will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control.
Instead of using this type, create a locally provided and used type that is well-focused on your reference.
For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .
properties:
apiVersion:
description: API version of the referent.
type: string
fieldPath:
description: |-
If referring to a piece of an object instead of an entire object, this string
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within a pod, this would take on a value like:
"spec.containers{name}" (where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]" (container with
index 2 in this pod). This syntax is chosen only to have some well-defined way of
referencing a part of an object.
TODO: this design is not final and this field is subject to change in the future.
type: string
kind:
description: |-
Kind of the referent.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
name:
description: |-
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
namespace:
description: |-
Namespace of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
type: string
resourceVersion:
description: |-
Specific resourceVersion to which this reference is made, if any.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
type: string
uid:
description: |-
UID of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
type: string
type: object
x-kubernetes-map-type: atomic
type: array
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: null
storedVersions: null
12 changes: 12 additions & 0 deletions bundle/manifests/ceph-conf.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: v1
kind: ConfigMap
data:
ceph.conf: |
[global]
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
# keyring is a required key and its value should be empty
keyring: |
metadata:
name: ocs-metrics-exporter-ceph-conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
creationTimestamp: null
labels:
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: ceph-csi-operator
name: ceph-csi-cephconnection-viewer-role
rules:
- apiGroups:
- csi.ceph.io
resources:
- cephconnections
verbs:
- get
- list
- watch
- apiGroups:
- csi.ceph.io
resources:
- cephconnections/status
verbs:
- get
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
creationTimestamp: null
labels:
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: ceph-csi-operator
name: ceph-csi-cephconnections-editor-role
rules:
- apiGroups:
- csi.ceph.io
resources:
- cephconnections
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- csi.ceph.io
resources:
- cephconnections/status
verbs:
- get
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
creationTimestamp: null
labels:
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: ceph-csi-operator
name: ceph-csi-clientprofile-viewer-role
rules:
- apiGroups:
- csi.ceph.io
resources:
- clientprofiles
verbs:
- get
- list
- watch
- apiGroups:
- csi.ceph.io
resources:
- clientprofiles/status
verbs:
- get
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
creationTimestamp: null
labels:
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: ceph-csi-operator
name: ceph-csi-clientprofilemapping-editor-role
rules:
- apiGroups:
- csi.ceph.io
resources:
- clientprofilemappings
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- csi.ceph.io
resources:
- clientprofilemappings/status
verbs:
- get
Loading

0 comments on commit adb6dc8

Please sign in to comment.