Documentation
¶
Index ¶
- func BuildAll(opts Options) ([]client.Object, error)
- func BuildConfigMap(opts Options) (*corev1.ConfigMap, map[string]string, error)
- func BuildGatewayObjects(opts Options) ([]client.Object, map[string]string, error)
- func BuildGrafanaDatasource(opts Options) *grafanav1.GrafanaDatasource
- func BuildJaegerUIIngress(opts Options) *networkingv1.Ingress
- func BuildJaegerUIRoute(opts Options) (*routev1.Route, error)
- func BuildPrometheusRules(opts Options) ([]client.Object, error)
- func BuildServiceAccount(opts Options) *corev1.ServiceAccount
- func BuildServiceMonitor(opts Options) *monitoringv1.ServiceMonitor
- func BuildServices(opts Options) []client.Object
- func BuildTempoStatefulset(opts Options, extraAnnotations map[string]string) (*appsv1.StatefulSet, error)
- func CommonLabels(instanceName string) map[string]string
- func ComponentLabels(component, instanceName string) labels.Set
- type Options
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildConfigMap ¶
BuildConfigMap creates the Tempo ConfigMap for a monolithic deployment.
func BuildGatewayObjects ¶ added in v0.10.0
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
BuildJaegerUIRoute creates a Route object for Jaeger UI.
func BuildPrometheusRules ¶ added in v0.9.0
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
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
CommonLabels returns common labels for each TempoMonolithic object created by the operator.
func ComponentLabels ¶ added in v0.9.0
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.