kubernetes

package
v0.0.0-...-2174185 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2024 License: MPL-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const ProviderName = "kubernetes"

ProviderName - provider name

Variables

This section is empty.

Functions

This section is empty.

Types

type GenericResourceCache

type GenericResourceCache interface {
	// Values returns a copy of the contents of the cache.
	// The slice and its contents should be treated as read-only.
	Values() []*k8s.GenericResource

	// Register registers ch to receive a value when Notify is called.
	Register(chan int, int)
}

GenericResourceCache an interface for generic resource cache.

type Implementer

type Implementer interface {
	Namespaces() (*v1.NamespaceList, error)
	Deployments(namespace string) (*apps_v1.DeploymentList, error)
	Update(obj *k8s.GenericResource) error
	Secret(namespace, name string) (*v1.Secret, error)
	Pods(namespace, labelSelector string) (*v1.PodList, error)
	DeletePod(namespace, name string, opts *meta_v1.DeleteOptions) error

	ConfigMaps(namespace string) core_v1.ConfigMapInterface
}

Implementer - thing wrapper around currently used k8s APIs

type KubernetesImplementer

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

KubernetesImplementer - default kubernetes client implementer, uses https://github.com/kubernetes/client-go v3.0.0-beta.0

func NewKubernetesImplementer

func NewKubernetesImplementer(opts *Opts) (*KubernetesImplementer, error)

NewKubernetesImplementer - create new k8s implementer

func (*KubernetesImplementer) Client

func (*KubernetesImplementer) Config

func (i *KubernetesImplementer) Config() *rest.Config

func (*KubernetesImplementer) ConfigMaps

func (i *KubernetesImplementer) ConfigMaps(namespace string) core_v1.ConfigMapInterface

ConfigMaps - returns an interface to config maps for a specified namespace

func (*KubernetesImplementer) DeletePod

func (i *KubernetesImplementer) DeletePod(namespace, name string, opts *meta_v1.DeleteOptions) error

DeletePod - delete pod by name

func (*KubernetesImplementer) Deployment

func (i *KubernetesImplementer) Deployment(namespace, name string) (*apps_v1.Deployment, error)

Deployment - get specific deployment for namespace/name

func (*KubernetesImplementer) Deployments

func (i *KubernetesImplementer) Deployments(namespace string) (*apps_v1.DeploymentList, error)

Deployments - get all deployments for namespace

func (*KubernetesImplementer) Namespaces

func (i *KubernetesImplementer) Namespaces() (*v1.NamespaceList, error)

Namespaces - get all namespaces

func (*KubernetesImplementer) Pods

func (i *KubernetesImplementer) Pods(namespace, labelSelector string) (*v1.PodList, error)

Pods - get pods

func (*KubernetesImplementer) Secret

func (i *KubernetesImplementer) Secret(namespace, name string) (*v1.Secret, error)

Secret - get secret

func (*KubernetesImplementer) Update

Update converts generic resource into specific kubernetes type and updates it

type Opts

type Opts struct {
	// if set - kube config options will be ignored
	InCluster  bool
	ConfigPath string
	Master     string
}

Opts - implementer options, usually for k8s deployments it's best to use InCluster option

type Provider

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

Provider - kubernetes provider for auto update

func NewProvider

func NewProvider(implementer Implementer, sender notification.Sender, approvalManager approvals.Manager, cache GenericResourceCache) (*Provider, error)

NewProvider - create new kubernetes based provider

func (*Provider) GetName

func (p *Provider) GetName() string

GetName - get provider name

func (*Provider) Start

func (p *Provider) Start() error

Start - starts kubernetes provider, waits for events

func (*Provider) Stop

func (p *Provider) Stop()

Stop - stops kubernetes provider

func (*Provider) Submit

func (p *Provider) Submit(event types.Event) error

Submit - submit event to provider

func (*Provider) TrackedImages

func (p *Provider) TrackedImages() ([]*types.TrackedImage, error)

TrackedImages returns a list of tracked images.

type UpdatePlan

type UpdatePlan struct {
	// Updated deployment version
	// Deployment v1beta1.Deployment
	Resource *k8s.GenericResource

	// Current (last seen cluster version)
	CurrentVersion string
	// New version that's already in the deployment
	NewVersion string
}

UpdatePlan - deployment update plan

func (*UpdatePlan) String

func (p *UpdatePlan) String() string

Jump to

Keyboard shortcuts

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