Documentation ¶
Index ¶
- Constants
- Variables
- func Add(mgr manager.Manager) error
- type GrafanaParamaeters
- 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
- func (r *ReconcileGrafana) UpdateDashboardMessages(plugins i8ly.PluginList) 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 = "info"
)
const OpenShiftOAuthRedirect = "serviceaccounts.openshift.io/oauth-redirectreference.primary"
const ReconcilePauseSeconds = 5
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 GrafanaParamaeters ¶
type GrafanaParamaeters struct { GrafanaImage string GrafanaVersion string Namespace string GrafanaConfigMapName string GrafanaProvidersConfigMapName string GrafanaDatasourcesConfigMapName string GrafanaDashboardsConfigMapName string GrafanaServiceAccountName string GrafanaDeploymentName string LogLevel string GrafanaRouteName string GrafanaServiceName string PluginsInitContainerImage string PluginsInitContainerTag string GrafanaIngressName string Hostname string AdminUser string AdminPassword string BasicAuth bool DisableLoginForm bool DisableSignoutMenu bool Anonymous bool }
type IniConfig ¶ added in v1.2.0
func NewIniConfig ¶ added in v1.2.0
func (*IniConfig) DiffersFrom ¶ added in v1.2.0
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
func (*ReconcileGrafana) ReconcileGrafana ¶ added in v1.2.0
Constantly reconcile the grafana config and plugins
func (*ReconcileGrafana) ReconcilePlugins ¶
func (r *ReconcileGrafana) ReconcilePlugins(cr *i8ly.Grafana, plugins []i8ly.GrafanaPlugin) error
func (*ReconcileGrafana) UpdateDashboardMessages ¶
func (r *ReconcileGrafana) UpdateDashboardMessages(plugins i8ly.PluginList) 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 GrafanaParamaeters TemplatePath string }
type UnstructuredResourceMap ¶
type UnstructuredResourceMap struct {
Values map[string]interface{}
}
An abstraction type that allows easier access to the contents of an unstructured resource