Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
976 changes: 976 additions & 0 deletions seaweed.seaweedfs.com/adminscript_v1.json

Large diffs are not rendered by default.

342 changes: 342 additions & 0 deletions seaweed.seaweedfs.com/bucket_v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,342 @@
{
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"access": {
"items": {
"properties": {
"actions": {
"items": {
"enum": [
"Read",
"Write",
"List",
"Tagging",
"Admin"
],
"type": "string"
},
"type": "array",
"x-kubernetes-list-type": "set"
},
"user": {
"minLength": 1,
"type": "string"
}
},
"required": [
"actions",
"user"
],
"type": "object",
"additionalProperties": false
},
"type": "array",
"x-kubernetes-list-map-keys": [
"user"
],
"x-kubernetes-list-type": "map"
},
"adoptExisting": {
"default": false,
"type": "boolean"
},
"anonymousRead": {
"default": false,
"type": "boolean"
},
"clusterRef": {
"properties": {
"name": {
"minLength": 1,
"type": "string"
},
"namespace": {
"type": "string"
}
},
"required": [
"name"
],
"type": "object",
"additionalProperties": false
},
"name": {
"pattern": "^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$",
"type": "string",
"x-kubernetes-validations": [
{
"message": "bucket name must not contain consecutive dots",
"rule": "!self.contains('..')"
},
{
"message": "bucket name must not be in IPv4 format",
"rule": "!self.matches('^[0-9]+[.][0-9]+[.][0-9]+[.][0-9]+$')"
},
{
"message": "bucket name is immutable once set",
"rule": "oldSelf == '' || self == oldSelf"
}
]
},
"objectLock": {
"default": false,
"type": "boolean",
"x-kubernetes-validations": [
{
"message": "objectLock cannot be disabled once enabled",
"rule": "!oldSelf || self"
}
]
},
"owner": {
"maxLength": 256,
"type": "string"
},
"placement": {
"properties": {
"dataCenter": {
"type": "string"
},
"dataNode": {
"type": "string"
},
"diskType": {
"type": "string"
},
"fsync": {
"default": false,
"type": "boolean"
},
"rack": {
"type": "string"
},
"readOnly": {
"default": false,
"type": "boolean"
},
"replication": {
"pattern": "^[0-9]{3}$",
"type": "string"
},
"ttl": {
"pattern": "^[1-9][0-9]*[mhdwMy]$",
"type": "string"
},
"volumeGrowthCount": {
"format": "int32",
"minimum": 0,
"type": "integer"
},
"worm": {
"default": false,
"type": "boolean"
}
},
"type": "object",
"additionalProperties": false
},
"quota": {
"properties": {
"enforce": {
"default": true,
"type": "boolean"
},
"size": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
"x-kubernetes-int-or-string": true
}
},
"required": [
"size"
],
"type": "object",
"x-kubernetes-validations": [
{
"message": "quota.size must be non-negative",
"rule": "!string(self.size).startsWith('-')"
}
],
"additionalProperties": false
},
"reclaimPolicy": {
"default": "Retain",
"enum": [
"Retain",
"Delete"
],
"type": "string"
},
"versioning": {
"default": "Off",
"enum": [
"Off",
"Enabled",
"Suspended"
],
"type": "string",
"x-kubernetes-validations": [
{
"message": "cannot disable versioning once it has been Enabled or Suspended; use Suspended instead",
"rule": "self != 'Off' || oldSelf == 'Off'"
}
]
}
},
"required": [
"clusterRef"
],
"type": "object",
"x-kubernetes-validations": [
{
"message": "objectLock requires versioning: Enabled",
"rule": "!self.objectLock || self.versioning == 'Enabled'"
}
],
"additionalProperties": false
},
"status": {
"properties": {
"bucketName": {
"type": "string"
},
"conditions": {
"items": {
"properties": {
"lastTransitionTime": {
"format": "date-time",
"type": "string"
},
"message": {
"maxLength": 32768,
"type": "string"
},
"observedGeneration": {
"format": "int64",
"minimum": 0,
"type": "integer"
},
"reason": {
"maxLength": 1024,
"minLength": 1,
"pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$",
"type": "string"
},
"status": {
"enum": [
"True",
"False",
"Unknown"
],
"type": "string"
},
"type": {
"maxLength": 316,
"pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$",
"type": "string"
}
},
"required": [
"lastTransitionTime",
"message",
"reason",
"status",
"type"
],
"type": "object",
"additionalProperties": false
},
"type": "array",
"x-kubernetes-list-map-keys": [
"type"
],
"x-kubernetes-list-type": "map"
},
"objectLockEnabled": {
"type": "boolean"
},
"observedGeneration": {
"format": "int64",
"type": "integer"
},
"ownerIdentity": {
"type": "string"
},
"phase": {
"enum": [
"Pending",
"Ready",
"Failed",
"Terminating"
],
"type": "string"
},
"quota": {
"properties": {
"enforced": {
"type": "boolean"
},
"sizeBytes": {
"format": "int64",
"type": "integer"
}
},
"type": "object",
"additionalProperties": false
},
"usage": {
"properties": {
"lastUpdated": {
"format": "date-time",
"type": "string"
},
"objectCount": {
"format": "int64",
"type": "integer"
},
"sizeBytes": {
"format": "int64",
"type": "integer"
}
},
"type": "object",
"additionalProperties": false
},
"versioning": {
"enum": [
"Off",
"Enabled",
"Suspended"
],
"type": "string"
}
},
"type": "object",
"additionalProperties": false
}
},
"type": "object",
"x-kubernetes-validations": [
{
"message": "when spec.name is unset, metadata.name must satisfy the S3 bucket naming rules (3-63 chars, lowercase alnum/hyphen/dot, no consecutive dots, not IPv4-shaped)",
"rule": "has(self.spec.name) || (self.metadata.name.matches('^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$') && !self.metadata.name.contains('..') && !self.metadata.name.matches('^[0-9]+[.][0-9]+[.][0-9]+[.][0-9]+$'))"
}
]
}
Loading