controller

package
v0.0.0-...-5b6f1bf Latest Latest
Warning

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

Go to latest
Published: Oct 16, 2024 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Start

func Start(conf config.Config) error

Types

type PodOwnerModifier

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

func NewPodOwnerModifier

func NewPodOwnerModifier(conf config.Config) PodOwnerModifier

type PodReconciler

type PodReconciler struct {
	client.Client
	// contains filtered or unexported fields
}

func NewPodReconciler

func NewPodReconciler(c client.Client, conf config.Config, m modifier, s storer) *PodReconciler

func (*PodReconciler) Reconcile

func (r *PodReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

on pod event, it should first get the containers and retrieve configs matching name then it should check if container in terminating state and if it matches the listed error codes in config it should check if all containers are owned by the same resource as per config (for combining update) after that it should pick the owner in config for the container and work up to reference of the owner. after that it should check metadata of the owner to see if metadata has prior restart count if count less than restart count in config, increment count and do nothing if count more, then determine the next step in limits based on the current limits update all resources (or single resource if multiple containers are having errors and tied to the same resource) update should include resetting the count for the containers in meta data and updating the necessary annotation for the container update S3 to the new limits for the container for the resource name

Jump to

Keyboard shortcuts

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