webhosting

package
v0.0.0-...-3e6d526 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ControllerName = "website"
)

Variables

View Source
var ConfigMapDataChanged = predicate.Funcs{
	UpdateFunc: func(e event.UpdateEvent) bool {
		if e.ObjectOld == nil || e.ObjectNew == nil {
			return false
		}

		oldConfigMap, ok := e.ObjectOld.(*corev1.ConfigMap)
		if !ok {
			return false
		}
		newConfigMap, ok := e.ObjectNew.(*corev1.ConfigMap)
		if !ok {
			return false
		}
		return !apiequality.Semantic.DeepEqual(oldConfigMap.Data, newConfigMap.Data)
	},
}

ConfigMapDataChanged is a predicate for filtering relevant ConfigMap events. Similar to predicate.GenerationChangedPredicate (ConfigMaps don't have a generation).

View Source
var DeploymentAvailabilityChanged = predicate.Funcs{
	UpdateFunc: func(e event.UpdateEvent) bool {
		if e.ObjectOld == nil || e.ObjectNew == nil {
			return false
		}

		oldDeployment, ok := e.ObjectOld.(*appsv1.Deployment)
		if !ok {
			return false
		}
		newDeployment, ok := e.ObjectNew.(*appsv1.Deployment)
		if !ok {
			return false
		}

		return utils.IsDeploymentReady(oldDeployment) != utils.IsDeploymentReady(newDeployment)
	},
}

DeploymentAvailabilityChanged is a predicate for filtering relevant Deployment events.

Functions

func SilenceConflicts

func SilenceConflicts(r reconcile.Reconciler) reconcile.Reconciler

SilenceConflicts wraps a reconciler to not return conflict errors. The requests is requeued with exponential backoff as if an error was returned but the error will not be logged.

Types

type WebsiteReconciler

type WebsiteReconciler struct {
	Client   client.Client
	Scheme   *runtime.Scheme
	Recorder record.EventRecorder

	Config *configv1alpha1.WebhostingOperatorConfig
	// contains filtered or unexported fields
}

WebsiteReconciler reconciles a Website object.

func (*WebsiteReconciler) ConfigMapForWebsite

func (r *WebsiteReconciler) ConfigMapForWebsite(serverName string, website *webhostingv1alpha1.Website, theme *webhostingv1alpha1.Theme) (*corev1.ConfigMap, error)

ConfigMapForWebsite creates a ConfigMap object to be applied for the given website.

func (*WebsiteReconciler) DeploymentForWebsite

func (r *WebsiteReconciler) DeploymentForWebsite(serverName string, website *webhostingv1alpha1.Website, configMap *corev1.ConfigMap) (*appsv1.Deployment, error)

DeploymentForWebsite creates a Deployment object to be applied for the given website.

func (*WebsiteReconciler) IngressForWebsite

func (r *WebsiteReconciler) IngressForWebsite(serverName string, website *webhostingv1alpha1.Website) (*networkingv1.Ingress, error)

IngressForWebsite creates a Ingress object to be applied for the given website.

func (*WebsiteReconciler) MapThemeToWebsites

func (r *WebsiteReconciler) MapThemeToWebsites(ctx context.Context, theme client.Object) []reconcile.Request

MapThemeToWebsites maps a theme to all websites that use it.

func (*WebsiteReconciler) Reconcile

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

Reconcile reconciles a Website object.

func (*WebsiteReconciler) ServiceForWebsite

func (r *WebsiteReconciler) ServiceForWebsite(serverName string, website *webhostingv1alpha1.Website) (*corev1.Service, error)

ServiceForWebsite creates a Service object to be applied for the given website.

func (*WebsiteReconciler) SetupWithManager

func (r *WebsiteReconciler) SetupWithManager(mgr ctrl.Manager, enableSharding bool, clusterRingName, shardName string) error

SetupWithManager sets up the controller with the Manager.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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