Packages

t

com.coralogix.zio.k8s.client

NamespacedResource

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

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. NamespacedResource
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract val asGenericResource: Resource[T]

    A more generic interface for the same resource

Concrete Value Members

  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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