diff --git a/clusters/cl01tl/manifests/grafana-operator/GrafanaDashboard-grafana-dashboard-version-checker-internal.yaml b/clusters/cl01tl/manifests/grafana-operator/GrafanaDashboard-grafana-dashboard-version-checker-internal.yaml new file mode 100644 index 000000000..0f3700af0 --- /dev/null +++ b/clusters/cl01tl/manifests/grafana-operator/GrafanaDashboard-grafana-dashboard-version-checker-internal.yaml @@ -0,0 +1,17 @@ +apiVersion: grafana.integreatly.org/v1beta1 +kind: GrafanaDashboard +metadata: + name: grafana-dashboard-version-checker-internal + namespace: grafana-operator + labels: + app.kubernetes.io/name: grafana-dashboard-version-checker-internal + app.kubernetes.io/instance: grafana-operator + app.kubernetes.io/part-of: grafana-operator +spec: + instanceSelector: + matchLabels: + app: grafana-main + contentCacheDuration: 6h + folderUID: grafana-folder-service + resyncPeriod: 6h + url: http://gitea-http.gitea:3000/alexlebens/grafana-dashboards/raw/branch/main/dashboards/service/version-checker-internal.json diff --git a/clusters/cl01tl/manifests/grafana-operator/GrafanaDashboard-grafana-dashboard-version-checker.yaml b/clusters/cl01tl/manifests/grafana-operator/GrafanaDashboard-grafana-dashboard-version-checker.yaml new file mode 100644 index 000000000..f9073f062 --- /dev/null +++ b/clusters/cl01tl/manifests/grafana-operator/GrafanaDashboard-grafana-dashboard-version-checker.yaml @@ -0,0 +1,17 @@ +apiVersion: grafana.integreatly.org/v1beta1 +kind: GrafanaDashboard +metadata: + name: grafana-dashboard-version-checker + namespace: grafana-operator + labels: + app.kubernetes.io/name: grafana-dashboard-version-checker + app.kubernetes.io/instance: grafana-operator + app.kubernetes.io/part-of: grafana-operator +spec: + instanceSelector: + matchLabels: + app: grafana-main + contentCacheDuration: 6h + folderUID: grafana-folder-service + resyncPeriod: 6h + url: http://gitea-http.gitea:3000/alexlebens/grafana-dashboards/raw/branch/main/dashboards/service/version-checker.json diff --git a/clusters/cl01tl/manifests/version-checker/ClusterRole-version-checker.yaml b/clusters/cl01tl/manifests/version-checker/ClusterRole-version-checker.yaml new file mode 100644 index 000000000..760ee840e --- /dev/null +++ b/clusters/cl01tl/manifests/version-checker/ClusterRole-version-checker.yaml @@ -0,0 +1,19 @@ +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + labels: + app.kubernetes.io/name: version-checker + helm.sh/chart: version-checker-v0.10.0 + app.kubernetes.io/instance: version-checker + app.kubernetes.io/version: "v0.10.0" + app.kubernetes.io/managed-by: Helm + name: version-checker +rules: + - apiGroups: + - "" + resources: + - "pods" + verbs: + - "get" + - "list" + - "watch" diff --git a/clusters/cl01tl/manifests/version-checker/ClusterRoleBinding-version-checker.yaml b/clusters/cl01tl/manifests/version-checker/ClusterRoleBinding-version-checker.yaml new file mode 100644 index 000000000..cdd1da141 --- /dev/null +++ b/clusters/cl01tl/manifests/version-checker/ClusterRoleBinding-version-checker.yaml @@ -0,0 +1,18 @@ +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + labels: + app.kubernetes.io/name: version-checker + helm.sh/chart: version-checker-v0.10.0 + app.kubernetes.io/instance: version-checker + app.kubernetes.io/version: "v0.10.0" + app.kubernetes.io/managed-by: Helm + name: version-checker +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: version-checker +subjects: + - kind: ServiceAccount + name: version-checker + namespace: version-checker diff --git a/clusters/cl01tl/manifests/version-checker/Deployment-version-checker.yaml b/clusters/cl01tl/manifests/version-checker/Deployment-version-checker.yaml new file mode 100644 index 000000000..df1d769dd --- /dev/null +++ b/clusters/cl01tl/manifests/version-checker/Deployment-version-checker.yaml @@ -0,0 +1,85 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: version-checker + labels: + app.kubernetes.io/name: version-checker + helm.sh/chart: version-checker-v0.10.0 + app.kubernetes.io/instance: version-checker + app.kubernetes.io/version: "v0.10.0" + app.kubernetes.io/managed-by: Helm +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: version-checker + app.kubernetes.io/instance: version-checker + template: + metadata: + labels: + app.kubernetes.io/name: version-checker + helm.sh/chart: version-checker-v0.10.0 + app.kubernetes.io/instance: version-checker + app.kubernetes.io/version: "v0.10.0" + app.kubernetes.io/managed-by: Helm + annotations: + prometheus.io/path: "/metrics" + prometheus.io/scrape: "true" + prometheus.io/port: "8080" + enable.version-checker.io/version-checker: "true" + spec: + serviceAccountName: version-checker + containers: + - name: version-checker + image: "quay.io/jetstack/version-checker:v0.10.0@sha256:ea7a85422684479d0e51a41efc8edb12bed8f43aa89ab59dfea45aa92b2e8c8d" + imagePullPolicy: IfNotPresent + ports: + - name: metrics + containerPort: 8080 + command: ["version-checker"] + args: + - "--image-cache-timeout=30m" + - "--log-level=info" + - "--metrics-serving-address=0.0.0.0:8080" + - "--test-all-containers=true" + resources: + requests: + cpu: 1m + memory: 40Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + runAsNonRoot: true + runAsUser: 65534 + seccompProfile: + type: RuntimeDefault + livenessProbe: + httpGet: + path: /readyz + port: 8080 + initialDelaySeconds: 3 + periodSeconds: 3 + readinessProbe: + httpGet: + path: /readyz + port: 8080 + initialDelaySeconds: 3 + periodSeconds: 3 + env: + - name: VERSION_CHECKER_SELFHOSTED_HOST_Harbor + valueFrom: + secretKeyRef: + name: version-checker + key: selfhosted.Harbor.host + - name: VERSION_CHECKER_SELFHOSTED_HOST_Gitea + valueFrom: + secretKeyRef: + name: version-checker + key: selfhosted.Gitea.host + volumes: + - name: version-checker + secret: + secretName: version-checker diff --git a/clusters/cl01tl/manifests/version-checker/Prometheus-version-checker.yaml b/clusters/cl01tl/manifests/version-checker/Prometheus-version-checker.yaml new file mode 100644 index 000000000..03e74afdc --- /dev/null +++ b/clusters/cl01tl/manifests/version-checker/Prometheus-version-checker.yaml @@ -0,0 +1,18 @@ +apiVersion: monitoring.coreos.com/v1 +kind: Prometheus +metadata: + name: version-checker + labels: + prometheus: version-checker + app.kubernetes.io/name: version-checker + helm.sh/chart: version-checker-v0.10.0 + app.kubernetes.io/instance: version-checker + app.kubernetes.io/version: "v0.10.0" + app.kubernetes.io/managed-by: Helm +spec: + replicas: 1 + serviceAccountName: version-checker-prometheus + version: v2.20.1 + serviceMonitorSelector: + matchLabels: + app: version-checker diff --git a/clusters/cl01tl/manifests/version-checker/Role-prometheus.yaml b/clusters/cl01tl/manifests/version-checker/Role-prometheus.yaml new file mode 100644 index 000000000..f558e4d7a --- /dev/null +++ b/clusters/cl01tl/manifests/version-checker/Role-prometheus.yaml @@ -0,0 +1,15 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: prometheus +rules: + - apiGroups: [""] + resources: + - services + - endpoints + - pods + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: + - configmaps + verbs: ["get"] diff --git a/clusters/cl01tl/manifests/version-checker/RoleBinding-prometheus.yaml b/clusters/cl01tl/manifests/version-checker/RoleBinding-prometheus.yaml new file mode 100644 index 000000000..807a46793 --- /dev/null +++ b/clusters/cl01tl/manifests/version-checker/RoleBinding-prometheus.yaml @@ -0,0 +1,11 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: prometheus +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: prometheus +subjects: + - kind: ServiceAccount + name: version-checker-prometheus diff --git a/clusters/cl01tl/manifests/version-checker/Secret-version-checker.yaml b/clusters/cl01tl/manifests/version-checker/Secret-version-checker.yaml new file mode 100644 index 000000000..c117da300 --- /dev/null +++ b/clusters/cl01tl/manifests/version-checker/Secret-version-checker.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +data: + selfhosted.Harbor.host: aHR0cDovL2hhcmJvci1yZWdpc3RyeS5oYXJib3I6NTAwMA== + selfhosted.Gitea.host: aHR0cDovL2dpdGVhLWh0dHAuZ2l0ZWE6MzAwMA== +kind: Secret +metadata: + name: version-checker + labels: + app.kubernetes.io/name: version-checker + helm.sh/chart: version-checker-v0.10.0 + app.kubernetes.io/instance: version-checker + app.kubernetes.io/version: "v0.10.0" + app.kubernetes.io/managed-by: Helm +type: Opaque diff --git a/clusters/cl01tl/manifests/version-checker/Service-version-checker.yaml b/clusters/cl01tl/manifests/version-checker/Service-version-checker.yaml new file mode 100644 index 000000000..d58660ebd --- /dev/null +++ b/clusters/cl01tl/manifests/version-checker/Service-version-checker.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Service +metadata: + name: version-checker + labels: + app: version-checker + app.kubernetes.io/name: version-checker + helm.sh/chart: version-checker-v0.10.0 + app.kubernetes.io/instance: version-checker + app.kubernetes.io/version: "v0.10.0" + app.kubernetes.io/managed-by: Helm +spec: + ports: + - port: 8080 + targetPort: 8080 + protocol: TCP + name: web + selector: + app.kubernetes.io/name: version-checker + app.kubernetes.io/instance: version-checker diff --git a/clusters/cl01tl/manifests/version-checker/ServiceAccount-version-checker-prometheus.yaml b/clusters/cl01tl/manifests/version-checker/ServiceAccount-version-checker-prometheus.yaml new file mode 100644 index 000000000..ce9127537 --- /dev/null +++ b/clusters/cl01tl/manifests/version-checker/ServiceAccount-version-checker-prometheus.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: version-checker-prometheus diff --git a/clusters/cl01tl/manifests/version-checker/ServiceAccount-version-checker.yaml b/clusters/cl01tl/manifests/version-checker/ServiceAccount-version-checker.yaml new file mode 100644 index 000000000..9a16e3c14 --- /dev/null +++ b/clusters/cl01tl/manifests/version-checker/ServiceAccount-version-checker.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/name: version-checker + helm.sh/chart: version-checker-v0.10.0 + app.kubernetes.io/instance: version-checker + app.kubernetes.io/version: "v0.10.0" + app.kubernetes.io/managed-by: Helm + name: version-checker