Kubernetes Apply Deployment Configuration

POST Parameters

NameTypeDescription
name
Required
StringThe name of the action.
trigger_time
Required
StringSpecifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type
Required
StringThe type of the action. Should be set to KUBERNETES_APPLY.
auth_type
Required
StringAuthorization type. Can be one of BASIC, TOKEN or CERTS.
server
Required
StringThe host for the connection.
config_path
Required
StringThe path to the configuration file.
loginStringThe username required when auth_type is set to BASIC.
passwordStringThe password required when auth_type is set to BASIC.
tokenStringThe token required when auth_type is set to TOKEN.
client_caStringThe certificate authority required when auth_type is set to CERTS.
client_certStringThe client certificate required when auth_type is set to CERTS.
client_keyStringThe client key required when auth_type is set to CERTS.
record_argStringRecord current kubectl command in the resource annotation. Can be one of TRUE, FALSE or NOT_SET. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
save_config_argBooleanIf true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
force_argBooleanDelete and re-create the specified resource, when PATCH encounters conflict and has retried for 5 times.
overwrite_argBooleanAutomatically resolve conflicts between the modified and live configuration by using values from the modified configuration.
cascade_argBooleanOnly relevant during a prune or a force apply. If true, cascade the deletion of the resources managed by pruned or deleted resources (e.g. Pods created by a ReplicationController).
all_argBooleanDefines whether to select all the specified resources.
grace_period_argIntegerOnly relevant during a prune or a force apply. Period of time in seconds given to pruned or deleted resources to terminate gracefully. Ignored if negative.
prune_argBooleanAutomatically delete resource objects that do not appear in the configs and are created by either apply or create –save-config. Should be used with either -l or –all.
prune_whitelist_argStringOverwrite the default whitelist with <group/version/kind> for –prune.
timeout_argStringOnly relevant during a force apply. The length of time to wait before giving up on a delete of the old resource, zero means determine a timeout from the size of the object. Any other values should contain a corresponding time unit (e.g. 1s, 2m, 3h).
kubectl_versionStringVersion of the kubectl used in the action. Default is “latest”.
after_action_idIntegerThe numerical ID of the action, after which this action should be added.

Example

Request

POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions

JSON

{
"name": "Apply deployment",
"type": "KUBERNETES_APPLY",
"trigger_time": "ON_EVERY_EXECUTION",
"auth_type": "BASIC",
"server": "https://123.45.56.89:6443",
"login": "admin",
"password": "qwerty",
"config_path": "config.yaml",
"record_arg": "NOT_SET",
"save_config_arg": false,
"force_arg": false,
"overwrite_arg": false,
"cascade_arg": false,
"all_arg": true,
"grace_period_arg": 0,
"prune_arg": true,
"prune_whitelist_arg": "",
"timeout_arg": "0s",
"kubectl_version": "1.11.1"
}

Sample Response

HTTP

Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999

JSON

{
"url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
"html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2/action/2/edit",
"id": 2,
"name": "Apply deployment",
"type": "KUBERNETES_APPLY",
"trigger_time": "ON_EVERY_EXECUTION",
"auth_type": "BASIC",
"server": "https://123.45.56.89:6443",
"login": "admin",
"password": "qwerty",
"config_path": "config.yaml",
"record_arg": "NOT_SET",
"save_config_arg": false,
"force_arg": false,
"overwrite_arg": false,
"cascade_arg": false,
"all_arg": true,
"grace_period_arg": 0,
"prune_arg": true,
"prune_whitelist_arg": "",
"timeout_arg": "0s",
"kubectl_version": "1.11.1",
"pipeline": {
"url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
"html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
"id": 2,
"name": "test pipeline",
"trigger_mode": "MANUAL",
"ref_name": "master",
"last_execution_status": "SUCCESSFUL",
"last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
}
}