Documentation
¶
Index ¶
- Constants
- Variables
- func AddTypeInformationToObject(obj runtime.Object) error
- func CreateOrUpdateEndpoints(ctx context.Context, eclient clientv1.EndpointsInterface, eps *v1.Endpoints) error
- func CreateOrUpdateSecret(ctx context.Context, secretClient clientv1.SecretInterface, desired *v1.Secret) error
- func CreateOrUpdateService(ctx context.Context, sclient clientv1.ServiceInterface, svc *v1.Service) error
- func IsAPIGroupVersionResourceSupported(discoveryCli discovery.DiscoveryInterface, groupversion string, ...) (bool, error)
- func IsResourceNotFoundError(err error) bool
- func LabelSelectionHasChanged(old, current map[string]string, selector *metav1.LabelSelector) (bool, error)
- func MergePatchContainers(base, patches []v1.Container) ([]v1.Container, error)
- func MustRegisterClientGoMetrics(registerer prometheus.Registerer)
- func NewClusterConfig(host string, tlsInsecure bool, tlsConfig *rest.TLSClientConfig) (*rest.Config, error)
- func PodRunningAndReady(pod v1.Pod) (bool, error)
- func UpdateStatefulSet(ctx context.Context, sstClient clientappsv1.StatefulSetInterface, ...) error
- type CRDChecker
- type ResourceNamer
Constants ¶
const KubeConfigEnv = "KUBECONFIG"
KubeConfigEnv (optionally) specify the location of kubeconfig file
Variables ¶
var ErrPrerequiresitesFailed = errors.New("unmet prerequisites")
Functions ¶
func AddTypeInformationToObject ¶ added in v0.59.0
AddTypeInformationToObject adds TypeMeta information to a runtime.Object based upon the loaded scheme.Scheme See https://github.com/kubernetes/client-go/issues/308#issuecomment-700099260
func CreateOrUpdateEndpoints ¶ added in v0.6.0
func CreateOrUpdateSecret ¶ added in v0.48.0
func CreateOrUpdateSecret(ctx context.Context, secretClient clientv1.SecretInterface, desired *v1.Secret) error
CreateOrUpdateSecret merges metadata of existing Secret with new one and updates it.
func CreateOrUpdateService ¶ added in v0.6.0
func IsAPIGroupVersionResourceSupported ¶ added in v0.55.0
func IsAPIGroupVersionResourceSupported(discoveryCli discovery.DiscoveryInterface, groupversion string, resource string) (bool, error)
IsAPIGroupVersionResourceSupported checks if given groupVersion and resource is supported by the cluster.
you can exec `kubectl api-resources` to find groupVersion and resource.
func IsResourceNotFoundError ¶
func LabelSelectionHasChanged ¶ added in v0.48.0
func LabelSelectionHasChanged(old, current map[string]string, selector *metav1.LabelSelector) (bool, error)
LabelSelectionHasChanged returns true if the selector doesn't yield the same results for the old and current labels.
func MergePatchContainers ¶ added in v0.42.0
MergePatchContainers adds patches to base using a strategic merge patch and iterating by container name, failing on the first error
func MustRegisterClientGoMetrics ¶ added in v0.42.0
func MustRegisterClientGoMetrics(registerer prometheus.Registerer)
MustRegisterClientGoMetrics registers k8s.io/client-go metrics. It panics if it encounters an error (e.g. metrics already registered).
func NewClusterConfig ¶
func PodRunningAndReady ¶
PodRunningAndReady returns whether a pod is running and each container has passed it's ready state.
func UpdateStatefulSet ¶ added in v0.46.0
func UpdateStatefulSet(ctx context.Context, sstClient clientappsv1.StatefulSetInterface, sset *appsv1.StatefulSet) error
UpdateStatefulSet merges metadata of existing StatefulSet with new one and updates it.
Types ¶
type CRDChecker ¶ added in v0.65.0
type CRDChecker struct {
// contains filtered or unexported fields
}
func NewCRDChecker ¶ added in v0.65.0
func NewCRDChecker(host string, tlsInsecure bool, tlsConfig *rest.TLSClientConfig) (*CRDChecker, error)
func (CRDChecker) CheckPrerequisites ¶ added in v0.65.0
func (cc CRDChecker) CheckPrerequisites(ctx context.Context, nsAllowList []string, verbs map[string][]string, sgv, resource string) error
CheckPrerequisites checks if given resource's CRD is installed in the cluster and the operator serviceaccount has the necessary RBAC verbs in the namespace list to reconcile it.
type ResourceNamer ¶ added in v0.59.0
type ResourceNamer struct {
// contains filtered or unexported fields
}
ResourceNamer knows how to generate valid names for various Kubernetes resources.
func NewResourceNamerWithPrefix ¶ added in v0.59.0
func NewResourceNamerWithPrefix(p string) ResourceNamer
NewResourceNamerWithPrefix returns a ResourceNamer that adds a prefix followed by an hyphen character to all resource names.
func (ResourceNamer) DNS1123Label ¶ added in v0.63.0
func (rn ResourceNamer) DNS1123Label(name string) (string, error)
DNS1123Label returns a name that is a valid DNS-1123 label. It will sanitize a name, removing invalid characters and if the name is bigger than 63 chars it will truncate it.
func (ResourceNamer) UniqueDNS1123Label ¶ added in v0.63.0
func (rn ResourceNamer) UniqueDNS1123Label(name string) (string, error)
UniqueDNS1123Label returns a name that is a valid DNS-1123 label. The returned name has a hash-based suffix to ensure uniqueness in case the input name exceeds the 63-chars limit.