Documentation
¶
Index ¶
- Constants
- func GetMonitorContainersFromMeta(labels map[string]string, annotations map[string]string) k8s.ContainerFilter
- type GenericResourceCache
- type Implementer
- type KubernetesImplementer
- func (i *KubernetesImplementer) Client() *kubernetes.Clientset
- func (i *KubernetesImplementer) Config() *rest.Config
- func (i *KubernetesImplementer) ConfigMaps(namespace string) core_v1.ConfigMapInterface
- func (i *KubernetesImplementer) DeletePod(namespace, name string, opts *meta_v1.DeleteOptions) error
- func (i *KubernetesImplementer) Deployment(namespace, name string) (*apps_v1.Deployment, error)
- func (i *KubernetesImplementer) Deployments(namespace string) (*apps_v1.DeploymentList, error)
- func (i *KubernetesImplementer) Namespaces() (*v1.NamespaceList, error)
- func (i *KubernetesImplementer) Pods(namespace, labelSelector string) (*v1.PodList, error)
- func (i *KubernetesImplementer) Secret(namespace, name string) (*v1.Secret, error)
- func (i *KubernetesImplementer) Update(obj *k8s.GenericResource) error
- type Opts
- type Provider
- type UpdatePlan
Constants ¶
const ProviderName = "kubernetes"
ProviderName - provider name
Variables ¶
This section is empty.
Functions ¶
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 (i *KubernetesImplementer) Client() *kubernetes.Clientset
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 ¶
func (i *KubernetesImplementer) Update(obj *k8s.GenericResource) error
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 // Override the API server URL MasterUrl string // If multiple context in config path, the context to use CurrentContext string // Unused, possibly legacy 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) 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