monitoring-agent-api: kmodules.xyz/monitoring-agent-api/api/v1 Index | Files

package v1

import "kmodules.xyz/monitoring-agent-api/api/v1"

+k8s:deepcopy-gen=package +k8s:openapi-gen=true

Index

Package Files

doc.go openapi_generated.go types.go zz_generated.deepcopy.go

Constants

const (
    KeyAgent   = "monitoring.appscode.com/agent"
    KeyService = "monitoring.appscode.com/service"

    VendorPrometheus                 = "prometheus.io"
    AgentPrometheusBuiltin AgentType = VendorPrometheus + "/builtin"
    AgentCoreOSPrometheus  AgentType = VendorPrometheus + "/coreos-operator"
    // Deprecated
    DeprecatedAgentCoreOSPrometheus AgentType = "coreos-prometheus-operator"
)

func GetOpenAPIDefinitions Uses

func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition

type Agent Uses

type Agent interface {
    GetType() AgentType
    CreateOrUpdate(sp StatsAccessor, spec *AgentSpec) (kutil.VerbType, error)
    Delete(sp StatsAccessor) (kutil.VerbType, error)
}

type AgentSpec Uses

type AgentSpec struct {
    Agent      AgentType       `json:"agent,omitempty"`
    Prometheus *PrometheusSpec `json:"prometheus,omitempty"`
    // Arguments to the entrypoint.
    // The docker image's CMD is used if this is not provided.
    // Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
    // cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax
    // can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
    // regardless of whether the variable exists or not.
    // Cannot be updated.
    // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
    // +optional
    Args []string `json:"args,omitempty"`
    // List of environment variables to set in the container.
    // Cannot be updated.
    // +optional
    // +patchMergeKey=name
    // +patchStrategy=merge
    Env []core.EnvVar `json:"env,omitempty" patchStrategy:"merge" patchMergeKey:"name"`
    // Compute Resources required by exporter container.
    // Cannot be updated.
    // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
    // +optional
    Resources core.ResourceRequirements `json:"resources,omitempty"`
    // Security options the pod should run with.
    // More info: https://kubernetes.io/docs/concepts/policy/security-context/
    // More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
    // +optional
    SecurityContext *core.SecurityContext `json:"securityContext,omitempty"`
}

func (*AgentSpec) DeepCopy Uses

func (in *AgentSpec) DeepCopy() *AgentSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentSpec.

func (*AgentSpec) DeepCopyInto Uses

func (in *AgentSpec) DeepCopyInto(out *AgentSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AgentType Uses

type AgentType string

func (AgentType) Vendor Uses

func (at AgentType) Vendor() string

type PrometheusSpec Uses

type PrometheusSpec struct {
    // Port number for the exporter side car.
    Port int32 `json:"port,omitempty"`

    // Namespace of Prometheus. Service monitors will be created in this namespace.
    Namespace string `json:"namespace,omitempty"`
    // Labels are key value pairs that is used to select Prometheus instance via ServiceMonitor labels.
    // +optional
    Labels map[string]string `json:"labels,omitempty"`

    // Interval at which metrics should be scraped
    Interval string `json:"interval,omitempty"`
}

func (*PrometheusSpec) DeepCopy Uses

func (in *PrometheusSpec) DeepCopy() *PrometheusSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusSpec.

func (*PrometheusSpec) DeepCopyInto Uses

func (in *PrometheusSpec) DeepCopyInto(out *PrometheusSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatsAccessor Uses

type StatsAccessor interface {
    GetNamespace() string
    ServiceName() string
    ServiceMonitorName() string
    Path() string
    // Scheme is used to determine url scheme /metrics endpoint
    Scheme() string
}

Package v1 imports 5 packages (graph) and is imported by 41 packages. Updated 2019-06-11. Refresh now. Tools for package owners.