import requests
url = "https://platform.ankra.app/api/v1/clusters/aws/{cluster_id}/k3s-disabled-components"
payload = { "k3s_disabled_components": [] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({k3s_disabled_components: []})
};
fetch('https://platform.ankra.app/api/v1/clusters/aws/{cluster_id}/k3s-disabled-components', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request PUT \
--url https://platform.ankra.app/api/v1/clusters/aws/{cluster_id}/k3s-disabled-components \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"k3s_disabled_components": []
}
'{
"k3s_disabled_components": [
"<string>"
],
"resource_ids": [
"<string>"
],
"control_plane_count": 123,
"applies": "<string>"
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "Cluster not found"
}Update disabled K3s components
Replaces the k3s packaged components the platform keeps disabled on this running cluster, for example [“traefik”] on a cluster that brings its own ingress; the reconcile lane then restarts k3s on one control plane at a time. Requires clusters.write. Answers 409 for a kubeadm cluster, a list that drops a stored entry (the list only grows), a list that adds coredns, and any change while a node update, version upgrade or node restart is in progress. Answers 404 while the organisation’s aws_provider feature flag is off.
import requests
url = "https://platform.ankra.app/api/v1/clusters/aws/{cluster_id}/k3s-disabled-components"
payload = { "k3s_disabled_components": [] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({k3s_disabled_components: []})
};
fetch('https://platform.ankra.app/api/v1/clusters/aws/{cluster_id}/k3s-disabled-components', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request PUT \
--url https://platform.ankra.app/api/v1/clusters/aws/{cluster_id}/k3s-disabled-components \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"k3s_disabled_components": []
}
'{
"k3s_disabled_components": [
"<string>"
],
"resource_ids": [
"<string>"
],
"control_plane_count": 123,
"applies": "<string>"
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "Cluster not found"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
k3s packaged components to keep disabled (k3s --disable). Required: the complete list to store, which has to contain every entry already stored (a list that drops one answers 409), so null or an empty list is accepted only while nothing is stored; an unknown or repeated component is a validation error at the entry's own location.
coredns, servicelb, traefik, local-storage, metrics-server, runtimes Response
The stored list
The components stored on the cluster's k8s node definitions; empty when nothing is stored (the provider shape's own defaults apply).
The cluster's live k8s node resources (control planes and workers) the list is stored on.
How many of those resources are control planes, the nodes the disable list is rendered on.
How the stored list reaches the nodes: the read lane flags control planes missing an entry within about five minutes and the reconcile lane converges them one at a time.