diff --git a/index.html b/index.html index 0c04fe00e..72b284c3a 100644 --- a/index.html +++ b/index.html @@ -3849,29 +3849,29 @@
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "lastHeartbeatTime": "2018-11-05T12:55:50.000Z",
- "controllerInfo": {
- "nodeName": "string",
- "operatorVersion": "string",
- "podName": "string"
}, - "clusterInfo": {
- "kubernetesVersion": "string",
- "cloudProvider": "string",
- "kubernetesOrchestrator": "string"
}, - "id": "oceanCluster",
- "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
Create Ocean CD Verification Provider. Only one provider type can be defined
required | object (oceanCDVerificationProvider) | ||||||||||||||||||
|
{- "verificationProvider": {
- "name": "datadog-prod",
- "clusterIds": [
- "prod-cluster-1",
- "prod-cluster-2"
], - "datadog": {
- "apiKey": "AUO32RN20oUMD-40283",
- "appKey": "APP-113ndsKlfmaoN"
}, - "newRelic": {
- "personalApiKey": "AUO32RN20oUMD-40283",
- "accountId": "account-0189718",
- "region": "eu",
}, - "cloudWatch": {
- "iamArn": "arn:aws:iam::123456789012:role/GetMetricData"
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "datadog-prod",
- "clusterIds": [
- "prod-cluster-1",
- "prod-cluster-2"
], - "datadog": {
- "apiKey": "AUO32RN20oUMD-40283",
- "appKey": "APP-113ndsKlfmaoN"
}, - "newRelic": {
- "personalApiKey": "AUO32RN20oUMD-40283",
- "accountId": "account-0189718",
- "region": "eu",
}, - "cloudWatch": {
- "iamArn": "arn:aws:iam::123456789012:role/GetMetricData"
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
{- "verificationProvider": {
- "name": "datadog-prod",
- "clusterIds": [
- "prod-cluster-1",
- "prod-cluster-2"
], - "datadog": {
- "apiKey": "AUO32RN20oUMD-40283",
- "appKey": "APP-113ndsKlfmaoN"
}, - "newRelic": {
- "personalApiKey": "AUO32RN20oUMD-40283",
- "accountId": "account-0189718",
- "region": "eu",
}, - "cloudWatch": {
- "iamArn": "arn:aws:iam::123456789012:role/GetMetricData"
},
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "datadog-prod",
- "clusterIds": [
- "prod-cluster-1",
- "prod-cluster-2"
], - "datadog": {
- "apiKey": "AUO32RN20oUMD-40283",
- "appKey": "APP-113ndsKlfmaoN"
}, - "newRelic": {
- "personalApiKey": "AUO32RN20oUMD-40283",
- "accountId": "account-0189718",
- "region": "eu",
}, - "cloudWatch": {
- "iamArn": "arn:aws:iam::123456789012:role/GetMetricData"
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
List all Ocean CD Verification Providers.
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "datadog-prod",
- "clusterIds": [
- "prod-cluster-1",
- "prod-cluster-2"
], - "datadog": {
- "apiKey": "AUO32RN20oUMD-40283",
- "appKey": "APP-113ndsKlfmaoN"
}, - "newRelic": {
- "personalApiKey": "AUO32RN20oUMD-40283",
- "accountId": "account-0189718",
- "region": "eu",
}, - "cloudWatch": {
- "iamArn": "arn:aws:iam::123456789012:role/GetMetricData"
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "datadog-prod",
- "clusterIds": [
- "prod-cluster-1",
- "prod-cluster-2"
], - "datadog": {
- "apiKey": "AUO32RN20oUMD-40283",
- "appKey": "APP-113ndsKlfmaoN"
}, - "newRelic": {
- "personalApiKey": "AUO32RN20oUMD-40283",
- "accountId": "account-0189718",
- "region": "eu",
}, - "cloudWatch": {
- "iamArn": "arn:aws:iam::123456789012:role/GetMetricData"
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
Get an existing Ocean CD Verification Provider.
name required | string Example: datadog-prod The identifier of the Ocean CD Verification Provider |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "datadog-prod",
- "clusterIds": [
- "prod-cluster-1",
- "prod-cluster-2"
], - "datadog": {
- "apiKey": "AUO32RN20oUMD-40283",
- "appKey": "APP-113ndsKlfmaoN"
}, - "newRelic": {
- "personalApiKey": "AUO32RN20oUMD-40283",
- "accountId": "account-0189718",
- "region": "eu",
}, - "cloudWatch": {
- "iamArn": "arn:aws:iam::123456789012:role/GetMetricData"
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
Full Update of Ocean CD Verification Provider configuration. +
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "datadog-prod",
- "clusterIds": [
- "prod-cluster-1",
- "prod-cluster-2"
], - "datadog": {
- "apiKey": "AUO32RN20oUMD-40283",
- "appKey": "APP-113ndsKlfmaoN"
}, - "newRelic": {
- "personalApiKey": "AUO32RN20oUMD-40283",
- "accountId": "account-0189718",
- "region": "eu",
}, - "cloudWatch": {
- "iamArn": "arn:aws:iam::123456789012:role/GetMetricData"
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
Full Update of Ocean CD Verification Provider configuration. All non included fields will be nullified
name required | string Example: datadog-prod The identifier name of the Ocean CD Verification Provider |
required | object (oceanCDVerificationProviderUpdate) | ||||||||||
|
{- "verificationProvider": {
- "clusterIds": [
- "prod-cluster-1",
- "prod-cluster-2"
], - "datadog": {
- "apiKey": "AUO32RN20oUMD-40283",
- "appKey": "APP-113ndsKlfmaoN"
}, - "newRelic": {
- "personalApiKey": "AUO32RN20oUMD-40283",
- "accountId": "account-0189718",
- "region": "eu",
}, - "cloudWatch": {
- "iamArn": "arn:aws:iam::123456789012:role/GetMetricData"
}
}
}
{- "verificationProvider": {
- "clusterIds": [
- "prod-cluster-1",
- "prod-cluster-2"
], - "datadog": {
- "apiKey": "AUO32RN20oUMD-40283",
- "appKey": "APP-113ndsKlfmaoN"
}, - "newRelic": {
- "personalApiKey": "AUO32RN20oUMD-40283",
- "accountId": "account-0189718",
- "region": "eu",
}, - "cloudWatch": {
- "iamArn": "arn:aws:iam::123456789012:role/GetMetricData"
},
}
}
Partial update Ocean CD Verification Provider configuration.
name required | string Example: datadog-prod The identifier name of the Ocean CD Verification Provider |
required | object (Ocean CD Verification Provider) Ocean CD Verification Provider spec entity. | ||||||||||
|
{- "verificationProvider": {
- "clusterIds": [
- "prod-cluster-1",
- "prod-cluster-2"
], - "datadog": {
- "apiKey": "AUO32RN20oUMD-40283",
- "appKey": "APP-113ndsKlfmaoN"
}, - "newRelic": {
- "personalApiKey": "AUO32RN20oUMD-40283",
- "accountId": "account-0189718",
- "region": "eu",
}, - "cloudWatch": {
- "iamArn": "arn:aws:iam::123456789012:role/GetMetricData"
}
}
}
{- "verificationProvider": {
- "clusterIds": [
- "prod-cluster-1",
- "prod-cluster-2"
], - "datadog": {
- "apiKey": "AUO32RN20oUMD-40283",
- "appKey": "APP-113ndsKlfmaoN"
}, - "newRelic": {
- "personalApiKey": "AUO32RN20oUMD-40283",
- "accountId": "account-0189718",
- "region": "eu",
}, - "cloudWatch": {
- "iamArn": "arn:aws:iam::123456789012:role/GetMetricData"
},
}
}
Delete an existing Ocean CD Verification Provider.
name required | string Example: datadog-prod The identifier name of the Ocean CD Verification Provider |
Identifier name for Ocean CD Verification Template. Must be a unique name
{- "verificationTemplate": {
- "name": "latency-validation",
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "1m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}
}
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "latency-validation",
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "1m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}
}
}
], - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
{- "verificationTemplate": {
- "name": "latency-validation",
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "1m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}, - "jenkins": {
- "pipelineName": "pipelineName",
- "tlsVerification": true,
- "timeout": "120s/2m",
- "interval": "5s",
- "parameters": [
- {
- "key": "app",
- "value": "my-application"
}
]
}
}
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "latency-validation",
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "1m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}, - "jenkins": {
- "pipelineName": "pipelineName",
- "tlsVerification": true,
- "timeout": "120s/2m",
- "interval": "5s",
- "parameters": [
- {
- "key": "app",
- "value": "my-application"
}
]
}
}
}
], - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
List all Ocean CD Verification Templates.
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "latency-validation",
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "1m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}
}
}
], - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "latency-validation",
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "1m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}, - "jenkins": {
- "pipelineName": "pipelineName",
- "tlsVerification": true,
- "timeout": "120s/2m",
- "interval": "5s",
- "parameters": [
- {
- "key": "app",
- "value": "my-application"
}
]
}
}
}
], - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
Get an existing Ocean CD Verification Template.
name required | string Example: latency-validation The identifier of the Ocean CD Verification Template |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "latency-validation",
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "1m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}
}
}
], - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
Full update of Ocean CD Verification Template configuration. +
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "latency-validation",
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "1m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}, - "jenkins": {
- "pipelineName": "pipelineName",
- "tlsVerification": true,
- "timeout": "120s/2m",
- "interval": "5s",
- "parameters": [
- {
- "key": "app",
- "value": "my-application"
}
]
}
}
}
], - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
Full update of Ocean CD Verification Template configuration. All non included fields will be nullified
name required | string Example: latency-validation The identifier name of the Ocean CD Verification Template |
required | object (oceanCDVerificationTemplateUpdate) | ||||
|
{- "verificationTemplate": {
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "1m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}
}
}
]
}
}
{- "verificationTemplate": {
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "1m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}, - "jenkins": {
- "pipelineName": "pipelineName",
- "tlsVerification": true,
- "timeout": "120s/2m",
- "interval": "5s",
- "parameters": [
- {
- "key": "app",
- "value": "my-application"
}
]
}
}
}
]
}
}
Partial update Ocean CD Verification Template configuration.
name required | string Example: latency-validation The identifier name of the Ocean CD Verification Template |
required | object (Ocean CD Verification Template) Ocean CD Verification Template spec entity. | ||||
|
{- "verificationTemplate": {
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "1m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}
}
}
]
}
}
{- "verificationTemplate": {
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "1m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}, - "jenkins": {
- "pipelineName": "pipelineName",
- "tlsVerification": true,
- "timeout": "120s/2m",
- "interval": "5s",
- "parameters": [
- {
- "key": "app",
- "value": "my-application"
}
]
}
}
}
]
}
}
Delete an existing Ocean CD Verification Template.
name required | string Example: latency-validation The identifier name of the Ocean CD Verification Template |
rolloutId required | string Example: rol-123456 The identifier name of the Ocean CD rollout |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": {
- "rolloutSpec": {
- "name": "my-rolloutspec",
- "spotDeployment": {
- "clusterId": "aws-cluster",
- "namespace": "us-region",
- "name": "us-app"
}, - "spotDeployments": [
- {
- "clusterId": "aws-cluster",
- "namespace": "us-region",
- "name": "us-app"
}
], - "strategy": {
- "name": "canary-strategy",
- "args": [
- {
- "name": "app",
- "value": "my-application",
- "valueFrom": {
- "fieldRef": {
- "fieldPath": "metadata.labels['app']"
}
}
}
]
}, - "traffic": {
- "canaryService": "canary-service",
- "stableService": "stable-service",
- "istio": {
- "virtualServices": [
- {
- "name": "service",
- "routes": [
- "http-primary"
], - "tlsRoutes": [
- {
- "port": 443,
- "sniHosts": [
- "spot.io"
]
}
]
}
], - "destinationRule": {
- "name": "rollout-destrule",
- "canarySubsetName": "canary-subset",
- "stableSubsetName": "stable-subset"
}
}, - "nginx": {
- "annotationPrefix": "customingress.nginx.ingress.kubernetes.io",
- "stableIngress": "rollouts-demo-ingress-nginx",
- "additionalIngressAnnotations": {
- "canary-by-header": "X-Canary",
- "key1": "value1"
}
}, - "alb": {
- "ingress": "rollouts-demo-ingress",
- "servicePort": 80,
- "rootService": "rollouts-demo-root",
- "stickinessConfig": {
- "enabled": true,
- "durationSeconds": 3600
}, - "annotationPrefix": "custom.alb.ingress.kubernetes.io"
}, - "smi": {
- "rootService": "rollouts-demo-root",
- "trafficSplitName": "rollout-example-traffic-split"
}, - "ambassador": {
- "mappings": [
- "stable-mapping"
]
}, - "pingPong": {
- "pingService": "rollouts-demo-canary",
- "pongService": "rollouts-demo-stable"
}
}, - "failurePolicy": {
- "action": "abort"
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}, - "strategy": {
- "canary": {
- "backgroundVerification": {
- "templateNames": [
- "verification-template-name"
]
}, - "steps": [
- {
- "name": "first-step",
- "setWeight": 20,
- "setCanaryScale": {
- "weight": 20,
- "replicas": 20,
- "matchTrafficWeight": true
}, - "verification": {
- "templateNames": [
- "5xx-errors"
]
}, - "pause": {
- "duration": "5m"
}, - "setHeaderRoute": {
- "name": "set-header-1",
- "match": [
- {
- "headerName": "User-Agent",
- "headerValue": {
- "exact": "Mozilla",
- "prefix": "Mozilla-",
- "regex": "Mozilla(.*)"
}
}
]
}
}
]
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}, - "phaseVerifications": [
- {
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "fieldRef": {
- "fieldPath": "metadata.labels['env']"
}, - "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "1m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}
}
}
], - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
], - "backgroundVerifications": [
- {
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "fieldRef": {
- "fieldPath": "metadata.labels['env']"
}, - "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "1m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}
}
}
], - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": {
- "rolloutSpec": {
- "name": "my-rolloutspec",
- "spotDeployment": {
- "clusterId": "aws-cluster",
- "namespace": "us-region",
- "name": "us-app"
}, - "spotDeployments": [
- {
- "clusterId": "aws-cluster",
- "namespace": "us-region",
- "name": "us-app"
}
], - "strategy": {
- "name": "canary-strategy",
- "args": [
- {
- "name": "app",
- "value": "my-application",
- "valueFrom": {
- "fieldRef": {
- "fieldPath": "metadata.labels['app']"
}
}
}
]
}, - "traffic": {
- "canaryService": "canary-service",
- "stableService": "stable-service",
- "istio": {
- "virtualServices": [
- {
- "name": "service",
- "routes": [
- "http-primary"
], - "tlsRoutes": [
- {
- "port": 443,
- "sniHosts": [
- "spot.io"
]
}
]
}
], - "destinationRule": {
- "name": "rollout-destrule",
- "canarySubsetName": "canary-subset",
- "stableSubsetName": "stable-subset"
}
}, - "nginx": {
- "annotationPrefix": "customingress.nginx.ingress.kubernetes.io",
- "stableIngress": "rollouts-demo-ingress-nginx",
- "additionalIngressAnnotations": {
- "canary-by-header": "X-Canary",
- "key1": "value1"
}
}, - "alb": {
- "ingress": "rollouts-demo-ingress",
- "servicePort": 80,
- "rootService": "rollouts-demo-root",
- "stickinessConfig": {
- "enabled": true,
- "durationSeconds": 3600
}, - "annotationPrefix": "custom.alb.ingress.kubernetes.io"
}, - "smi": {
- "rootService": "rollouts-demo-root",
- "trafficSplitName": "rollout-example-traffic-split"
}, - "ambassador": {
- "mappings": [
- "stable-mapping"
]
}, - "pingPong": {
- "pingService": "rollouts-demo-canary",
- "pongService": "rollouts-demo-stable"
}
}, - "failurePolicy": {
- "action": "abort"
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}, - "strategy": {
- "canary": {
- "backgroundVerification": {
- "templateNames": [
- "verification-template-name"
]
}, - "steps": [
- {
- "name": "first-step",
- "setWeight": 20,
- "setCanaryScale": {
- "weight": 20,
- "replicas": 20,
- "matchTrafficWeight": true
}, - "verification": {
- "templateNames": [
- "5xx-errors"
]
}, - "pause": {
- "duration": "5m"
}, - "setHeaderRoute": {
- "name": "set-header-1",
- "match": [
- {
- "headerName": "User-Agent",
- "headerValue": {
- "exact": "Mozilla",
- "prefix": "Mozilla-",
- "regex": "Mozilla(.*)"
}
}
]
}
}
]
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}, - "phaseVerifications": [
- {
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "fieldRef": {
- "fieldPath": "metadata.labels['env']"
}, - "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "1m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}, - "jenkins": {
- "pipelineName": "pipelineName",
- "tlsVerification": true,
- "timeout": "120s/2m",
- "interval": "5s",
- "parameters": [
- {
- "key": "app",
- "value": "my-application"
}
]
}
}
}
], - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
], - "backgroundVerifications": [
- {
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "fieldRef": {
- "fieldPath": "metadata.labels['env']"
}, - "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "1m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}, - "jenkins": {
- "pipelineName": "pipelineName",
- "tlsVerification": true,
- "timeout": "120s/2m",
- "interval": "5s",
- "parameters": [
- {
- "key": "app",
- "value": "my-application"
}
]
}
}
}
], - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
}
Get Ocean CD rollout resource.
rolloutId required | string Example: rol-123456 The identifier name of the Ocean CD rollout |
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
required | object Object defining the subscription parameters | ||||||
|