Files
kubevela/docs/apidoc/swagger.json
barnettZQG 0d036e7449 Feat: initialize the Apiserver framework (#2417)
* Feat: add kubeapi and mongodb datastore implementation

* Style: change kubeapi import code style

* Style: change mongodb package import code style

* Style: add some comment

* Style: change databasePrefix to tableNamePrefix

* Chore: install mongodb in unit-test job

* Chore: install mongodb in compatibility-test job

* Feat: add apiserver e2e test case

* Docs: change developer guide doc

* Feat: use common.Scheme

Co-authored-by: barnettZQG <yiyun.pro>
2021-10-12 11:53:24 +08:00

2695 lines
50 KiB
JSON

{
"swagger": "2.0",
"info": {
"description": "Kubevela api doc",
"title": "Kubevela api doc",
"contact": {
"name": "kubevela",
"url": "https://kubevela.io/",
"email": "feedback@mail.kubevela.io"
},
"license": {
"name": "Apache License 2.0",
"url": "https://github.com/oam-dev/kubevela/blob/master/LICENSE"
},
"version": "v1beta1"
},
"paths": {
"/api/v1/applications": {
"get": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"application"
],
"summary": "list all applications",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "Fuzzy search based on name or description",
"name": "query",
"in": "query"
},
{
"type": "string",
"description": "Namespace-based search",
"name": "namespace",
"in": "query"
},
{
"type": "string",
"description": "Cluster-based search",
"name": "cluster",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"post": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"application"
],
"summary": "create one application",
"operationId": "noop",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.CreateApplicationRequest"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v1/applications/{name}": {
"get": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"application"
],
"summary": "detail one application",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the application",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"delete": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"application"
],
"summary": "delete one application",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the application",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v1/applications/{name}/components": {
"get": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"application"
],
"summary": "gets the component topology of the application",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the application",
"name": "name",
"in": "path",
"required": true
},
{
"type": "string",
"description": "list components that deployed in define cluster",
"name": "cluster",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"post": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"application"
],
"summary": "create component for application",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the application",
"name": "name",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.CreateComponentRequest"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v1/applications/{name}/deploy": {
"post": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"application"
],
"summary": "deploy or update the application",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the application",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v1/applications/{name}/policies": {
"post": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"application"
],
"summary": "create policy for application",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the application",
"name": "name",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.CreatePolicyRequest"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v1/applications/{name}/policies/{policyName}": {
"get": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"application"
],
"summary": "detail policy for application",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the application",
"name": "name",
"in": "path",
"required": true
},
{
"type": "string",
"description": "identifier of the application policy",
"name": "policyName",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"delete": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"application"
],
"summary": "detail policy for application",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the application",
"name": "name",
"in": "path",
"required": true
},
{
"type": "string",
"description": "identifier of the application policy",
"name": "policyName",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v1/applications/{name}/template": {
"post": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"application"
],
"summary": "create one application template",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the application",
"name": "name",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.CreateApplicationTemplateRequest"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v1/clusters": {
"get": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"cluster"
],
"summary": "list all clusters",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "Fuzzy search based on name or description",
"name": "query",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/map[string]string"
}
},
"500": {
"description": "Bummer, something went wrong"
}
}
},
"post": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"cluster"
],
"summary": "create cluster",
"operationId": "createKubeCluster",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/*v1.CreateClusterRequest"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v1/clusters/{clusterName}": {
"get": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"cluster"
],
"summary": "detail cluster info",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the cluster",
"name": "clusterName",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v1/componentdefinitions": {
"get": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"componentdefinition"
],
"summary": "list all componentdefinition",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "if specified, query the componentdefinition supported by the cluster where the application resides.",
"name": "appName",
"in": "query"
},
{
"type": "string",
"description": "if specified, query the componentdefinition supported by the cluster.",
"name": "clusterName",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v1/namespaces": {
"get": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"namespace"
],
"summary": "list all namespaces",
"operationId": "noop",
"responses": {
"200": {
"description": "OK"
}
}
},
"post": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"namespace"
],
"summary": "create namespace",
"operationId": "noop",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.CreateNamespaceRequest"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v1/namespaces/{namespace}": {
"get": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"namespace"
],
"summary": "get one namespace",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the namespace",
"name": "namespace",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v1/namespaces/{namespace}/applications/:appname": {
"get": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"namespace"
],
"summary": "get the specified oam application in the specified namespace",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the namespace",
"name": "namespace",
"in": "path",
"required": true
},
{
"type": "string",
"description": "identifier of the oam application",
"name": "appname",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"post": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"namespace"
],
"summary": "create or update oam application in the specified namespace",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the namespace",
"name": "namespace",
"in": "path",
"required": true
},
{
"type": "string",
"description": "identifier of the oam application",
"name": "appname",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.ApplicationRequest"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"delete": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"namespace"
],
"summary": "create or update oam application in the specified namespace",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the namespace",
"name": "namespace",
"in": "path",
"required": true
},
{
"type": "string",
"description": "identifier of the oam application",
"name": "appname",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v1/policydefinitions": {
"get": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"policydefinition"
],
"summary": "list all policydefinition",
"operationId": "noop",
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v1/workflows/{name}": {
"get": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"cluster"
],
"summary": "detail application workflow",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the workflow, Currently, the application name is used.",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/map[string]string"
}
},
"500": {
"description": "Bummer, something went wrong"
}
}
},
"put": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"cluster"
],
"summary": "create or update application workflow config",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the workflow",
"name": "name",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.UpdateWorkflowRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/map[string]string"
}
},
"500": {
"description": "Bummer, something went wrong"
}
}
}
},
"/api/v1/workflows/{name}/records": {
"get": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"cluster"
],
"summary": "query application workflow execution record",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the workflow",
"name": "name",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "Query the page number.",
"name": "page",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "Query the page size number.",
"name": "pageSize",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/map[string]string"
}
},
"500": {
"description": "Bummer, something went wrong"
}
}
}
},
"/v1/catalogs": {
"get": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"cluster"
],
"summary": "list all clusters",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "Fuzzy search based on name or description",
"name": "query",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/map[string]string"
}
},
"500": {
"description": "Bummer, something went wrong"
}
}
}
},
"/v1/{namespace}/applications/:appname": {
"get": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"oam"
],
"summary": "get the specified oam application in the specified namespace",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the namespace",
"name": "namespace",
"in": "path",
"required": true
},
{
"type": "string",
"description": "identifier of the oam application",
"name": "appname",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"delete": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"oam"
],
"summary": "create or update oam application in the specified namespace",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the namespace",
"name": "namespace",
"in": "path",
"required": true
},
{
"type": "string",
"description": "identifier of the oam application",
"name": "appname",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/v1/{namespace}/applications/{appname}": {
"post": {
"consumes": [
"application/xml",
"application/json"
],
"produces": [
"application/json",
"application/xml"
],
"tags": [
"oam"
],
"summary": "create or update oam application in the specified namespace",
"operationId": "noop",
"parameters": [
{
"type": "string",
"description": "identifier of the namespace",
"name": "namespace",
"in": "path",
"required": true
},
{
"type": "string",
"description": "identifier of the oam application",
"name": "appname",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.ApplicationRequest"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
}
},
"definitions": {
"common.AppRolloutStatus": {
"required": [
"rollingState",
"batchRollingState",
"currentBatch",
"upgradedReplicas",
"upgradedReadyReplicas",
"lastTargetAppRevision"
],
"properties": {
"LastSourceAppRevision": {
"type": "string"
},
"batchRollingState": {
"type": "string"
},
"conditions": {
"type": "array",
"items": {
"$ref": "#/definitions/condition.Condition"
}
},
"currentBatch": {
"type": "integer",
"format": "int32"
},
"lastAppliedPodTemplateIdentifier": {
"type": "string"
},
"lastTargetAppRevision": {
"type": "string"
},
"rollingState": {
"type": "string"
},
"rolloutOriginalSize": {
"type": "integer",
"format": "int32"
},
"rolloutTargetSize": {
"type": "integer",
"format": "int32"
},
"targetGeneration": {
"type": "string"
},
"upgradedReadyReplicas": {
"type": "integer",
"format": "int32"
},
"upgradedReplicas": {
"type": "integer",
"format": "int32"
}
}
},
"common.AppStatus": {
"properties": {
"appliedResources": {
"type": "array",
"items": {
"$ref": "#/definitions/common.ClusterObjectReference"
}
},
"components": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.ObjectReference"
}
},
"conditions": {
"type": "array",
"items": {
"$ref": "#/definitions/condition.Condition"
}
},
"latestRevision": {
"$ref": "#/definitions/common.Revision"
},
"observedGeneration": {
"type": "integer",
"format": "int64"
},
"resourceTracker": {
"$ref": "#/definitions/v1.ObjectReference"
},
"rollout": {
"$ref": "#/definitions/common.AppRolloutStatus"
},
"services": {
"type": "array",
"items": {
"$ref": "#/definitions/common.ApplicationComponentStatus"
}
},
"status": {
"type": "string"
},
"workflow": {
"$ref": "#/definitions/common.WorkflowStatus"
}
}
},
"common.ApplicationComponent": {
"required": [
"name",
"type"
],
"properties": {
"externalRevision": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"$ref": "#/definitions/common.inputItem"
}
},
"name": {
"type": "string"
},
"outputs": {
"type": "array",
"items": {
"$ref": "#/definitions/common.outputItem"
}
},
"properties": {
"type": "string"
},
"scopes": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"traits": {
"type": "array",
"items": {
"$ref": "#/definitions/common.ApplicationTrait"
}
},
"type": {
"type": "string"
}
}
},
"common.ApplicationComponentStatus": {
"required": [
"name",
"healthy"
],
"properties": {
"env": {
"type": "string"
},
"healthy": {
"type": "boolean"
},
"message": {
"type": "string"
},
"name": {
"type": "string"
},
"scopes": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.ObjectReference"
}
},
"traits": {
"type": "array",
"items": {
"$ref": "#/definitions/common.ApplicationTraitStatus"
}
},
"workloadDefinition": {
"$ref": "#/definitions/common.WorkloadGVK"
}
}
},
"common.ApplicationTrait": {
"required": [
"type"
],
"properties": {
"properties": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"common.ApplicationTraitStatus": {
"required": [
"type",
"healthy"
],
"properties": {
"healthy": {
"type": "boolean"
},
"message": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"common.ClusterObjectReference": {
"description": "ObjectReference contains enough information to let you inspect or modify the referred object.",
"properties": {
"apiVersion": {
"description": "API version of the referent.",
"type": "string"
},
"cluster": {
"type": "string"
},
"creator": {
"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.",
"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"
}
}
},
"common.Revision": {
"required": [
"name",
"revision"
],
"properties": {
"name": {
"type": "string"
},
"revision": {
"type": "integer",
"format": "int64"
},
"revisionHash": {
"type": "string"
}
}
},
"common.SubStepsStatus": {
"properties": {
"mode": {
"type": "string"
},
"stepIndex": {
"type": "integer",
"format": "int32"
},
"steps": {
"type": "array",
"items": {
"$ref": "#/definitions/common.WorkflowSubStepStatus"
}
}
}
},
"common.WorkflowStatus": {
"required": [
"mode",
"suspend",
"terminated"
],
"properties": {
"appRevision": {
"type": "string"
},
"contextBackend": {
"$ref": "#/definitions/v1.ObjectReference"
},
"mode": {
"type": "string"
},
"steps": {
"type": "array",
"items": {
"$ref": "#/definitions/common.WorkflowStepStatus"
}
},
"suspend": {
"type": "boolean"
},
"terminated": {
"type": "boolean"
}
}
},
"common.WorkflowStepStatus": {
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"message": {
"type": "string"
},
"name": {
"type": "string"
},
"phase": {
"type": "string"
},
"reason": {
"type": "string"
},
"subSteps": {
"$ref": "#/definitions/common.SubStepsStatus"
},
"type": {
"type": "string"
}
}
},
"common.WorkflowSubStepStatus": {
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"message": {
"type": "string"
},
"name": {
"type": "string"
},
"phase": {
"type": "string"
},
"reason": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"common.WorkloadGVK": {
"required": [
"apiVersion",
"kind"
],
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
}
}
},
"common.inputItem": {
"required": [
"parameterKey",
"from"
],
"properties": {
"from": {
"type": "string"
},
"parameterKey": {
"type": "string"
}
}
},
"common.outputItem": {
"required": [
"valueFrom",
"name"
],
"properties": {
"name": {
"type": "string"
},
"valueFrom": {
"type": "string"
}
}
},
"condition.Condition": {
"required": [
"type",
"status",
"lastTransitionTime",
"reason"
],
"properties": {
"lastTransitionTime": {
"type": "string"
},
"message": {
"type": "string"
},
"reason": {
"type": "string"
},
"status": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"condition.ConditionedStatus": {
"properties": {
"conditions": {
"type": "array",
"items": {
"$ref": "#/definitions/condition.Condition"
}
}
}
},
"map[string]string": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"types.Parameter": {
"required": [
"name"
],
"properties": {
"alias": {
"type": "string"
},
"default": {
"$ref": "#/definitions/types.Parameter.default"
},
"ignore": {
"type": "boolean"
},
"jsonType": {
"type": "string"
},
"name": {
"type": "string"
},
"required": {
"type": "boolean"
},
"short": {
"type": "string"
},
"type": {
"type": "integer",
"format": "int32"
},
"usage": {
"type": "string"
}
}
},
"types.Parameter.default": {},
"v1.ApplicationBase": {
"required": [
"name",
"namespace",
"description",
"createTime",
"updateTime",
"icon",
"status",
"gatewayRule"
],
"properties": {
"clusterList": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.ClusterBase"
}
},
"createTime": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string"
},
"gatewayRule": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.GatewayRule"
}
},
"icon": {
"type": "string"
},
"labels": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"name": {
"type": "string"
},
"namespace": {
"type": "string"
},
"status": {
"type": "string"
},
"updateTime": {
"type": "string",
"format": "date-time"
}
}
},
"v1.ApplicationRequest": {
"required": [
"components"
],
"properties": {
"components": {
"type": "array",
"items": {
"$ref": "#/definitions/common.ApplicationComponent"
}
},
"policies": {
"type": "array",
"items": {
"$ref": "#/definitions/v1beta1.AppPolicy"
}
},
"workflow": {
"$ref": "#/definitions/v1beta1.Workflow"
}
}
},
"v1.ApplicationResourceInfo": {
"required": [
"componentNum"
],
"properties": {
"componentNum": {
"type": "integer",
"format": "int32"
}
}
},
"v1.ApplicationResponse": {
"required": [
"apiVersion",
"kind",
"spec",
"status"
],
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"spec": {
"$ref": "#/definitions/v1beta1.ApplicationSpec"
},
"status": {
"$ref": "#/definitions/common.AppStatus"
}
}
},
"v1.ApplicationTemplateBase": {
"required": [
"templateName"
],
"properties": {
"templateName": {
"type": "string"
},
"versions": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.ApplicationTemplateVersion"
}
}
}
},
"v1.ApplicationTemplateVersion": {
"required": [
"version",
"description",
"createUser",
"createTime",
"updateTime"
],
"properties": {
"createTime": {
"type": "string",
"format": "date-time"
},
"createUser": {
"type": "string"
},
"description": {
"type": "string"
},
"updateTime": {
"type": "string",
"format": "date-time"
},
"version": {
"type": "string"
}
}
},
"v1.ClusterBase": {
"required": [
"name",
"description",
"icon",
"labels",
"status",
"reason"
],
"properties": {
"description": {
"type": "string"
},
"icon": {
"type": "string"
},
"labels": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"name": {
"type": "string"
},
"reason": {
"type": "string"
},
"status": {
"type": "string"
}
}
},
"v1.ClusterResourceInfo": {
"required": [
"workerNumber",
"masterNumber",
"memoryCapacity",
"cpuCapacity"
],
"properties": {
"cpuCapacity": {
"type": "integer",
"format": "int64"
},
"gpuCapacity": {
"type": "integer",
"format": "int64"
},
"masterNumber": {
"type": "integer",
"format": "int32"
},
"memoryCapacity": {
"type": "integer",
"format": "int64"
},
"storageClassList": {
"type": "array",
"items": {
"type": "string"
}
},
"workerNumber": {
"type": "integer",
"format": "int32"
}
}
},
"v1.ComponentBase": {
"required": [
"name",
"description",
"componentType",
"bindClusters",
"dependsOn",
"deployVersion"
],
"properties": {
"bindClusters": {
"type": "array",
"items": {
"type": "string"
}
},
"componentType": {
"type": "string"
},
"creator": {
"type": "string"
},
"dependsOn": {
"type": "array",
"items": {
"type": "string"
}
},
"deployVersion": {
"type": "string"
},
"description": {
"type": "string"
},
"icon": {
"type": "string"
},
"labels": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"name": {
"type": "string"
}
}
},
"v1.ComponentDefinitionBase": {
"required": [
"name",
"description",
"icon",
"requiredParams"
],
"properties": {
"description": {
"type": "string"
},
"icon": {
"type": "string"
},
"name": {
"type": "string"
},
"requiredParams": {
"type": "array",
"items": {
"$ref": "#/definitions/types.Parameter"
}
}
}
},
"v1.ComponentListResponse": {
"required": [
"components"
],
"properties": {
"components": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.ComponentBase"
}
}
}
},
"v1.CreateApplicationRequest": {
"required": [
"name",
"namespace",
"description",
"icon"
],
"properties": {
"clusterList": {
"type": "array",
"items": {
"type": "string"
}
},
"deploy": {
"type": "boolean"
},
"description": {
"type": "string"
},
"icon": {
"type": "string"
},
"labels": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"name": {
"type": "string"
},
"namespace": {
"type": "string"
},
"yamlConfig": {
"type": "string"
}
}
},
"v1.CreateApplicationTemplateRequest": {
"required": [
"templateName",
"version",
"description"
],
"properties": {
"description": {
"type": "string"
},
"templateName": {
"type": "string"
},
"version": {
"type": "string"
}
}
},
"v1.CreateClusterRequest": {
"required": [
"name",
"icon",
"kubeConfig"
],
"properties": {
"description": {
"type": "string"
},
"icon": {
"type": "string"
},
"kubeConfig": {
"type": "string"
},
"kubeConfigSecret": {
"type": "string"
},
"labels": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"name": {
"type": "string"
}
}
},
"v1.CreateComponentRequest": {
"required": [
"appName",
"name",
"description",
"componentType",
"bindClusters"
],
"properties": {
"appName": {
"type": "string"
},
"bindClusters": {
"type": "array",
"items": {
"type": "string"
}
},
"componentType": {
"type": "string"
},
"description": {
"type": "string"
},
"labels": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"name": {
"type": "string"
},
"properties": {
"type": "string"
}
}
},
"v1.CreateNamespaceRequest": {
"required": [
"name",
"description"
],
"properties": {
"description": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"v1.CreatePolicyRequest": {
"required": [
"name",
"type",
"properties"
],
"properties": {
"name": {
"type": "string"
},
"properties": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"v1.DetailApplicationResponse": {
"required": [
"updateTime",
"icon",
"status",
"gatewayRule",
"name",
"namespace",
"description",
"createTime",
"policies",
"status",
"resourceInfo",
"workflowStatus"
],
"properties": {
"clusterList": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.ClusterBase"
}
},
"createTime": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string"
},
"gatewayRule": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.GatewayRule"
}
},
"icon": {
"type": "string"
},
"labels": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"name": {
"type": "string"
},
"namespace": {
"type": "string"
},
"policies": {
"type": "array",
"items": {
"type": "string"
}
},
"resourceInfo": {
"$ref": "#/definitions/v1.ApplicationResourceInfo"
},
"status": {
"type": "string"
},
"updateTime": {
"type": "string",
"format": "date-time"
},
"workflowStatus": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.WorkflowStepStatus"
}
}
}
},
"v1.DetailClusterResponse": {
"required": [
"name",
"description",
"icon",
"labels",
"status",
"reason",
"resourceInfo"
],
"properties": {
"dashboardURL": {
"type": "string"
},
"description": {
"type": "string"
},
"icon": {
"type": "string"
},
"labels": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"name": {
"type": "string"
},
"reason": {
"type": "string"
},
"remoteManageURL": {
"type": "string"
},
"resourceInfo": {
"$ref": "#/definitions/v1.ClusterResourceInfo"
},
"status": {
"type": "string"
}
}
},
"v1.DetailPolicyResponse": {
"required": [
"name",
"type",
"properties"
],
"properties": {
"name": {
"type": "string"
},
"properties": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"v1.DetailWorkflowResponse": {
"required": [
"enable",
"workflowRecord"
],
"properties": {
"enable": {
"type": "boolean"
},
"steps": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.WorkflowStep"
}
},
"workflowRecord": {
"$ref": "#/definitions/v1.WorkflowRecord"
}
}
},
"v1.GatewayRule": {
"required": [
"ruleType",
"address",
"protocol",
"componentName",
"componentPort"
],
"properties": {
"address": {
"type": "string"
},
"componentName": {
"type": "string"
},
"componentPort": {
"type": "integer",
"format": "int32"
},
"protocol": {
"type": "string"
},
"ruleType": {
"type": "string"
}
}
},
"v1.ListApplicationResponse": {
"required": [
"applications"
],
"properties": {
"applications": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.ApplicationBase"
}
}
}
},
"v1.ListClusterResponse": {
"required": [
"clusters"
],
"properties": {
"clusters": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.ClusterBase"
}
}
}
},
"v1.ListComponentDefinitionResponse": {
"required": [
"componentDefinitions"
],
"properties": {
"componentDefinitions": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.ComponentDefinitionBase"
}
}
}
},
"v1.ListNamespaceResponse": {
"required": [
"namesapces"
],
"properties": {
"namesapces": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.NamesapceBase"
}
}
}
},
"v1.ListPolicyDefinitionResponse": {
"required": [
"policyDefinitions"
],
"properties": {
"policyDefinitions": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.PolicyDefinition"
}
}
}
},
"v1.ListWorkflowRecordsResponse": {
"required": [
"records",
"total"
],
"properties": {
"records": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.WorkflowRecord"
}
},
"total": {
"type": "integer",
"format": "int64"
}
}
},
"v1.NamesapceBase": {
"required": [
"name",
"description"
],
"properties": {
"description": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"v1.NamesapceDetailResponse": {
"required": [
"name",
"description",
"clusterBind"
],
"properties": {
"clusterBind": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"description": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"v1.ObjectReference": {
"description": "ObjectReference contains enough information to let you inspect or modify the referred object.",
"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.",
"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"
}
}
},
"v1.PolicyDefinition": {
"required": [
"name",
"description",
"parameters"
],
"properties": {
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"parameters": {
"type": "array",
"items": {
"$ref": "#/definitions/types.Parameter"
}
}
}
},
"v1.UpdateWorkflowRequest": {
"required": [
"enable"
],
"properties": {
"enable": {
"type": "boolean"
},
"steps": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.WorkflowStep"
}
}
}
},
"v1.WorkflowRecord": {},
"v1.WorkflowStep": {
"required": [
"name",
"type"
],
"properties": {
"inputs": {
"type": "array",
"items": {
"$ref": "#/definitions/common.inputItem"
}
},
"name": {
"type": "string"
},
"outputs": {
"type": "array",
"items": {
"$ref": "#/definitions/common.outputItem"
}
},
"properties": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"v1.WorkflowStepStatus": {
"required": [
"name",
"status",
"takeTime"
],
"properties": {
"name": {
"type": "string"
},
"status": {
"type": "string"
},
"takeTime": {
"type": "integer",
"format": "integer"
}
}
},
"v1alpha1.CanaryMetric": {
"required": [
"name"
],
"properties": {
"interval": {
"type": "string"
},
"metricsRange": {
"$ref": "#/definitions/v1alpha1.MetricsExpectedRange"
},
"name": {
"type": "string"
},
"templateRef": {
"$ref": "#/definitions/v1.ObjectReference"
}
}
},
"v1alpha1.MetricsExpectedRange": {
"properties": {
"max": {
"type": "string"
},
"min": {
"type": "string"
}
}
},
"v1alpha1.RolloutBatch": {
"properties": {
"batchRolloutWebhooks": {
"type": "array",
"items": {
"$ref": "#/definitions/v1alpha1.RolloutWebhook"
}
},
"canaryMetric": {
"type": "array",
"items": {
"$ref": "#/definitions/v1alpha1.CanaryMetric"
}
},
"instanceInterval": {
"type": "integer",
"format": "int32"
},
"maxUnavailable": {
"type": "string"
},
"podList": {
"type": "array",
"items": {
"type": "string"
}
},
"replicas": {
"type": "string"
}
}
},
"v1alpha1.RolloutPlan": {
"properties": {
"batchPartition": {
"type": "integer",
"format": "int32"
},
"canaryMetric": {
"type": "array",
"items": {
"$ref": "#/definitions/v1alpha1.CanaryMetric"
}
},
"numBatches": {
"type": "integer",
"format": "int32"
},
"paused": {
"type": "boolean"
},
"rolloutBatches": {
"type": "array",
"items": {
"$ref": "#/definitions/v1alpha1.RolloutBatch"
}
},
"rolloutStrategy": {
"type": "string"
},
"rolloutWebhooks": {
"type": "array",
"items": {
"$ref": "#/definitions/v1alpha1.RolloutWebhook"
}
},
"targetSize": {
"type": "integer",
"format": "int32"
}
}
},
"v1alpha1.RolloutStatus": {
"required": [
"rollingState",
"batchRollingState",
"currentBatch",
"upgradedReplicas",
"upgradedReadyReplicas"
],
"properties": {
"batchRollingState": {
"type": "string"
},
"conditions": {
"type": "array",
"items": {
"$ref": "#/definitions/condition.Condition"
}
},
"currentBatch": {
"type": "integer",
"format": "int32"
},
"lastAppliedPodTemplateIdentifier": {
"type": "string"
},
"rollingState": {
"type": "string"
},
"rolloutOriginalSize": {
"type": "integer",
"format": "int32"
},
"rolloutTargetSize": {
"type": "integer",
"format": "int32"
},
"targetGeneration": {
"type": "string"
},
"upgradedReadyReplicas": {
"type": "integer",
"format": "int32"
},
"upgradedReplicas": {
"type": "integer",
"format": "int32"
}
}
},
"v1alpha1.RolloutWebhook": {
"required": [
"type",
"name",
"url"
],
"properties": {
"expectedStatus": {
"type": "array",
"items": {
"type": "integer"
}
},
"metadata": {
"$ref": "#/definitions/v1alpha1.RolloutWebhook.metadata"
},
"method": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"v1alpha1.RolloutWebhook.metadata": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"v1beta1.AppPolicy": {
"required": [
"name",
"type"
],
"properties": {
"name": {
"type": "string"
},
"properties": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"v1beta1.ApplicationSpec": {
"required": [
"components"
],
"properties": {
"components": {
"type": "array",
"items": {
"$ref": "#/definitions/common.ApplicationComponent"
}
},
"policies": {
"type": "array",
"items": {
"$ref": "#/definitions/v1beta1.AppPolicy"
}
},
"rolloutPlan": {
"$ref": "#/definitions/v1alpha1.RolloutPlan"
},
"workflow": {
"$ref": "#/definitions/v1beta1.Workflow"
}
}
},
"v1beta1.Workflow": {
"properties": {
"steps": {
"type": "array",
"items": {
"$ref": "#/definitions/v1beta1.WorkflowStep"
}
}
}
},
"v1beta1.WorkflowStep": {
"required": [
"name",
"type"
],
"properties": {
"inputs": {
"type": "array",
"items": {
"$ref": "#/definitions/common.inputItem"
}
},
"name": {
"type": "string"
},
"outputs": {
"type": "array",
"items": {
"$ref": "#/definitions/common.outputItem"
}
},
"properties": {
"type": "string"
},
"type": {
"type": "string"
}
}
}
}
}