Documentation
¶
Index ¶
Constants ¶
View Source
const ( ScaleAction = "scale" StartAction = "start" StopAction = "stop" ResetAction = "reset" UpgradeAction = "upgrade" )
Variables ¶
View Source
var Module = module.Descriptor{ Kind: "firehose", Dependencies: map[string]string{ // contains filtered or unexported fields }, Actions: []module.ActionDesc{ { Name: module.CreateAction, Description: "Creates a new firehose", }, { Name: module.UpdateAction, Description: "Update all configurations of firehose", }, { Name: ResetAction, Description: "Stop firehose, reset consumer group, restart", }, { Name: StopAction, Description: "Stop all replicas of this firehose.", }, { Name: StartAction, Description: "Start the firehose if it is currently stopped.", }, { Name: ScaleAction, Description: "Scale the number of replicas to given number.", }, { Name: UpgradeAction, Description: "Upgrade firehose version", }, }, DriverFactory: func(confJSON json.RawMessage) (module.Driver, error) { conf := defaultDriverConf if err := json.Unmarshal(confJSON, &conf); err != nil { return nil, err } else if err := validator.TaggedStruct(conf); err != nil { return nil, err } return &firehoseDriver{ conf: conf, timeNow: time.Now, kubeDeploy: func(_ context.Context, isCreate bool, kubeConf kube.Config, hc helm.ReleaseConfig) error { helmCl := helm.NewClient(&helm.Config{Kubernetes: kubeConf}) var errHelm error if isCreate { _, errHelm = helmCl.Create(&hc) } else { _, errHelm = helmCl.Update(&hc) } return errHelm }, kubeGetPod: func(ctx context.Context, conf kube.Config, ns string, labels map[string]string) ([]kube.Pod, error) { kubeCl := kube.NewClient(conf) return kubeCl.GetPodDetails(ctx, ns, labels) }, consumerReset: consumerReset, }, nil }, }
Functions ¶
This section is empty.
Types ¶
type ChartValues ¶
type Config ¶
type Config struct { Stopped bool `json:"stopped"` StopTime *time.Time `json:"stop_time,omitempty"` Telegraf *Telegraf `json:"telegraf,omitempty"` Replicas int `json:"replicas"` Namespace string `json:"namespace,omitempty"` DeploymentID string `json:"deployment_id,omitempty"` ChartValues *ChartValues `json:"chart_values,omitempty"` EnvVariables map[string]string `json:"env_variables,omitempty"` }
Click to show internal directories.
Click to hide internal directories.