monolithic

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: May 7, 2024 License: AGPL-3.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildAll

func BuildAll(opts Options) ([]client.Object, error)

BuildAll generates all manifests.

func BuildConfigMap

func BuildConfigMap(opts Options) (*corev1.ConfigMap, map[string]string, error)

BuildConfigMap creates the Tempo ConfigMap for a monolithic deployment.

func BuildGatewayObjects added in v0.10.0

func BuildGatewayObjects(opts Options) ([]client.Object, map[string]string, error)

BuildGatewayObjects builds auxiliary objects required for multitenancy.

Enabling multi-tenancy (multitenancy.enabled=true) and configuring at least one tenant has the following effect on the deployment: * a tempo-$name-gateway ConfigMap (rbac.yaml) and Secret (tenants.yaml) will be created * a tempo-gateway container is added to the StatefulSet * a tempo-$name-gateway service will be created and the tempo-$name and tempo-$name-jaegerui will be removed

additionally, if mode=openshift * a tempo-gateway-opa container is added to the StatefulSet * the ServiceAccount will get additional annotations (serviceaccounts.openshift.io/oauth-redirectreference.$tenantName) * a ClusterRole (tokenreviews/create and subjectaccessreviews/create) and ClusterRoleBinding will be created for the ServiceAccount.

func BuildGrafanaDatasource added in v0.9.0

func BuildGrafanaDatasource(opts Options) *grafanav1.GrafanaDatasource

BuildGrafanaDatasource create a Grafana data source.

func BuildJaegerUIIngress added in v0.9.0

func BuildJaegerUIIngress(opts Options) *networkingv1.Ingress

BuildJaegerUIIngress creates a Ingress object for Jaeger UI.

func BuildJaegerUIRoute added in v0.9.0

func BuildJaegerUIRoute(opts Options) (*routev1.Route, error)

BuildJaegerUIRoute creates a Route object for Jaeger UI.

func BuildPrometheusRules added in v0.9.0

func BuildPrometheusRules(opts Options) ([]client.Object, error)

BuildPrometheusRules creates PrometheusRule objects.

func BuildServiceAccount added in v0.9.0

func BuildServiceAccount(opts Options) *corev1.ServiceAccount

BuildServiceAccount creates a Kubernetes service account for Tempo.

func BuildServiceMonitor added in v0.9.0

func BuildServiceMonitor(opts Options) *monitoringv1.ServiceMonitor

BuildServiceMonitor creates a ServiceMonitor.

func BuildServices added in v0.10.0

func BuildServices(opts Options) []client.Object

BuildServices creates all services for a monolithic deployment.

func BuildTempoStatefulset

func BuildTempoStatefulset(opts Options, extraAnnotations map[string]string) (*appsv1.StatefulSet, error)

BuildTempoStatefulset creates the Tempo statefulset for a monolithic deployment.

func CommonLabels added in v0.9.0

func CommonLabels(instanceName string) map[string]string

CommonLabels returns common labels for each TempoMonolithic object created by the operator.

func ComponentLabels added in v0.9.0

func ComponentLabels(component, instanceName string) labels.Set

ComponentLabels is a list of all commonLabels including the app.kubernetes.io/component:<component> label.

Types

type Options

type Options struct {
	CtrlConfig          configv1alpha1.ProjectConfig
	Tempo               v1alpha1.TempoMonolithic
	StorageParams       manifestutils.StorageParams
	GatewayTenantSecret []*manifestutils.GatewayTenantOIDCSecret
	GatewayTenantsData  []*manifestutils.GatewayTenantsData
	TLSProfile          tlsprofile.TLSProfileOptions
}

Options defines calculated options required to generate all manifests.

Jump to

Keyboard shortcuts

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