Changed the deployment to just the prometheus operator.
This commit is contained in:
parent
5ae390bcea
commit
b8b0fc6765
30 changed files with 8 additions and 2026 deletions
|
@ -24,59 +24,15 @@
|
|||
- name: Copy files
|
||||
copy: src={{roles_path}}/openshift-apps/application-monitoring/files/ dest=/etc/openshift_apps/application-monitoring/
|
||||
|
||||
- name: AMO CRD
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/application-monitoring-operator/deploy/crds/applicationmonitoring.integreatly.org_applicationmonitorings_crd.yaml
|
||||
- name: Prometheus CRDs
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/prometheus-operator/example/prometheus-operator-crd/
|
||||
|
||||
- name: AMO Cluster Roles & RoleBindings
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/application-monitoring-operator/deploy/cluster-roles
|
||||
- name: Prometheus CRD RBAC
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/prometheus-operator/example/rbac/prometheus-operator-crd/
|
||||
|
||||
- name: AMO Cluster Roles & RoleBindings - service_account.yaml
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/application-monitoring-operator/deploy/service_account.yaml
|
||||
- name: Prometheus Operator RBAC
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/prometheus-operator/example/rbac/prometheus-operator/
|
||||
|
||||
- name: AMO Cluster Roles & RoleBindings - service_account.yaml
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/application-monitoring-operator/deploy/service_account.yaml
|
||||
- name: Prometheus RBAC
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/prometheus-operator/example/rbac/prometheus/
|
||||
|
||||
- name: AMO Cluster Roles & RoleBindings - role.yaml
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/application-monitoring-operator/deploy/role.yaml
|
||||
|
||||
- name: AMO Cluster Roles & RoleBindings - role_binding.yaml
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/application-monitoring-operator/deploy/role_binding.yaml
|
||||
|
||||
- name: AMO CRD - BLACKBOX
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/application-monitoring-operator/deploy/crds/applicationmonitoring.integreatly.org_blackboxtargets_crd.yaml
|
||||
|
||||
- name: Grafana CRDs - Grafana.yml
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/grafana-operator/deploy/crds/Grafana.yaml
|
||||
|
||||
- name: Grafana CRDs - GrafanaDashboard.yml
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/grafana-operator/deploy/crds/GrafanaDashboard.yaml
|
||||
|
||||
- name: Grafana CRDs - GrafanaDataSource.yml
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/grafana-operator/deploy/crds/GrafanaDataSource.yaml
|
||||
|
||||
- name: Prometheus CRDs - monitoring.coreos.com_podmonitors.yaml
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/prometheus-operator/example/rbac/prometheus-operator-crd/prometheus-operator-cluster-roles.yaml
|
||||
|
||||
- name: Prometheus CRDs - monitoring.coreos.com_podmonitors.yaml
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/prometheus-operator/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
|
||||
|
||||
- name: Prometheus CRDs - monitoring.coreos.com_prometheuses.yaml
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/prometheus-operator/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml
|
||||
|
||||
- name: Prometheus CRDs - monitoring.coreos.com_alertmanagers.yaml
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/prometheus-operator/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
|
||||
|
||||
- name: Prometheus CRDs - monitoring.coreos.com_prometheusrules.yaml
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/prometheus-operator/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
|
||||
|
||||
- name: Prometheus CRDs - monitoring.coreos.com_servicemonitors.yaml
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/prometheus-operator/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
|
||||
|
||||
- name: Prometheus CRDs - monitoring.coreos.com_thanosrulers.yaml
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/prometheus-operator/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml
|
||||
|
||||
- name: Operator deployment
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/application-monitoring-operator/deploy/operator.yaml
|
||||
|
||||
- name: ApplicationMonitoring deployment
|
||||
command: oc -n application-monitoring apply -f /etc/openshift_apps/application-monitoring/application-monitoring-operator/deploy/examples/ApplicationMonitoring.yaml
|
||||
|
|
|
@ -1,120 +0,0 @@
|
|||
ORG ?= integreatly
|
||||
NAMESPACE ?= application-monitoring
|
||||
PROJECT ?= application-monitoring-operator
|
||||
REG=quay.io
|
||||
SHELL=/bin/bash
|
||||
PKG=github.com/integr8ly/application-monitoring-operator
|
||||
TEST_DIRS?=$(shell sh -c "find $(TOP_SRC_DIRS) -name \\*_test.go -exec dirname {} \\; | sort | uniq")
|
||||
TEST_POD_NAME=application-monitoring-operator-test
|
||||
COMPILE_TARGET=./tmp/_output/bin/$(PROJECT)
|
||||
# PROMETHEUS_OPERATOR_VERSION is used at install time to import crds
|
||||
# After v0.34.0 the file names for the resources change
|
||||
# If you are updating this version you will need to update the file names in ./scripts/install.sh too
|
||||
# You can delete this comment afterwards.
|
||||
PROMETHEUS_OPERATOR_VERSION=v0.34.0
|
||||
LOCAL=local
|
||||
GRAFANA_OPERATOR_VERSION=v3.8.1
|
||||
AMO_VERSION=1.5.0
|
||||
PREV_AMO_VERSION=1.4.0
|
||||
|
||||
AUTH_TOKEN=$(shell curl -sH "Content-Type: application/json" -XPOST https://quay.io/cnr/api/v1/users/login -d '{"user": {"username": "$(QUAY_USERNAME)", "password": "${QUAY_PASSWORD}"}}' | jq -r '.token')
|
||||
|
||||
|
||||
.PHONY: setup/gomod
|
||||
setup/gomod:
|
||||
@echo Running go.mod tidy
|
||||
@go mod tidy
|
||||
@echo Running go.mod vendor
|
||||
@go mod vendor
|
||||
|
||||
.PHONY: setup/travis
|
||||
setup/travis:
|
||||
@echo Installing Operator SDK
|
||||
@curl -Lo operator-sdk https://github.com/operator-framework/operator-sdk/releases/download/v0.8.1/operator-sdk-v0.8.1-x86_64-linux-gnu && chmod +x operator-sdk && sudo mv operator-sdk /usr/local/bin/
|
||||
|
||||
.PHONY: code/run
|
||||
code/run:
|
||||
@operator-sdk up local --namespace=${NAMESPACE}
|
||||
|
||||
.PHONY: code/compile
|
||||
code/compile:
|
||||
@GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o=$(COMPILE_TARGET) ./cmd/manager
|
||||
|
||||
.PHONY: code/gen
|
||||
code/gen:
|
||||
operator-sdk generate k8s
|
||||
|
||||
.PHONY: gen/csv
|
||||
gen/csv:
|
||||
sed -i.bak 's/image:.*/image: quay\.io\/integreatly\/application-monitoring-operator:v$(AMO_VERSION)/g' deploy/operator.yaml && rm deploy/operator.yaml.bak
|
||||
@operator-sdk generate csv --operator-name=application-monitoring-operator --csv-version $(AMO_VERSION) --from-version $(PREV_AMO_VERSION) --update-crds --csv-channel=integreatly --default-channel
|
||||
@sed -i.bak 's/$(PREV_AMO_VERSION)/$(AMO_VERSION)/g' deploy/olm-catalog/application-monitoring-operator/application-monitoring-operator.package.yaml && rm deploy/olm-catalog/application-monitoring-operator/application-monitoring-operator.package.yaml.bak
|
||||
@sed -i.bak s/application-monitoring-operator:v$(PREV_AMO_VERSION)/application-monitoring-operator:v$(AMO_VERSION)/g deploy/olm-catalog/application-monitoring-operator/$(AMO_VERSION)/application-monitoring-operator.v$(AMO_VERSION).clusterserviceversion.yaml && rm deploy/olm-catalog/application-monitoring-operator/$(AMO_VERSION)/application-monitoring-operator.v$(AMO_VERSION).clusterserviceversion.yaml.bak
|
||||
|
||||
.PHONY: code/check
|
||||
code/check:
|
||||
@diff -u <(echo -n) <(gofmt -d `find . -type f -name '*.go' -not -path "./vendor/*"`)
|
||||
|
||||
.PHONY: code/fix
|
||||
code/fix:
|
||||
@gofmt -w `find . -type f -name '*.go' -not -path "./vendor/*"`
|
||||
|
||||
.PHONY: image/build
|
||||
image/build: code/compile
|
||||
@operator-sdk build ${REG}/${ORG}/${PROJECT}:${AMO_VERSION}
|
||||
|
||||
.PHONY: image/push
|
||||
image/push:
|
||||
docker push ${REG}/${ORG}/${PROJECT}:${AMO_VERSION}
|
||||
|
||||
.PHONY: image/build/push
|
||||
image/build/push: image/build image/push
|
||||
|
||||
.PHONY: image/build/test
|
||||
image/build/test:
|
||||
operator-sdk build --enable-tests ${REG}/${ORG}/${PROJECT}:${AMO_VERSION}
|
||||
|
||||
.PHONY: test/unit
|
||||
test/unit:
|
||||
@echo Running tests:
|
||||
go test -v -race -cover ./pkg/...
|
||||
|
||||
.PHONY: test/e2e
|
||||
test/e2e:
|
||||
kubectl apply -f deploy/test-e2e-pod.yaml -n ${PROJECT}
|
||||
${SHELL} ./scripts/stream-pod ${TEST_POD_NAME} ${PROJECT}
|
||||
|
||||
.PHONY: cluster/prepare
|
||||
cluster/prepare:
|
||||
-kubectl apply -f deploy/crds/
|
||||
-oc new-project $(NAMESPACE)
|
||||
|
||||
.PHONY: cluster/clean
|
||||
cluster/clean:
|
||||
-kubectl delete -n $(NAMESPACE) --all blackboxtargets
|
||||
-kubectl delete -n $(NAMESPACE) --all grafanadashboards
|
||||
-kubectl delete -n $(NAMESPACE) --all grafanadatasources
|
||||
-kubectl delete -n $(NAMESPACE) --all applicationmonitorings
|
||||
-kubectl delete -f ./deploy/cluster-roles
|
||||
-kubectl delete crd grafanas.integreatly.org
|
||||
-kubectl delete crd grafanadashboards.integreatly.org
|
||||
-kubectl delete crd grafanadatasources.integreatly.org
|
||||
-kubectl delete crd blackboxtargets.applicationmonitoring.integreatly.org
|
||||
-kubectl delete crd applicationmonitorings.applicationmonitoring.integreatly.org
|
||||
-kubectl delete namespace $(NAMESPACE)
|
||||
|
||||
.PHONY: cluster/create/examples
|
||||
cluster/create/examples:
|
||||
-kubectl create -f deploy/examples/ApplicationMonitoring.yaml -n $(NAMESPACE)
|
||||
|
||||
.PHONY: cluster/install
|
||||
cluster/install:
|
||||
./scripts/install.sh ${PROMETHEUS_OPERATOR_VERSION} ${GRAFANA_OPERATOR_VERSION}
|
||||
|
||||
.PHONY: cluster/install/local
|
||||
cluster/install/local:
|
||||
./scripts/install.sh ${PROMETHEUS_OPERATOR_VERSION} ${GRAFANA_OPERATOR_VERSION} ${LOCAL}
|
||||
|
||||
.PHONY: manifest/push
|
||||
manifest/push:
|
||||
@operator-courier --verbose push deploy/olm-catalog/application-monitoring-operator/ $(ORG) $(PROJECT) $(AMO_VERSION) "$(AUTH_TOKEN)"
|
|
@ -1 +0,0 @@
|
|||
These roles are meant to be created by the Integr8ly installer. They are included here for reference or when you wish to deploy the monitoring stack outside of Integr8ly.
|
|
@ -1,17 +0,0 @@
|
|||
apiVersion: authorization.openshift.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: alertmanager-application-monitoring
|
||||
rules:
|
||||
- apiGroups:
|
||||
- authentication.k8s.io
|
||||
resources:
|
||||
- tokenreviews
|
||||
verbs:
|
||||
- create
|
||||
- apiGroups:
|
||||
- authorization.k8s.io
|
||||
resources:
|
||||
- subjectaccessreviews
|
||||
verbs:
|
||||
- create
|
|
@ -1,13 +0,0 @@
|
|||
apiVersion: authorization.openshift.io/v1
|
||||
groupNames: null
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: alertmanager-application-monitoring
|
||||
roleRef:
|
||||
name: alertmanager-application-monitoring
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: alertmanager-service-account
|
||||
namespace: application-monitoring
|
||||
userNames:
|
||||
- system:serviceaccount:application-monitoring:alertmanager-service-account
|
|
@ -1,23 +0,0 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: grafana-operator
|
||||
rules:
|
||||
- apiGroups:
|
||||
- integreatly.org
|
||||
resources:
|
||||
- grafanadashboards
|
||||
- grafanadashboards/status
|
||||
verbs: ['get', 'list', 'update', 'watch']
|
||||
- apiGroups:
|
||||
- authentication.k8s.io
|
||||
resources:
|
||||
- tokenreviews
|
||||
verbs:
|
||||
- create
|
||||
- apiGroups:
|
||||
- authorization.k8s.io
|
||||
resources:
|
||||
- subjectaccessreviews
|
||||
verbs:
|
||||
- create
|
|
@ -1,12 +0,0 @@
|
|||
apiVersion: authorization.openshift.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: grafana-operator
|
||||
roleRef:
|
||||
name: grafana-operator
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: grafana-operator
|
||||
namespace: application-monitoring
|
||||
userNames:
|
||||
- system:serviceaccount:application-monitoring:grafana-operator
|
|
@ -1,31 +0,0 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: prometheus-application-monitoring
|
||||
rules:
|
||||
- apiGroups:
|
||||
- authentication.k8s.io
|
||||
resources:
|
||||
- tokenreviews
|
||||
verbs:
|
||||
- create
|
||||
- apiGroups:
|
||||
- authorization.k8s.io
|
||||
resources:
|
||||
- subjectaccessreviews
|
||||
verbs:
|
||||
- create
|
||||
- apiGroups: [""]
|
||||
resources:
|
||||
- nodes
|
||||
- services
|
||||
- endpoints
|
||||
- pods
|
||||
verbs: ["get", "list", "watch"]
|
||||
- apiGroups: [""]
|
||||
resources:
|
||||
- configmaps
|
||||
- namespaces # Required to get through the alertmanager oauth proxy
|
||||
verbs: ["get"]
|
||||
- nonResourceURLs: ["/metrics"]
|
||||
verbs: ["get"]
|
|
@ -1,14 +0,0 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: prometheus-application-monitoring
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: prometheus-application-monitoring
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: prometheus-service-account
|
||||
namespace: application-monitoring
|
||||
userNames:
|
||||
- system:serviceaccount:application-monitoring:prometheus-service-account
|
|
@ -1,68 +0,0 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: prometheus-application-monitoring-operator
|
||||
rules:
|
||||
- apiGroups:
|
||||
- apiextensions.k8s.io
|
||||
resources:
|
||||
- customresourcedefinitions
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- monitoring.coreos.com
|
||||
resources:
|
||||
- alertmanagers
|
||||
- prometheuses
|
||||
- thanosrulers
|
||||
- prometheuses/finalizers
|
||||
- alertmanagers/finalizers
|
||||
- thanosrulers/finalizers
|
||||
- servicemonitors
|
||||
- prometheusrules
|
||||
- podmonitors
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- apps
|
||||
resources:
|
||||
- statefulsets
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- configmaps
|
||||
- secrets
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods
|
||||
verbs:
|
||||
- list
|
||||
- delete
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- services
|
||||
- endpoints
|
||||
- services/finalizers
|
||||
verbs:
|
||||
- "*"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- nodes
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- namespaces
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
|
@ -1,14 +0,0 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: prometheus-application-monitoring-operator
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: prometheus-application-monitoring-operator
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: prometheus-operator
|
||||
namespace: application-monitoring
|
||||
userNames:
|
||||
- system:serviceaccount:application-monitoring:prometheus-operator
|
|
@ -1,17 +0,0 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: grafana-proxy
|
||||
rules:
|
||||
- apiGroups:
|
||||
- authentication.k8s.io
|
||||
resources:
|
||||
- tokenreviews
|
||||
verbs:
|
||||
- create
|
||||
- apiGroups:
|
||||
- authorization.k8s.io
|
||||
resources:
|
||||
- subjectaccessreviews
|
||||
verbs:
|
||||
- create
|
|
@ -1,12 +0,0 @@
|
|||
apiVersion: authorization.openshift.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: grafana-proxy
|
||||
roleRef:
|
||||
name: grafana-proxy
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: grafana-serviceaccount
|
||||
namespace: monitoring2
|
||||
userNames:
|
||||
- system:serviceaccount:application-monitoring:grafana-serviceaccount
|
|
@ -1,645 +0,0 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: applicationmonitorings.applicationmonitoring.integreatly.org
|
||||
spec:
|
||||
group: applicationmonitoring.integreatly.org
|
||||
names:
|
||||
kind: ApplicationMonitoring
|
||||
listKind: ApplicationMonitoringList
|
||||
plural: applicationmonitorings
|
||||
singular: applicationmonitoring
|
||||
scope: Namespaced
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
description: ApplicationMonitoring is the Schema for the applicationmonitorings
|
||||
API
|
||||
properties:
|
||||
apiVersion:
|
||||
description: 'APIVersion defines the versioned schema of this representation
|
||||
of an object. Servers should convert recognized schemas to the latest
|
||||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind is a string value representing the REST resource this
|
||||
object represents. Servers may infer this from the endpoint the client
|
||||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: ApplicationMonitoringSpec defines the desired state of ApplicationMonitoring
|
||||
properties:
|
||||
additionalScrapeConfigSecretKey:
|
||||
type: string
|
||||
additionalScrapeConfigSecretName:
|
||||
type: string
|
||||
affinity:
|
||||
description: Affinity is a group of affinity scheduling rules.
|
||||
properties:
|
||||
nodeAffinity:
|
||||
description: Describes node affinity scheduling rules for the pod.
|
||||
properties:
|
||||
preferredDuringSchedulingIgnoredDuringExecution:
|
||||
description: The scheduler will prefer to schedule pods to nodes
|
||||
that satisfy the affinity expressions specified by this field,
|
||||
but it may choose a node that violates one or more of the
|
||||
expressions. The node that is most preferred is the one with
|
||||
the greatest sum of weights, i.e. for each node that meets
|
||||
all of the scheduling requirements (resource request, requiredDuringScheduling
|
||||
affinity expressions, etc.), compute a sum by iterating through
|
||||
the elements of this field and adding "weight" to the sum
|
||||
if the node matches the corresponding matchExpressions; the
|
||||
node(s) with the highest sum are the most preferred.
|
||||
items:
|
||||
description: An empty preferred scheduling term matches all
|
||||
objects with implicit weight 0 (i.e. it's a no-op). A null
|
||||
preferred scheduling term matches no objects (i.e. is also
|
||||
a no-op).
|
||||
properties:
|
||||
preference:
|
||||
description: A node selector term, associated with the
|
||||
corresponding weight.
|
||||
properties:
|
||||
matchExpressions:
|
||||
description: A list of node selector requirements
|
||||
by node's labels.
|
||||
items:
|
||||
description: A node selector requirement is a selector
|
||||
that contains values, a key, and an operator that
|
||||
relates the key and values.
|
||||
properties:
|
||||
key:
|
||||
description: The label key that the selector
|
||||
applies to.
|
||||
type: string
|
||||
operator:
|
||||
description: Represents a key's relationship
|
||||
to a set of values. Valid operators are In,
|
||||
NotIn, Exists, DoesNotExist. Gt, and Lt.
|
||||
type: string
|
||||
values:
|
||||
description: An array of string values. If the
|
||||
operator is In or NotIn, the values array
|
||||
must be non-empty. If the operator is Exists
|
||||
or DoesNotExist, the values array must be
|
||||
empty. If the operator is Gt or Lt, the values
|
||||
array must have a single element, which will
|
||||
be interpreted as an integer. This array is
|
||||
replaced during a strategic merge patch.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- key
|
||||
- operator
|
||||
type: object
|
||||
type: array
|
||||
matchFields:
|
||||
description: A list of node selector requirements
|
||||
by node's fields.
|
||||
items:
|
||||
description: A node selector requirement is a selector
|
||||
that contains values, a key, and an operator that
|
||||
relates the key and values.
|
||||
properties:
|
||||
key:
|
||||
description: The label key that the selector
|
||||
applies to.
|
||||
type: string
|
||||
operator:
|
||||
description: Represents a key's relationship
|
||||
to a set of values. Valid operators are In,
|
||||
NotIn, Exists, DoesNotExist. Gt, and Lt.
|
||||
type: string
|
||||
values:
|
||||
description: An array of string values. If the
|
||||
operator is In or NotIn, the values array
|
||||
must be non-empty. If the operator is Exists
|
||||
or DoesNotExist, the values array must be
|
||||
empty. If the operator is Gt or Lt, the values
|
||||
array must have a single element, which will
|
||||
be interpreted as an integer. This array is
|
||||
replaced during a strategic merge patch.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- key
|
||||
- operator
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
weight:
|
||||
description: Weight associated with matching the corresponding
|
||||
nodeSelectorTerm, in the range 1-100.
|
||||
format: int32
|
||||
type: integer
|
||||
required:
|
||||
- preference
|
||||
- weight
|
||||
type: object
|
||||
type: array
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
description: If the affinity requirements specified by this
|
||||
field are not met at scheduling time, the pod will not be
|
||||
scheduled onto the node. If the affinity requirements specified
|
||||
by this field cease to be met at some point during pod execution
|
||||
(e.g. due to an update), the system may or may not try to
|
||||
eventually evict the pod from its node.
|
||||
properties:
|
||||
nodeSelectorTerms:
|
||||
description: Required. A list of node selector terms. The
|
||||
terms are ORed.
|
||||
items:
|
||||
description: A null or empty node selector term matches
|
||||
no objects. The requirements of them are ANDed. The
|
||||
TopologySelectorTerm type implements a subset of the
|
||||
NodeSelectorTerm.
|
||||
properties:
|
||||
matchExpressions:
|
||||
description: A list of node selector requirements
|
||||
by node's labels.
|
||||
items:
|
||||
description: A node selector requirement is a selector
|
||||
that contains values, a key, and an operator that
|
||||
relates the key and values.
|
||||
properties:
|
||||
key:
|
||||
description: The label key that the selector
|
||||
applies to.
|
||||
type: string
|
||||
operator:
|
||||
description: Represents a key's relationship
|
||||
to a set of values. Valid operators are In,
|
||||
NotIn, Exists, DoesNotExist. Gt, and Lt.
|
||||
type: string
|
||||
values:
|
||||
description: An array of string values. If the
|
||||
operator is In or NotIn, the values array
|
||||
must be non-empty. If the operator is Exists
|
||||
or DoesNotExist, the values array must be
|
||||
empty. If the operator is Gt or Lt, the values
|
||||
array must have a single element, which will
|
||||
be interpreted as an integer. This array is
|
||||
replaced during a strategic merge patch.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- key
|
||||
- operator
|
||||
type: object
|
||||
type: array
|
||||
matchFields:
|
||||
description: A list of node selector requirements
|
||||
by node's fields.
|
||||
items:
|
||||
description: A node selector requirement is a selector
|
||||
that contains values, a key, and an operator that
|
||||
relates the key and values.
|
||||
properties:
|
||||
key:
|
||||
description: The label key that the selector
|
||||
applies to.
|
||||
type: string
|
||||
operator:
|
||||
description: Represents a key's relationship
|
||||
to a set of values. Valid operators are In,
|
||||
NotIn, Exists, DoesNotExist. Gt, and Lt.
|
||||
type: string
|
||||
values:
|
||||
description: An array of string values. If the
|
||||
operator is In or NotIn, the values array
|
||||
must be non-empty. If the operator is Exists
|
||||
or DoesNotExist, the values array must be
|
||||
empty. If the operator is Gt or Lt, the values
|
||||
array must have a single element, which will
|
||||
be interpreted as an integer. This array is
|
||||
replaced during a strategic merge patch.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- key
|
||||
- operator
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- nodeSelectorTerms
|
||||
type: object
|
||||
type: object
|
||||
podAffinity:
|
||||
description: Describes pod affinity scheduling rules (e.g. co-locate
|
||||
this pod in the same node, zone, etc. as some other pod(s)).
|
||||
properties:
|
||||
preferredDuringSchedulingIgnoredDuringExecution:
|
||||
description: The scheduler will prefer to schedule pods to nodes
|
||||
that satisfy the affinity expressions specified by this field,
|
||||
but it may choose a node that violates one or more of the
|
||||
expressions. The node that is most preferred is the one with
|
||||
the greatest sum of weights, i.e. for each node that meets
|
||||
all of the scheduling requirements (resource request, requiredDuringScheduling
|
||||
affinity expressions, etc.), compute a sum by iterating through
|
||||
the elements of this field and adding "weight" to the sum
|
||||
if the node has pods which matches the corresponding podAffinityTerm;
|
||||
the node(s) with the highest sum are the most preferred.
|
||||
items:
|
||||
description: The weights of all of the matched WeightedPodAffinityTerm
|
||||
fields are added per-node to find the most preferred node(s)
|
||||
properties:
|
||||
podAffinityTerm:
|
||||
description: Required. A pod affinity term, associated
|
||||
with the corresponding weight.
|
||||
properties:
|
||||
labelSelector:
|
||||
description: A label query over a set of resources,
|
||||
in this case pods.
|
||||
properties:
|
||||
matchExpressions:
|
||||
description: matchExpressions is a list of label
|
||||
selector requirements. The requirements are
|
||||
ANDed.
|
||||
items:
|
||||
description: A label selector requirement is
|
||||
a selector that contains values, a key, and
|
||||
an operator that relates the key and values.
|
||||
properties:
|
||||
key:
|
||||
description: key is the label key that the
|
||||
selector applies to.
|
||||
type: string
|
||||
operator:
|
||||
description: operator represents a key's
|
||||
relationship to a set of values. Valid
|
||||
operators are In, NotIn, Exists and DoesNotExist.
|
||||
type: string
|
||||
values:
|
||||
description: values is an array of string
|
||||
values. If the operator is In or NotIn,
|
||||
the values array must be non-empty. If
|
||||
the operator is Exists or DoesNotExist,
|
||||
the values array must be empty. This array
|
||||
is replaced during a strategic merge patch.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- key
|
||||
- operator
|
||||
type: object
|
||||
type: array
|
||||
matchLabels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: matchLabels is a map of {key,value}
|
||||
pairs. A single {key,value} in the matchLabels
|
||||
map is equivalent to an element of matchExpressions,
|
||||
whose key field is "key", the operator is "In",
|
||||
and the values array contains only "value".
|
||||
The requirements are ANDed.
|
||||
type: object
|
||||
type: object
|
||||
namespaces:
|
||||
description: namespaces specifies which namespaces
|
||||
the labelSelector applies to (matches against);
|
||||
null or empty list means "this pod's namespace"
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
topologyKey:
|
||||
description: This pod should be co-located (affinity)
|
||||
or not co-located (anti-affinity) with the pods
|
||||
matching the labelSelector in the specified namespaces,
|
||||
where co-located is defined as running on a node
|
||||
whose value of the label with key topologyKey matches
|
||||
that of any node on which any of the selected pods
|
||||
is running. Empty topologyKey is not allowed.
|
||||
type: string
|
||||
required:
|
||||
- topologyKey
|
||||
type: object
|
||||
weight:
|
||||
description: weight associated with matching the corresponding
|
||||
podAffinityTerm, in the range 1-100.
|
||||
format: int32
|
||||
type: integer
|
||||
required:
|
||||
- podAffinityTerm
|
||||
- weight
|
||||
type: object
|
||||
type: array
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
description: If the affinity requirements specified by this
|
||||
field are not met at scheduling time, the pod will not be
|
||||
scheduled onto the node. If the affinity requirements specified
|
||||
by this field cease to be met at some point during pod execution
|
||||
(e.g. due to a pod label update), the system may or may not
|
||||
try to eventually evict the pod from its node. When there
|
||||
are multiple elements, the lists of nodes corresponding to
|
||||
each podAffinityTerm are intersected, i.e. all terms must
|
||||
be satisfied.
|
||||
items:
|
||||
description: Defines a set of pods (namely those matching
|
||||
the labelSelector relative to the given namespace(s)) that
|
||||
this pod should be co-located (affinity) or not co-located
|
||||
(anti-affinity) with, where co-located is defined as running
|
||||
on a node whose value of the label with key <topologyKey>
|
||||
matches that of any node on which a pod of the set of pods
|
||||
is running
|
||||
properties:
|
||||
labelSelector:
|
||||
description: A label query over a set of resources, in
|
||||
this case pods.
|
||||
properties:
|
||||
matchExpressions:
|
||||
description: matchExpressions is a list of label selector
|
||||
requirements. The requirements are ANDed.
|
||||
items:
|
||||
description: A label selector requirement is a selector
|
||||
that contains values, a key, and an operator that
|
||||
relates the key and values.
|
||||
properties:
|
||||
key:
|
||||
description: key is the label key that the selector
|
||||
applies to.
|
||||
type: string
|
||||
operator:
|
||||
description: operator represents a key's relationship
|
||||
to a set of values. Valid operators are In,
|
||||
NotIn, Exists and DoesNotExist.
|
||||
type: string
|
||||
values:
|
||||
description: values is an array of string values.
|
||||
If the operator is In or NotIn, the values
|
||||
array must be non-empty. If the operator is
|
||||
Exists or DoesNotExist, the values array must
|
||||
be empty. This array is replaced during a
|
||||
strategic merge patch.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- key
|
||||
- operator
|
||||
type: object
|
||||
type: array
|
||||
matchLabels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: matchLabels is a map of {key,value} pairs.
|
||||
A single {key,value} in the matchLabels map is equivalent
|
||||
to an element of matchExpressions, whose key field
|
||||
is "key", the operator is "In", and the values array
|
||||
contains only "value". The requirements are ANDed.
|
||||
type: object
|
||||
type: object
|
||||
namespaces:
|
||||
description: namespaces specifies which namespaces the
|
||||
labelSelector applies to (matches against); null or
|
||||
empty list means "this pod's namespace"
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
topologyKey:
|
||||
description: This pod should be co-located (affinity)
|
||||
or not co-located (anti-affinity) with the pods matching
|
||||
the labelSelector in the specified namespaces, where
|
||||
co-located is defined as running on a node whose value
|
||||
of the label with key topologyKey matches that of any
|
||||
node on which any of the selected pods is running. Empty
|
||||
topologyKey is not allowed.
|
||||
type: string
|
||||
required:
|
||||
- topologyKey
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
podAntiAffinity:
|
||||
description: Describes pod anti-affinity scheduling rules (e.g.
|
||||
avoid putting this pod in the same node, zone, etc. as some other
|
||||
pod(s)).
|
||||
properties:
|
||||
preferredDuringSchedulingIgnoredDuringExecution:
|
||||
description: The scheduler will prefer to schedule pods to nodes
|
||||
that satisfy the anti-affinity expressions specified by this
|
||||
field, but it may choose a node that violates one or more
|
||||
of the expressions. The node that is most preferred is the
|
||||
one with the greatest sum of weights, i.e. for each node that
|
||||
meets all of the scheduling requirements (resource request,
|
||||
requiredDuringScheduling anti-affinity expressions, etc.),
|
||||
compute a sum by iterating through the elements of this field
|
||||
and adding "weight" to the sum if the node has pods which
|
||||
matches the corresponding podAffinityTerm; the node(s) with
|
||||
the highest sum are the most preferred.
|
||||
items:
|
||||
description: The weights of all of the matched WeightedPodAffinityTerm
|
||||
fields are added per-node to find the most preferred node(s)
|
||||
properties:
|
||||
podAffinityTerm:
|
||||
description: Required. A pod affinity term, associated
|
||||
with the corresponding weight.
|
||||
properties:
|
||||
labelSelector:
|
||||
description: A label query over a set of resources,
|
||||
in this case pods.
|
||||
properties:
|
||||
matchExpressions:
|
||||
description: matchExpressions is a list of label
|
||||
selector requirements. The requirements are
|
||||
ANDed.
|
||||
items:
|
||||
description: A label selector requirement is
|
||||
a selector that contains values, a key, and
|
||||
an operator that relates the key and values.
|
||||
properties:
|
||||
key:
|
||||
description: key is the label key that the
|
||||
selector applies to.
|
||||
type: string
|
||||
operator:
|
||||
description: operator represents a key's
|
||||
relationship to a set of values. Valid
|
||||
operators are In, NotIn, Exists and DoesNotExist.
|
||||
type: string
|
||||
values:
|
||||
description: values is an array of string
|
||||
values. If the operator is In or NotIn,
|
||||
the values array must be non-empty. If
|
||||
the operator is Exists or DoesNotExist,
|
||||
the values array must be empty. This array
|
||||
is replaced during a strategic merge patch.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- key
|
||||
- operator
|
||||
type: object
|
||||
type: array
|
||||
matchLabels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: matchLabels is a map of {key,value}
|
||||
pairs. A single {key,value} in the matchLabels
|
||||
map is equivalent to an element of matchExpressions,
|
||||
whose key field is "key", the operator is "In",
|
||||
and the values array contains only "value".
|
||||
The requirements are ANDed.
|
||||
type: object
|
||||
type: object
|
||||
namespaces:
|
||||
description: namespaces specifies which namespaces
|
||||
the labelSelector applies to (matches against);
|
||||
null or empty list means "this pod's namespace"
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
topologyKey:
|
||||
description: This pod should be co-located (affinity)
|
||||
or not co-located (anti-affinity) with the pods
|
||||
matching the labelSelector in the specified namespaces,
|
||||
where co-located is defined as running on a node
|
||||
whose value of the label with key topologyKey matches
|
||||
that of any node on which any of the selected pods
|
||||
is running. Empty topologyKey is not allowed.
|
||||
type: string
|
||||
required:
|
||||
- topologyKey
|
||||
type: object
|
||||
weight:
|
||||
description: weight associated with matching the corresponding
|
||||
podAffinityTerm, in the range 1-100.
|
||||
format: int32
|
||||
type: integer
|
||||
required:
|
||||
- podAffinityTerm
|
||||
- weight
|
||||
type: object
|
||||
type: array
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
description: If the anti-affinity requirements specified by
|
||||
this field are not met at scheduling time, the pod will not
|
||||
be scheduled onto the node. If the anti-affinity requirements
|
||||
specified by this field cease to be met at some point during
|
||||
pod execution (e.g. due to a pod label update), the system
|
||||
may or may not try to eventually evict the pod from its node.
|
||||
When there are multiple elements, the lists of nodes corresponding
|
||||
to each podAffinityTerm are intersected, i.e. all terms must
|
||||
be satisfied.
|
||||
items:
|
||||
description: Defines a set of pods (namely those matching
|
||||
the labelSelector relative to the given namespace(s)) that
|
||||
this pod should be co-located (affinity) or not co-located
|
||||
(anti-affinity) with, where co-located is defined as running
|
||||
on a node whose value of the label with key <topologyKey>
|
||||
matches that of any node on which a pod of the set of pods
|
||||
is running
|
||||
properties:
|
||||
labelSelector:
|
||||
description: A label query over a set of resources, in
|
||||
this case pods.
|
||||
properties:
|
||||
matchExpressions:
|
||||
description: matchExpressions is a list of label selector
|
||||
requirements. The requirements are ANDed.
|
||||
items:
|
||||
description: A label selector requirement is a selector
|
||||
that contains values, a key, and an operator that
|
||||
relates the key and values.
|
||||
properties:
|
||||
key:
|
||||
description: key is the label key that the selector
|
||||
applies to.
|
||||
type: string
|
||||
operator:
|
||||
description: operator represents a key's relationship
|
||||
to a set of values. Valid operators are In,
|
||||
NotIn, Exists and DoesNotExist.
|
||||
type: string
|
||||
values:
|
||||
description: values is an array of string values.
|
||||
If the operator is In or NotIn, the values
|
||||
array must be non-empty. If the operator is
|
||||
Exists or DoesNotExist, the values array must
|
||||
be empty. This array is replaced during a
|
||||
strategic merge patch.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- key
|
||||
- operator
|
||||
type: object
|
||||
type: array
|
||||
matchLabels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: matchLabels is a map of {key,value} pairs.
|
||||
A single {key,value} in the matchLabels map is equivalent
|
||||
to an element of matchExpressions, whose key field
|
||||
is "key", the operator is "In", and the values array
|
||||
contains only "value". The requirements are ANDed.
|
||||
type: object
|
||||
type: object
|
||||
namespaces:
|
||||
description: namespaces specifies which namespaces the
|
||||
labelSelector applies to (matches against); null or
|
||||
empty list means "this pod's namespace"
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
topologyKey:
|
||||
description: This pod should be co-located (affinity)
|
||||
or not co-located (anti-affinity) with the pods matching
|
||||
the labelSelector in the specified namespaces, where
|
||||
co-located is defined as running on a node whose value
|
||||
of the label with key topologyKey matches that of any
|
||||
node on which any of the selected pods is running. Empty
|
||||
topologyKey is not allowed.
|
||||
type: string
|
||||
required:
|
||||
- topologyKey
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
type: object
|
||||
alertmanagerInstanceNamespaces:
|
||||
type: string
|
||||
description: The key under which additional scrape configs are stored within the secret
|
||||
priorityClassName:
|
||||
type: string
|
||||
description: Priority Class Name
|
||||
labelSelector:
|
||||
minLength: 1
|
||||
type: string
|
||||
prometheusInstanceNamespaces:
|
||||
type: string
|
||||
prometheusRetention:
|
||||
type: string
|
||||
prometheusStorageRequest:
|
||||
type: string
|
||||
selfSignedCerts:
|
||||
type: boolean
|
||||
required:
|
||||
- labelSelector
|
||||
type: object
|
||||
status:
|
||||
description: ApplicationMonitoringStatus defines the observed state of ApplicationMonitoring
|
||||
properties:
|
||||
lastblackboxconfig:
|
||||
type: string
|
||||
phase:
|
||||
type: integer
|
||||
required:
|
||||
- lastblackboxconfig
|
||||
- phase
|
||||
type: object
|
||||
type: object
|
||||
version: v1alpha1
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
|
@ -1,71 +0,0 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: blackboxtargets.applicationmonitoring.integreatly.org
|
||||
spec:
|
||||
group: applicationmonitoring.integreatly.org
|
||||
names:
|
||||
kind: BlackboxTarget
|
||||
listKind: BlackboxTargetList
|
||||
plural: blackboxtargets
|
||||
singular: blackboxtarget
|
||||
scope: Namespaced
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
description: BlackboxTarget is the Schema for the blackboxtargets API
|
||||
properties:
|
||||
apiVersion:
|
||||
description: 'APIVersion defines the versioned schema of this representation
|
||||
of an object. Servers should convert recognized schemas to the latest
|
||||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind is a string value representing the REST resource this
|
||||
object represents. Servers may infer this from the endpoint the client
|
||||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: BlackboxTargetSpec defines the desired state of BlackboxTarget
|
||||
properties:
|
||||
blackboxTargets:
|
||||
description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
|
||||
Important: Run "operator-sdk generate k8s" to regenerate code after
|
||||
modifying this file Add custom validation using kubebuilder tags:
|
||||
https://book.kubebuilder.io/beyond_basics/generating_crd.html'
|
||||
items:
|
||||
description: 'BlackboxtargetStructure contains: A target (url, module
|
||||
and service name) to be probed by the'
|
||||
properties:
|
||||
module:
|
||||
type: string
|
||||
service:
|
||||
type: string
|
||||
url:
|
||||
type: string
|
||||
required:
|
||||
- module
|
||||
- service
|
||||
- url
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
status:
|
||||
description: BlackboxTargetStatus defines the observed state of BlackboxTarget
|
||||
properties:
|
||||
phase:
|
||||
description: 'INSERT ADDITIONAL STATUS FIELD - define observed state
|
||||
of cluster Important: Run "operator-sdk generate k8s" to regenerate
|
||||
code after modifying this file Add custom validation using kubebuilder
|
||||
tags: https://book.kubebuilder.io/beyond_basics/generating_crd.html'
|
||||
type: integer
|
||||
required:
|
||||
- phase
|
||||
type: object
|
||||
type: object
|
||||
version: v1alpha1
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
|
@ -1,149 +0,0 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: grafanas.integreatly.org
|
||||
spec:
|
||||
group: integreatly.org
|
||||
names:
|
||||
kind: Grafana
|
||||
listKind: GrafanaList
|
||||
plural: grafanas
|
||||
singular: grafana
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
version: v1alpha1
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
required: ["spec"]
|
||||
properties:
|
||||
spec:
|
||||
properties:
|
||||
containers:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
description: Additional container to add to the grafana pod
|
||||
secrets:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
description: Secret to be mounted as volume into the grafana deployment
|
||||
configMaps:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
description: Config map to be mounted as volume into the grafana deployment
|
||||
logLevel:
|
||||
type: string
|
||||
description: Log level of the grafana instance, defaults to info
|
||||
adminUser:
|
||||
type: string
|
||||
description: Default admin user name
|
||||
adminPassword:
|
||||
type: string
|
||||
description: Default admin password
|
||||
basicAuth:
|
||||
type: boolean
|
||||
description: Basic auth enabled
|
||||
disableLoginForm:
|
||||
type: boolean
|
||||
description: Disable login form
|
||||
disableSignoutMenu:
|
||||
type: boolean
|
||||
description: Disable signout menu
|
||||
anonymous:
|
||||
type: boolean
|
||||
description: Anonymous auth enabled
|
||||
config:
|
||||
type: object
|
||||
description: Grafana config
|
||||
ingress:
|
||||
type: object
|
||||
properties:
|
||||
enabled:
|
||||
type: boolean
|
||||
description: Create an ingress / route
|
||||
path:
|
||||
type: string
|
||||
description: Ingress path
|
||||
hostname:
|
||||
type: string
|
||||
description: The hostname of the ingress / route
|
||||
annotations:
|
||||
type: object
|
||||
description: Additional annotations for the ingress / route
|
||||
labels:
|
||||
type: object
|
||||
description: Additional labels for the ingress / route
|
||||
targetPort:
|
||||
type: string
|
||||
description: Override port to target in the grafana service
|
||||
service:
|
||||
type: object
|
||||
properties:
|
||||
ports:
|
||||
type: array
|
||||
description: Override default ports
|
||||
items:
|
||||
type: object
|
||||
description: A port to add to the grafana service
|
||||
annotations:
|
||||
type: object
|
||||
description: Additional annotations for the service
|
||||
labels:
|
||||
type: object
|
||||
description: Additional labels for the service
|
||||
type:
|
||||
type: string
|
||||
description: Service type (NodePort, ClusterIP or LoadBalancer)
|
||||
deployment:
|
||||
type: object
|
||||
properties:
|
||||
annotations:
|
||||
type: object
|
||||
description: Additional annotations for the service
|
||||
labels:
|
||||
type: object
|
||||
description: Additional labels for the service
|
||||
nodeSelector:
|
||||
type: object
|
||||
description: Additional labels for the running grafana pods in a labeled node.
|
||||
tolerations:
|
||||
type: array
|
||||
description: Additonal labels for running grafana pods in tained nodes.
|
||||
affinity:
|
||||
type: object
|
||||
description: Additonal labels for running grafana pods with affinity properties.
|
||||
envFrom:
|
||||
type: array
|
||||
description: Environment variables from Secret or ConfigMap.
|
||||
skipCreateAdminAccount:
|
||||
type: boolean
|
||||
description: Disable creating a random admin user
|
||||
priorityClassName:
|
||||
type: string
|
||||
description: Pod priority class name
|
||||
serviceAccount:
|
||||
type: object
|
||||
properties:
|
||||
annotations:
|
||||
type: object
|
||||
description: Additional annotations for the serviceaccount
|
||||
labels:
|
||||
type: object
|
||||
description: Additional labels for the serviceaccount
|
||||
client:
|
||||
type: object
|
||||
description: Grafana client settings
|
||||
compat:
|
||||
type: object
|
||||
description: Backwards compatibility switches
|
||||
dashboardLabelSelectors:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
description: Label selector or match expressions
|
||||
jsonnet:
|
||||
type: object
|
||||
description: Jsonnet library configuration
|
|
@ -1,43 +0,0 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: grafanadashboards.integreatly.org
|
||||
spec:
|
||||
group: integreatly.org
|
||||
names:
|
||||
kind: GrafanaDashboard
|
||||
listKind: GrafanaDashboardList
|
||||
plural: grafanadashboards
|
||||
singular: grafanadashboard
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
version: v1alpha1
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
properties:
|
||||
spec:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
json:
|
||||
type: string
|
||||
jsonnet:
|
||||
description: Jsonnet source. Has access to grafonnet.
|
||||
type: string
|
||||
url:
|
||||
type: string
|
||||
description: URL to dashboard json
|
||||
datasources:
|
||||
type: array
|
||||
items:
|
||||
description: Input datasources to resolve before importing
|
||||
type: object
|
||||
plugins:
|
||||
type: array
|
||||
items:
|
||||
description: Grafana Plugin Object
|
||||
type: object
|
||||
customFolderName:
|
||||
description: Folder name that this dashboard will be assigned to.
|
||||
type: string
|
|
@ -1,35 +0,0 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: grafanadatasources.integreatly.org
|
||||
spec:
|
||||
group: integreatly.org
|
||||
names:
|
||||
kind: GrafanaDataSource
|
||||
listKind: GrafanaDataSourceList
|
||||
plural: grafanadatasources
|
||||
singular: grafanadatasource
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
version: v1alpha1
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
properties:
|
||||
apiVersion:
|
||||
type: string
|
||||
kind:
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
required: ["datasources", "name"]
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
minimum: 1
|
||||
datasources:
|
||||
type: array
|
||||
items:
|
||||
description: Grafana Datasource Object
|
||||
type: object
|
|
@ -1,14 +0,0 @@
|
|||
apiVersion: applicationmonitoring.integreatly.org/v1alpha1
|
||||
kind: ApplicationMonitoring
|
||||
metadata:
|
||||
name: middleware-applicationmonitoring
|
||||
spec:
|
||||
labelSelector: "middleware"
|
||||
additionalScrapeConfigSecretName: "integreatly-additional-scrape-configs"
|
||||
additionalScrapeConfigSecretKey: "integreatly-additional.yaml"
|
||||
prometheusRetention: 15d
|
||||
prometheusInstanceNamespaces: application-monitoring
|
||||
alertmanagerInstanceNamespaces: application-monitoring
|
||||
selfSignedCerts: true
|
||||
priorityClassName: ""
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
apiVersion: applicationmonitoring.integreatly.org/v1alpha1
|
||||
kind: BlackboxTarget
|
||||
metadata:
|
||||
name: example-blackboxtarget
|
||||
spec:
|
||||
blackboxTargets:
|
||||
- service: example
|
||||
url: https://example.com
|
||||
module: http_extern_2xx
|
||||
- service: example2
|
||||
url: https://google.com
|
||||
module: http_extern_2xx
|
|
@ -1,37 +0,0 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: application-monitoring-operator
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
name: application-monitoring-operator
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
name: application-monitoring-operator
|
||||
spec:
|
||||
serviceAccountName: application-monitoring-operator
|
||||
containers:
|
||||
- name: application-monitoring-operator
|
||||
image: quay.io/integreatly/application-monitoring-operator:v1.5.0
|
||||
ports:
|
||||
- containerPort: 8383
|
||||
name: metrics
|
||||
command:
|
||||
- application-monitoring-operator
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: TEMPLATE_PATH
|
||||
value: /usr/local/bin/templates
|
||||
- name: WATCH_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
- name: OPERATOR_NAME
|
||||
value: "application-monitoring-operator"
|
|
@ -1,94 +0,0 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: application-monitoring-operator
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods
|
||||
- services
|
||||
- services/finalizers
|
||||
- endpoints
|
||||
- persistentvolumeclaims
|
||||
- events
|
||||
- configmaps
|
||||
- secrets
|
||||
- serviceaccounts
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- apps
|
||||
resources:
|
||||
- deployments
|
||||
- deployments/finalizers
|
||||
- daemonsets
|
||||
- replicasets
|
||||
- statefulsets
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- monitoring.coreos.com
|
||||
resources:
|
||||
- alertmanagers
|
||||
- prometheuses
|
||||
- prometheusrules
|
||||
- servicemonitors
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- applicationmonitoring.integreatly.org
|
||||
resources:
|
||||
- applicationmonitorings
|
||||
- applicationmonitorings/finalizers
|
||||
- blackboxtargets
|
||||
- blackboxtargets/finalizers
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- integreatly.org
|
||||
resources:
|
||||
- grafanadatasources
|
||||
- grafanadatasources/status
|
||||
- grafanadashboards
|
||||
- grafanadashboards/status
|
||||
- grafanas
|
||||
- grafanas/status
|
||||
- grafanas/finalizers
|
||||
- grafanadatasources/finalizers
|
||||
- grafanadashboards/finalizers
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- route.openshift.io
|
||||
resources:
|
||||
- routes
|
||||
- routes/custom-host
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- rbac.authorization.k8s.io
|
||||
resources:
|
||||
- rolebindings
|
||||
- roles
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- extensions
|
||||
resources:
|
||||
- ingresses
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- authentication.k8s.io
|
||||
resources:
|
||||
- tokenreviews
|
||||
verbs:
|
||||
- create
|
||||
- apiGroups:
|
||||
- authorization.k8s.io
|
||||
resources:
|
||||
- subjectaccessreviews
|
||||
verbs:
|
||||
- create
|
|
@ -1,11 +0,0 @@
|
|||
kind: RoleBinding
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: application-monitoring-operator
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: application-monitoring-operator
|
||||
roleRef:
|
||||
kind: Role
|
||||
name: application-monitoring-operator
|
||||
apiGroup: rbac.authorization.k8s.io
|
|
@ -1,4 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: application-monitoring-operator
|
|
@ -1,5 +0,0 @@
|
|||
package version
|
||||
|
||||
var (
|
||||
Version = "1.5.0"
|
||||
)
|
|
@ -1,201 +0,0 @@
|
|||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
|
@ -1,227 +0,0 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: grafanas.integreatly.org
|
||||
spec:
|
||||
group: integreatly.org
|
||||
names:
|
||||
kind: Grafana
|
||||
listKind: GrafanaList
|
||||
plural: grafanas
|
||||
singular: grafana
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: { }
|
||||
version: v1alpha1
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
required: [ "spec" ]
|
||||
properties:
|
||||
spec:
|
||||
properties:
|
||||
containers:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
description: Additional container to add to the grafana pod
|
||||
secrets:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
description: Secret to be mounted as volume into the grafana deployment
|
||||
configMaps:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
description: Config map to be mounted as volume into the grafana deployment
|
||||
logLevel:
|
||||
type: string
|
||||
description: Log level of the grafana instance, defaults to info
|
||||
adminUser:
|
||||
type: string
|
||||
description: Default admin user name
|
||||
adminPassword:
|
||||
type: string
|
||||
description: Default admin password
|
||||
basicAuth:
|
||||
type: boolean
|
||||
description: Basic auth enabled
|
||||
disableLoginForm:
|
||||
type: boolean
|
||||
description: Disable login form
|
||||
disableSignoutMenu:
|
||||
type: boolean
|
||||
description: Disable signout menu
|
||||
anonymous:
|
||||
type: boolean
|
||||
description: Anonymous auth enabled
|
||||
config:
|
||||
type: object
|
||||
description: Grafana config
|
||||
ingress:
|
||||
type: object
|
||||
properties:
|
||||
enabled:
|
||||
type: boolean
|
||||
description: Create an ingress / route
|
||||
path:
|
||||
type: string
|
||||
description: Ingress path
|
||||
hostname:
|
||||
type: string
|
||||
description: The hostname of the ingress / route
|
||||
annotations:
|
||||
type: object
|
||||
description: Additional annotations for the ingress / route
|
||||
labels:
|
||||
type: object
|
||||
description: Additional labels for the ingress / route
|
||||
targetPort:
|
||||
type: string
|
||||
description: Override port to target in the grafana service
|
||||
service:
|
||||
type: object
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
description: Override default service name
|
||||
ports:
|
||||
type: array
|
||||
description: Override default ports
|
||||
items:
|
||||
type: object
|
||||
description: A port to add to the grafana service
|
||||
annotations:
|
||||
type: object
|
||||
description: Additional annotations for the service
|
||||
labels:
|
||||
type: object
|
||||
description: Additional labels for the service
|
||||
type:
|
||||
type: string
|
||||
description: Service type (NodePort, ClusterIP or LoadBalancer)
|
||||
deployment:
|
||||
type: object
|
||||
properties:
|
||||
annotations:
|
||||
type: object
|
||||
description: Additional annotations for the service
|
||||
labels:
|
||||
type: object
|
||||
description: Additional labels for the service
|
||||
nodeSelector:
|
||||
type: object
|
||||
description: Additional labels for the running grafana pods in a labeled node.
|
||||
tolerations:
|
||||
type: array
|
||||
description: Additonal labels for running grafana pods in tained nodes.
|
||||
affinity:
|
||||
type: object
|
||||
description: Additonal labels for running grafana pods with affinity properties.
|
||||
envFrom:
|
||||
type: array
|
||||
description: Environment variables from Secret or ConfigMap.
|
||||
skipCreateAdminAccount:
|
||||
type: boolean
|
||||
description: Disable creating a random admin user
|
||||
priorityClassName:
|
||||
type: string
|
||||
description: Pod priority class name
|
||||
serviceAccount:
|
||||
type: object
|
||||
properties:
|
||||
annotations:
|
||||
type: object
|
||||
description: Additional annotations for the serviceaccount
|
||||
labels:
|
||||
type: object
|
||||
description: Additional labels for the serviceaccount
|
||||
client:
|
||||
type: object
|
||||
description: Grafana client settings
|
||||
compat:
|
||||
type: object
|
||||
description: Backwards compatibility switches
|
||||
dashboardLabelSelectors:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
description: Label selector or match expressions
|
||||
jsonnet:
|
||||
type: object
|
||||
description: Jsonnet library configuration
|
||||
livenessProbeSpec:
|
||||
type: object
|
||||
properties:
|
||||
initialDelaySeconds:
|
||||
description: >-
|
||||
Number of seconds after the container has
|
||||
started before liveness probes are initiated. More info:
|
||||
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
||||
format: int32
|
||||
type: integer
|
||||
timeoutSeconds:
|
||||
description: Number of seconds after which the probe times out. Defaults to 1 second.
|
||||
Minimum value is 1.
|
||||
format: int32
|
||||
type: integer
|
||||
periodSeconds:
|
||||
description: >-
|
||||
How often (in seconds) to perform the probe.
|
||||
Default to 10 seconds. Minimum value is 1.
|
||||
format: int32
|
||||
type: integer
|
||||
successThreshold:
|
||||
description: >-
|
||||
Minimum consecutive successes for the probe
|
||||
to be considered successful after having failed. Defaults
|
||||
to 1. Must be 1 for liveness and startup. Minimum value
|
||||
is 1.
|
||||
format: int32
|
||||
type: integer
|
||||
failureThreshold:
|
||||
description: >-
|
||||
When a probe fails, Kubernetes will try failureThreshold times before giving up.
|
||||
Giving up in case of liveness probe means restarting the container.
|
||||
In case of readiness probe the Pod will be marked Unready.
|
||||
Defaults to 3. Minimum value is 1.
|
||||
format: int32
|
||||
type: integer
|
||||
readinessProbeSpec:
|
||||
type: object
|
||||
properties:
|
||||
initialDelaySeconds:
|
||||
description: >-
|
||||
Number of seconds after the container has
|
||||
started before liveness probes are initiated. More info
|
||||
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
||||
format: int32
|
||||
type: integer
|
||||
timeoutSeconds:
|
||||
description: >-
|
||||
Number of seconds after which the probe times out. Defaults to 1 second.
|
||||
Minimum value is 1.
|
||||
format: int32
|
||||
type: integer
|
||||
periodSeconds:
|
||||
description: >-
|
||||
How often (in seconds) to perform the probe.
|
||||
Default to 10 seconds. Minimum value is 1.
|
||||
format: int32
|
||||
type: integer
|
||||
successThreshold:
|
||||
description: >-
|
||||
Minimum consecutive successes for the probe
|
||||
to be considered successful after having failed. Defaults
|
||||
to 1. Must be 1 for liveness and startup. Minimum value
|
||||
is 1.
|
||||
format: int32
|
||||
type: integer
|
||||
failureThreshold:
|
||||
description: >-
|
||||
When a probe fails, Kubernetes will try failureThreshold times before giving up.
|
||||
Giving up in case of liveness probe means restarting the container.
|
||||
In case of readiness probe the Pod will be marked Unready.
|
||||
Defaults to 3. Minimum value is 1.
|
||||
format: int32
|
||||
type: integer
|
|
@ -1,44 +0,0 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: grafanadashboards.integreatly.org
|
||||
spec:
|
||||
group: integreatly.org
|
||||
names:
|
||||
kind: GrafanaDashboard
|
||||
listKind: GrafanaDashboardList
|
||||
plural: grafanadashboards
|
||||
singular: grafanadashboard
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
version: v1alpha1
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
properties:
|
||||
spec:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
json:
|
||||
type: string
|
||||
jsonnet:
|
||||
description: Jsonnet source. Has access to grafonnet.
|
||||
type: string
|
||||
url:
|
||||
type: string
|
||||
description: URL to dashboard json
|
||||
datasources:
|
||||
type: array
|
||||
items:
|
||||
description: Input datasources to resolve before importing
|
||||
type: object
|
||||
plugins:
|
||||
type: array
|
||||
items:
|
||||
description: Grafana Plugin Object
|
||||
type: object
|
||||
customFolderName:
|
||||
description: Folder name that this dashboard will be assigned to.
|
||||
type: string
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: grafanadatasources.integreatly.org
|
||||
spec:
|
||||
group: integreatly.org
|
||||
names:
|
||||
kind: GrafanaDataSource
|
||||
listKind: GrafanaDataSourceList
|
||||
plural: grafanadatasources
|
||||
singular: grafanadatasource
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
version: v1alpha1
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
properties:
|
||||
apiVersion:
|
||||
type: string
|
||||
kind:
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
required: ["datasources", "name"]
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
minimum: 1
|
||||
datasources:
|
||||
type: array
|
||||
items:
|
||||
description: Grafana Datasource Object
|
||||
type: object
|
|
@ -1,5 +0,0 @@
|
|||
package version
|
||||
|
||||
var (
|
||||
Version = "3.8.1"
|
||||
)
|
Loading…
Add table
Add a link
Reference in a new issue