trait NamespacedResource[T] extends AnyRef
Generic interface for working with namespaced Kubernetes resources.
More type safe than Resource as it requires passing a namespace where necessary.
- T
Resource type
- Alphabetic
- By Inheritance
- NamespacedResource
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
Concrete Value Members
-
def
create(newResource: T, namespace: K8sNamespace, dryRun: Boolean = false): IO[K8sFailure, T]
Creates a new resource
Creates a new resource
- newResource
The new resource to define in the cluster.
- namespace
Namespace of the resource.
- dryRun
If true, the request is sent to the server but it will not create the resource.
- returns
Returns the created resource as it was returned from Kubernetes
-
def
get(name: String, namespace: K8sNamespace): IO[K8sFailure, T]
Get a resource by its name
Get a resource by its name
- name
Name of the resource
- namespace
Namespace of the resource
- returns
Returns the current version of the resource
-
def
getAll(namespace: Option[K8sNamespace], chunkSize: Int = 10, fieldSelector: Option[FieldSelector] = None, labelSelector: Option[LabelSelector] = None, resourceVersion: ListResourceVersion = ListResourceVersion.MostRecent): Stream[K8sFailure, T]
A paginated query of all resources with filtering possibilities
A paginated query of all resources with filtering possibilities
- namespace
Constraint the query to a given namespace. If None, results returned from all namespaces.
- chunkSize
Number of items to return per HTTP request
- fieldSelector
Constrain the returned items by field selectors. Not all fields are supported by the server.
- labelSelector
Constrain the returned items by label selectors.
- resourceVersion
Control the returned resources' version.
- returns
A stream of resources
-
def
replace(name: String, updatedResource: T, namespace: K8sNamespace, dryRun: Boolean = false): IO[K8sFailure, T]
Replaces an existing resource selected by its name
Replaces an existing resource selected by its name
- name
Name of the resource
- updatedResource
The new value of the resource
- namespace
Namespace of the resource
- dryRun
If true, the request is sent to the server but it will not create the resource.
- returns
Returns the updated resource as it was returned from Kubernetes
-
def
watch(namespace: Option[K8sNamespace], resourceVersion: Option[String], fieldSelector: Option[FieldSelector] = None, labelSelector: Option[LabelSelector] = None, sendInitialEvents: Boolean = false, readTimeout: zio.Duration = Duration.Infinity): Stream[K8sFailure, TypedWatchEvent[T]]
Watch stream of resource change events of type com.coralogix.zio.k8s.client.model.TypedWatchEvent
Watch stream of resource change events of type com.coralogix.zio.k8s.client.model.TypedWatchEvent
This function requires the user to control the starting resourceVersion and to restart the watch stream when the server closes the connection.
For a more convenient variant check watchForever.
- namespace
Constraint the watched resources by their namespace. If None, all namespaces will be watched.
- resourceVersion
Last known resource version
- fieldSelector
Constrain the returned items by field selectors. Not all fields are supported by the server.
- labelSelector
Constrain the returned items by label selectors.
- sendInitialEvents
Whether to set sendInitialEvents=true in the k8s watch request. Only has an effect in k8s 1.28+. If set, k8s returns all existing resources as synthetic Added events before sending updates.
- returns
A stream of watch events
-
def
watchForever(namespace: Option[K8sNamespace], resourceVersion: Option[String] = None, fieldSelector: Option[FieldSelector] = None, labelSelector: Option[LabelSelector] = None, sendInitialEvents: Boolean = false, readTimeout: zio.Duration = Duration.Infinity): ZStream[Any, K8sFailure, TypedWatchEvent[T]]
Infinite watch stream of resource change events of type com.coralogix.zio.k8s.client.model.TypedWatchEvent
Infinite watch stream of resource change events of type com.coralogix.zio.k8s.client.model.TypedWatchEvent
The underlying implementation takes advantage of Kubernetes watch bookmarks.
- namespace
Constraint the watched resources by their namespace. If None, all namespaces will be watched.
- fieldSelector
Constrain the returned items by field selectors. Not all fields are supported by the server.
- labelSelector
Constrain the returned items by label selectors.
- sendInitialEvents
Whether to set sendInitialEvents=true in the k8s watch request. Only has an effect in k8s 1.28+. If set, k8s returns all existing resources as synthetic Added events before sending updates.
- returns
A stream of watch events