diff --git a/objectbucket.io/all-anyOf.json b/objectbucket.io/all-anyOf.json new file mode 100644 index 0000000..5f124eb --- /dev/null +++ b/objectbucket.io/all-anyOf.json @@ -0,0 +1,10 @@ +{ + "anyOf": [ + { + "$ref": "https://gitea.rknet.org/infra/crds-catalog/raw/branch/catalog/objectbucket.io/objectbucket_v1alpha1.json" + }, + { + "$ref": "https://gitea.rknet.org/infra/crds-catalog/raw/branch/catalog/objectbucket.io/objectbucketclaim_v1alpha1.json" + } + ] +} diff --git a/objectbucket.io/all-oneOf.json b/objectbucket.io/all-oneOf.json new file mode 100644 index 0000000..7e34dd7 --- /dev/null +++ b/objectbucket.io/all-oneOf.json @@ -0,0 +1,10 @@ +{ + "oneOf": [ + { + "$ref": "https://gitea.rknet.org/infra/crds-catalog/raw/branch/catalog/objectbucket.io/objectbucket_v1alpha1.json" + }, + { + "$ref": "https://gitea.rknet.org/infra/crds-catalog/raw/branch/catalog/objectbucket.io/objectbucketclaim_v1alpha1.json" + } + ] +} diff --git a/objectbucket.io/objectbucket_v1alpha1.json b/objectbucket.io/objectbucket_v1alpha1.json new file mode 100644 index 0000000..1d9a4ab --- /dev/null +++ b/objectbucket.io/objectbucket_v1alpha1.json @@ -0,0 +1,100 @@ +{ + "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/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/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard object metadata.", + "type": "object" + }, + "spec": { + "description": "Specification of the desired behavior of the bucket.", + "properties": { + "storageClassName": { + "description": "StorageClass names the StorageClass object representing the desired provisioner and parameters", + "type": "string" + }, + "reclaimPolicy": { + "description": "Describes a policy for end-of-life maintenance of ObjectBucket.", + "enum": [ + "Delete", + "Retain", + "Recycle" + ], + "type": "string" + }, + "claimRef": { + "description": "ObjectReference to ObjectBucketClaim", + "type": "object" + }, + "endpoint": { + "description": "Endpoint contains all connection relevant data that an app may require for accessing the bucket", + "properties": { + "bucketHost": { + "description": "Bucket address hostname", + "type": "string" + }, + "bucketPort": { + "description": "Bucket address port", + "type": "integer" + }, + "bucketName": { + "description": "Bucket name", + "type": "string" + }, + "region": { + "description": "Bucket region", + "type": "string" + }, + "subRegion": { + "description": "Bucket sub-region", + "type": "string" + }, + "additionalConfig": { + "description": "AdditionalConfig gives providers a location to set proprietary config values (tenant, namespace, etc)", + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "type": "object", + "additionalProperties": false + }, + "additionalState": { + "description": "additionalState gives providers a location to set proprietary config values (tenant, namespace, etc)", + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "storageClassName" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "description": "Most recently observed status of the bucket.", + "properties": { + "phase": { + "description": "ObjectBucketStatusPhase is set by the controller to save the state of the provisioning process", + "enum": [ + "Bound", + "Released", + "Failed" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + } +} diff --git a/objectbucket.io/objectbucketclaim_v1alpha1.json b/objectbucket.io/objectbucketclaim_v1alpha1.json new file mode 100644 index 0000000..f28f123 --- /dev/null +++ b/objectbucket.io/objectbucketclaim_v1alpha1.json @@ -0,0 +1,62 @@ +{ + "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/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/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard object metadata.", + "type": "object" + }, + "spec": { + "description": "Specification of the desired behavior of the claim.", + "properties": { + "storageClassName": { + "description": "StorageClass names the StorageClass object representing the desired provisioner and parameters", + "type": "string" + }, + "bucketName": { + "description": "BucketName (not recommended) the name of the bucket. Caution! In-store bucket names may collide across namespaces. If you define the name yourself, try to make it as unique as possible.", + "type": "string" + }, + "generateBucketName": { + "description": "GenerateBucketName (recommended) a prefix for a bucket name to be followed by a hyphen and 5 random characters. Protects against in-store name collisions.", + "type": "string" + }, + "additionalConfig": { + "description": "AdditionalConfig gives providers a location to set proprietary config values (tenant, namespace, etc)", + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "storageClassName" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "description": "Most recently observed status of the claim.", + "properties": { + "phase": { + "description": "ObjectBucketClaimStatusPhase is set by the controller to save the state of the provisioning process", + "enum": [ + "Pending", + "Bound", + "Released", + "Failed" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + } +}