runtime

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 2, 2023 License: Apache-2.0 Imports: 19 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 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.

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 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, i *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 string) ([]*apiv1.Instance, error)

List returns the instances found in the given namespace.

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