Documentation ¶
Index ¶
- Constants
- Variables
- func Add(mgr manager.Manager) error
- type GrafanaParameters
- type IniConfig
- type PluginsHelperImpl
- func (h *PluginsHelperImpl) BuildEnv(cr *integreatly.Grafana) string
- func (h *PluginsHelperImpl) CanUpdatePlugins() bool
- func (h *PluginsHelperImpl) FilterPlugins(cr *integreatly.Grafana, requested integreatly.PluginList) (integreatly.PluginList, bool)
- func (h *PluginsHelperImpl) PickLatestVersions(requested integreatly.PluginList) (integreatly.PluginList, error)
- func (h *PluginsHelperImpl) PluginExists(plugin integreatly.GrafanaPlugin) bool
- type ReconcileGrafana
- func (r *ReconcileGrafana) Reconcile(request reconcile.Request) (reconcile.Result, error)
- func (r *ReconcileGrafana) ReconcileDashboardPlugins(cr *i8ly.Grafana) error
- func (r *ReconcileGrafana) ReconcileGrafana(cr *i8ly.Grafana) (reconcile.Result, error)
- func (r *ReconcileGrafana) ReconcilePlugins(cr *i8ly.Grafana, plugins []i8ly.GrafanaPlugin) error
- type ResourceHelper
- type TemplateHelper
- type UnstructuredResourceMap
Constants ¶
const ( PathsSectionName = "paths" SecuritySectionName = "security" LogSectionName = "log" AuthSectionName = "auth" AuthBasicSectionName = "auth.basic" AuthAnonymousSectionName = "auth.anonymous" )
const ( PhaseConfigFiles int = iota PhaseInstallGrafana PhaseDone PhaseReconcile )
const (
// DefaultLogLevel is the default logging level
DefaultLogLevel = "info"
)
const OpenShiftOAuthRedirect = "serviceaccounts.openshift.io/oauth-redirectreference.primary"
Variables ¶
var MockCR = v1alpha1.Grafana{ ObjectMeta: v1.ObjectMeta{ Name: "test", Namespace: "dummy", }, Spec: v1alpha1.GrafanaSpec{ Containers: []v12.Container{}, }, }
var MockDashboard = v1alpha1.GrafanaDashboard{ Status: v1alpha1.GrafanaDashboardStatus{ Messages: []v1alpha1.GrafanaDashboardStatusMessage{}, }, }
var MockGrafana = v1alpha1.Grafana{ Status: v1alpha1.GrafanaStatus{ Phase: 0, InstalledPlugins: v1alpha1.PluginList{}, }, }
var MockPluginList = v1alpha1.PluginList{Mockplugina100, Mockplugina101, Mockpluginb100}
var Mockplugina100 = v1alpha1.GrafanaPlugin{
Name: "a",
Version: "1.0.0",
}
var Mockplugina101 = v1alpha1.GrafanaPlugin{
Name: "a",
Version: "1.0.1",
}
var Mockplugina102 = v1alpha1.GrafanaPlugin{
Name: "a",
Version: "1.0.2",
}
var Mockpluginb100 = v1alpha1.GrafanaPlugin{
Name: "b",
Version: "1.0.0",
}
var Mockpluginc100 = v1alpha1.GrafanaPlugin{
Name: "c",
Version: "1.0.0",
}
Functions ¶
Types ¶
type GrafanaParameters ¶
type GrafanaParameters struct { AdminPassword string AdminUser string Anonymous bool BasicAuth bool DisableLoginForm bool DisableSignoutMenu bool GrafanaConfigHash string GrafanaConfigMapName string GrafanaDashboardsConfigMapName string GrafanaDatasourcesConfigMapName string GrafanaDeploymentName string GrafanaImage string GrafanaIngressAnnotations map[string]string GrafanaIngressLabels map[string]string GrafanaIngressName string GrafanaIngressPath string GrafanaProvidersConfigMapName string GrafanaRouteName string GrafanaServiceAccountName string GrafanaServiceAnnotations map[string]string GrafanaServiceLabels map[string]string GrafanaServiceName string GrafanaServiceType string GrafanaVersion string Hostname string LogLevel string Namespace string PluginsInitContainerImage string PluginsInitContainerTag string PodLabelValue string Replicas int }
GrafanaParameters provides the context for the template
type PluginsHelperImpl ¶
func (*PluginsHelperImpl) BuildEnv ¶
func (h *PluginsHelperImpl) BuildEnv(cr *integreatly.Grafana) string
Turns an array of plugins into a string representation of the form `<name>:<version>,...` that is used as the value for the GRAFANA_PLUGINS environment variable
func (*PluginsHelperImpl) CanUpdatePlugins ¶
func (h *PluginsHelperImpl) CanUpdatePlugins() bool
func (*PluginsHelperImpl) FilterPlugins ¶
func (h *PluginsHelperImpl) FilterPlugins(cr *integreatly.Grafana, requested integreatly.PluginList) (integreatly.PluginList, bool)
Creates the list of plugins that can be added or updated Does not directly deal with removing plugins: if a plugin is not in the list and the env var is updated, it will automatically be removed
func (*PluginsHelperImpl) PickLatestVersions ¶
func (h *PluginsHelperImpl) PickLatestVersions(requested integreatly.PluginList) (integreatly.PluginList, error)
Append a status message to the origin dashboard of a plugin
func (*PluginsHelperImpl) PluginExists ¶
func (h *PluginsHelperImpl) PluginExists(plugin integreatly.GrafanaPlugin) bool
Query the Grafana plugin database for the given plugin and version A 200 OK response indicates that the plugin exists and can be downloaded
type ReconcileGrafana ¶
type ReconcileGrafana struct {
// contains filtered or unexported fields
}
ReconcileGrafana reconciles a Grafana object
func (*ReconcileGrafana) Reconcile ¶
Reconcile reads that state of the cluster for a Grafana object and makes changes based on the state read and what is in the Grafana.Spec
func (*ReconcileGrafana) ReconcileDashboardPlugins ¶
func (r *ReconcileGrafana) ReconcileDashboardPlugins(cr *i8ly.Grafana) error
ReconcileDashboardPlugins is responsible for reconciling the grafana dashboards
func (*ReconcileGrafana) ReconcileGrafana ¶
ReconcileGrafana is constantly reconcile the grafana config and plugins
func (*ReconcileGrafana) ReconcilePlugins ¶
func (r *ReconcileGrafana) ReconcilePlugins(cr *i8ly.Grafana, plugins []i8ly.GrafanaPlugin) error
type ResourceHelper ¶
type ResourceHelper struct {
// contains filtered or unexported fields
}
Helps with creating kubernetes resources from yaml templates
type TemplateHelper ¶
type TemplateHelper struct { Parameters GrafanaParameters TemplatePath string }
TemplateHelper is the deployment helper object
type UnstructuredResourceMap ¶
type UnstructuredResourceMap struct {
Values map[string]interface{}
}
An abstraction type that allows easier access to the contents of an unstructured resource