API reference
This document contains the endpoints of the KubeArchive API and the query parameters they support.
Collection of Resources
/apis/:group/:version/:resourceType
/apis/:group/:version/namespaces/:namespace/:resourceType
/api/:version/:resourceType
/api/:version/namespaces/:namespace/:resourceType
Examples:
/apis/apps/v1/deployments
/apis/batch/v1/namespaces/default/jobs
/api/v1/services
/api/v1/namespaces/default/pods
Parameters allowed:
-
limit: defaults to 100. Not higher than 1000. Limits the number of entries returned. -
continue: token to access the next page of the pagination. Retrieve it at.metadata.continueof the returnedListresource. An empty string if there are no more pages remaining. -
labelSelector: allows filtering resources based on label filtering. -
creationTimestampAfter: filters resources created after the specified timestamp (RFC3339 format, e.g.,2023-01-01T12:00:00Z). -
creationTimestampBefore: filters resources created before the specified timestamp (RFC3339 format, e.g.,2023-12-31T23:59:59Z).
Timestamp Filters
The API supports filtering resources by their creation timestamp using RFC3339 format:
- After timestamp
-
creationTimestampAfter=2023-01-01T12:00:00Z - Before timestamp
-
creationTimestampBefore=2023-12-31T23:59:59Z - Both filters
-
creationTimestampAfter=2023-01-01T12:00:00Z&creationTimestampBefore=2023-12-31T23:59:59Z
|
Timestamp filters can be combined with other filters (labelSelector, pagination) and will be applied as AND conditions. |
Examples:
/api/v1/namespaces/default/pods?creationTimestampAfter=2023-06-01T00:00:00Z (1)
/apis/apps/v1/namespaces/production/deployments?creationTimestampBefore=2023-12-31T23:59:59Z (2)
/api/v1/pods?creationTimestampAfter=2023-01-01T00:00:00Z&creationTimestampBefore=2023-01-31T23:59:59Z (3)
/api/v1/namespaces/default/pods?creationTimestampAfter=2023-06-01T00:00:00Z&labelSelector=app=frontend (4)
| 1 | Filter pods created after a specific date |
| 2 | Filter deployments created before a specific date |
| 3 | Filter resources created within a date range |
| 4 | Combine timestamp filters with label selectors |
Label Selector
It implements the same filters available in the Kubernetes API:
- Existence
-
labelSelector=wantedLabelKey - Not existence
-
labelSelector=!unwantedLabelKeyorlabelSelector=%21unwantedLabelKeywith URL encoding - Equality
-
labelSelector=labelKey=labelValueorlabelSelector=labelKey%3DlabelValuewith URL encoding - Inequality
-
labelSelector=labelKey!=unwantedLabelValueorlabelSelector=labelKey%21%3DlabelValuewith URL encoding - Set based
-
labelSelector=labelKey in (value1, value2)orlabelSelector=labelKey+in+%28value1,+value2%29with URL encoding - Set not based
-
labelSelector=labelKey notin (value1, value2)orlabelSelector=labelKey+notin+%28value1,+value2%29with URL encoding
|
Label selectors can be combined based on a logical AND by separating them with a comma. For example to retrieve pods in the The API call is:
|
Individual Resources
/apis/:group/:version/namespaces/:namespace/:resourceType/:name
/api/:version/namespaces/:namespace/:resourceType/:name
Examples:
/apis/batch/v1/namespaces/default/cronjobs/cleanup-tasks
/api/v1/namespaces/default/pods/busybox-tooling
Logs
/apis/:group/:version/namespaces/:namespace/:resourceType/:name/log
/api/:version/namespaces/:namespace/:resourceType/:name/log
Examples:
/apis/batch/v1/namespaces/default/cronjobs/cleanup-tasks/log
/api/v1/namespaces/default/pods/busybox-tooling/log
Parameters allowed:
* container: name of the container to select the log from, defaults to an
empty string.
When /log endpoint is called for a resource other than a Pod, KubeArchive
searches, recursively, for any Pod owned by the resource. If a Pod is found
its log is returned.
When a Pod has multiple containers, a single container is selected in the following
order of preference:
-
containerparameter -
kubectl.kubernetes.io/default-containerPod annotation -
First container listed in the Pod definition