Skip to content

Commit

Permalink
feat(rook.ceph.io): add rook (#436)
Browse files Browse the repository at this point in the history
  • Loading branch information
xyhhx authored Dec 15, 2024
1 parent aff530c commit 68a9a6a
Show file tree
Hide file tree
Showing 17 changed files with 16,905 additions and 0 deletions.
508 changes: 508 additions & 0 deletions ceph.rook.io/cephblockpool_v1.json

Large diffs are not rendered by default.

70 changes: 70 additions & 0 deletions ceph.rook.io/cephblockpoolradosnamespace_v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
{
"description": "CephBlockPoolRadosNamespace represents a Ceph BlockPool Rados Namespace",
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore 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.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"description": "Spec represents the specification of a Ceph BlockPool Rados Namespace",
"properties": {
"blockPoolName": {
"description": "BlockPoolName is the name of Ceph BlockPool. Typically it's the name of\nthe CephBlockPool CR.",
"type": "string",
"x-kubernetes-validations": [
{
"message": "blockPoolName is immutable",
"rule": "self == oldSelf"
}
]
},
"name": {
"description": "The name of the CephBlockPoolRadosNamespaceSpec namespace. If not set, the default is the name of the CR.",
"type": "string",
"x-kubernetes-validations": [
{
"message": "name is immutable",
"rule": "self == oldSelf"
}
]
}
},
"required": [
"blockPoolName"
],
"type": "object",
"additionalProperties": false
},
"status": {
"description": "Status represents the status of a CephBlockPool Rados Namespace",
"properties": {
"info": {
"additionalProperties": {
"type": "string"
},
"nullable": true,
"type": "object"
},
"phase": {
"description": "ConditionType represent a resource's status",
"type": "string"
}
},
"type": "object",
"x-kubernetes-preserve-unknown-fields": true,
"additionalProperties": false
}
},
"required": [
"metadata",
"spec"
],
"type": "object"
}
185 changes: 185 additions & 0 deletions ceph.rook.io/cephbucketnotification_v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
{
"description": "CephBucketNotification represents a Bucket Notifications",
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore 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.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"description": "BucketNotificationSpec represent the spec of a Bucket Notification",
"properties": {
"events": {
"description": "List of events that should trigger the notification",
"items": {
"description": "BucketNotificationSpec represent the event type of the bucket notification",
"enum": [
"s3:ObjectCreated:*",
"s3:ObjectCreated:Put",
"s3:ObjectCreated:Post",
"s3:ObjectCreated:Copy",
"s3:ObjectCreated:CompleteMultipartUpload",
"s3:ObjectRemoved:*",
"s3:ObjectRemoved:Delete",
"s3:ObjectRemoved:DeleteMarkerCreated"
],
"type": "string"
},
"type": "array"
},
"filter": {
"description": "Spec of notification filter",
"properties": {
"keyFilters": {
"description": "Filters based on the object's key",
"items": {
"description": "NotificationKeyFilterRule represent a single key rule in the Notification Filter spec",
"properties": {
"name": {
"description": "Name of the filter - prefix/suffix/regex",
"enum": [
"prefix",
"suffix",
"regex"
],
"type": "string"
},
"value": {
"description": "Value to filter on",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"metadataFilters": {
"description": "Filters based on the object's metadata",
"items": {
"description": "NotificationFilterRule represent a single rule in the Notification Filter spec",
"properties": {
"name": {
"description": "Name of the metadata or tag",
"minLength": 1,
"type": "string"
},
"value": {
"description": "Value to filter on",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"tagFilters": {
"description": "Filters based on the object's tags",
"items": {
"description": "NotificationFilterRule represent a single rule in the Notification Filter spec",
"properties": {
"name": {
"description": "Name of the metadata or tag",
"minLength": 1,
"type": "string"
},
"value": {
"description": "Value to filter on",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object",
"additionalProperties": false
},
"type": "array"
}
},
"type": "object",
"additionalProperties": false
},
"topic": {
"description": "The name of the topic associated with this notification",
"minLength": 1,
"type": "string"
}
},
"required": [
"topic"
],
"type": "object",
"additionalProperties": false
},
"status": {
"description": "Status represents the status of an object",
"properties": {
"conditions": {
"items": {
"description": "Condition represents a status condition on any Rook-Ceph Custom Resource.",
"properties": {
"lastHeartbeatTime": {
"format": "date-time",
"type": "string"
},
"lastTransitionTime": {
"format": "date-time",
"type": "string"
},
"message": {
"type": "string"
},
"reason": {
"description": "ConditionReason is a reason for a condition",
"type": "string"
},
"status": {
"type": "string"
},
"type": {
"description": "ConditionType represent a resource's status",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"observedGeneration": {
"description": "ObservedGeneration is the latest generation observed by the controller.",
"format": "int64",
"type": "integer"
},
"phase": {
"type": "string"
}
},
"type": "object",
"x-kubernetes-preserve-unknown-fields": true,
"additionalProperties": false
}
},
"required": [
"metadata",
"spec"
],
"type": "object"
}
Loading

0 comments on commit 68a9a6a

Please sign in to comment.