utils

package
v0.0.0-...-2644515 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2020 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AppendIfNotSubstring

func AppendIfNotSubstring(a, s string) string

AppendIfNotSubstring appends `a` to comma-separated list of strings in `s`

func BuildServiceBindingSecretName

func BuildServiceBindingSecretName(name, namespace string) string

BuildServiceBindingSecretName returns secret name of a consumable service

func ContainsString

func ContainsString(slice []string, s string) bool

ContainsString returns true if `s` is in the slice. Otherwise, returns false

func CustomizeAffinity

func CustomizeAffinity(a *corev1.Affinity, ba common.BaseApplication)

CustomizeAffinity ...

func CustomizeConsumedServices

func CustomizeConsumedServices(podSpec *corev1.PodSpec, ba common.BaseApplication)

CustomizeConsumedServices ...

func CustomizeDeployment

func CustomizeDeployment(deploy *appsv1.Deployment, ba common.BaseApplication)

CustomizeDeployment ...

func CustomizeHPA

CustomizeHPA ...

func CustomizeKnativeService

func CustomizeKnativeService(ksvc *servingv1alpha1.Service, ba common.BaseApplication)

CustomizeKnativeService ...

func CustomizePersistence

func CustomizePersistence(statefulSet *appsv1.StatefulSet, ba common.BaseApplication)

CustomizePersistence ...

func CustomizePodSpec

func CustomizePodSpec(pts *corev1.PodTemplateSpec, ba common.BaseApplication)

CustomizePodSpec ...

func CustomizeRoute

func CustomizeRoute(route *routev1.Route, ba common.BaseApplication, key string, crt string, ca string, destCACert string)

CustomizeRoute ...

func CustomizeService

func CustomizeService(svc *corev1.Service, ba common.BaseApplication)

CustomizeService ...

func CustomizeServiceAccount

func CustomizeServiceAccount(sa *corev1.ServiceAccount, ba common.BaseApplication)

CustomizeServiceAccount ...

func CustomizeServiceMonitor

func CustomizeServiceMonitor(sm *prometheusv1.ServiceMonitor, ba common.BaseApplication)

CustomizeServiceMonitor ...

func CustomizeServieBindingSecret

func CustomizeServieBindingSecret(secret *corev1.Secret, auth map[string]string, ba common.BaseApplication)

CustomizeServieBindingSecret ...

func CustomizeStatefulSet

func CustomizeStatefulSet(statefulSet *appsv1.StatefulSet, ba common.BaseApplication)

CustomizeStatefulSet ...

func EnsureOwnerRef

func EnsureOwnerRef(metadata metav1.Object, newOwnerRef metav1.OwnerReference) bool

EnsureOwnerRef adds the ownerref if needed. Removes ownerrefs with conflicting UIDs. Returns true if the input is mutated. Copied from "https://github.com/openshift/library-go/blob/release-4.5/pkg/controller/ownerref.go"

func ErrorIsNoMatchesForKind

func ErrorIsNoMatchesForKind(err error, kind string, version string) bool

ErrorIsNoMatchesForKind ...

func GetAppContainer

func GetAppContainer(containerList []corev1.Container) *corev1.Container

GetAppContainer returns the container that is running the app

func GetConnectToAnnotation

func GetConnectToAnnotation(ba common.BaseApplication) map[string]string

GetConnectToAnnotation returns a map containing a key-value annotatio. The key is `app.openshift.io/connects-to`. The value is a comma-seperated list of applications `ba` is connectiong to based on `spec.service.consumes`.

func GetWatchNamespaces

func GetWatchNamespaces() ([]string, error)

GetWatchNamespaces returns a slice of namespaces the operator should watch based on WATCH_NAMESPSCE value WATCH_NAMESPSCE value could be empty for watching the whole cluster or a comma-separated list of namespaces

func IsClusterWide

func IsClusterWide(watchNamespaces []string) bool

IsClusterWide returns true if watchNamespaces is set to [""]

func MergeMaps

func MergeMaps(maps ...map[string]string) map[string]string

MergeMaps returns a map containing the union of al the key-value pairs from the input maps. The order of the maps passed into the func, defines the importance. e.g. if (keyA, value1) is in map1, and (keyA, value2) is in map2, mergeMaps(map1, map2) would contain (keyA, value2).

func SetCondition

SetCondition ...

func UpdateAppDefinition

func UpdateAppDefinition(labels map[string]string, annotations map[string]string, ba common.BaseApplication)

UpdateAppDefinition adds or removes kAppNav auto-create related annotations/labels

func Validate

func Validate(ba common.BaseApplication) (bool, error)

Validate if the BaseApplication is valid

Types

type EnqueueRequestsForServiceBinding

type EnqueueRequestsForServiceBinding struct {
	handler.Funcs
	WatchNamespaces []string
	GroupName       string
	Client          client.Client
}

EnqueueRequestsForServiceBinding enqueues reconcile Requests for applications affected by the secrets that EventHandler is called for

func (*EnqueueRequestsForServiceBinding) Delete

Delete implements EventHandler

func (*EnqueueRequestsForServiceBinding) Generic

Generic implements EventHandler

func (*EnqueueRequestsForServiceBinding) Update

Update implements EventHandler

type ReconcilerBase

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

ReconcilerBase base reconciler with some common behaviour

func NewReconcilerBase

func NewReconcilerBase(client client.Client, scheme *runtime.Scheme, restConfig *rest.Config, recorder record.EventRecorder) ReconcilerBase

NewReconcilerBase creates a new ReconcilerBase

func (*ReconcilerBase) AsOwner

func (r *ReconcilerBase) AsOwner(rObj runtime.Object, controller bool) (metav1.OwnerReference, error)

AsOwner returns an owner reference object based on the input object. Also can set controller field on the owner ref.

func (*ReconcilerBase) CreateOrUpdate

func (r *ReconcilerBase) CreateOrUpdate(obj metav1.Object, owner metav1.Object, reconcile func() error) error

CreateOrUpdate ...

func (*ReconcilerBase) DeleteResource

func (r *ReconcilerBase) DeleteResource(obj runtime.Object) error

DeleteResource deletes kubernetes resource

func (*ReconcilerBase) DeleteResources

func (r *ReconcilerBase) DeleteResources(resources []runtime.Object) error

DeleteResources ...

func (*ReconcilerBase) GetClient

func (r *ReconcilerBase) GetClient() client.Client

GetClient returns client

func (*ReconcilerBase) GetDiscoveryClient

func (r *ReconcilerBase) GetDiscoveryClient() (discovery.DiscoveryInterface, error)

GetDiscoveryClient ...

func (*ReconcilerBase) GetOpConfigMap

func (r *ReconcilerBase) GetOpConfigMap(name string, ns string) (*corev1.ConfigMap, error)

GetOpConfigMap ...

func (*ReconcilerBase) GetRecorder

func (r *ReconcilerBase) GetRecorder() record.EventRecorder

GetRecorder returns the underlying recorder

func (*ReconcilerBase) GetRouteTLSValues

func (r *ReconcilerBase) GetRouteTLSValues(ba common.BaseApplication) (key string, cert string, ca string, destCa string, err error)

GetRouteTLSValues returns certificate an key values to be used in the route

func (*ReconcilerBase) GetSelectorLabelsFromApplications

func (r *ReconcilerBase) GetSelectorLabelsFromApplications(ba common.BaseApplication) (map[string]string, error)

GetSelectorLabelsFromApplications finds application CRs with the specified name in the BaseApplication's namespace and returns labels in `selector.matchLabels`. If it fails to find in the current namespace, it looks up in the whole cluster and aggregates all labels in `selector.matchLabels`.

func (*ReconcilerBase) GetServiceBindingCreds

func (r *ReconcilerBase) GetServiceBindingCreds(ba common.BaseApplication) (map[string]string, error)

GetServiceBindingCreds returns a map containing username/password string values based on 'cr.spec.service.provides.auth'

func (*ReconcilerBase) IsApplicationSupported

func (r *ReconcilerBase) IsApplicationSupported() bool

IsApplicationSupported checks if Application

func (*ReconcilerBase) IsGroupVersionSupported

func (r *ReconcilerBase) IsGroupVersionSupported(groupVersion string) (bool, error)

IsGroupVersionSupported ...

func (*ReconcilerBase) IsOpenShift

func (r *ReconcilerBase) IsOpenShift() bool

IsOpenShift returns true if the operator is running on an OpenShift platform

func (*ReconcilerBase) ManageError

func (r *ReconcilerBase) ManageError(issue error, conditionType common.StatusConditionType, ba common.BaseApplication) (reconcile.Result, error)

ManageError ...

func (*ReconcilerBase) ManageSuccess

func (r *ReconcilerBase) ManageSuccess(conditionType common.StatusConditionType, ba common.BaseApplication) (reconcile.Result, error)

ManageSuccess ...

func (*ReconcilerBase) ReconcileCertificate

func (r *ReconcilerBase) ReconcileCertificate(ba common.BaseApplication) (reconcile.Result, error)

ReconcileCertificate used to manage cert-manager integration

func (*ReconcilerBase) ReconcileConsumes

func (r *ReconcilerBase) ReconcileConsumes(ba common.BaseApplication) (reconcile.Result, error)

ReconcileConsumes ...

func (*ReconcilerBase) ReconcileProvides

func (r *ReconcilerBase) ReconcileProvides(ba common.BaseApplication) (_ reconcile.Result, err error)

ReconcileProvides ...

func (*ReconcilerBase) SetDiscoveryClient

func (r *ReconcilerBase) SetDiscoveryClient(discovery discovery.DiscoveryInterface)

SetDiscoveryClient ...

func (*ReconcilerBase) SyncSecretAcrossNamespace

func (r *ReconcilerBase) SyncSecretAcrossNamespace(fromSecret *corev1.Secret, namespace string) error

SyncSecretAcrossNamespace syncs up the secret data across a namespace

func (*ReconcilerBase) UpdateStatus

func (r *ReconcilerBase) UpdateStatus(obj runtime.Object) error

UpdateStatus updates the fields corresponding to the status subresource for the object

Jump to

Keyboard shortcuts

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