diff --git a/api/applications/models/pipeline_parameters.go b/api/applications/models/pipeline_parameters.go index 7095c06f..7ecc8a92 100644 --- a/api/applications/models/pipeline_parameters.go +++ b/api/applications/models/pipeline_parameters.go @@ -1,8 +1,6 @@ package models import ( - "strings" - jobModels "github.com/equinor/radix-api/api/jobs/models" ) @@ -127,20 +125,20 @@ type PipelineParametersDeploy struct { // example: 4faca8595c5283a9d0f17a623b9255a0d9866a2e CommitID string `json:"commitID,omitempty"` - // Components List of components to deploy + // ComponentsToDeploy List of components to deploy // OPTIONAL If specified, only these components are deployed // - // example: component1,component2 - Components string `json:"components,omitempty"` + // required: false + ComponentsToDeploy []string `json:"componentsToDeploy"` } // MapPipelineParametersDeployToJobParameter maps to JobParameter func (deployParam PipelineParametersDeploy) MapPipelineParametersDeployToJobParameter() *jobModels.JobParameters { return &jobModels.JobParameters{ - ToEnvironment: deployParam.ToEnvironment, - TriggeredBy: deployParam.TriggeredBy, - ImageTagNames: deployParam.ImageTagNames, - CommitID: deployParam.CommitID, - Components: strings.Split(deployParam.Components, ","), + ToEnvironment: deployParam.ToEnvironment, + TriggeredBy: deployParam.TriggeredBy, + ImageTagNames: deployParam.ImageTagNames, + CommitID: deployParam.CommitID, + ComponentsToDeploy: deployParam.ComponentsToDeploy, } } diff --git a/api/jobs/models/job.go b/api/jobs/models/job.go index 240daa74..ca9f5ccf 100644 --- a/api/jobs/models/job.go +++ b/api/jobs/models/job.go @@ -167,7 +167,7 @@ func GetJobFromRadixJob(job *radixv1.RadixJob, jobDeployments []*deploymentModel case radixv1.Deploy: jobModel.ImageTagNames = job.Spec.Deploy.ImageTagNames jobModel.CommitID = job.Spec.Deploy.CommitID - jobModel.ComponentsToDeploy = job.Spec.Deploy.Components + jobModel.ComponentsToDeploy = job.Spec.Deploy.ComponentsToDeploy case radixv1.Promote: jobModel.PromotedFromDeployment = job.Spec.Promote.DeploymentName jobModel.PromotedFromEnvironment = job.Spec.Promote.FromEnvironment diff --git a/api/jobs/models/job_parameters.go b/api/jobs/models/job_parameters.go index ec7d489a..0f8929ff 100644 --- a/api/jobs/models/job_parameters.go +++ b/api/jobs/models/job_parameters.go @@ -38,11 +38,11 @@ type JobParameters struct { // example: component1=tag1,component2=tag2 ImageTagNames map[string]string - // Components List of components to deploy + // ComponentsToDeploy List of components to deploy // OPTIONAL If specified, only these components are deployed // - // example: component1,component2 - Components []string + // required: false + ComponentsToDeploy []string `json:"componentsToDeploy"` } // GetPushImageTag Represents boolean as 1 or 0 diff --git a/api/jobs/start_job_handler.go b/api/jobs/start_job_handler.go index 98624a07..b3a4da9d 100644 --- a/api/jobs/start_job_handler.go +++ b/api/jobs/start_job_handler.go @@ -94,10 +94,10 @@ func (jh JobHandler) buildPipelineJob(appName, cloneURL, radixConfigFullName str } case v1.Deploy: deploySpec = v1.RadixDeploySpec{ - ToEnvironment: jobSpec.ToEnvironment, - ImageTagNames: jobSpec.ImageTagNames, - CommitID: jobSpec.CommitID, - Components: jobSpec.Components, + ToEnvironment: jobSpec.ToEnvironment, + ImageTagNames: jobSpec.ImageTagNames, + CommitID: jobSpec.CommitID, + ComponentsToDeploy: jobSpec.ComponentsToDeploy, } } diff --git a/go.mod b/go.mod index 97116257..6ab54a5a 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.21 require ( github.com/equinor/radix-common v1.8.0 github.com/equinor/radix-job-scheduler v1.8.5 - github.com/equinor/radix-operator v1.49.1-0.20240116123121-b7148c5ca4dd + github.com/equinor/radix-operator v1.49.1-0.20240119121633-3435bfbfc02c github.com/evanphx/json-patch/v5 v5.7.0 github.com/go-swagger/go-swagger v0.30.5 github.com/golang-jwt/jwt/v4 v4.5.0 diff --git a/go.sum b/go.sum index f3ee86bf..8a1d5825 100644 --- a/go.sum +++ b/go.sum @@ -89,6 +89,10 @@ github.com/equinor/radix-operator v1.49.0 h1:yNdb0zocBw7GdWybAGUm2lWmk6I+xeeCjvr github.com/equinor/radix-operator v1.49.0/go.mod h1:i8A6V/g1OM+Zk2lAASZaoX+lHdJIZYYZHA586SHB2p8= github.com/equinor/radix-operator v1.49.1-0.20240116123121-b7148c5ca4dd h1:0WsH5+0vu9k1AFV8Whux2VrtawqjA1tKWseEo1D7siQ= github.com/equinor/radix-operator v1.49.1-0.20240116123121-b7148c5ca4dd/go.mod h1:i8A6V/g1OM+Zk2lAASZaoX+lHdJIZYYZHA586SHB2p8= +github.com/equinor/radix-operator v1.49.1-0.20240118144607-04eaef7b60d0 h1:QtaXzPoaRBaSoVA5g/KUDTcujf6x7kz/Mx5O052gxdQ= +github.com/equinor/radix-operator v1.49.1-0.20240118144607-04eaef7b60d0/go.mod h1:i8A6V/g1OM+Zk2lAASZaoX+lHdJIZYYZHA586SHB2p8= +github.com/equinor/radix-operator v1.49.1-0.20240119121633-3435bfbfc02c h1:jXUXYMZCzYyGEhZg6RfrRLHfS9uxV++Y+z//b88S6cI= +github.com/equinor/radix-operator v1.49.1-0.20240119121633-3435bfbfc02c/go.mod h1:i8A6V/g1OM+Zk2lAASZaoX+lHdJIZYYZHA586SHB2p8= github.com/evanphx/json-patch v5.7.0+incompatible h1:vgGkfT/9f8zE6tvSCe74nfpAVDQ2tG6yudJd8LBksgI= github.com/evanphx/json-patch v5.7.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch/v5 v5.7.0 h1:nJqP7uwL84RJInrohHfW0Fx3awjbm8qZeFv0nW9SYGc= diff --git a/swaggerui/html/swagger.json b/swaggerui/html/swagger.json deleted file mode 100644 index 26381aac..00000000 --- a/swaggerui/html/swagger.json +++ /dev/null @@ -1,7722 +0,0 @@ -{ - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "schemes": [ - "https", - "http" - ], - "swagger": "2.0", - "info": { - "description": "This is the API Server for the Radix platform.", - "title": "classification Radix API.", - "contact": { - "url": "https://equinor.slack.com/messages/CBKM6N2JY" - }, - "version": "1.23.0" - }, - "basePath": "/api/v1", - "paths": { - "/applications": { - "get": { - "tags": [ - "platform" - ], - "summary": "Lists the applications. NOTE - doesn't get applicationSummary.latestJob.Environments", - "operationId": "showApplications", - "parameters": [ - { - "type": "string", - "description": "ssh repo to identify Radix application if exists", - "name": "sshRepo", - "in": "query" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationSummary" - } - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "409": { - "description": "Conflict" - }, - "500": { - "description": "Internal server error" - } - } - }, - "post": { - "tags": [ - "platform" - ], - "summary": "Create an application registration", - "operationId": "registerApplication", - "parameters": [ - { - "description": "Request for an Application to register", - "name": "applicationRegistration", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ApplicationRegistrationRequest" - } - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Application registration operation details", - "schema": { - "$ref": "#/definitions/ApplicationRegistrationUpsertResponse" - } - }, - "400": { - "description": "Invalid application registration" - }, - "401": { - "description": "Unauthorized" - }, - "409": { - "description": "Conflict" - } - } - } - }, - "/applications/_search": { - "get": { - "tags": [ - "platform" - ], - "summary": "Get applications by name. NOTE - doesn't get applicationSummary.latestJob.Environments", - "operationId": "getSearchApplications", - "parameters": [ - { - "type": "string", - "description": "Comma separated list of application names to search for", - "name": "apps", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "true to include LatestJobSummary", - "name": "includeLatestJobSummary", - "in": "query" - }, - { - "type": "string", - "description": "true to include ActiveComponents in Environments", - "name": "includeEnvironmentActiveComponents", - "in": "query" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationSummary" - } - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "409": { - "description": "Conflict" - }, - "500": { - "description": "Internal server error" - } - } - }, - "post": { - "tags": [ - "platform" - ], - "summary": "Get applications by name. NOTE - doesn't get applicationSummary.latestJob.Environments", - "operationId": "searchApplications", - "deprecated": true, - "parameters": [ - { - "description": "List of application names to search for", - "name": "applicationSearch", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ApplicationsSearchRequest" - } - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationSummary" - } - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "409": { - "description": "Conflict" - }, - "500": { - "description": "Internal server error" - } - } - } - }, - "/applications/{appName}": { - "get": { - "tags": [ - "application" - ], - "summary": "Gets the application by name", - "operationId": "getApplication", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful get application", - "schema": { - "$ref": "#/definitions/Application" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "409": { - "description": "Conflict" - }, - "500": { - "description": "Internal server error" - } - } - }, - "put": { - "tags": [ - "application" - ], - "summary": "Update application registration", - "operationId": "changeRegistrationDetails", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "description": "request for Application to change", - "name": "applicationRegistration", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ApplicationRegistrationRequest" - } - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Change registration operation result", - "schema": { - "$ref": "#/definitions/ApplicationRegistrationUpsertResponse" - } - }, - "400": { - "description": "Invalid application" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - }, - "409": { - "description": "Conflict" - } - } - }, - "delete": { - "tags": [ - "application" - ], - "summary": "Delete application", - "operationId": "deleteApplication", - "parameters": [ - { - "type": "string", - "description": "name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Application deleted ok" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - } - } - }, - "patch": { - "tags": [ - "application" - ], - "summary": "Updates specific field(s) of an application registration", - "operationId": "modifyRegistrationDetails", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "description": "Request for Application to patch", - "name": "patchRequest", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ApplicationRegistrationPatchRequest" - } - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Modifying registration operation details", - "schema": { - "$ref": "#/definitions/ApplicationRegistrationUpsertResponse" - } - }, - "400": { - "description": "Invalid application" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - }, - "409": { - "description": "Conflict" - } - } - } - }, - "/applications/{appName}/alerting": { - "get": { - "tags": [ - "application" - ], - "summary": "Get alerts configuration for application namespace", - "operationId": "getApplicationAlertingConfig", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful get alerts config", - "schema": { - "$ref": "#/definitions/AlertingConfig" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "500": { - "description": "Internal server error" - } - } - }, - "put": { - "tags": [ - "application" - ], - "summary": "Update alerts configuration for application namespace", - "operationId": "updateApplicationAlertingConfig", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "description": "Alerts configuration", - "name": "alertsConfig", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateAlertingConfig" - } - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful alerts config update", - "schema": { - "$ref": "#/definitions/AlertingConfig" - } - }, - "400": { - "description": "Invalid configuration" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "500": { - "description": "Internal server error" - } - } - } - }, - "/applications/{appName}/alerting/disable": { - "post": { - "tags": [ - "application" - ], - "summary": "Disable alerting for application namespace", - "operationId": "disableApplicationAlerting", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful disable alerting", - "schema": { - "$ref": "#/definitions/AlertingConfig" - } - }, - "400": { - "description": "Alerting already enabled" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "500": { - "description": "Internal server error" - } - } - } - }, - "/applications/{appName}/alerting/enable": { - "post": { - "tags": [ - "application" - ], - "summary": "Enable alerting for application namespace", - "operationId": "enableApplicationAlerting", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful enable alerting", - "schema": { - "$ref": "#/definitions/AlertingConfig" - } - }, - "400": { - "description": "Alerting already enabled" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "500": { - "description": "Internal server error" - } - } - } - }, - "/applications/{appName}/buildsecrets": { - "get": { - "tags": [ - "application" - ], - "summary": "Lists the application build secrets", - "operationId": "getBuildSecrets", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/BuildSecret" - } - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/buildsecrets/{secretName}": { - "put": { - "tags": [ - "application" - ], - "summary": "Update an application build secret", - "operationId": "updateBuildSecretsSecretValue", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "name of secret", - "name": "secretName", - "in": "path", - "required": true - }, - { - "description": "New secret value", - "name": "secretValue", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SecretParameters" - } - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "success" - }, - "400": { - "description": "Invalid application" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "409": { - "description": "Conflict" - } - } - } - }, - "/applications/{appName}/deploy-key-and-secret": { - "get": { - "tags": [ - "application" - ], - "summary": "Get deploy key and secret", - "operationId": "getDeployKeyAndSecret", - "parameters": [ - { - "type": "string", - "description": "name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful get deploy key and secret", - "schema": { - "$ref": "#/definitions/DeployKeyAndSecret" - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/deploykey-valid": { - "get": { - "tags": [ - "application" - ], - "summary": "Checks if the deploy key is correctly setup for application by cloning the repository", - "operationId": "isDeployKeyValid", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Deploy key is valid" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "409": { - "description": "Conflict" - }, - "500": { - "description": "Internal server error" - } - } - } - }, - "/applications/{appName}/deployments": { - "get": { - "tags": [ - "application" - ], - "summary": "Lists the application deployments", - "operationId": "getDeployments", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "environment of Radix application", - "name": "environment", - "in": "query" - }, - { - "type": "boolean", - "description": "indicator to allow only listing latest", - "name": "latest", - "in": "query" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentSummary" - } - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/deployments/{deploymentName}": { - "get": { - "tags": [ - "deployment" - ], - "summary": "Get deployment details", - "operationId": "getDeployment", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "name of deployment", - "name": "deploymentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful get deployment", - "schema": { - "$ref": "#/definitions/Deployment" - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/deployments/{deploymentName}/components": { - "get": { - "tags": [ - "component" - ], - "summary": "Get components for a deployment", - "operationId": "components", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of deployment", - "name": "deploymentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "pod log", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/Component" - } - } - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/deployments/{deploymentName}/components/{componentName}/replicas/{podName}/logs": { - "get": { - "tags": [ - "component" - ], - "summary": "Get logs from a deployed pod", - "operationId": "log", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of deployment", - "name": "deploymentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of component", - "name": "componentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of pod", - "name": "podName", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "date-time", - "description": "Get log only from sinceTime (example 2020-03-18T07:20:41+00:00)", - "name": "sinceTime", - "in": "query" - }, - { - "type": "string", - "format": "number", - "description": "Get log lines (example 1000)", - "name": "lines", - "in": "query" - }, - { - "type": "string", - "format": "boolean", - "description": "Get log as a file if true", - "name": "file", - "in": "query" - }, - { - "type": "string", - "format": "boolean", - "description": "Get previous container log if true", - "name": "previous", - "in": "query" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "pod log", - "schema": { - "type": "string" - } - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments": { - "get": { - "tags": [ - "environment" - ], - "summary": "Lists the environments for an application", - "operationId": "getEnvironmentSummary", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/EnvironmentSummary" - } - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}": { - "get": { - "tags": [ - "environment" - ], - "summary": "Get details for an application environment", - "operationId": "getEnvironment", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful get environment", - "schema": { - "$ref": "#/definitions/Environment" - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - }, - "post": { - "tags": [ - "environment" - ], - "summary": "Creates application environment", - "operationId": "createEnvironment", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Environment created ok" - }, - "401": { - "description": "Unauthorized" - } - } - }, - "delete": { - "tags": [ - "environment" - ], - "summary": "Deletes application environment", - "operationId": "deleteEnvironment", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Environment deleted ok" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/alerting": { - "get": { - "tags": [ - "environment" - ], - "summary": "Get alerts configuration for an environment", - "operationId": "getEnvironmentAlertingConfig", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful get alerts config", - "schema": { - "$ref": "#/definitions/AlertingConfig" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "500": { - "description": "Internal server error" - } - } - }, - "put": { - "tags": [ - "environment" - ], - "summary": "Update alerts configuration for an environment", - "operationId": "updateEnvironmentAlertingConfig", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "description": "Alerts configuration", - "name": "alertsConfig", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateAlertingConfig" - } - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful alerts config update", - "schema": { - "$ref": "#/definitions/AlertingConfig" - } - }, - "400": { - "description": "Invalid configuration" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "500": { - "description": "Internal server error" - } - } - } - }, - "/applications/{appName}/environments/{envName}/alerting/disable": { - "post": { - "tags": [ - "environment" - ], - "summary": "Disable alerting for an environment", - "operationId": "disableEnvironmentAlerting", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful disable alerting", - "schema": { - "$ref": "#/definitions/AlertingConfig" - } - }, - "400": { - "description": "Alerting already enabled" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "500": { - "description": "Internal server error" - } - } - } - }, - "/applications/{appName}/environments/{envName}/alerting/enable": { - "post": { - "tags": [ - "environment" - ], - "summary": "Enable alerting for an environment", - "operationId": "enableEnvironmentAlerting", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful enable alerting", - "schema": { - "$ref": "#/definitions/AlertingConfig" - } - }, - "400": { - "description": "Alerting already enabled" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "500": { - "description": "Internal server error" - } - } - } - }, - "/applications/{appName}/environments/{envName}/buildstatus": { - "get": { - "tags": [ - "buildstatus" - ], - "summary": "Show the application buildStatus", - "operationId": "getBuildStatus", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "name of the environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "enum": [ - "build-deploy", - "deploy", - "promote" - ], - "type": "string", - "default": "build-deploy", - "description": "Type of pipeline job to get status for.", - "name": "pipeline", - "in": "query" - } - ], - "responses": { - "200": { - "description": "Successful operation" - }, - "500": { - "description": "Internal Server Error" - } - } - } - }, - "/applications/{appName}/environments/{envName}/components/{componentName}/aux/oauth/replicas/{podName}/logs": { - "get": { - "tags": [ - "component" - ], - "summary": "Get logs for an oauth auxiliary resource pod", - "operationId": "getOAuthPodLog", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of component", - "name": "componentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of pod", - "name": "podName", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "date-time", - "description": "Get log only from sinceTime (example 2020-03-18T07:20:41+00:00)", - "name": "sinceTime", - "in": "query" - }, - { - "type": "string", - "format": "number", - "description": "Get log lines (example 1000)", - "name": "lines", - "in": "query" - }, - { - "type": "string", - "format": "boolean", - "description": "Get log as a file if true", - "name": "file", - "in": "query" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "pod log", - "schema": { - "type": "string" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "500": { - "description": "Internal server error" - } - } - } - }, - "/applications/{appName}/environments/{envName}/components/{componentName}/aux/oauth/restart": { - "post": { - "tags": [ - "component" - ], - "summary": "Restarts an auxiliary resource for a component", - "operationId": "restartOAuthAuxiliaryResource", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of component", - "name": "componentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Auxiliary resource restarted ok" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "409": { - "description": "Conflict" - }, - "500": { - "description": "Internal server error" - } - } - } - }, - "/applications/{appName}/environments/{envName}/components/{componentName}/envvars": { - "get": { - "tags": [ - "component" - ], - "summary": "Get environment variables for component", - "operationId": "envVars", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of component", - "name": "componentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "environment variables", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/EnvVar" - } - } - }, - "404": { - "description": "Not found" - } - } - }, - "patch": { - "tags": [ - "component" - ], - "summary": "Update an environment variable", - "operationId": "changeEnvVar", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "environment of Radix application", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "environment component of Radix application", - "name": "componentName", - "in": "path", - "required": true - }, - { - "description": "Environment variables new values and metadata", - "name": "EnvVarParameter", - "in": "body", - "required": true, - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/EnvVarParameter" - } - } - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "success" - }, - "400": { - "description": "Invalid application" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "409": { - "description": "Conflict" - }, - "500": { - "description": "Internal server error" - } - } - } - }, - "/applications/{appName}/environments/{envName}/components/{componentName}/externaldns/{fqdn}/tls": { - "put": { - "tags": [ - "component" - ], - "summary": "Set external DNS TLS private key certificate for a component", - "operationId": "updateComponentExternalDnsTls", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "secret of Radix application", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "secret component of Radix application", - "name": "componentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "FQDN to be updated", - "name": "fqdn", - "in": "path", - "required": true - }, - { - "description": "New TLS private key and certificate", - "name": "tlsData", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateExternalDnsTlsRequest" - } - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "success" - }, - "400": { - "description": "Invalid application" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "409": { - "description": "Conflict" - }, - "500": { - "description": "Internal server error" - } - } - } - }, - "/applications/{appName}/environments/{envName}/components/{componentName}/replicas/{podName}/logs": { - "get": { - "tags": [ - "component" - ], - "summary": "Get logs from a deployed pod", - "operationId": "replicaLog", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of component", - "name": "componentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of pod", - "name": "podName", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "date-time", - "description": "Get log only from sinceTime (example 2020-03-18T07:20:41+00:00)", - "name": "sinceTime", - "in": "query" - }, - { - "type": "string", - "format": "number", - "description": "Get log lines (example 1000)", - "name": "lines", - "in": "query" - }, - { - "type": "string", - "format": "boolean", - "description": "Get log as a file if true", - "name": "file", - "in": "query" - }, - { - "type": "string", - "format": "boolean", - "description": "Get previous container log if true", - "name": "previous", - "in": "query" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "pod log", - "schema": { - "type": "string" - } - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/components/{componentName}/restart": { - "post": { - "tags": [ - "component" - ], - "summary": "Restart a component\n - Stops running the component container\n - Pulls new image from image hub in radix configuration\n - Starts the container again using an up-to-date image\n", - "operationId": "restartComponent", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of component", - "name": "componentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Component started ok" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/components/{componentName}/scale/{replicas}": { - "post": { - "tags": [ - "component" - ], - "summary": "Scale a component replicas", - "operationId": "scaleComponent", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of component", - "name": "componentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "New desired number of replicas", - "name": "replicas", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Success" - }, - "400": { - "description": "Invalid component" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/components/{componentName}/secrets/azure/keyvault/{azureKeyVaultName}": { - "get": { - "tags": [ - "environment" - ], - "summary": "Get Azure Key vault secret versions for a component", - "operationId": "getAzureKeyVaultSecretVersions", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "secret of Radix application", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "secret component of Radix application", - "name": "componentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Azure Key vault name", - "name": "azureKeyVaultName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "secret (or key, cert) name in Azure Key vault", - "name": "secretName", - "in": "query" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/AzureKeyVaultSecretVersion" - } - } - }, - "400": { - "description": "Invalid application" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "409": { - "description": "Conflict" - }, - "500": { - "description": "Internal server error" - } - } - } - }, - "/applications/{appName}/environments/{envName}/components/{componentName}/secrets/{secretName}": { - "put": { - "tags": [ - "environment" - ], - "summary": "Update an application environment component secret", - "operationId": "changeComponentSecret", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "secret of Radix application", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "secret component of Radix application", - "name": "componentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "environment component secret name to be updated", - "name": "secretName", - "in": "path", - "required": true - }, - { - "description": "New secret value", - "name": "componentSecret", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SecretParameters" - } - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "success" - }, - "400": { - "description": "Invalid application" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "409": { - "description": "Conflict" - }, - "500": { - "description": "Internal server error" - } - } - } - }, - "/applications/{appName}/environments/{envName}/components/{componentName}/start": { - "post": { - "tags": [ - "component" - ], - "summary": "Start component", - "operationId": "startComponent", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of component", - "name": "componentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Component started ok" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/components/{componentName}/stop": { - "post": { - "tags": [ - "component" - ], - "summary": "Stops component", - "operationId": "stopComponent", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of component", - "name": "componentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Component stopped ok" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/deployments": { - "get": { - "tags": [ - "environment" - ], - "summary": "Lists the application environment deployments", - "operationId": "getApplicationEnvironmentDeployments", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "environment of Radix application", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "indicator to allow only listing the latest", - "name": "latest", - "in": "query" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentSummary" - } - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/events": { - "get": { - "tags": [ - "environment" - ], - "summary": "Lists events for an application environment", - "operationId": "getEnvironmentEvents", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful get environment events", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/Event" - } - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/jobcomponents/{jobComponentName}/batches": { - "get": { - "tags": [ - "job" - ], - "summary": "Get list of scheduled batches", - "operationId": "getBatches", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job-component", - "name": "jobComponentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "scheduled batches", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/ScheduledBatchSummary" - } - } - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/jobcomponents/{jobComponentName}/batches/{batchName}": { - "get": { - "tags": [ - "job" - ], - "summary": "Get list of scheduled batches", - "operationId": "getBatch", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job-component", - "name": "jobComponentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of batch", - "name": "batchName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "scheduled batch", - "schema": { - "$ref": "#/definitions/ScheduledBatchSummary" - } - }, - "404": { - "description": "Not found" - } - } - }, - "delete": { - "tags": [ - "job" - ], - "summary": "Delete batch", - "operationId": "deleteBatch", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job-component", - "name": "jobComponentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of batch", - "name": "batchName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Success" - }, - "400": { - "description": "Invalid batch" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/jobcomponents/{jobComponentName}/batches/{batchName}/copy": { - "post": { - "tags": [ - "job" - ], - "summary": "Create a copy of existing scheduled batch with optional changes", - "operationId": "copyBatch", - "parameters": [ - { - "description": "Request for creating a scheduled batch", - "name": "scheduledBatchRequest", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ScheduledBatchRequest" - } - }, - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job-component", - "name": "jobComponentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of batch to be copied", - "name": "batchName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/ScheduledBatchSummary" - } - }, - "400": { - "description": "Invalid batch" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/jobcomponents/{jobComponentName}/batches/{batchName}/restart": { - "post": { - "tags": [ - "job" - ], - "summary": "Restart a scheduled or stopped batch", - "operationId": "restartBatch", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job-component", - "name": "jobComponentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of batch", - "name": "batchName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Success" - }, - "400": { - "description": "Invalid batch" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/jobcomponents/{jobComponentName}/batches/{batchName}/stop": { - "post": { - "tags": [ - "job" - ], - "summary": "Stop scheduled batch", - "operationId": "stopBatch", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job-component", - "name": "jobComponentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of batch", - "name": "batchName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Success" - }, - "400": { - "description": "Invalid batch" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/jobcomponents/{jobComponentName}/deployments": { - "get": { - "tags": [ - "job" - ], - "summary": "Get list of deployments for the job component", - "operationId": "GetJobComponentDeployments", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job-component", - "name": "jobComponentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Radix deployments", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentItem" - } - } - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/jobcomponents/{jobComponentName}/jobs": { - "get": { - "tags": [ - "job" - ], - "summary": "Get list of scheduled jobs", - "operationId": "getJobs", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job-component", - "name": "jobComponentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "scheduled jobs", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/ScheduledJobSummary" - } - } - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/jobcomponents/{jobComponentName}/jobs/{jobName}": { - "get": { - "tags": [ - "job" - ], - "summary": "Get list of scheduled jobs", - "operationId": "getJob", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job-component", - "name": "jobComponentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job", - "name": "jobName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "scheduled job", - "schema": { - "$ref": "#/definitions/ScheduledJobSummary" - } - }, - "404": { - "description": "Not found" - } - } - }, - "delete": { - "tags": [ - "job" - ], - "summary": "Delete job", - "operationId": "deleteJob", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job-component", - "name": "jobComponentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job", - "name": "jobName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Success" - }, - "400": { - "description": "Invalid job" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/jobcomponents/{jobComponentName}/jobs/{jobName}/copy": { - "post": { - "tags": [ - "job" - ], - "summary": "Create a copy of existing scheduled job with optional changes", - "operationId": "copyJob", - "parameters": [ - { - "description": "Request for creating a scheduled job", - "name": "scheduledJobRequest", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ScheduledJobRequest" - } - }, - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job-component", - "name": "jobComponentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job to be copied", - "name": "jobName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/ScheduledJobSummary" - } - }, - "400": { - "description": "Invalid batch" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/jobcomponents/{jobComponentName}/jobs/{jobName}/payload": { - "get": { - "tags": [ - "job" - ], - "summary": "Get payload of a scheduled job", - "operationId": "getJobPayload", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job-component", - "name": "jobComponentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job", - "name": "jobName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "scheduled job payload", - "schema": { - "type": "string" - } - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/jobcomponents/{jobComponentName}/jobs/{jobName}/restart": { - "post": { - "tags": [ - "job" - ], - "summary": "Restart a running or stopped scheduled job", - "operationId": "restartJob", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job-component", - "name": "jobComponentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job", - "name": "jobName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Success" - }, - "400": { - "description": "Invalid job" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/jobcomponents/{jobComponentName}/jobs/{jobName}/stop": { - "post": { - "tags": [ - "job" - ], - "summary": "Stop scheduled job", - "operationId": "stopJob", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job-component", - "name": "jobComponentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job", - "name": "jobName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Success" - }, - "400": { - "description": "Invalid job" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/jobcomponents/{jobComponentName}/scheduledjobs/{scheduledJobName}/logs": { - "get": { - "tags": [ - "job" - ], - "summary": "Get log from a scheduled job", - "operationId": "jobLog", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of job-component", - "name": "jobComponentName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of scheduled job", - "name": "scheduledJobName", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "date-time", - "description": "Get log only from sinceTime (example 2020-03-18T07:20:41+00:00)", - "name": "sinceTime", - "in": "query" - }, - { - "type": "string", - "format": "number", - "description": "Get log lines (example 1000)", - "name": "lines", - "in": "query" - }, - { - "type": "string", - "format": "boolean", - "description": "Get log as a file if true", - "name": "file", - "in": "query" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "scheduled job log", - "schema": { - "type": "string" - } - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/restart": { - "post": { - "tags": [ - "environment" - ], - "summary": "Restart all components in the environment\n - Stops all running components in the environment\n - Pulls new images from image hub in radix configuration\n - Starts all components in the environment again using up-to-date image\n", - "operationId": "restartEnvironment", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Environment started ok" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/start": { - "post": { - "tags": [ - "environment" - ], - "summary": "Start all components in the environment", - "operationId": "startEnvironment", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Environment started ok" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/environments/{envName}/stop": { - "post": { - "tags": [ - "environment" - ], - "summary": "Stops all components in the environment", - "operationId": "stopEnvironment", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of environment", - "name": "envName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Environment stopped ok" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/jobs": { - "get": { - "tags": [ - "pipeline-job" - ], - "summary": "Gets the summary of jobs for a given application", - "operationId": "getApplicationJobs", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/JobSummary" - } - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/jobs/{jobName}": { - "get": { - "tags": [ - "pipeline-job" - ], - "summary": "Gets the detail of a given pipeline-job for a given application", - "operationId": "getApplicationJob", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "name of job", - "name": "jobName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful get job", - "schema": { - "$ref": "#/definitions/Job" - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/jobs/{jobName}/logs/{stepName}": { - "get": { - "tags": [ - "pipeline-job" - ], - "summary": "Gets logs of a pipeline job step", - "operationId": "getPipelineJobStepLogs", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of the pipeline job", - "name": "jobName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of the pipeline job step", - "name": "stepName", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "date-time", - "description": "Get log only from sinceTime (example 2020-03-18T07:20:41+00:00)", - "name": "sinceTime", - "in": "query" - }, - { - "type": "string", - "format": "number", - "description": "Get log lines (example 1000)", - "name": "lines", - "in": "query" - }, - { - "type": "string", - "format": "boolean", - "description": "Get log as a file if true", - "name": "file", - "in": "query" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Job step log", - "schema": { - "type": "string" - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/jobs/{jobName}/pipelineruns": { - "get": { - "tags": [ - "pipeline-job" - ], - "summary": "Gets list of pipeline runs for a pipeline-job", - "operationId": "getTektonPipelineRuns", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of pipeline job", - "name": "jobName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "List of PipelineRun-s", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/PipelineRun" - } - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/jobs/{jobName}/pipelineruns/{pipelineRunName}": { - "get": { - "tags": [ - "pipeline-job" - ], - "summary": "Gets a pipeline run for a pipeline-job", - "operationId": "getTektonPipelineRun", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of pipeline job", - "name": "jobName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of pipeline run", - "name": "pipelineRunName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "List of Pipeline Runs", - "schema": { - "$ref": "#/definitions/PipelineRun" - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/jobs/{jobName}/pipelineruns/{pipelineRunName}/tasks": { - "get": { - "tags": [ - "pipeline-job" - ], - "summary": "Gets list of pipeline run tasks of a pipeline-job", - "operationId": "getTektonPipelineRunTasks", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of pipeline job", - "name": "jobName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of pipeline run", - "name": "pipelineRunName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "List of Pipeline Run Tasks", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/PipelineRunTask" - } - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/jobs/{jobName}/pipelineruns/{pipelineRunName}/tasks/{taskName}": { - "get": { - "tags": [ - "pipeline-job" - ], - "summary": "Gets list of pipeline run task of a pipeline-job", - "operationId": "getTektonPipelineRunTask", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of pipeline job", - "name": "jobName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of pipeline run", - "name": "pipelineRunName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of pipeline run task", - "name": "taskName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Pipeline Run Task", - "schema": { - "$ref": "#/definitions/PipelineRunTask" - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/jobs/{jobName}/pipelineruns/{pipelineRunName}/tasks/{taskName}/logs/{stepName}": { - "get": { - "tags": [ - "pipeline-job" - ], - "summary": "Gets logs of pipeline runs for a pipeline-job", - "operationId": "getTektonPipelineRunTaskStepLogs", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of pipeline job", - "name": "jobName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of pipeline run", - "name": "pipelineRunName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of pipeline run task", - "name": "taskName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of pipeline run task step", - "name": "stepName", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "date-time", - "description": "Get log only from sinceTime (example 2020-03-18T07:20:41+00:00)", - "name": "sinceTime", - "in": "query" - }, - { - "type": "string", - "format": "number", - "description": "Get log lines (example 1000)", - "name": "lines", - "in": "query" - }, - { - "type": "string", - "format": "boolean", - "description": "Get log as a file if true", - "name": "file", - "in": "query" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Task step log", - "schema": { - "type": "string" - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/jobs/{jobName}/pipelineruns/{pipelineRunName}/tasks/{taskName}/steps": { - "get": { - "tags": [ - "pipeline-job" - ], - "summary": "Gets list of steps for a pipeline run task of a pipeline-job", - "operationId": "getTektonPipelineRunTaskSteps", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of pipeline job", - "name": "jobName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of pipeline run", - "name": "pipelineRunName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Name of pipeline run task", - "name": "taskName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "List of Pipeline Run Task Steps", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/PipelineRunTaskStep" - } - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/jobs/{jobName}/rerun": { - "post": { - "tags": [ - "pipeline-job" - ], - "summary": "Reruns the pipeline job", - "operationId": "rerunApplicationJob", - "parameters": [ - { - "type": "string", - "description": "name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "name of job", - "name": "jobName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Job rerun ok" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/jobs/{jobName}/stop": { - "post": { - "tags": [ - "pipeline-job" - ], - "summary": "Stops job", - "operationId": "stopApplicationJob", - "parameters": [ - { - "type": "string", - "description": "name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "name of job", - "name": "jobName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Job stopped ok" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/pipelines": { - "get": { - "tags": [ - "application" - ], - "summary": "Lists the supported pipelines", - "operationId": "listPipelines", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "Successful operation", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/applications/{appName}/pipelines/build": { - "post": { - "tags": [ - "application" - ], - "summary": "Run a build pipeline for a given application and branch", - "operationId": "triggerPipelineBuild", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "description": "Pipeline parameters", - "name": "PipelineParametersBuild", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/PipelineParametersBuild" - } - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful trigger pipeline", - "schema": { - "$ref": "#/definitions/JobSummary" - } - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/pipelines/build-deploy": { - "post": { - "tags": [ - "application" - ], - "summary": "Run a build-deploy pipeline for a given application and branch", - "operationId": "triggerPipelineBuildDeploy", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "description": "Pipeline parameters", - "name": "PipelineParametersBuild", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/PipelineParametersBuild" - } - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful trigger pipeline", - "schema": { - "$ref": "#/definitions/JobSummary" - } - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/pipelines/deploy": { - "post": { - "tags": [ - "application" - ], - "summary": "Run a deploy pipeline for a given application and environment", - "operationId": "triggerPipelineDeploy", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "description": "Pipeline parameters", - "name": "PipelineParametersDeploy", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/PipelineParametersDeploy" - } - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful trigger pipeline", - "schema": { - "$ref": "#/definitions/JobSummary" - } - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/pipelines/promote": { - "post": { - "tags": [ - "application" - ], - "summary": "Run a promote pipeline for a given application and branch", - "operationId": "triggerPipelinePromote", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "description": "Pipeline parameters", - "name": "PipelineParametersPromote", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/PipelineParametersPromote" - } - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful trigger pipeline", - "schema": { - "$ref": "#/definitions/JobSummary" - } - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/privateimagehubs": { - "get": { - "tags": [ - "application" - ], - "summary": "Lists the application private image hubs", - "operationId": "getPrivateImageHubs", - "parameters": [ - { - "type": "string", - "description": "name of Radix application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/ImageHubSecret" - } - } - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/privateimagehubs/{serverName}": { - "put": { - "tags": [ - "application" - ], - "summary": "Update an application private image hub secret", - "operationId": "updatePrivateImageHubsSecretValue", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "server name to update", - "name": "serverName", - "in": "path", - "required": true - }, - { - "description": "New secret value", - "name": "imageHubSecret", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SecretParameters" - } - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "success" - }, - "400": { - "description": "Invalid application" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" - }, - "409": { - "description": "Conflict" - } - } - } - }, - "/applications/{appName}/regenerate-deploy-key": { - "post": { - "tags": [ - "application" - ], - "summary": "Regenerates deploy key", - "operationId": "regenerateDeployKey", - "parameters": [ - { - "type": "string", - "description": "name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "description": "Regenerate deploy key and secret data", - "name": "regenerateDeployKeyAndSecretData", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/RegenerateDeployKeyAndSecretData" - } - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Successfully regenerated deploy key and set shared secret" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - }, - "409": { - "description": "Conflict" - } - } - } - }, - "/applications/{appName}/restart": { - "post": { - "tags": [ - "application" - ], - "summary": "Restart all components in all environments of the application\n - Stops all running components in all environments of the application\n - Pulls new images from image hub in radix configuration\n - Starts all components in all environments of the application again using up-to-date image\n", - "operationId": "restartApplication", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Application started ok" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/start": { - "post": { - "tags": [ - "application" - ], - "summary": "Start all components in all environments of the application", - "operationId": "startApplication", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Application started ok" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - }, - "/applications/{appName}/stop": { - "post": { - "tags": [ - "application" - ], - "summary": "Stops all components in the environment", - "operationId": "stopApplication", - "parameters": [ - { - "type": "string", - "description": "Name of application", - "name": "appName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of test users (Required if Impersonate-Group is set)", - "name": "Impersonate-User", - "in": "header" - }, - { - "type": "string", - "description": "Works only with custom setup of cluster. Allow impersonation of a comma-seperated list of test groups (Required if Impersonate-User is set)", - "name": "Impersonate-Group", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Application stopped ok" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "description": "Not found" - } - } - } - } - }, - "definitions": { - "AlertConfig": { - "description": "AlertConfig defines a mapping between a pre-defined alert name and a receiver", - "type": "object", - "required": [ - "receiver", - "alert" - ], - "properties": { - "alert": { - "description": "Alert defines the name of a predefined alert", - "type": "string", - "x-go-name": "Alert" - }, - "receiver": { - "description": "Receiver is the name of the receiver that will handle this alert", - "type": "string", - "x-go-name": "Receiver" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/alerting/models" - }, - "AlertConfigList": { - "description": "AlertConfigList list of AlertConfig", - "type": "array", - "items": { - "$ref": "#/definitions/AlertConfig" - }, - "x-go-package": "github.com/equinor/radix-api/api/alerting/models" - }, - "AlertingConfig": { - "description": "AlertingConfig current alert settings", - "type": "object", - "properties": { - "alertNames": { - "description": "AlertNames is the list of alert names that can be handled by Radix", - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "AlertNames" - }, - "alerts": { - "$ref": "#/definitions/AlertConfigList" - }, - "enabled": { - "description": "Enabled flag tells if alerting is enabled or disabled", - "type": "boolean", - "x-go-name": "Enabled" - }, - "ready": { - "description": "Ready flag tells tells if alerting is ready to be configured\nValue is always false when Enabled is false\nVlaue is True if Enabled is true and Radix operator has processed the alert configuration", - "type": "boolean", - "x-go-name": "Ready" - }, - "receiverSecretStatus": { - "$ref": "#/definitions/ReceiverConfigSecretStatusMap" - }, - "receivers": { - "$ref": "#/definitions/ReceiverConfigMap" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/alerting/models" - }, - "Application": { - "description": "Application details of an application", - "type": "object", - "required": [ - "userIsAdmin" - ], - "properties": { - "appAlias": { - "$ref": "#/definitions/ApplicationAlias" - }, - "dnsAliases": { - "description": "DNS aliases showing nicer endpoint for application, without \"app.\" subdomain domain", - "type": "array", - "items": { - "$ref": "#/definitions/DNSAlias" - }, - "x-go-name": "DNSAliases" - }, - "environments": { - "description": "Environments List of environments for this application", - "type": "array", - "items": { - "$ref": "#/definitions/EnvironmentSummary" - }, - "x-go-name": "Environments" - }, - "jobs": { - "description": "Jobs list of run jobs for the application", - "type": "array", - "items": { - "$ref": "#/definitions/JobSummary" - }, - "x-go-name": "Jobs" - }, - "name": { - "description": "Name the name of the application", - "type": "string", - "x-go-name": "Name", - "example": "radix-canary-golang" - }, - "registration": { - "$ref": "#/definitions/ApplicationRegistration" - }, - "userIsAdmin": { - "description": "UserIsAdmin if user is member of application's admin groups", - "type": "boolean", - "x-go-name": "UserIsAdmin" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/applications/models" - }, - "ApplicationAlias": { - "description": "ApplicationAlias holds public alias information", - "type": "object", - "required": [ - "url", - "componentName", - "environmentName" - ], - "properties": { - "componentName": { - "description": "ComponentName the component exposing the endpoint", - "type": "string", - "x-go-name": "ComponentName", - "example": "frontend" - }, - "environmentName": { - "description": "EnvironmentName the environment hosting the endpoint", - "type": "string", - "x-go-name": "EnvironmentName", - "example": "prod" - }, - "url": { - "description": "URL the public endpoint", - "type": "string", - "x-go-name": "URL", - "example": "https://my-app.app.radix.equinor.com" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/applications/models" - }, - "ApplicationRegistration": { - "description": "ApplicationRegistration describe an application", - "type": "object", - "required": [ - "name", - "repository", - "sharedSecret", - "adGroups", - "owner", - "creator", - "configBranch" - ], - "properties": { - "adGroups": { - "description": "AdGroups the groups that should be able to access the application", - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "AdGroups" - }, - "configBranch": { - "description": "ConfigBranch information", - "type": "string", - "x-go-name": "ConfigBranch" - }, - "configurationItem": { - "description": "ConfigurationItem is an identifier for an entity in a configuration management solution such as a CMDB.\nITIL defines a CI as any component that needs to be managed in order to deliver an IT Service\nRef: https://en.wikipedia.org/wiki/Configuration_item", - "type": "string", - "x-go-name": "ConfigurationItem" - }, - "creator": { - "description": "Owner of the application (email). Can be a single person or a shared group email", - "type": "string", - "x-go-name": "Creator" - }, - "name": { - "description": "Name the unique name of the Radix application", - "type": "string", - "x-go-name": "Name", - "example": "radix-canary-golang" - }, - "owner": { - "description": "Owner of the application (email). Can be a single person or a shared group email", - "type": "string", - "x-go-name": "Owner" - }, - "radixConfigFullName": { - "description": "radixconfig.yaml file name and path, starting from the GitHub repository root (without leading slash)", - "type": "string", - "x-go-name": "RadixConfigFullName" - }, - "readerAdGroups": { - "description": "ReaderAdGroups the groups that should be able to read the application", - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "ReaderAdGroups" - }, - "repository": { - "description": "Repository the github repository", - "type": "string", - "x-go-name": "Repository", - "example": "https://github.com/equinor/radix-canary-golang" - }, - "sharedSecret": { - "description": "SharedSecret the shared secret of the webhook", - "type": "string", - "x-go-name": "SharedSecret" - }, - "wbs": { - "description": "WBS information", - "type": "string", - "x-go-name": "WBS" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/applications/models" - }, - "ApplicationRegistrationPatch": { - "description": "ApplicationRegistrationPatch contains fields that can be patched on a registration", - "type": "object", - "properties": { - "adGroups": { - "description": "AdGroups the groups that should be able to access the application", - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "AdGroups" - }, - "configBranch": { - "description": "ConfigBranch information", - "type": "string", - "x-go-name": "ConfigBranch" - }, - "configurationItem": { - "description": "ConfigurationItem is an identifier for an entity in a configuration management solution such as a CMDB.\nITIL defines a CI as any component that needs to be managed in order to deliver an IT Service\nRef: https://en.wikipedia.org/wiki/Configuration_item", - "type": "string", - "x-go-name": "ConfigurationItem" - }, - "owner": { - "description": "Owner of the application - should be an email", - "type": "string", - "x-go-name": "Owner" - }, - "radixConfigFullName": { - "description": "radixconfig.yaml file name and path, starting from the GitHub repository root (without leading slash)", - "type": "string", - "x-go-name": "RadixConfigFullName" - }, - "readerAdGroups": { - "description": "ReaderAdGroups the groups that should be able to read the application", - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "ReaderAdGroups" - }, - "repository": { - "description": "Repository the github repository", - "type": "string", - "x-go-name": "Repository" - }, - "wbs": { - "description": "WBS information", - "type": "string", - "x-go-name": "WBS" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/applications/models" - }, - "ApplicationRegistrationPatchRequest": { - "description": "ApplicationRegistrationPatchRequest contains request with fields that can be patched on a registration", - "type": "object", - "required": [ - "applicationRegistrationPatch" - ], - "properties": { - "acknowledgeWarnings": { - "description": "AcknowledgeWarnings acknowledge all warnings", - "type": "boolean", - "x-go-name": "AcknowledgeWarnings" - }, - "applicationRegistrationPatch": { - "$ref": "#/definitions/ApplicationRegistrationPatch" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/applications/models" - }, - "ApplicationRegistrationRequest": { - "description": "ApplicationRegistrationRequest describe a register application request", - "type": "object", - "properties": { - "acknowledgeWarnings": { - "description": "AcknowledgeWarnings acknowledge all warnings", - "type": "boolean", - "x-go-name": "AcknowledgeWarnings" - }, - "applicationRegistration": { - "$ref": "#/definitions/ApplicationRegistration" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/applications/models" - }, - "ApplicationRegistrationUpsertResponse": { - "description": "ApplicationRegistrationUpsertResponse describe an application upsert operation response", - "type": "object", - "properties": { - "applicationRegistration": { - "$ref": "#/definitions/ApplicationRegistration" - }, - "warnings": { - "description": "Warnings of upsert operation", - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "Warnings", - "example": [ - "Repository is used in other application(s)" - ] - } - }, - "x-go-package": "github.com/equinor/radix-api/api/applications/models" - }, - "ApplicationSearchIncludeFields": { - "description": "ApplicationSearchIncludeFields specifies additional fields to include in the response of an ApplicationsSearchRequest", - "type": "object", - "properties": { - "environmentActiveComponents": { - "type": "boolean", - "x-go-name": "EnvironmentActiveComponents" - }, - "latestJobSummary": { - "type": "boolean", - "x-go-name": "LatestJobSummary" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/applications/models" - }, - "ApplicationSummary": { - "description": "ApplicationSummary describe an application", - "type": "object", - "properties": { - "environmentActiveComponents": { - "description": "EnvironmentActiveComponents All component summaries of the active deployments in the environments", - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "$ref": "#/definitions/Component" - } - }, - "x-go-name": "EnvironmentActiveComponents" - }, - "latestJob": { - "$ref": "#/definitions/JobSummary" - }, - "name": { - "description": "Name the name of the application", - "type": "string", - "x-go-name": "Name", - "example": "radix-canary-golang" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/applications/models" - }, - "ApplicationsSearchRequest": { - "description": "ApplicationsSearchRequest contains the list of application names to be queried", - "type": "object", - "required": [ - "names" - ], - "properties": { - "includeFields": { - "$ref": "#/definitions/ApplicationSearchIncludeFields" - }, - "names": { - "description": "List of application names to be returned", - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "Names", - "example": [ - "app1", - "app2" - ] - } - }, - "x-go-package": "github.com/equinor/radix-api/api/applications/models" - }, - "AuxiliaryResource": { - "description": "AuxiliaryResource describes an auxiliary resources for a component", - "type": "object", - "properties": { - "oauth2": { - "$ref": "#/definitions/OAuth2AuxiliaryResource" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "AuxiliaryResourceDeployment": { - "description": "AuxiliaryResourceDeployment describes the state of the auxiliary resource's deployment", - "type": "object", - "required": [ - "status" - ], - "properties": { - "replicaList": { - "description": "Running replicas of the auxiliary resource's deployment", - "type": "array", - "items": { - "$ref": "#/definitions/ReplicaSummary" - }, - "x-go-name": "ReplicaList" - }, - "status": { - "description": "Status of the auxiliary resource's deployment", - "type": "string", - "enum": [ - "Stopped", - "Consistent", - "Reconciling" - ], - "x-go-name": "Status", - "example": "Consistent" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "AzureIdentity": { - "description": "AzureIdentity describes an identity in Azure", - "type": "object", - "required": [ - "clientId", - "serviceAccountName" - ], - "properties": { - "azureKeyVaults": { - "description": "The Azure Key Vaults names, which use Azure Identity", - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "AzureKeyVaults" - }, - "clientId": { - "description": "ClientId is the client ID of an Azure User Assigned Managed Identity\nor the application ID of an Azure AD Application Registration", - "type": "string", - "x-go-name": "ClientId" - }, - "serviceAccountName": { - "description": "The Service Account name to use when configuring Kubernetes Federation Credentials for the identity", - "type": "string", - "x-go-name": "ServiceAccountName" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "AzureKeyVaultSecretVersion": { - "description": "AzureKeyVaultSecretVersion holds a version of a Azure Key vault secret", - "type": "object", - "required": [ - "replicaName", - "replicaCreated", - "version" - ], - "properties": { - "batchCreated": { - "description": "BatchCreated which uses the secret", - "type": "string", - "x-go-name": "BatchCreated", - "example": "2006-01-02T15:04:05Z" - }, - "batchName": { - "description": "BatchName which uses the secret", - "type": "string", - "x-go-name": "BatchName", - "example": "batch-abc" - }, - "jobCreated": { - "description": "JobCreated which uses the secret", - "type": "string", - "x-go-name": "JobCreated", - "example": "2006-01-02T15:04:05Z" - }, - "jobName": { - "description": "JobName which uses the secret", - "type": "string", - "x-go-name": "JobName", - "example": "job-abc" - }, - "replicaCreated": { - "description": "ReplicaCreated which uses the secret", - "type": "string", - "x-go-name": "ReplicaCreated", - "example": "2006-01-02T15:04:05Z" - }, - "replicaName": { - "description": "ReplicaName which uses the secret", - "type": "string", - "x-go-name": "ReplicaName", - "example": "abcdf" - }, - "version": { - "description": "Version of the secret", - "type": "string", - "x-go-name": "Version", - "example": "0123456789" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/secrets/models" - }, - "BuildSecret": { - "description": "BuildSecret holds general information about image hubs", - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "description": "Name name of the build secret", - "type": "string", - "x-go-name": "Name", - "example": "SECRET_1" - }, - "status": { - "description": "Status of the secret\nPending = Secret value is not set\nConsistent = Secret value is set", - "type": "string", - "enum": [ - "Pending", - "Consistent" - ], - "x-go-name": "Status", - "example": "Consistent" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/buildsecrets/models" - }, - "Component": { - "description": "Component describe an component part of an deployment", - "type": "object", - "required": [ - "name", - "type", - "image" - ], - "properties": { - "CommitID": { - "description": "Commit ID for the component. It can be different from the Commit ID, specified in deployment label", - "type": "string" - }, - "externalDNS": { - "description": "Array of external DNS configurations", - "type": "array", - "items": { - "$ref": "#/definitions/ExternalDNS" - }, - "x-go-name": "ExternalDNS" - }, - "horizontalScalingSummary": { - "$ref": "#/definitions/HorizontalScalingSummary" - }, - "identity": { - "$ref": "#/definitions/Identity" - }, - "image": { - "description": "Image name", - "type": "string", - "x-go-name": "Image", - "example": "radixdev.azurecr.io/app-server:cdgkg" - }, - "name": { - "description": "Name the component", - "type": "string", - "x-go-name": "Name", - "example": "server" - }, - "notifications": { - "$ref": "#/definitions/Notifications" - }, - "oauth2": { - "$ref": "#/definitions/OAuth2AuxiliaryResource" - }, - "ports": { - "description": "Ports defines the port number and protocol that a component is exposed for internally in environment", - "type": "array", - "items": { - "$ref": "#/definitions/Port" - }, - "x-go-name": "Ports" - }, - "replicaList": { - "description": "Array of ReplicaSummary", - "type": "array", - "items": { - "$ref": "#/definitions/ReplicaSummary" - }, - "x-go-name": "ReplicaList" - }, - "replicas": { - "description": "Array of pod names", - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "Replicas", - "example": [ - "server-78fc8857c4-hm76l", - "server-78fc8857c4-asfa2" - ] - }, - "scheduledJobPayloadPath": { - "description": "ScheduledJobPayloadPath defines the payload path, where payload for Job Scheduler will be mapped as a file. From radixconfig.yaml", - "type": "string", - "x-go-name": "ScheduledJobPayloadPath", - "example": "\"/tmp/payload\"" - }, - "schedulerPort": { - "description": "SchedulerPort defines the port number that a Job Scheduler is exposed internally in environment", - "type": "integer", - "format": "int32", - "x-go-name": "SchedulerPort", - "example": 8080 - }, - "secrets": { - "description": "Component secret names. From radixconfig.yaml", - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "Secrets", - "example": [ - "DB_CON", - "A_SECRET" - ] - }, - "status": { - "description": "Status of the component", - "type": "string", - "enum": [ - "Stopped", - "Consistent", - "Reconciling", - "Restarting", - "Outdated" - ], - "x-go-name": "Status", - "example": "Consistent" - }, - "type": { - "description": "Type of component", - "type": "string", - "enum": [ - "component", - "job" - ], - "x-go-name": "Type", - "example": "component" - }, - "variables": { - "description": "Variable names map to values. From radixconfig.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-go-name": "Variables" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "ComponentSummary": { - "description": "ComponentSummary describe a component part of a deployment", - "type": "object", - "required": [ - "name", - "type", - "image" - ], - "properties": { - "image": { - "description": "Image name", - "type": "string", - "x-go-name": "Image", - "example": "radixdev.azurecr.io/app-server:cdgkg" - }, - "name": { - "description": "Name the component", - "type": "string", - "x-go-name": "Name", - "example": "server" - }, - "type": { - "description": "Type of component", - "type": "string", - "enum": [ - "component", - "job" - ], - "x-go-name": "Type", - "example": "component" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "DNSAlias": { - "description": "DNSAlias holds public DNS alias information", - "type": "object", - "required": [ - "url", - "componentName", - "environmentName" - ], - "properties": { - "componentName": { - "description": "ComponentName the component exposing the endpoint", - "type": "string", - "x-go-name": "ComponentName", - "example": "frontend" - }, - "environmentName": { - "description": "EnvironmentName the environment hosting the endpoint", - "type": "string", - "x-go-name": "EnvironmentName", - "example": "prod" - }, - "status": { - "$ref": "#/definitions/DNSAliasStatus" - }, - "url": { - "description": "URL the public endpoint", - "type": "string", - "x-go-name": "URL", - "example": "https://my-app.radix.equinor.com" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/applications/models" - }, - "DNSAliasStatus": { - "description": "DNSAliasStatus Status of the DNSAlias", - "type": "object", - "properties": { - "condition": { - "type": "string", - "x-go-name": "Condition" - }, - "message": { - "type": "string", - "x-go-name": "Message" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/applications/models" - }, - "DeployKeyAndSecret": { - "description": "DeployKeyAndSecret Holds generated public deploy key and shared secret", - "type": "object", - "required": [ - "publicDeployKey", - "sharedSecret" - ], - "properties": { - "publicDeployKey": { - "description": "PublicDeployKey the public value of the deploy key", - "type": "string", - "x-go-name": "PublicDeployKey" - }, - "sharedSecret": { - "description": "SharedSecret the shared secret", - "type": "string", - "x-go-name": "SharedSecret" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/applications/models" - }, - "Deployment": { - "description": "Deployment describe an deployment", - "type": "object", - "required": [ - "namespace", - "repository" - ], - "properties": { - "activeFrom": { - "description": "ActiveFrom Timestamp when the deployment starts (or created)", - "type": "string", - "x-go-name": "ActiveFrom", - "example": "2006-01-02T15:04:05Z" - }, - "activeTo": { - "description": "ActiveTo Timestamp when the deployment ends", - "type": "string", - "x-go-name": "ActiveTo", - "example": "2006-01-02T15:04:05Z" - }, - "components": { - "description": "Array of components", - "type": "array", - "items": { - "$ref": "#/definitions/Component" - }, - "x-go-name": "Components" - }, - "createdByJob": { - "description": "Name of job creating deployment", - "type": "string", - "x-go-name": "CreatedByJob" - }, - "environment": { - "description": "Environment the environment this Radix application deployment runs in", - "type": "string", - "x-go-name": "Environment", - "example": "prod" - }, - "gitCommitHash": { - "description": "GitCommitHash the hash of the git commit from which radixconfig.yaml was parsed", - "type": "string", - "x-go-name": "GitCommitHash", - "example": "4faca8595c5283a9d0f17a623b9255a0d9866a2e" - }, - "gitTags": { - "description": "GitTags the git tags that the git commit hash points to", - "type": "string", - "x-go-name": "GitTags", - "example": "\"v1.22.1 v1.22.3\"" - }, - "name": { - "description": "Name the unique name of the Radix application deployment", - "type": "string", - "x-go-name": "Name", - "example": "radix-canary-golang-tzbqi" - }, - "namespace": { - "description": "Namespace where the deployment is stored", - "type": "string", - "x-go-name": "Namespace", - "example": "radix-canary-golang-dev" - }, - "repository": { - "description": "Repository the GitHub repository that the deployment was built from", - "type": "string", - "x-go-name": "Repository", - "example": "https://github.com/equinor/radix-canary-golang" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "DeploymentItem": { - "description": "DeploymentItem describe a deployment short info", - "type": "object", - "required": [ - "name", - "activeFrom" - ], - "properties": { - "activeFrom": { - "description": "ActiveFrom Timestamp when the deployment starts (or created)", - "type": "string", - "x-go-name": "ActiveFrom", - "example": "2006-01-02T15:04:05Z" - }, - "activeTo": { - "description": "ActiveTo Timestamp when the deployment ends", - "type": "string", - "x-go-name": "ActiveTo", - "example": "2006-01-02T15:04:05Z" - }, - "gitCommitHash": { - "description": "GitCommitHash the hash of the git commit from which radixconfig.yaml was parsed", - "type": "string", - "x-go-name": "GitCommitHash", - "example": "4faca8595c5283a9d0f17a623b9255a0d9866a2e" - }, - "name": { - "description": "Name the unique name of the Radix application deployment", - "type": "string", - "x-go-name": "Name", - "example": "radix-canary-golang-tzbqi" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "DeploymentSummary": { - "description": "DeploymentSummary describe an deployment", - "type": "object", - "required": [ - "name", - "environment", - "activeFrom" - ], - "properties": { - "activeFrom": { - "description": "ActiveFrom Timestamp when the deployment starts (or created)", - "type": "string", - "x-go-name": "ActiveFrom", - "example": "2006-01-02T15:04:05Z" - }, - "activeTo": { - "description": "ActiveTo Timestamp when the deployment ends", - "type": "string", - "x-go-name": "ActiveTo", - "example": "2006-01-02T15:04:05Z" - }, - "commitID": { - "description": "CommitID the commit ID of the branch to build", - "type": "string", - "x-go-name": "CommitID", - "example": "4faca8595c5283a9d0f17a623b9255a0d9866a2e" - }, - "components": { - "description": "Array of component summaries", - "type": "array", - "items": { - "$ref": "#/definitions/ComponentSummary" - }, - "x-go-name": "Components" - }, - "createdByJob": { - "description": "Name of job creating deployment", - "type": "string", - "x-go-name": "CreatedByJob" - }, - "environment": { - "description": "Environment the environment this Radix application deployment runs in", - "type": "string", - "x-go-name": "Environment", - "example": "prod" - }, - "gitCommitHash": { - "description": "GitCommitHash the hash of the git commit from which radixconfig.yaml was parsed", - "type": "string", - "x-go-name": "GitCommitHash", - "example": "4faca8595c5283a9d0f17a623b9255a0d9866a2e" - }, - "gitTags": { - "description": "GitTags the git tags that the git commit hash points to", - "type": "string", - "x-go-name": "GitTags", - "example": "\"v1.22.1 v1.22.3\"" - }, - "name": { - "description": "Name the unique name of the Radix application deployment", - "type": "string", - "x-go-name": "Name", - "example": "radix-canary-golang-tzbqi" - }, - "pipelineJobType": { - "description": "Type of pipeline job", - "type": "string", - "enum": [ - "build", - "build-deploy", - "promote", - "deploy" - ], - "x-go-name": "PipelineJobType", - "example": "build-deploy" - }, - "promotedFromEnvironment": { - "description": "Name of the environment the deployment was promoted from\nApplies only for pipeline jobs of type 'promote'", - "type": "string", - "x-go-name": "PromotedFromEnvironment", - "example": "qa" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "DeploymentSummaryPipelineJobInfo": { - "type": "object", - "properties": { - "commitID": { - "description": "CommitID the commit ID of the branch to build", - "type": "string", - "x-go-name": "CommitID", - "example": "4faca8595c5283a9d0f17a623b9255a0d9866a2e" - }, - "createdByJob": { - "description": "Name of job creating deployment", - "type": "string", - "x-go-name": "CreatedByJob" - }, - "pipelineJobType": { - "description": "Type of pipeline job", - "type": "string", - "enum": [ - "build", - "build-deploy", - "promote", - "deploy" - ], - "x-go-name": "PipelineJobType", - "example": "build-deploy" - }, - "promotedFromEnvironment": { - "description": "Name of the environment the deployment was promoted from\nApplies only for pipeline jobs of type 'promote'", - "type": "string", - "x-go-name": "PromotedFromEnvironment", - "example": "qa" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "EnvVar": { - "description": "EnvVar environment variable with metadata", - "type": "object", - "required": [ - "name" - ], - "properties": { - "metadata": { - "$ref": "#/definitions/EnvVarMetadata" - }, - "name": { - "description": "Name of the environment variable", - "type": "string", - "x-go-name": "Name", - "example": "VAR1" - }, - "value": { - "description": "Value of the environment variable", - "type": "string", - "x-go-name": "Value", - "example": "value1" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/environmentvariables/models" - }, - "EnvVarMetadata": { - "description": "EnvVarMetadata Environment variable metadata, holding state of creating or changing of value in Radix console", - "type": "object", - "properties": { - "radixConfigValue": { - "description": "Value of the environment variable in radixconfig.yaml", - "type": "string", - "x-go-name": "RadixConfigValue", - "example": "value1" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/environmentvariables/models" - }, - "EnvVarParameter": { - "description": "EnvVarParameter describes an environment variable", - "type": "object", - "required": [ - "name", - "value" - ], - "properties": { - "name": { - "description": "Name of the environment variable", - "type": "string", - "x-go-name": "Name", - "example": "VAR1" - }, - "value": { - "description": "Value a new value of the environment variable", - "type": "string", - "x-go-name": "Value", - "example": "value1" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/environmentvariables/models" - }, - "Environment": { - "description": "Environment holds detail information about environment", - "type": "object", - "properties": { - "activeDeployment": { - "$ref": "#/definitions/Deployment" - }, - "branchMapping": { - "description": "BranchMapping The branch mapped to this environment", - "type": "string", - "x-go-name": "BranchMapping", - "example": "master" - }, - "deployments": { - "description": "Deployments All deployments in environment", - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentSummary" - }, - "x-go-name": "Deployments" - }, - "name": { - "description": "Name of the environment", - "type": "string", - "x-go-name": "Name", - "example": "prod" - }, - "secrets": { - "description": "Secrets All secrets in environment", - "type": "array", - "items": { - "$ref": "#/definitions/Secret" - }, - "x-go-name": "Secrets" - }, - "status": { - "description": "Status of the environment\nPending = Environment exists in Radix config, but not in cluster\nConsistent = Environment exists in Radix config and in cluster\nOrphan = Environment does not exist in Radix config, but exists in cluster", - "type": "string", - "enum": [ - "Pending", - "Consistent", - "Orphan" - ], - "x-go-name": "Status", - "example": "Consistent" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/environments/models" - }, - "EnvironmentSummary": { - "description": "EnvironmentSummary holds general information about environment", - "type": "object", - "properties": { - "activeDeployment": { - "$ref": "#/definitions/DeploymentSummary" - }, - "branchMapping": { - "description": "BranchMapping The branch mapped to this environment", - "type": "string", - "x-go-name": "BranchMapping" - }, - "name": { - "description": "Name of the environment", - "type": "string", - "x-go-name": "Name", - "example": "prod" - }, - "status": { - "description": "Status of the environment\nPending = Environment exists in Radix config, but not in cluster\nConsistent = Environment exists in Radix config and in cluster\nOrphan = Environment does not exist in Radix config, but exists in cluster", - "type": "string", - "enum": [ - "Pending", - "Consistent", - "Orphan" - ], - "x-go-name": "Status", - "example": "Consistent" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/environments/models" - }, - "Event": { - "description": "Event holds information about Kubernetes events", - "type": "object", - "properties": { - "involvedObjectKind": { - "description": "Kind of object involved in this event", - "type": "string", - "x-go-name": "InvolvedObjectKind", - "example": "Pod" - }, - "involvedObjectName": { - "description": "Name of object involved in this event", - "type": "string", - "x-go-name": "InvolvedObjectName", - "example": "www-74cb7c986-fgcrl" - }, - "involvedObjectNamespace": { - "description": "Namespace of object involved in this event", - "type": "string", - "x-go-name": "InvolvedObjectNamespace", - "example": "myapp-production" - }, - "involvedObjectState": { - "$ref": "#/definitions/ObjectState" - }, - "lastTimestamp": { - "description": "The time (ISO8601) at which the event was last recorded", - "type": "string", - "format": "date-time", - "x-go-name": "LastTimestamp" - }, - "message": { - "description": "A human-readable description of the status of this event", - "type": "string", - "x-go-name": "Message", - "example": "'Readiness probe failed: dial tcp 10.40.1.5:3003: connect: connection refused'" - }, - "reason": { - "description": "A short, machine understandable string that gives the reason for this event", - "type": "string", - "x-go-name": "Reason", - "example": "Unhealthy" - }, - "type": { - "description": "Type of event (Normal, Warning)", - "type": "string", - "x-go-name": "Type", - "example": "Warning" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/events/models" - }, - "ExternalDNS": { - "description": "ExternalDNS describes an external DNS entry for a component", - "type": "object", - "required": [ - "fqdn", - "tls" - ], - "properties": { - "fqdn": { - "description": "Fully Qualified Domain Name", - "type": "string", - "x-go-name": "FQDN", - "example": "site.example.com" - }, - "tls": { - "$ref": "#/definitions/TLS" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "HorizontalScalingSummary": { - "description": "HorizontalScalingSummary describe the summary of horizontal scaling of a component", - "type": "object", - "properties": { - "currentCPUUtilizationPercentage": { - "description": "Component current average CPU utilization over all pods, represented as a percentage of requested CPU", - "type": "integer", - "format": "int32", - "x-go-name": "CurrentCPUUtilizationPercentage", - "example": 70 - }, - "currentMemoryUtilizationPercentage": { - "description": "Component current average memory utilization over all pods, represented as a percentage of requested memory", - "type": "integer", - "format": "int32", - "x-go-name": "CurrentMemoryUtilizationPercentage", - "example": 80 - }, - "maxReplicas": { - "description": "Component maximum replicas. From radixconfig.yaml", - "type": "integer", - "format": "int32", - "x-go-name": "MaxReplicas", - "example": 5 - }, - "minReplicas": { - "description": "Component minimum replicas. From radixconfig.yaml", - "type": "integer", - "format": "int32", - "x-go-name": "MinReplicas", - "example": 2 - }, - "targetCPUUtilizationPercentage": { - "description": "Component target average CPU utilization over all pods", - "type": "integer", - "format": "int32", - "x-go-name": "TargetCPUUtilizationPercentage", - "example": 80 - }, - "targetMemoryUtilizationPercentage": { - "description": "Component target average memory utilization over all pods", - "type": "integer", - "format": "int32", - "x-go-name": "TargetMemoryUtilizationPercentage", - "example": 80 - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "Identity": { - "description": "Identity describes external identities", - "type": "object", - "properties": { - "azure": { - "$ref": "#/definitions/AzureIdentity" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "ImageHubSecret": { - "description": "ImageHubSecret holds general information about image hubs", - "type": "object", - "required": [ - "server", - "username" - ], - "properties": { - "email": { - "description": "Email provided in radixconfig.yaml", - "type": "string", - "x-go-name": "Email", - "example": "radix@equinor.com" - }, - "server": { - "description": "Server name of the image hub", - "type": "string", - "x-go-name": "Server", - "example": "myprivaterepo.azurecr.io" - }, - "status": { - "description": "Status of the secret\nPending = Secret value is not set\nConsistent = Secret value is set", - "type": "string", - "enum": [ - "Pending", - "Consistent" - ], - "x-go-name": "Status", - "example": "Consistent" - }, - "username": { - "description": "Username for connecting to private image hub", - "type": "string", - "x-go-name": "Username", - "example": "my-user-name" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/privateimagehubs/models" - }, - "Job": { - "description": "Job holds general information about job", - "type": "object", - "properties": { - "branch": { - "description": "Branch to build from", - "type": "string", - "x-go-name": "Branch", - "example": "master" - }, - "commitID": { - "description": "CommitID the commit ID of the branch to build", - "type": "string", - "x-go-name": "CommitID", - "example": "4faca8595c5283a9d0f17a623b9255a0d9866a2e" - }, - "components": { - "description": "Components (array of ComponentSummary) created by the job\n\nDeprecated: Inspect each deployment to get list of components created by the job", - "type": "array", - "items": { - "$ref": "#/definitions/ComponentSummary" - }, - "x-go-name": "Components" - }, - "componentsToDeploy": { - "description": "ComponentsToDeploy List of components to deploy\nOPTIONAL If specified, only these components are deployed", - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "ComponentsToDeploy" - }, - "created": { - "description": "Created timestamp", - "type": "string", - "x-go-name": "Created", - "example": "2006-01-02T15:04:05Z" - }, - "deployments": { - "description": "Array of deployments", - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentSummary" - }, - "x-go-name": "Deployments" - }, - "ended": { - "description": "Ended timestamp", - "type": "string", - "x-go-name": "Ended", - "example": "2006-01-02T15:04:05Z" - }, - "imageTagNames": { - "description": "Image tags names for components - if empty will use default logic", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-go-name": "ImageTagNames", - "example": "component1: tag1,component2: tag2" - }, - "name": { - "description": "Name of the job", - "type": "string", - "x-go-name": "Name", - "example": "radix-pipeline-20181029135644-algpv-6hznh" - }, - "pipeline": { - "description": "Name of the pipeline", - "type": "string", - "enum": [ - "build", - "build-deploy", - "promote", - "deploy" - ], - "x-go-name": "Pipeline", - "example": "build-deploy" - }, - "promotedFromDeployment": { - "description": "RadixDeployment name, which is promoted", - "type": "string", - "x-go-name": "PromotedFromDeployment" - }, - "promotedFromEnvironment": { - "description": "PromotedFromEnvironment the name of the environment that was promoted from", - "type": "string", - "x-go-name": "PromotedFromEnvironment", - "example": "dev" - }, - "promotedToEnvironment": { - "description": "PromotedToEnvironment the name of the environment that was promoted to", - "type": "string", - "x-go-name": "PromotedToEnvironment", - "example": "qa" - }, - "rerunFromJob": { - "description": "RerunFromJob The source name of the job if this job was restarted from it", - "type": "string", - "x-go-name": "RerunFromJob", - "example": "radix-pipeline-20231011104617-urynf" - }, - "started": { - "description": "Started timestamp", - "type": "string", - "x-go-name": "Started", - "example": "2006-01-02T15:04:05Z" - }, - "status": { - "description": "Status of the job", - "type": "string", - "enum": [ - "Queued", - "Waiting", - "Running", - "Succeeded", - "Failed", - "Stopped", - "Stopping", - "StoppedNoChanges" - ], - "x-go-name": "Status", - "example": "Waiting" - }, - "steps": { - "description": "Array of steps", - "type": "array", - "items": { - "$ref": "#/definitions/Step" - }, - "x-go-name": "Steps" - }, - "triggeredBy": { - "description": "TriggeredBy user that triggered the job. If through webhook = sender.login. If through api = usertoken.upn", - "type": "string", - "x-go-name": "TriggeredBy", - "example": "a_user@equinor.com" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/jobs/models" - }, - "JobSummary": { - "description": "JobSummary holds general information about job", - "type": "object", - "properties": { - "appName": { - "description": "AppName of the application", - "type": "string", - "x-go-name": "AppName", - "example": "radix-pipeline-20181029135644-algpv-6hznh" - }, - "branch": { - "description": "Branch to build from", - "type": "string", - "x-go-name": "Branch", - "example": "master" - }, - "commitID": { - "description": "CommitID the commit ID of the branch to build", - "type": "string", - "x-go-name": "CommitID", - "example": "4faca8595c5283a9d0f17a623b9255a0d9866a2e" - }, - "created": { - "description": "Created timestamp", - "type": "string", - "x-go-name": "Created", - "example": "2006-01-02T15:04:05Z" - }, - "ended": { - "description": "Ended timestamp", - "type": "string", - "x-go-name": "Ended", - "example": "2006-01-02T15:04:05Z" - }, - "environments": { - "description": "Environments the job deployed to", - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "Environments", - "example": [ - "dev", - "qa" - ] - }, - "imageTagNames": { - "description": "Image tags names for components - if empty will use default logic", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-go-name": "ImageTagNames", - "example": "component1: tag1,component2: tag2" - }, - "name": { - "description": "Name of the job", - "type": "string", - "x-go-name": "Name", - "example": "radix-pipeline-20181029135644-algpv-6hznh" - }, - "pipeline": { - "description": "Name of the pipeline", - "type": "string", - "enum": [ - "build", - "build-deploy", - "promote", - "deploy" - ], - "x-go-name": "Pipeline", - "example": "build-deploy" - }, - "promotedFromDeployment": { - "description": "RadixDeployment name, which is promoted", - "type": "string", - "x-go-name": "PromotedFromDeployment" - }, - "promotedFromEnvironment": { - "description": "Environment name, from which the Radix deployment is promoted", - "type": "string", - "x-go-name": "PromotedFromEnvironment" - }, - "promotedToEnvironment": { - "description": "Environment name, to which the Radix deployment is promoted", - "type": "string", - "x-go-name": "PromotedToEnvironment" - }, - "started": { - "description": "Started timestamp", - "type": "string", - "x-go-name": "Started", - "example": "2006-01-02T15:04:05Z" - }, - "status": { - "description": "Status of the job", - "type": "string", - "enum": [ - "Queued", - "Waiting", - "Running", - "Succeeded", - "Failed", - "Stopped", - "Stopping", - "StoppedNoChanges" - ], - "x-go-name": "Status", - "example": "Waiting" - }, - "triggeredBy": { - "description": "TriggeredBy user that triggered the job. If through webhook = sender.login. If through api - usertoken.upn", - "type": "string", - "x-go-name": "TriggeredBy", - "example": "a_user@equinor.com" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/jobs/models" - }, - "Node": { - "description": "Node Defines node attributes, where pod should be scheduled", - "type": "object", - "properties": { - "gpu": { - "description": "Gpu Holds lists of node GPU types, with dashed types to exclude", - "type": "string", - "x-go-name": "Gpu" - }, - "gpuCount": { - "description": "GpuCount Holds minimum count of GPU on node", - "type": "string", - "x-go-name": "GpuCount" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "Notifications": { - "description": "Notifications is the spec for notification about internal events or changes", - "type": "object", - "properties": { - "webhook": { - "description": "Webhook is a URL for notification about internal events or changes. The URL should be of a Radix component or job-component, with not public port.", - "type": "string", - "x-go-name": "Webhook" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "OAuth2AuxiliaryResource": { - "type": "object", - "required": [ - "deployment" - ], - "properties": { - "deployment": { - "$ref": "#/definitions/AuxiliaryResourceDeployment" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "ObjectState": { - "description": "ObjectState holds information about the state of objects involved in an event", - "type": "object", - "properties": { - "pod": { - "$ref": "#/definitions/PodState" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/events/models" - }, - "PipelineParametersBuild": { - "description": "PipelineParametersBuild describe branch to build and its commit ID", - "type": "object", - "properties": { - "branch": { - "description": "Branch the branch to build\nREQUIRED for \"build\" and \"build-deploy\" pipelines", - "type": "string", - "x-go-name": "Branch", - "example": "master" - }, - "commitID": { - "description": "CommitID the commit ID of the branch to build\nREQUIRED for \"build\" and \"build-deploy\" pipelines", - "type": "string", - "x-go-name": "CommitID", - "example": "4faca8595c5283a9d0f17a623b9255a0d9866a2e" - }, - "imageName": { - "description": "ImageName of the component, without repository name and image-tag", - "type": "string", - "x-go-name": "ImageName", - "example": "radix-component" - }, - "imageRepository": { - "description": "ImageRepository of the component, without image name and image-tag", - "type": "string", - "x-go-name": "ImageRepository", - "example": "ghcr.io/test" - }, - "imageTag": { - "description": "ImageTag of the image - if empty will use default logic", - "type": "string", - "x-go-name": "ImageTag", - "example": "master-latest" - }, - "pushImage": { - "description": "PushImage should image be pushed to container registry. Defaults pushing", - "type": "string", - "x-go-name": "PushImage", - "example": "true" - }, - "triggeredBy": { - "description": "TriggeredBy of the job - if empty will use user token upn (user principle name)", - "type": "string", - "x-go-name": "TriggeredBy", - "example": "a_user@equinor.com" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/applications/models" - }, - "PipelineParametersDeploy": { - "description": "PipelineParametersDeploy describes environment to deploy", - "type": "object", - "properties": { - "commitID": { - "description": "CommitID the commit ID of the branch\nOPTIONAL for information only", - "type": "string", - "x-go-name": "CommitID", - "example": "4faca8595c5283a9d0f17a623b9255a0d9866a2e" - }, - "components": { - "description": "Components List of components to deploy\nOPTIONAL If specified, only these components are deployed", - "type": "string", - "x-go-name": "Components", - "example": "component1,component2" - }, - "imageTagNames": { - "description": "Image tags names for components", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-go-name": "ImageTagNames", - "example": "component1=tag1,component2=tag2" - }, - "toEnvironment": { - "description": "Name of environment to deploy\nREQUIRED for \"deploy\" pipeline", - "type": "string", - "x-go-name": "ToEnvironment", - "example": "prod" - }, - "triggeredBy": { - "description": "TriggeredBy of the job - if empty will use user token upn (user principle name)", - "type": "string", - "x-go-name": "TriggeredBy", - "example": "a_user@equinor.com" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/applications/models" - }, - "PipelineParametersPromote": { - "description": "PipelineParametersPromote identify deployment to promote and a target environment", - "type": "object", - "properties": { - "deploymentName": { - "description": "ID of the deployment to promote\nREQUIRED for \"promote\" pipeline", - "type": "string", - "x-go-name": "DeploymentName", - "example": "dev-9tyu1-tftmnqzq" - }, - "fromEnvironment": { - "description": "Name of environment where to look for the deployment to be promoted\nREQUIRED for \"promote\" pipeline", - "type": "string", - "x-go-name": "FromEnvironment", - "example": "prod" - }, - "toEnvironment": { - "description": "Name of environment to receive the promoted deployment\nREQUIRED for \"promote\" pipeline", - "type": "string", - "x-go-name": "ToEnvironment", - "example": "prod" - }, - "triggeredBy": { - "description": "TriggeredBy of the job - if empty will use user token upn (user principle name)", - "type": "string", - "x-go-name": "TriggeredBy", - "example": "a_user@equinor.com" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/applications/models" - }, - "PipelineRun": { - "description": "PipelineRun holds general information about pipeline run", - "type": "object", - "required": [ - "name", - "env", - "realName" - ], - "properties": { - "ended": { - "description": "Ended timestamp", - "type": "string", - "x-go-name": "Ended", - "example": "2006-01-02T15:04:05Z" - }, - "env": { - "description": "Env Environment of the pipeline run", - "type": "string", - "x-go-name": "Env", - "example": "prod" - }, - "name": { - "description": "Name Original name of the pipeline run", - "type": "string", - "x-go-name": "Name", - "example": "build-pipeline" - }, - "realName": { - "description": "RealName Name of the pipeline run in the namespace", - "type": "string", - "x-go-name": "RealName", - "example": "radix-tekton-pipelinerun-dev-2022-05-09-abcde" - }, - "started": { - "description": "Started timestamp", - "type": "string", - "x-go-name": "Started", - "example": "2006-01-02T15:04:05Z" - }, - "status": { - "description": "Status of the step\nStarted TaskRunReasonStarted TaskRunReasonStarted is the reason set when the TaskRun has just started\nRunning TaskRunReasonRunning TaskRunReasonRunning is the reason set when the TaskRun is running\nSucceeded TaskRunReasonSuccessful TaskRunReasonSuccessful is the reason set when the TaskRun completed successfully\nFailed TaskRunReasonFailed TaskRunReasonFailed is the reason set when the TaskRun completed with a failure\nToBeRetried TaskRunReasonToBeRetried TaskRunReasonToBeRetried is the reason set when the last TaskRun execution failed, and will be retried\nTaskRunCancelled TaskRunReasonCancelled TaskRunReasonCancelled is the reason set when the TaskRun is cancelled by the user\nTaskRunTimeout TaskRunReasonTimedOut TaskRunReasonTimedOut is the reason set when one TaskRun execution has timed out\nTaskRunImagePullFailed TaskRunReasonImagePullFailed TaskRunReasonImagePullFailed is the reason set when the step of a task fails due to image not being pulled\nTaskRunResultLargerThanAllowedLimit TaskRunReasonResultLargerThanAllowedLimit TaskRunReasonResultLargerThanAllowedLimit is the reason set when one of the results exceeds its maximum allowed limit of 1 KB\nTaskRunStopSidecarFailed TaskRunReasonStopSidecarFailed TaskRunReasonStopSidecarFailed indicates that the sidecar is not properly stopped.\nInvalidParamValue TaskRunReasonInvalidParamValue TaskRunReasonInvalidParamValue indicates that the TaskRun Param input value is not allowed.\nTaskRunResolutionFailed TaskRunReasonFailedResolution TaskRunReasonFailedResolution indicated that the reason for failure status is that references within the TaskRun could not be resolved\nTaskRunValidationFailed TaskRunReasonFailedValidation TaskRunReasonFailedValidation indicated that the reason for failure status is that taskrun failed runtime validation\nTaskValidationFailed TaskRunReasonTaskFailedValidation TaskRunReasonTaskFailedValidation indicated that the reason for failure status is that task failed runtime validation\nResourceVerificationFailed TaskRunReasonResourceVerificationFailed TaskRunReasonResourceVerificationFailed indicates that the task fails the trusted resource verification, it could be the content has changed, signature is invalid or public key is invalid\nFailureIgnored TaskRunReasonFailureIgnored TaskRunReasonFailureIgnored is the reason set when the Taskrun has failed due to pod execution error and the failure is ignored for the owning PipelineRun. TaskRuns failed due to reconciler/validation error should not use this reason.", - "type": "string", - "enum": [ - "Started", - "Running", - "Succeeded", - "Failed", - "ToBeRetried", - "TaskRunCancelled", - "TaskRunTimeout", - "TaskRunImagePullFailed", - "TaskRunResultLargerThanAllowedLimit", - "TaskRunStopSidecarFailed", - "InvalidParamValue", - "TaskRunResolutionFailed", - "TaskRunValidationFailed", - "TaskValidationFailed", - "ResourceVerificationFailed", - "FailureIgnored" - ], - "x-go-enum-desc": "Started TaskRunReasonStarted TaskRunReasonStarted is the reason set when the TaskRun has just started\nRunning TaskRunReasonRunning TaskRunReasonRunning is the reason set when the TaskRun is running\nSucceeded TaskRunReasonSuccessful TaskRunReasonSuccessful is the reason set when the TaskRun completed successfully\nFailed TaskRunReasonFailed TaskRunReasonFailed is the reason set when the TaskRun completed with a failure\nToBeRetried TaskRunReasonToBeRetried TaskRunReasonToBeRetried is the reason set when the last TaskRun execution failed, and will be retried\nTaskRunCancelled TaskRunReasonCancelled TaskRunReasonCancelled is the reason set when the TaskRun is cancelled by the user\nTaskRunTimeout TaskRunReasonTimedOut TaskRunReasonTimedOut is the reason set when one TaskRun execution has timed out\nTaskRunImagePullFailed TaskRunReasonImagePullFailed TaskRunReasonImagePullFailed is the reason set when the step of a task fails due to image not being pulled\nTaskRunResultLargerThanAllowedLimit TaskRunReasonResultLargerThanAllowedLimit TaskRunReasonResultLargerThanAllowedLimit is the reason set when one of the results exceeds its maximum allowed limit of 1 KB\nTaskRunStopSidecarFailed TaskRunReasonStopSidecarFailed TaskRunReasonStopSidecarFailed indicates that the sidecar is not properly stopped.\nInvalidParamValue TaskRunReasonInvalidParamValue TaskRunReasonInvalidParamValue indicates that the TaskRun Param input value is not allowed.\nTaskRunResolutionFailed TaskRunReasonFailedResolution TaskRunReasonFailedResolution indicated that the reason for failure status is that references within the TaskRun could not be resolved\nTaskRunValidationFailed TaskRunReasonFailedValidation TaskRunReasonFailedValidation indicated that the reason for failure status is that taskrun failed runtime validation\nTaskValidationFailed TaskRunReasonTaskFailedValidation TaskRunReasonTaskFailedValidation indicated that the reason for failure status is that task failed runtime validation\nResourceVerificationFailed TaskRunReasonResourceVerificationFailed TaskRunReasonResourceVerificationFailed indicates that the task fails the trusted resource verification, it could be the content has changed, signature is invalid or public key is invalid\nFailureIgnored TaskRunReasonFailureIgnored TaskRunReasonFailureIgnored is the reason set when the Taskrun has failed due to pod execution error and the failure is ignored for the owning PipelineRun. TaskRuns failed due to reconciler/validation error should not use this reason.", - "x-go-name": "Status" - }, - "statusMessage": { - "description": "StatusMessage of the task", - "type": "string", - "x-go-name": "StatusMessage" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/jobs/models" - }, - "PipelineRunTask": { - "description": "PipelineRunTask holds general information about pipeline run task", - "type": "object", - "required": [ - "name", - "realName", - "pipelineRunEnv", - "pipelineName" - ], - "properties": { - "ended": { - "description": "Ended timestamp", - "type": "string", - "x-go-name": "Ended", - "example": "2006-01-02T15:04:05Z" - }, - "name": { - "description": "Name of the task", - "type": "string", - "x-go-name": "Name", - "example": "build" - }, - "pipelineName": { - "description": "PipelineName of the task", - "type": "string", - "x-go-name": "PipelineName", - "example": "build-pipeline" - }, - "pipelineRunEnv": { - "description": "PipelineRunEnv Environment of the pipeline run", - "type": "string", - "x-go-name": "PipelineRunEnv", - "example": "prod" - }, - "realName": { - "description": "RealName Name of the pipeline run in the namespace", - "type": "string", - "x-go-name": "RealName", - "example": "radix-tekton-task-dev-2022-05-09-abcde" - }, - "started": { - "description": "Started timestamp", - "type": "string", - "x-go-name": "Started", - "example": "2006-01-02T15:04:05Z" - }, - "status": { - "description": "Status of the task\nStarted PipelineRunReasonStarted PipelineRunReasonStarted is the reason set when the PipelineRun has just started\nRunning PipelineRunReasonRunning PipelineRunReasonRunning is the reason set when the PipelineRun is running\nSucceeded PipelineRunReasonSuccessful PipelineRunReasonSuccessful is the reason set when the PipelineRun completed successfully\nCompleted PipelineRunReasonCompleted PipelineRunReasonCompleted is the reason set when the PipelineRun completed successfully with one or more skipped Tasks\nFailed PipelineRunReasonFailed PipelineRunReasonFailed is the reason set when the PipelineRun completed with a failure\nCancelled PipelineRunReasonCancelled PipelineRunReasonCancelled is the reason set when the PipelineRun cancelled by the user This reason may be found with a corev1.ConditionFalse status, if the cancellation was processed successfully This reason may be found with a corev1.ConditionUnknown status, if the cancellation is being processed or failed\nPipelineRunPending PipelineRunReasonPending PipelineRunReasonPending is the reason set when the PipelineRun is in the pending state\nPipelineRunTimeout PipelineRunReasonTimedOut PipelineRunReasonTimedOut is the reason set when the PipelineRun has timed out\nPipelineRunStopping PipelineRunReasonStopping PipelineRunReasonStopping indicates that no new Tasks will be scheduled by the controller, and the pipeline will stop once all running tasks complete their work\nCancelledRunningFinally PipelineRunReasonCancelledRunningFinally PipelineRunReasonCancelledRunningFinally indicates that pipeline has been gracefully cancelled and no new Tasks will be scheduled by the controller, but final tasks are now running\nStoppedRunningFinally PipelineRunReasonStoppedRunningFinally PipelineRunReasonStoppedRunningFinally indicates that pipeline has been gracefully stopped and no new Tasks will be scheduled by the controller, but final tasks are now running\nCouldntGetPipeline PipelineRunReasonCouldntGetPipeline ReasonCouldntGetPipeline indicates that the reason for the failure status is that the associated Pipeline couldn't be retrieved\nInvalidPipelineResourceBindings PipelineRunReasonInvalidBindings ReasonInvalidBindings indicates that the reason for the failure status is that the PipelineResources bound in the PipelineRun didn't match those declared in the Pipeline\nInvalidWorkspaceBindings PipelineRunReasonInvalidWorkspaceBinding ReasonInvalidWorkspaceBinding indicates that a Pipeline expects a workspace but a PipelineRun has provided an invalid binding.\nInvalidTaskRunSpecs PipelineRunReasonInvalidTaskRunSpec ReasonInvalidTaskRunSpec indicates that PipelineRun.Spec.TaskRunSpecs[].PipelineTaskName is defined with a not exist taskName in pipelineSpec.\nParameterTypeMismatch PipelineRunReasonParameterTypeMismatch ReasonParameterTypeMismatch indicates that the reason for the failure status is that parameter(s) declared in the PipelineRun do not have the some declared type as the parameters(s) declared in the Pipeline that they are supposed to override.\nObjectParameterMissKeys PipelineRunReasonObjectParameterMissKeys ReasonObjectParameterMissKeys indicates that the object param value provided from PipelineRun spec misses some keys required for the object param declared in Pipeline spec.\nParamArrayIndexingInvalid PipelineRunReasonParamArrayIndexingInvalid ReasonParamArrayIndexingInvalid indicates that the use of param array indexing is not under correct api fields feature gate or the array is out of bound.\nCouldntGetTask PipelineRunReasonCouldntGetTask ReasonCouldntGetTask indicates that the reason for the failure status is that the associated Pipeline's Tasks couldn't all be retrieved\nParameterMissing PipelineRunReasonParameterMissing ReasonParameterMissing indicates that the reason for the failure status is that the associated PipelineRun didn't provide all the required parameters\nPipelineValidationFailed PipelineRunReasonFailedValidation ReasonFailedValidation indicates that the reason for failure status is that pipelinerun failed runtime validation\nCouldntGetPipelineResult PipelineRunReasonCouldntGetPipelineResult PipelineRunReasonCouldntGetPipelineResult indicates that the pipeline fails to retrieve the referenced result. This could be due to failed TaskRuns or Runs that were supposed to produce the results\nPipelineInvalidGraph PipelineRunReasonInvalidGraph ReasonInvalidGraph indicates that the reason for the failure status is that the associated Pipeline is an invalid graph (a.k.a wrong order, cycle, …)\nPipelineRunCouldntCancel PipelineRunReasonCouldntCancel ReasonCouldntCancel indicates that a PipelineRun was cancelled but attempting to update all of the running TaskRuns as cancelled failed.\nPipelineRunCouldntTimeOut PipelineRunReasonCouldntTimeOut ReasonCouldntTimeOut indicates that a PipelineRun was timed out but attempting to update all of the running TaskRuns as timed out failed.\nInvalidMatrixParameterTypes PipelineRunReasonInvalidMatrixParameterTypes ReasonInvalidMatrixParameterTypes indicates a matrix contains invalid parameter types\nInvalidTaskResultReference PipelineRunReasonInvalidTaskResultReference ReasonInvalidTaskResultReference indicates a task result was declared but was not initialized by that task\nRequiredWorkspaceMarkedOptional PipelineRunReasonRequiredWorkspaceMarkedOptional ReasonRequiredWorkspaceMarkedOptional indicates an optional workspace has been passed to a Task that is expecting a non-optional workspace\nResolvingPipelineRef PipelineRunReasonResolvingPipelineRef ReasonResolvingPipelineRef indicates that the PipelineRun is waiting for its pipelineRef to be asynchronously resolved.\nResourceVerificationFailed PipelineRunReasonResourceVerificationFailed ReasonResourceVerificationFailed indicates that the pipeline fails the trusted resource verification, it could be the content has changed, signature is invalid or public key is invalid\nCreateRunFailed PipelineRunReasonCreateRunFailed ReasonCreateRunFailed indicates that the pipeline fails to create the taskrun or other run resources\nCELEvaluationFailed PipelineRunReasonCELEvaluationFailed ReasonCELEvaluationFailed indicates the pipeline fails the CEL evaluation\nInvalidParamValue PipelineRunReasonInvalidParamValue PipelineRunReasonInvalidParamValue indicates that the PipelineRun Param input value is not allowed.", - "type": "string", - "enum": [ - "Started", - "Running", - "Succeeded", - "Completed", - "Failed", - "Cancelled", - "PipelineRunPending", - "PipelineRunTimeout", - "PipelineRunStopping", - "CancelledRunningFinally", - "StoppedRunningFinally", - "CouldntGetPipeline", - "InvalidPipelineResourceBindings", - "InvalidWorkspaceBindings", - "InvalidTaskRunSpecs", - "ParameterTypeMismatch", - "ObjectParameterMissKeys", - "ParamArrayIndexingInvalid", - "CouldntGetTask", - "ParameterMissing", - "PipelineValidationFailed", - "CouldntGetPipelineResult", - "PipelineInvalidGraph", - "PipelineRunCouldntCancel", - "PipelineRunCouldntTimeOut", - "InvalidMatrixParameterTypes", - "InvalidTaskResultReference", - "RequiredWorkspaceMarkedOptional", - "ResolvingPipelineRef", - "ResourceVerificationFailed", - "CreateRunFailed", - "CELEvaluationFailed", - "InvalidParamValue" - ], - "x-go-enum-desc": "Started PipelineRunReasonStarted PipelineRunReasonStarted is the reason set when the PipelineRun has just started\nRunning PipelineRunReasonRunning PipelineRunReasonRunning is the reason set when the PipelineRun is running\nSucceeded PipelineRunReasonSuccessful PipelineRunReasonSuccessful is the reason set when the PipelineRun completed successfully\nCompleted PipelineRunReasonCompleted PipelineRunReasonCompleted is the reason set when the PipelineRun completed successfully with one or more skipped Tasks\nFailed PipelineRunReasonFailed PipelineRunReasonFailed is the reason set when the PipelineRun completed with a failure\nCancelled PipelineRunReasonCancelled PipelineRunReasonCancelled is the reason set when the PipelineRun cancelled by the user This reason may be found with a corev1.ConditionFalse status, if the cancellation was processed successfully This reason may be found with a corev1.ConditionUnknown status, if the cancellation is being processed or failed\nPipelineRunPending PipelineRunReasonPending PipelineRunReasonPending is the reason set when the PipelineRun is in the pending state\nPipelineRunTimeout PipelineRunReasonTimedOut PipelineRunReasonTimedOut is the reason set when the PipelineRun has timed out\nPipelineRunStopping PipelineRunReasonStopping PipelineRunReasonStopping indicates that no new Tasks will be scheduled by the controller, and the pipeline will stop once all running tasks complete their work\nCancelledRunningFinally PipelineRunReasonCancelledRunningFinally PipelineRunReasonCancelledRunningFinally indicates that pipeline has been gracefully cancelled and no new Tasks will be scheduled by the controller, but final tasks are now running\nStoppedRunningFinally PipelineRunReasonStoppedRunningFinally PipelineRunReasonStoppedRunningFinally indicates that pipeline has been gracefully stopped and no new Tasks will be scheduled by the controller, but final tasks are now running\nCouldntGetPipeline PipelineRunReasonCouldntGetPipeline ReasonCouldntGetPipeline indicates that the reason for the failure status is that the associated Pipeline couldn't be retrieved\nInvalidPipelineResourceBindings PipelineRunReasonInvalidBindings ReasonInvalidBindings indicates that the reason for the failure status is that the PipelineResources bound in the PipelineRun didn't match those declared in the Pipeline\nInvalidWorkspaceBindings PipelineRunReasonInvalidWorkspaceBinding ReasonInvalidWorkspaceBinding indicates that a Pipeline expects a workspace but a PipelineRun has provided an invalid binding.\nInvalidTaskRunSpecs PipelineRunReasonInvalidTaskRunSpec ReasonInvalidTaskRunSpec indicates that PipelineRun.Spec.TaskRunSpecs[].PipelineTaskName is defined with a not exist taskName in pipelineSpec.\nParameterTypeMismatch PipelineRunReasonParameterTypeMismatch ReasonParameterTypeMismatch indicates that the reason for the failure status is that parameter(s) declared in the PipelineRun do not have the some declared type as the parameters(s) declared in the Pipeline that they are supposed to override.\nObjectParameterMissKeys PipelineRunReasonObjectParameterMissKeys ReasonObjectParameterMissKeys indicates that the object param value provided from PipelineRun spec misses some keys required for the object param declared in Pipeline spec.\nParamArrayIndexingInvalid PipelineRunReasonParamArrayIndexingInvalid ReasonParamArrayIndexingInvalid indicates that the use of param array indexing is not under correct api fields feature gate or the array is out of bound.\nCouldntGetTask PipelineRunReasonCouldntGetTask ReasonCouldntGetTask indicates that the reason for the failure status is that the associated Pipeline's Tasks couldn't all be retrieved\nParameterMissing PipelineRunReasonParameterMissing ReasonParameterMissing indicates that the reason for the failure status is that the associated PipelineRun didn't provide all the required parameters\nPipelineValidationFailed PipelineRunReasonFailedValidation ReasonFailedValidation indicates that the reason for failure status is that pipelinerun failed runtime validation\nCouldntGetPipelineResult PipelineRunReasonCouldntGetPipelineResult PipelineRunReasonCouldntGetPipelineResult indicates that the pipeline fails to retrieve the referenced result. This could be due to failed TaskRuns or Runs that were supposed to produce the results\nPipelineInvalidGraph PipelineRunReasonInvalidGraph ReasonInvalidGraph indicates that the reason for the failure status is that the associated Pipeline is an invalid graph (a.k.a wrong order, cycle, …)\nPipelineRunCouldntCancel PipelineRunReasonCouldntCancel ReasonCouldntCancel indicates that a PipelineRun was cancelled but attempting to update all of the running TaskRuns as cancelled failed.\nPipelineRunCouldntTimeOut PipelineRunReasonCouldntTimeOut ReasonCouldntTimeOut indicates that a PipelineRun was timed out but attempting to update all of the running TaskRuns as timed out failed.\nInvalidMatrixParameterTypes PipelineRunReasonInvalidMatrixParameterTypes ReasonInvalidMatrixParameterTypes indicates a matrix contains invalid parameter types\nInvalidTaskResultReference PipelineRunReasonInvalidTaskResultReference ReasonInvalidTaskResultReference indicates a task result was declared but was not initialized by that task\nRequiredWorkspaceMarkedOptional PipelineRunReasonRequiredWorkspaceMarkedOptional ReasonRequiredWorkspaceMarkedOptional indicates an optional workspace has been passed to a Task that is expecting a non-optional workspace\nResolvingPipelineRef PipelineRunReasonResolvingPipelineRef ReasonResolvingPipelineRef indicates that the PipelineRun is waiting for its pipelineRef to be asynchronously resolved.\nResourceVerificationFailed PipelineRunReasonResourceVerificationFailed ReasonResourceVerificationFailed indicates that the pipeline fails the trusted resource verification, it could be the content has changed, signature is invalid or public key is invalid\nCreateRunFailed PipelineRunReasonCreateRunFailed ReasonCreateRunFailed indicates that the pipeline fails to create the taskrun or other run resources\nCELEvaluationFailed PipelineRunReasonCELEvaluationFailed ReasonCELEvaluationFailed indicates the pipeline fails the CEL evaluation\nInvalidParamValue PipelineRunReasonInvalidParamValue PipelineRunReasonInvalidParamValue indicates that the PipelineRun Param input value is not allowed.", - "x-go-name": "Status" - }, - "statusMessage": { - "description": "StatusMessage of the task", - "type": "string", - "x-go-name": "StatusMessage" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/jobs/models" - }, - "PipelineRunTaskStep": { - "description": "PipelineRunTaskStep holds general information about pipeline run task steps", - "type": "object", - "required": [ - "name" - ], - "properties": { - "ended": { - "description": "Ended timestamp", - "type": "string", - "x-go-name": "Ended", - "example": "2006-01-02T15:04:05Z" - }, - "name": { - "description": "Name of the step", - "type": "string", - "x-go-name": "Name", - "example": "build" - }, - "started": { - "description": "Started timestamp", - "type": "string", - "x-go-name": "Started", - "example": "2006-01-02T15:04:05Z" - }, - "status": { - "description": "Status of the task\nStarted TaskRunReasonStarted TaskRunReasonStarted is the reason set when the TaskRun has just started\nRunning TaskRunReasonRunning TaskRunReasonRunning is the reason set when the TaskRun is running\nSucceeded TaskRunReasonSuccessful TaskRunReasonSuccessful is the reason set when the TaskRun completed successfully\nFailed TaskRunReasonFailed TaskRunReasonFailed is the reason set when the TaskRun completed with a failure\nToBeRetried TaskRunReasonToBeRetried TaskRunReasonToBeRetried is the reason set when the last TaskRun execution failed, and will be retried\nTaskRunCancelled TaskRunReasonCancelled TaskRunReasonCancelled is the reason set when the TaskRun is cancelled by the user\nTaskRunTimeout TaskRunReasonTimedOut TaskRunReasonTimedOut is the reason set when one TaskRun execution has timed out\nTaskRunImagePullFailed TaskRunReasonImagePullFailed TaskRunReasonImagePullFailed is the reason set when the step of a task fails due to image not being pulled\nTaskRunResultLargerThanAllowedLimit TaskRunReasonResultLargerThanAllowedLimit TaskRunReasonResultLargerThanAllowedLimit is the reason set when one of the results exceeds its maximum allowed limit of 1 KB\nTaskRunStopSidecarFailed TaskRunReasonStopSidecarFailed TaskRunReasonStopSidecarFailed indicates that the sidecar is not properly stopped.\nInvalidParamValue TaskRunReasonInvalidParamValue TaskRunReasonInvalidParamValue indicates that the TaskRun Param input value is not allowed.\nTaskRunResolutionFailed TaskRunReasonFailedResolution TaskRunReasonFailedResolution indicated that the reason for failure status is that references within the TaskRun could not be resolved\nTaskRunValidationFailed TaskRunReasonFailedValidation TaskRunReasonFailedValidation indicated that the reason for failure status is that taskrun failed runtime validation\nTaskValidationFailed TaskRunReasonTaskFailedValidation TaskRunReasonTaskFailedValidation indicated that the reason for failure status is that task failed runtime validation\nResourceVerificationFailed TaskRunReasonResourceVerificationFailed TaskRunReasonResourceVerificationFailed indicates that the task fails the trusted resource verification, it could be the content has changed, signature is invalid or public key is invalid\nFailureIgnored TaskRunReasonFailureIgnored TaskRunReasonFailureIgnored is the reason set when the Taskrun has failed due to pod execution error and the failure is ignored for the owning PipelineRun. TaskRuns failed due to reconciler/validation error should not use this reason.", - "type": "string", - "enum": [ - "Started", - "Running", - "Succeeded", - "Failed", - "ToBeRetried", - "TaskRunCancelled", - "TaskRunTimeout", - "TaskRunImagePullFailed", - "TaskRunResultLargerThanAllowedLimit", - "TaskRunStopSidecarFailed", - "InvalidParamValue", - "TaskRunResolutionFailed", - "TaskRunValidationFailed", - "TaskValidationFailed", - "ResourceVerificationFailed", - "FailureIgnored" - ], - "x-go-enum-desc": "Started TaskRunReasonStarted TaskRunReasonStarted is the reason set when the TaskRun has just started\nRunning TaskRunReasonRunning TaskRunReasonRunning is the reason set when the TaskRun is running\nSucceeded TaskRunReasonSuccessful TaskRunReasonSuccessful is the reason set when the TaskRun completed successfully\nFailed TaskRunReasonFailed TaskRunReasonFailed is the reason set when the TaskRun completed with a failure\nToBeRetried TaskRunReasonToBeRetried TaskRunReasonToBeRetried is the reason set when the last TaskRun execution failed, and will be retried\nTaskRunCancelled TaskRunReasonCancelled TaskRunReasonCancelled is the reason set when the TaskRun is cancelled by the user\nTaskRunTimeout TaskRunReasonTimedOut TaskRunReasonTimedOut is the reason set when one TaskRun execution has timed out\nTaskRunImagePullFailed TaskRunReasonImagePullFailed TaskRunReasonImagePullFailed is the reason set when the step of a task fails due to image not being pulled\nTaskRunResultLargerThanAllowedLimit TaskRunReasonResultLargerThanAllowedLimit TaskRunReasonResultLargerThanAllowedLimit is the reason set when one of the results exceeds its maximum allowed limit of 1 KB\nTaskRunStopSidecarFailed TaskRunReasonStopSidecarFailed TaskRunReasonStopSidecarFailed indicates that the sidecar is not properly stopped.\nInvalidParamValue TaskRunReasonInvalidParamValue TaskRunReasonInvalidParamValue indicates that the TaskRun Param input value is not allowed.\nTaskRunResolutionFailed TaskRunReasonFailedResolution TaskRunReasonFailedResolution indicated that the reason for failure status is that references within the TaskRun could not be resolved\nTaskRunValidationFailed TaskRunReasonFailedValidation TaskRunReasonFailedValidation indicated that the reason for failure status is that taskrun failed runtime validation\nTaskValidationFailed TaskRunReasonTaskFailedValidation TaskRunReasonTaskFailedValidation indicated that the reason for failure status is that task failed runtime validation\nResourceVerificationFailed TaskRunReasonResourceVerificationFailed TaskRunReasonResourceVerificationFailed indicates that the task fails the trusted resource verification, it could be the content has changed, signature is invalid or public key is invalid\nFailureIgnored TaskRunReasonFailureIgnored TaskRunReasonFailureIgnored is the reason set when the Taskrun has failed due to pod execution error and the failure is ignored for the owning PipelineRun. TaskRuns failed due to reconciler/validation error should not use this reason.", - "x-go-name": "Status" - }, - "statusMessage": { - "description": "StatusMessage of the task", - "type": "string", - "x-go-name": "StatusMessage" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/jobs/models" - }, - "PodState": { - "description": "PodState holds information about the state of the first container in a Pod", - "type": "object", - "properties": { - "ready": { - "description": "Specifies whether the first container has passed its readiness probe.", - "type": "boolean", - "x-go-name": "Ready", - "example": false - }, - "restartCount": { - "description": "The number of times the first container has been restarted", - "type": "integer", - "format": "int32", - "x-go-name": "RestartCount", - "example": 1 - }, - "started": { - "description": "Specifies whether the first container has started.", - "type": "boolean", - "x-go-name": "Started", - "x-nullable": true, - "example": true - } - }, - "x-go-package": "github.com/equinor/radix-api/api/events/models" - }, - "Port": { - "description": "Port describe a port of a component", - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "description": "Component port name. From radixconfig.yaml", - "type": "string", - "x-go-name": "Name", - "example": "http" - }, - "port": { - "description": "Component port number. From radixconfig.yaml", - "type": "integer", - "format": "int32", - "x-go-name": "Port", - "example": 8080 - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "PromotionParameters": { - "description": "PromotionParameters describe environment to promote from and to", - "type": "object", - "required": [ - "fromEnvironment", - "toEnvironment" - ], - "properties": { - "fromEnvironment": { - "description": "FromEnvironment the environment to promote from", - "type": "string", - "x-go-name": "FromEnvironment", - "example": "dev" - }, - "toEnvironment": { - "description": "ToEnvironment the environment to promote to", - "type": "string", - "x-go-name": "ToEnvironment", - "example": "prod" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "ReceiverConfig": { - "description": "ReceiverConfig receiver configuration", - "type": "object", - "required": [ - "slackConfig" - ], - "properties": { - "slackConfig": { - "$ref": "#/definitions/SlackConfig" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/alerting/models" - }, - "ReceiverConfigMap": { - "description": "ReceiverConfigMap defines a map of ReceiverConfig where key is the name of the receiver", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ReceiverConfig" - }, - "x-go-package": "github.com/equinor/radix-api/api/alerting/models" - }, - "ReceiverConfigSecretStatus": { - "type": "object", - "properties": { - "slackConfig": { - "$ref": "#/definitions/SlackConfigSecretStatus" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/alerting/models" - }, - "ReceiverConfigSecretStatusMap": { - "description": "ReceiverConfigSecretStatusMap defines a map of ReceiverConfigSecretStatus where key is the name of the receiver", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ReceiverConfigSecretStatus" - }, - "x-go-package": "github.com/equinor/radix-api/api/alerting/models" - }, - "RegenerateDeployKeyAndSecretData": { - "description": "RegenerateDeployKeyAndSecretData Holds regenerated shared secret", - "type": "object", - "properties": { - "privateKey": { - "description": "PrivateKey of the deploy key", - "type": "string", - "x-go-name": "PrivateKey" - }, - "sharedSecret": { - "description": "SharedSecret of the shared secret", - "type": "string", - "x-go-name": "SharedSecret" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/applications/models" - }, - "ReplicaStatus": { - "description": "ReplicaStatus describes the status of a component container inside a pod", - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "description": "Status of the container\nPending = Container in Waiting state and the reason is ContainerCreating\nFailing = Container in Waiting state and the reason is anything else but ContainerCreating\nRunning = Container in Running state\nTerminated = Container in Terminated state", - "type": "string", - "enum": [ - "Pending", - "Failing", - "Running", - "Terminated", - "Starting" - ], - "x-go-name": "Status", - "example": "Running" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "ReplicaSummary": { - "description": "ReplicaSummary describes condition of a pod", - "type": "object", - "required": [ - "name" - ], - "properties": { - "containerStarted": { - "description": "Container started timestamp", - "type": "string", - "x-go-name": "ContainerStarted", - "example": "2006-01-02T15:04:05Z" - }, - "created": { - "description": "Created timestamp", - "type": "string", - "x-go-name": "Created", - "example": "2006-01-02T15:04:05Z" - }, - "image": { - "description": "The image the container is running.", - "type": "string", - "x-go-name": "Image", - "example": "radixdev.azurecr.io/app-server:cdgkg" - }, - "imageId": { - "description": "ImageID of the container's image.", - "type": "string", - "x-go-name": "ImageId", - "example": "radixdev.azurecr.io/app-server@sha256:d40cda01916ef63da3607c03785efabc56eb2fc2e0dab0726b1a843e9ded093f" - }, - "name": { - "description": "Pod name", - "type": "string", - "x-go-name": "Name", - "example": "server-78fc8857c4-hm76l" - }, - "replicaStatus": { - "$ref": "#/definitions/ReplicaStatus" - }, - "resources": { - "$ref": "#/definitions/ResourceRequirements" - }, - "restartCount": { - "description": "RestartCount count of restarts of a component container inside a pod", - "type": "integer", - "format": "int32", - "x-go-name": "RestartCount" - }, - "statusMessage": { - "description": "StatusMessage provides message describing the status of a component container inside a pod", - "type": "string", - "x-go-name": "StatusMessage" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "ResourceRequirements": { - "description": "ResourceRequirements Requirements of resources for pods", - "type": "object", - "properties": { - "limits": { - "$ref": "#/definitions/Resources" - }, - "requests": { - "$ref": "#/definitions/Resources" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "Resources": { - "description": "Resources Required for pods", - "type": "object", - "properties": { - "cpu": { - "type": "string", - "x-go-name": "CPU" - }, - "memory": { - "type": "string", - "x-go-name": "Memory" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "ScheduledBatchRequest": { - "description": "ScheduledBatchRequest holds information about a creating scheduled batch request", - "type": "object", - "properties": { - "deploymentName": { - "description": "Name of the Radix deployment for a batch", - "type": "string", - "x-go-name": "DeploymentName" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/environments/models" - }, - "ScheduledBatchSummary": { - "description": "ScheduledBatchSummary holds information about scheduled batch", - "type": "object", - "required": [ - "name", - "status", - "totalJobCount", - "deploymentName" - ], - "properties": { - "created": { - "description": "Created timestamp", - "type": "string", - "x-go-name": "Created", - "example": "2006-01-02T15:04:05Z" - }, - "deploymentName": { - "description": "DeploymentName name of RadixDeployment for the batch", - "type": "string", - "x-go-name": "DeploymentName" - }, - "ended": { - "description": "Ended timestamp", - "type": "string", - "x-go-name": "Ended", - "example": "2006-01-02T15:04:05Z" - }, - "jobList": { - "description": "Jobs within the batch of ScheduledJobSummary", - "type": "array", - "items": { - "$ref": "#/definitions/ScheduledJobSummary" - }, - "x-go-name": "JobList" - }, - "message": { - "description": "Deprecated: Message of a status, if any, of the job", - "type": "string", - "x-go-name": "Message", - "example": "\"Error occurred\"" - }, - "name": { - "description": "Name of the scheduled batch", - "type": "string", - "x-go-name": "Name", - "example": "batch-20181029135644-algpv-6hznh" - }, - "replica": { - "$ref": "#/definitions/ReplicaSummary" - }, - "started": { - "description": "Started timestamp", - "type": "string", - "x-go-name": "Started", - "example": "2006-01-02T15:04:05Z" - }, - "status": { - "description": "Status of the job", - "type": "string", - "enum": [ - "Waiting", - "Running", - "Succeeded", - "Failed" - ], - "x-go-name": "Status", - "example": "Waiting" - }, - "totalJobCount": { - "description": "TotalJobCount count of jobs, requested to be scheduled by a batch", - "type": "integer", - "format": "int64", - "x-go-name": "TotalJobCount", - "example": 5 - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "ScheduledJobRequest": { - "description": "ScheduledJobRequest holds information about a creating scheduled job request", - "type": "object", - "properties": { - "deploymentName": { - "description": "Name of the Radix deployment for a job", - "type": "string", - "x-go-name": "DeploymentName" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/environments/models" - }, - "ScheduledJobSummary": { - "description": "ScheduledJobSummary holds general information about scheduled job", - "type": "object", - "required": [ - "status", - "backoffLimit", - "failedCount" - ], - "properties": { - "Restart": { - "description": "Timestamp of the job restart, if applied.\n+optional", - "type": "string" - }, - "backoffLimit": { - "description": "BackoffLimit Amount of retries due to a logical error in configuration etc.", - "type": "integer", - "format": "int32", - "x-go-name": "BackoffLimit", - "example": 1 - }, - "batchName": { - "description": "BatchName Batch name, if any", - "type": "string", - "x-go-name": "BatchName", - "example": "\"batch-abc\"" - }, - "created": { - "description": "Created timestamp", - "type": "string", - "x-go-name": "Created", - "example": "2006-01-02T15:04:05Z" - }, - "deploymentName": { - "description": "DeploymentName name of RadixDeployment for the job", - "type": "string", - "x-go-name": "DeploymentName" - }, - "ended": { - "description": "Ended timestamp", - "type": "string", - "x-go-name": "Ended", - "example": "2006-01-02T15:04:05Z" - }, - "failedCount": { - "description": "FailedCount is the number of times the job has failed", - "type": "integer", - "format": "int32", - "x-go-name": "FailedCount", - "example": 1 - }, - "jobId": { - "description": "JobId JobId, if any", - "type": "string", - "x-go-name": "JobId", - "example": "\"job1\"" - }, - "message": { - "description": "Message of a status, if any, of the job", - "type": "string", - "x-go-name": "Message", - "example": "\"Error occurred\"" - }, - "name": { - "description": "Name of the scheduled job", - "type": "string", - "x-go-name": "Name", - "example": "job-component-20181029135644-algpv-6hznh" - }, - "node": { - "$ref": "#/definitions/Node" - }, - "replicaList": { - "description": "Array of ReplicaSummary", - "type": "array", - "items": { - "$ref": "#/definitions/ReplicaSummary" - }, - "x-go-name": "ReplicaList" - }, - "resources": { - "$ref": "#/definitions/ResourceRequirements" - }, - "started": { - "description": "Started timestamp", - "type": "string", - "x-go-name": "Started", - "example": "2006-01-02T15:04:05Z" - }, - "status": { - "description": "Status of the job", - "type": "string", - "enum": [ - "Running", - "Succeeded", - "Failed", - "Waiting", - "Stopping", - "Stopped" - ], - "x-go-name": "Status", - "example": "Waiting" - }, - "timeLimitSeconds": { - "description": "TimeLimitSeconds How long the job supposed to run at maximum", - "type": "integer", - "format": "int64", - "x-go-name": "TimeLimitSeconds", - "example": 3600 - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "Secret": { - "description": "Secret holds general information about secret", - "type": "object", - "required": [ - "name" - ], - "properties": { - "component": { - "description": "Component name of the component having the secret", - "type": "string", - "x-go-name": "Component", - "example": "api" - }, - "displayName": { - "description": "DisplayName of the secret", - "type": "string", - "x-go-name": "DisplayName", - "example": "Database password" - }, - "id": { - "description": "ID of the secret within the Resource", - "type": "string", - "x-go-name": "ID", - "example": "clientId" - }, - "name": { - "description": "Name of the secret or its property, related to type and resource)", - "type": "string", - "x-go-name": "Name", - "example": "db_password" - }, - "resource": { - "description": "Resource of the secrets", - "type": "string", - "x-go-name": "Resource", - "example": "volumeAbc" - }, - "status": { - "description": "Status of the secret\nPending = Secret exists in Radix config, but not in cluster\nConsistent = Secret exists in Radix config and in cluster\nNotAvailable = Secret is available in external secret configuration but not in cluster", - "type": "string", - "enum": [ - "Pending", - "Consistent", - "NotAvailable" - ], - "x-go-name": "Status", - "example": "Consistent" - }, - "type": { - "description": "Type of the secret\ngeneric SecretTypeGeneric\nazure-blob-fuse-volume SecretTypeAzureBlobFuseVolume\ncsi-azure-blob-volume SecretTypeCsiAzureBlobVolume\ncsi-azure-key-vault-creds SecretTypeCsiAzureKeyVaultCreds\ncsi-azure-key-vault-item SecretTypeCsiAzureKeyVaultItem\nclient-cert-auth SecretTypeClientCertificateAuth\noauth2-proxy SecretTypeOAuth2Proxy", - "type": "string", - "enum": [ - "generic", - "azure-blob-fuse-volume", - "csi-azure-blob-volume", - "csi-azure-key-vault-creds", - "csi-azure-key-vault-item", - "client-cert-auth", - "oauth2-proxy" - ], - "x-go-enum-desc": "generic SecretTypeGeneric\nazure-blob-fuse-volume SecretTypeAzureBlobFuseVolume\ncsi-azure-blob-volume SecretTypeCsiAzureBlobVolume\ncsi-azure-key-vault-creds SecretTypeCsiAzureKeyVaultCreds\ncsi-azure-key-vault-item SecretTypeCsiAzureKeyVaultItem\nclient-cert-auth SecretTypeClientCertificateAuth\noauth2-proxy SecretTypeOAuth2Proxy", - "x-go-name": "Type", - "example": "client-cert" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/secrets/models" - }, - "SecretParameters": { - "description": "SecretParameters describes a component secret", - "type": "object", - "required": [ - "secretValue" - ], - "properties": { - "secretValue": { - "description": "Name the unique name of the Radix application deployment", - "type": "string", - "x-go-name": "SecretValue", - "example": "p4$sW0rDz" - }, - "type": { - "description": "Type of the secret\ngeneric SecretTypeGeneric\nazure-blob-fuse-volume SecretTypeAzureBlobFuseVolume\ncsi-azure-blob-volume SecretTypeCsiAzureBlobVolume\ncsi-azure-key-vault-creds SecretTypeCsiAzureKeyVaultCreds\ncsi-azure-key-vault-item SecretTypeCsiAzureKeyVaultItem\nclient-cert-auth SecretTypeClientCertificateAuth\noauth2-proxy SecretTypeOAuth2Proxy", - "type": "string", - "enum": [ - "generic", - "azure-blob-fuse-volume", - "csi-azure-blob-volume", - "csi-azure-key-vault-creds", - "csi-azure-key-vault-item", - "client-cert-auth", - "oauth2-proxy" - ], - "x-go-enum-desc": "generic SecretTypeGeneric\nazure-blob-fuse-volume SecretTypeAzureBlobFuseVolume\ncsi-azure-blob-volume SecretTypeCsiAzureBlobVolume\ncsi-azure-key-vault-creds SecretTypeCsiAzureKeyVaultCreds\ncsi-azure-key-vault-item SecretTypeCsiAzureKeyVaultItem\nclient-cert-auth SecretTypeClientCertificateAuth\noauth2-proxy SecretTypeOAuth2Proxy", - "x-go-name": "Type", - "example": "azure-blob-fuse-volume" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/secrets/models" - }, - "SlackConfig": { - "description": "SlackConfig configuration options for Slack", - "type": "object", - "required": [ - "enabled" - ], - "properties": { - "enabled": { - "description": "Enabled flag indicates if alert notifications should be sent to Slack", - "type": "boolean", - "x-go-name": "Enabled" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/alerting/models" - }, - "SlackConfigSecretStatus": { - "description": "SlackConfigSecretStatus", - "type": "object", - "properties": { - "webhookUrlConfigured": { - "description": "WebhookURLConfigured flag indicates if a Slack webhook URL is set", - "type": "boolean", - "x-go-name": "WebhookURLConfigured" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/alerting/models" - }, - "Step": { - "description": "Step holds general information about job step", - "type": "object", - "properties": { - "components": { - "description": "Components associated components", - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "Components" - }, - "ended": { - "description": "Ended timestamp", - "type": "string", - "format": "date-time", - "x-go-name": "Ended" - }, - "name": { - "description": "Name of the step", - "type": "string", - "x-go-name": "Name", - "example": "build" - }, - "started": { - "description": "Started timestamp", - "type": "string", - "format": "date-time", - "x-go-name": "Started" - }, - "status": { - "description": "Status of the step", - "type": "string", - "enum": [ - "Queued", - "Waiting", - "Running", - "Succeeded", - "Failed", - "Stopped", - "StoppedNoChanges" - ], - "x-go-name": "Status", - "example": "Waiting" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/jobs/models" - }, - "TLS": { - "description": "TLS configuration and status for external DNS", - "type": "object", - "required": [ - "useAutomation", - "status" - ], - "properties": { - "certificates": { - "description": "Certificates holds the X509 certificate chain\nThe first certificate in the list should be the host certificate and the rest should be intermediate certificates", - "type": "array", - "items": { - "$ref": "#/definitions/X509Certificate" - }, - "x-go-name": "Certificates" - }, - "status": { - "description": "Status of TLS certificate and private key\nPending TLSStatusPending TLS certificate and private key not set\nConsistent TLSStatusConsistent TLS certificate and private key is valid\nInvalid TLSStatusInvalid TLS certificate and private key is invalid", - "type": "string", - "enum": [ - "Pending", - "Consistent", - "Invalid" - ], - "x-go-enum-desc": "Pending TLSStatusPending TLS certificate and private key not set\nConsistent TLSStatusConsistent TLS certificate and private key is valid\nInvalid TLSStatusInvalid TLS certificate and private key is invalid", - "x-go-name": "Status", - "example": "Consistent" - }, - "statusMessages": { - "description": "StatusMessages contains a list of messages related to Status", - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "StatusMessages" - }, - "useAutomation": { - "description": "UseAutomation describes if TLS certificate is automatically issued using automation (ACME)", - "type": "boolean", - "x-go-name": "UseAutomation" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - }, - "UpdateAlertingConfig": { - "description": "UpdateAlertingConfig contains fields for updating alert settings", - "type": "object", - "required": [ - "receivers", - "receiverSecrets", - "alerts" - ], - "properties": { - "alerts": { - "$ref": "#/definitions/AlertConfigList" - }, - "receiverSecrets": { - "$ref": "#/definitions/UpdateReceiverConfigSecretsMap" - }, - "receivers": { - "$ref": "#/definitions/ReceiverConfigMap" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/alerting/models" - }, - "UpdateExternalDnsTlsRequest": { - "description": "UpdateExternalDNSTLSRequest describes request body for setting private key and certificate for external DNS TLS", - "type": "object", - "required": [ - "privateKey", - "certificate" - ], - "properties": { - "certificate": { - "description": "X509 certificate in PEM format", - "type": "string", - "x-go-name": "Certificate" - }, - "privateKey": { - "description": "Private key in PEM format", - "type": "string", - "x-go-name": "PrivateKey" - }, - "skipValidation": { - "description": "Skip validation of certificate and private key", - "type": "boolean", - "x-go-name": "SkipValidation" - } - }, - "x-go-name": "UpdateExternalDNSTLSRequest", - "x-go-package": "github.com/equinor/radix-api/api/secrets/models" - }, - "UpdateReceiverConfigSecrets": { - "description": "UpdateReceiverConfigSecrets defines secrets to be updated", - "type": "object", - "properties": { - "slackConfig": { - "$ref": "#/definitions/UpdateSlackConfigSecrets" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/alerting/models" - }, - "UpdateReceiverConfigSecretsMap": { - "description": "UpdateReceiverConfigSecretsMap defines a map of UpdateReceiverConfigSecrets where key is the name of the receiver", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/UpdateReceiverConfigSecrets" - }, - "x-go-package": "github.com/equinor/radix-api/api/alerting/models" - }, - "UpdateSlackConfigSecrets": { - "description": "UpdateSlackConfig defines secrets to be updated for Slack", - "type": "object", - "properties": { - "webhookUrl": { - "description": "WebhookURL the Slack webhook URL where alerts are sent\nSecret key for webhook URL is updated if a non-nil value is present, and deleted if omitted or set to null\n\nrequired:", - "type": "string", - "x-go-name": "WebhookURL", - "x-nullable": true - } - }, - "x-go-package": "github.com/equinor/radix-api/api/alerting/models" - }, - "X509Certificate": { - "description": "X509Certificate holds information about a X509 certificate", - "type": "object", - "required": [ - "subject", - "issuer", - "notBefore", - "notAfter" - ], - "properties": { - "dnsNames": { - "description": "DNSNames defines list of Subject Alternate Names in the certificate", - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "DNSNames" - }, - "issuer": { - "description": "Issuer contains the distinguished name for the certificate's issuer", - "type": "string", - "x-go-name": "Issuer", - "example": "CN=DigiCert TLS RSA SHA256 2020 CA1,O=DigiCert Inc,C=US" - }, - "notAfter": { - "description": "NotAfter defines the uppdater date/time validity boundary", - "type": "string", - "format": "date-time", - "x-go-name": "NotAfter" - }, - "notBefore": { - "description": "NotBefore defines the lower date/time validity boundary", - "type": "string", - "format": "date-time", - "x-go-name": "NotBefore" - }, - "subject": { - "description": "Subject contains the distinguished name for the certificate", - "type": "string", - "x-go-name": "Subject", - "example": "CN=mysite.example.com,O=MyOrg,L=MyLocation,C=NO" - } - }, - "x-go-package": "github.com/equinor/radix-api/api/deployments/models" - } - }, - "securityDefinitions": { - "bearer": { - "type": "apiKey", - "name": "Authorization", - "in": "header" - } - }, - "security": [ - { - "bearer": [] - } - ] -} \ No newline at end of file