runtime

package
v0.21.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2024 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Overview

Package runtime manages the reflection of Timoni's instances on Kubernetes clusters.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApplyOptions added in v0.0.2

func ApplyOptions(force bool, wait time.Duration) ssa.ApplyOptions

ApplyOptions returns the default options for server-side apply operations.

func DeleteOptions added in v0.0.2

func DeleteOptions(name, namespace string) ssa.DeleteOptions

DeleteOptions returns the default options for delete operations.

func NewCustomJobStatusReader added in v0.15.0

func NewCustomJobStatusReader(mapper meta.RESTMapper) engine.StatusReader

NewCustomJobStatusReader creates a reader that asserts a Job completion status.

func NewResourceManager

func NewResourceManager(rcg genericclioptions.RESTClientGetter) (*ssa.ResourceManager, error)

NewResourceManager creates a ResourceManager for the given cluster.

func SelectObjectsFromSet added in v0.0.2

func SelectObjectsFromSet(set *ssa.ChangeSet, action ssa.Action) []*unstructured.Unstructured

SelectObjectsFromSet returns a list of Kubernetes objects from the given changeset filtered by action.

func ServerVersion added in v0.12.0

func ServerVersion(rcg genericclioptions.RESTClientGetter) (string, error)

ServerVersion retrieves and parses the Kubernetes server's version.

func ToUnstructured added in v0.15.0

func ToUnstructured(obj apiruntime.Object) (*unstructured.Unstructured, error)

ToUnstructured converts a runtime.Object into an Unstructured object.

Types

type InstanceManager

type InstanceManager struct {
	Instance apiv1.Instance
}

InstanceManager performs operations on the instance's inventory.

func NewInstanceManager

func NewInstanceManager(name, namespace, values string, moduleRef apiv1.ModuleReference) *InstanceManager

NewInstanceManager creates an InstanceManager for the given module.

func (*InstanceManager) AddObjects

func (m *InstanceManager) AddObjects(objects []*unstructured.Unstructured) error

AddObjects extracts the metadata from the given objects and adds it to the instance inventory.

func (*InstanceManager) Diff

Diff returns the slice of objects that do not exist in the target inventory.

func (*InstanceManager) ListMeta

func (m *InstanceManager) ListMeta() (object.ObjMetadataSet, error)

ListMeta returns the inventory entries as object.ObjMetadata objects.

func (*InstanceManager) ListObjects

func (m *InstanceManager) ListObjects() ([]*unstructured.Unstructured, error)

ListObjects returns the inventory entries as unstructured.Unstructured objects.

func (*InstanceManager) VersionOf

func (m *InstanceManager) VersionOf(objMetadata object.ObjMetadata) string

VersionOf returns the API version of the given object if found in this instance.

type ResourceReader added in v0.13.0

type ResourceReader struct {
	// contains filtered or unexported fields
}

ResourceReader fetches resources from the cluster and extract field values.

func NewResourceReader added in v0.13.0

func NewResourceReader(resManager *ssa.ResourceManager) *ResourceReader

NewResourceReader creates a resource reader for the given cluster.

func (*ResourceReader) Read added in v0.13.0

Read fetches the resources from the cluster and runs the CUE expressions to select the desired values.

type StorageManager

type StorageManager struct {
	// contains filtered or unexported fields
}

StorageManager manages the inventory in-cluster storage.

func NewStorageManager

func NewStorageManager(resManager *ssa.ResourceManager) *StorageManager

NewStorageManager creates a storage manager for the given cluster.

func (*StorageManager) Apply

func (s *StorageManager) Apply(ctx context.Context, instance *apiv1.Instance, createNamespace bool) error

Apply creates or updates the storage object for the given instance.

func (*StorageManager) Delete

func (s *StorageManager) Delete(ctx context.Context, name, namespace string) error

Delete removes the storage for the given instance name and namespace.

func (*StorageManager) Get

func (s *StorageManager) Get(ctx context.Context, name, namespace string) (*apiv1.Instance, error)

Get retrieves the instance from the storage.

func (*StorageManager) GetStaleObjects

func (s *StorageManager) GetStaleObjects(ctx context.Context, i *apiv1.Instance) ([]*unstructured.Unstructured, error)

GetStaleObjects returns the list of objects metadata subject to pruning.

func (*StorageManager) List

func (s *StorageManager) List(ctx context.Context, namespace, bundle string) ([]*apiv1.Instance, error)

List returns the instances found in the given namespace.

func (*StorageManager) ListNamespaces added in v0.11.0

func (s *StorageManager) ListNamespaces(ctx context.Context) ([]string, error)

func (*StorageManager) NamespaceExists added in v0.0.2

func (s *StorageManager) NamespaceExists(ctx context.Context, name string) (bool, error)

NamespaceExists returns false if the namespace is not found.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL