Compare commits
22 Commits
680b075074
...
main
Author | SHA1 | Date | |
---|---|---|---|
8f56c8b174
|
|||
b087336749
|
|||
9106f3bd8b
|
|||
fb8942479f
|
|||
5b5c4e4064
|
|||
da6ead588b
|
|||
58636420b5
|
|||
cef6264d97
|
|||
b04fc787a0
|
|||
f403fa51aa
|
|||
aad72215c3
|
|||
f48135742d
|
|||
b1ec9ee459
|
|||
e026c0b314
|
|||
39b3892433
|
|||
f044cb2069
|
|||
ba40554d1e
|
|||
7eddba6df7
|
|||
2ebbfa5a2e
|
|||
40e2bd1f6d
|
|||
0ddb453a02
|
|||
8f5881c57a
|
9
alloy/Chart.yaml
Normal file
9
alloy/Chart.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v2
|
||||||
|
name: alloy
|
||||||
|
version: "1.0.0"
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
- name: alloy
|
||||||
|
version: 1.1.2
|
||||||
|
repository: https://grafana.github.io/helm-charts
|
143
alloy/values-development.yaml
Normal file
143
alloy/values-development.yaml
Normal file
@@ -0,0 +1,143 @@
|
|||||||
|
alloy:
|
||||||
|
alloy:
|
||||||
|
configMap:
|
||||||
|
content: |-
|
||||||
|
loki.write "default" {
|
||||||
|
endpoint {
|
||||||
|
url = "http://loki-gateway.loki.svc.cluster.local/loki/api/v1/push"
|
||||||
|
tenant_id = "luna"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// local.file_match discovers files on the local filesystem using glob patterns and the doublestar library. It returns an array of file paths.
|
||||||
|
local.file_match "node_logs" {
|
||||||
|
path_targets = [{
|
||||||
|
// Monitor syslog to scrape node-logs
|
||||||
|
__path__ = "/var/log/messages",
|
||||||
|
job = "node/syslog",
|
||||||
|
node_name = sys.env("HOSTNAME"),
|
||||||
|
cluster = "development",
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
|
||||||
|
// loki.source.file reads log entries from files and forwards them to other loki.* components.
|
||||||
|
// You can specify multiple loki.source.file components by giving them different labels.
|
||||||
|
loki.source.file "node_logs" {
|
||||||
|
targets = local.file_match.node_logs.targets
|
||||||
|
forward_to = [loki.write.default.receiver]
|
||||||
|
}
|
||||||
|
|
||||||
|
// discovery.kubernetes allows you to find scrape targets from Kubernetes resources.
|
||||||
|
// It watches cluster state and ensures targets are continually synced with what is currently running in your cluster.
|
||||||
|
discovery.kubernetes "pod" {
|
||||||
|
role = "pod"
|
||||||
|
}
|
||||||
|
|
||||||
|
// discovery.relabel rewrites the label set of the input targets by applying one or more relabeling rules.
|
||||||
|
// If no rules are defined, then the input targets are exported as-is.
|
||||||
|
discovery.relabel "pod_logs" {
|
||||||
|
targets = discovery.kubernetes.pod.targets
|
||||||
|
|
||||||
|
// Label creation - "namespace" field from "__meta_kubernetes_namespace"
|
||||||
|
rule {
|
||||||
|
source_labels = ["__meta_kubernetes_namespace"]
|
||||||
|
action = "replace"
|
||||||
|
target_label = "namespace"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Label creation - "pod" field from "__meta_kubernetes_pod_name"
|
||||||
|
rule {
|
||||||
|
source_labels = ["__meta_kubernetes_pod_name"]
|
||||||
|
action = "replace"
|
||||||
|
target_label = "pod"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Label creation - "container" field from "__meta_kubernetes_pod_container_name"
|
||||||
|
rule {
|
||||||
|
source_labels = ["__meta_kubernetes_pod_container_name"]
|
||||||
|
action = "replace"
|
||||||
|
target_label = "container"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Label creation - "app" field from "__meta_kubernetes_pod_label_app_kubernetes_io_name"
|
||||||
|
rule {
|
||||||
|
source_labels = ["__meta_kubernetes_pod_label_app_kubernetes_io_name"]
|
||||||
|
action = "replace"
|
||||||
|
target_label = "app"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Label creation - "job" field from "__meta_kubernetes_namespace" and "__meta_kubernetes_pod_container_name"
|
||||||
|
// Concatenate values __meta_kubernetes_namespace/__meta_kubernetes_pod_container_name
|
||||||
|
rule {
|
||||||
|
source_labels = ["__meta_kubernetes_namespace", "__meta_kubernetes_pod_container_name"]
|
||||||
|
action = "replace"
|
||||||
|
target_label = "job"
|
||||||
|
separator = "/"
|
||||||
|
replacement = "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Label creation - "container" field from "__meta_kubernetes_pod_uid" and "__meta_kubernetes_pod_container_name"
|
||||||
|
// Concatenate values __meta_kubernetes_pod_uid/__meta_kubernetes_pod_container_name.log
|
||||||
|
rule {
|
||||||
|
source_labels = ["__meta_kubernetes_pod_uid", "__meta_kubernetes_pod_container_name"]
|
||||||
|
action = "replace"
|
||||||
|
target_label = "__path__"
|
||||||
|
separator = "/"
|
||||||
|
replacement = "/var/log/pods/*$1/*.log"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Label creation - "container_runtime" field from "__meta_kubernetes_pod_container_id"
|
||||||
|
rule {
|
||||||
|
source_labels = ["__meta_kubernetes_pod_container_id"]
|
||||||
|
action = "replace"
|
||||||
|
target_label = "container_runtime"
|
||||||
|
regex = "^(\\S+):\\/\\/.+$"
|
||||||
|
replacement = "$1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// loki.source.kubernetes tails logs from Kubernetes containers using the Kubernetes API.
|
||||||
|
loki.source.kubernetes "pod_logs" {
|
||||||
|
targets = discovery.relabel.pod_logs.output
|
||||||
|
forward_to = [loki.process.pod_logs.receiver]
|
||||||
|
}
|
||||||
|
|
||||||
|
// loki.process receives log entries from other Loki components, applies one or more processing stages,
|
||||||
|
// and forwards the results to the list of receivers in the component's arguments.
|
||||||
|
loki.process "pod_logs" {
|
||||||
|
stage.static_labels {
|
||||||
|
values = {
|
||||||
|
cluster = "development",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
forward_to = [loki.write.default.receiver]
|
||||||
|
}
|
||||||
|
|
||||||
|
// loki.source.kubernetes_events tails events from the Kubernetes API and converts them
|
||||||
|
// into log lines to forward to other Loki components.
|
||||||
|
loki.source.kubernetes_events "cluster_events" {
|
||||||
|
job_name = "integrations/kubernetes/eventhandler"
|
||||||
|
log_format = "logfmt"
|
||||||
|
forward_to = [
|
||||||
|
loki.process.cluster_events.receiver,
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
// loki.process receives log entries from other loki components, applies one or more processing stages,
|
||||||
|
// and forwards the results to the list of receivers in the component's arguments.
|
||||||
|
loki.process "cluster_events" {
|
||||||
|
forward_to = [loki.write.default.receiver]
|
||||||
|
|
||||||
|
stage.static_labels {
|
||||||
|
values = {
|
||||||
|
cluster = "development",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage.labels {
|
||||||
|
values = {
|
||||||
|
kubernetes_cluster_events = "job",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
40
apps/alloy.yaml
Normal file
40
apps/alloy.yaml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: ApplicationSet
|
||||||
|
metadata:
|
||||||
|
name: alloy
|
||||||
|
spec:
|
||||||
|
goTemplate: true
|
||||||
|
goTemplateOptions: ["missingkey=error"]
|
||||||
|
generators:
|
||||||
|
- list:
|
||||||
|
elements:
|
||||||
|
- cluster: production
|
||||||
|
url: https://kubernetes.default.svc
|
||||||
|
- cluster: staging
|
||||||
|
url: https://k3s-ctrl-lb.lab.kill0.net:6443
|
||||||
|
- cluster: development
|
||||||
|
url: https://k0s-ctrl-vip.lab.kill0.net:6443
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
name: 'alloy-{{.cluster}}'
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
path: alloy
|
||||||
|
repoURL: https://git.kill0.net/ryanc/argocd.git
|
||||||
|
targetRevision: HEAD
|
||||||
|
helm:
|
||||||
|
releaseName: alloy
|
||||||
|
valueFiles:
|
||||||
|
- values.yaml
|
||||||
|
- values-{{.cluster}}.yaml
|
||||||
|
ignoreMissingValueFiles: true
|
||||||
|
destination:
|
||||||
|
server: '{{.url}}'
|
||||||
|
namespace: alloy
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
34
apps/argo-rollouts.yaml
Normal file
34
apps/argo-rollouts.yaml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: ApplicationSet
|
||||||
|
metadata:
|
||||||
|
name: argo-rollouts
|
||||||
|
spec:
|
||||||
|
goTemplate: true
|
||||||
|
goTemplateOptions: ["missingkey=error"]
|
||||||
|
generators:
|
||||||
|
- list:
|
||||||
|
elements:
|
||||||
|
- cluster: production
|
||||||
|
url: https://kubernetes.default.svc
|
||||||
|
- cluster: staging
|
||||||
|
url: https://k3s-ctrl-lb.lab.kill0.net:6443
|
||||||
|
- cluster: development
|
||||||
|
url: https://k0s-ctrl-vip.lab.kill0.net:6443
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
name: 'argo-rollouts-{{.cluster}}'
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: https://git.kill0.net/ryanc/argocd.git
|
||||||
|
targetRevision: HEAD
|
||||||
|
path: argo-rollouts
|
||||||
|
destination:
|
||||||
|
server: '{{.url}}'
|
||||||
|
namespace: argo-rollouts
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
34
apps/argo-workflows.yaml
Normal file
34
apps/argo-workflows.yaml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: ApplicationSet
|
||||||
|
metadata:
|
||||||
|
name: argo-workflows
|
||||||
|
spec:
|
||||||
|
goTemplate: true
|
||||||
|
goTemplateOptions: ["missingkey=error"]
|
||||||
|
generators:
|
||||||
|
- list:
|
||||||
|
elements:
|
||||||
|
- cluster: production
|
||||||
|
url: https://kubernetes.default.svc
|
||||||
|
- cluster: staging
|
||||||
|
url: https://k3s-ctrl-lb.lab.kill0.net:6443
|
||||||
|
- cluster: development
|
||||||
|
url: https://k0s-ctrl-vip.lab.kill0.net:6443
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
name: 'argo-workflows-{{.cluster}}'
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: https://git.kill0.net/ryanc/argocd.git
|
||||||
|
targetRevision: HEAD
|
||||||
|
path: argo-workflows
|
||||||
|
destination:
|
||||||
|
server: '{{.url}}'
|
||||||
|
namespace: argo
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
@@ -24,14 +24,14 @@ spec:
|
|||||||
repoURL: https://git.kill0.net/ryanc/argocd.git
|
repoURL: https://git.kill0.net/ryanc/argocd.git
|
||||||
targetRevision: HEAD
|
targetRevision: HEAD
|
||||||
helm:
|
helm:
|
||||||
releaseName: kubernetes-ingress
|
releaseName: haproxy-kubernetes-ingress
|
||||||
valueFiles:
|
valueFiles:
|
||||||
- values.yaml
|
- values.yaml
|
||||||
- values-{{.cluster}}.yaml
|
- values-{{.cluster}}.yaml
|
||||||
ignoreMissingValueFiles: true
|
ignoreMissingValueFiles: true
|
||||||
destination:
|
destination:
|
||||||
server: '{{.url}}'
|
server: '{{.url}}'
|
||||||
namespace: ingress-nginx
|
namespace: haproxy-controller
|
||||||
syncPolicy:
|
syncPolicy:
|
||||||
automated:
|
automated:
|
||||||
prune: true
|
prune: true
|
||||||
|
41
apps/keda.yaml
Normal file
41
apps/keda.yaml
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: ApplicationSet
|
||||||
|
metadata:
|
||||||
|
name: keda
|
||||||
|
spec:
|
||||||
|
goTemplate: true
|
||||||
|
goTemplateOptions: ["missingkey=error"]
|
||||||
|
generators:
|
||||||
|
- list:
|
||||||
|
elements:
|
||||||
|
- cluster: production
|
||||||
|
url: https://kubernetes.default.svc
|
||||||
|
- cluster: staging
|
||||||
|
url: https://k3s-ctrl-lb.lab.kill0.net:6443
|
||||||
|
- cluster: development
|
||||||
|
url: https://k0s-ctrl-vip.lab.kill0.net:6443
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
name: 'keda-{{.cluster}}'
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
path: keda
|
||||||
|
repoURL: https://git.kill0.net/ryanc/argocd.git
|
||||||
|
targetRevision: HEAD
|
||||||
|
helm:
|
||||||
|
releaseName: keda
|
||||||
|
valueFiles:
|
||||||
|
- values.yaml
|
||||||
|
- values-{{.cluster}}.yaml
|
||||||
|
ignoreMissingValueFiles: true
|
||||||
|
destination:
|
||||||
|
server: '{{.url}}'
|
||||||
|
namespace: keda
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
- ServerSideApply=true
|
41
apps/kube-prometheus-stack.yaml
Normal file
41
apps/kube-prometheus-stack.yaml
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: ApplicationSet
|
||||||
|
metadata:
|
||||||
|
name: kube-prometheus-stack
|
||||||
|
spec:
|
||||||
|
goTemplate: true
|
||||||
|
goTemplateOptions: ["missingkey=error"]
|
||||||
|
generators:
|
||||||
|
- list:
|
||||||
|
elements:
|
||||||
|
- cluster: production
|
||||||
|
url: https://kubernetes.default.svc
|
||||||
|
- cluster: staging
|
||||||
|
url: https://k3s-ctrl-lb.lab.kill0.net:6443
|
||||||
|
- cluster: development
|
||||||
|
url: https://k0s-ctrl-vip.lab.kill0.net:6443
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
name: 'kube-prometheus-stack-{{.cluster}}'
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
path: kube-prometheus-stack
|
||||||
|
repoURL: https://git.kill0.net/ryanc/argocd.git
|
||||||
|
targetRevision: HEAD
|
||||||
|
helm:
|
||||||
|
releaseName: kube-prometheus-stack
|
||||||
|
valueFiles:
|
||||||
|
- values.yaml
|
||||||
|
- values-{{.cluster}}.yaml
|
||||||
|
ignoreMissingValueFiles: true
|
||||||
|
destination:
|
||||||
|
server: '{{.url}}'
|
||||||
|
namespace: kube-prometheus-stack
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
- ServerSideApply=true
|
33
apps/local-path-provisioner.yaml
Normal file
33
apps/local-path-provisioner.yaml
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: ApplicationSet
|
||||||
|
metadata:
|
||||||
|
name: local-path-provisioner
|
||||||
|
spec:
|
||||||
|
goTemplate: true
|
||||||
|
goTemplateOptions: ["missingkey=error"]
|
||||||
|
generators:
|
||||||
|
- list:
|
||||||
|
elements:
|
||||||
|
- cluster: production
|
||||||
|
url: https://kubernetes.default.svc
|
||||||
|
- cluster: staging
|
||||||
|
url: https://k3s-ctrl-lb.lab.kill0.net:6443
|
||||||
|
- cluster: development
|
||||||
|
url: https://k0s-ctrl-vip.lab.kill0.net:6443
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
name: 'local-path-provisioner-{{.cluster}}'
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: https://git.kill0.net/ryanc/argocd.git
|
||||||
|
targetRevision: HEAD
|
||||||
|
path: local-path-provisioner
|
||||||
|
destination:
|
||||||
|
server: '{{.url}}'
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
40
apps/loki.yaml
Normal file
40
apps/loki.yaml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: ApplicationSet
|
||||||
|
metadata:
|
||||||
|
name: loki
|
||||||
|
spec:
|
||||||
|
goTemplate: true
|
||||||
|
goTemplateOptions: ["missingkey=error"]
|
||||||
|
generators:
|
||||||
|
- list:
|
||||||
|
elements:
|
||||||
|
- cluster: production
|
||||||
|
url: https://kubernetes.default.svc
|
||||||
|
- cluster: staging
|
||||||
|
url: https://k3s-ctrl-lb.lab.kill0.net:6443
|
||||||
|
- cluster: development
|
||||||
|
url: https://k0s-ctrl-vip.lab.kill0.net:6443
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
name: 'loki-{{.cluster}}'
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
path: loki
|
||||||
|
repoURL: https://git.kill0.net/ryanc/argocd.git
|
||||||
|
targetRevision: HEAD
|
||||||
|
helm:
|
||||||
|
releaseName: loki
|
||||||
|
valueFiles:
|
||||||
|
- values.yaml
|
||||||
|
- values-{{.cluster}}.yaml
|
||||||
|
ignoreMissingValueFiles: true
|
||||||
|
destination:
|
||||||
|
server: '{{.url}}'
|
||||||
|
namespace: loki
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
4
argo-rollouts/kustomization.yaml
Normal file
4
argo-rollouts/kustomization.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
resources:
|
||||||
|
- github.com/argoproj/argo-rollouts//manifests/cluster-install?ref=v1.8.3
|
||||||
|
- github.com/argoproj/argo-rollouts//manifests/dashboard-install?ref=v1.8.3
|
3
argo-workflows/kustomization.yaml
Normal file
3
argo-workflows/kustomization.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
resources:
|
||||||
|
- github.com/argoproj/argo-workflows//manifests/cluster-install?ref=v3.6.10
|
@@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
ingress-nginx:
|
ingress-nginx:
|
||||||
controller:
|
controller:
|
||||||
replicaCount: 3
|
|
||||||
addHeaders:
|
addHeaders:
|
||||||
x-fart: pooooot
|
x-fart: pooooot
|
||||||
|
@@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
ingress-nginx:
|
ingress-nginx:
|
||||||
controller:
|
controller:
|
||||||
replicaCount: 3
|
|
||||||
addHeaders:
|
addHeaders:
|
||||||
x-fart: frrrrrp
|
x-fart: frrrrrp
|
||||||
|
9
keda/Chart.yaml
Normal file
9
keda/Chart.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v2
|
||||||
|
name: keda
|
||||||
|
version: "1.0.0"
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
- name: keda
|
||||||
|
version: 2.17.2
|
||||||
|
repository: https://kedacore.github.io/charts
|
9
kube-prometheus-stack/Chart.yaml
Normal file
9
kube-prometheus-stack/Chart.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v2
|
||||||
|
name: kube-prometheus-stack
|
||||||
|
version: "1.0.0"
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
- name: kube-prometheus-stack
|
||||||
|
version: 75.9.0
|
||||||
|
repository: https://prometheus-community.github.io/helm-charts
|
4
kube-prometheus-stack/values.yaml
Normal file
4
kube-prometheus-stack/values.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
kube-prometheus-stack:
|
||||||
|
grafana:
|
||||||
|
service:
|
||||||
|
type: LoadBalancer
|
@@ -6,3 +6,4 @@ metadata:
|
|||||||
namespace: kubernaut
|
namespace: kubernaut
|
||||||
data:
|
data:
|
||||||
KUBERNAUT_CAT: kilwin
|
KUBERNAUT_CAT: kilwin
|
||||||
|
WEB_CONCURRENCY: "4"
|
||||||
|
@@ -5,6 +5,8 @@ metadata:
|
|||||||
name: kubernaut
|
name: kubernaut
|
||||||
annotations:
|
annotations:
|
||||||
reloader.stakater.com/auto: "true"
|
reloader.stakater.com/auto: "true"
|
||||||
|
labels:
|
||||||
|
app: kubernaut
|
||||||
spec:
|
spec:
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
@@ -16,7 +18,7 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: kubernaut
|
- name: kubernaut
|
||||||
image: git.kill0.net/ryanc/kubernaut:0.2.3
|
image: git.kill0.net/ryanc/kubernaut:0.2.4
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
ports:
|
ports:
|
||||||
- name: sinatra-web
|
- name: sinatra-web
|
||||||
|
@@ -6,7 +6,9 @@ resources:
|
|||||||
- namespace.yaml
|
- namespace.yaml
|
||||||
- configmap.yaml
|
- configmap.yaml
|
||||||
- deployment.yaml
|
- deployment.yaml
|
||||||
- hpa.yaml
|
# - hpa.yaml
|
||||||
- services.yaml
|
- services.yaml
|
||||||
|
- servicemonitor.yaml
|
||||||
|
- scaledobject.yaml
|
||||||
- cronjob.yaml
|
- cronjob.yaml
|
||||||
- ingress.yaml
|
- ingress.yaml
|
||||||
|
16
kubernaut/base/scaledobject.yaml
Normal file
16
kubernaut/base/scaledobject.yaml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: keda.sh/v1alpha1
|
||||||
|
kind: ScaledObject
|
||||||
|
metadata:
|
||||||
|
name: kubernaut-scaledobject
|
||||||
|
spec:
|
||||||
|
scaleTargetRef:
|
||||||
|
name: kubernaut
|
||||||
|
minReplicaCount: 1
|
||||||
|
maxReplicaCount: 10
|
||||||
|
triggers:
|
||||||
|
- type: prometheus
|
||||||
|
metadata:
|
||||||
|
serverAddress: http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090
|
||||||
|
metricName: http_server_requests_total
|
||||||
|
threshold: '50'
|
||||||
|
query: sum(rate(http_server_requests_total[1m]))
|
12
kubernaut/base/servicemonitor.yaml
Normal file
12
kubernaut/base/servicemonitor.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: kubernaut
|
||||||
|
labels:
|
||||||
|
release: kube-prometheus-stack
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: kubernaut
|
||||||
|
endpoints:
|
||||||
|
- port: web
|
@@ -3,6 +3,8 @@ apiVersion: v1
|
|||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: kubernaut
|
name: kubernaut
|
||||||
|
labels:
|
||||||
|
app: kubernaut
|
||||||
spec:
|
spec:
|
||||||
ports:
|
ports:
|
||||||
- name: web
|
- name: web
|
||||||
|
@@ -1,11 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: kubernaut
|
|
||||||
spec:
|
|
||||||
template:
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: kubernaut
|
|
||||||
image: git.kill0.net/ryanc/kubernaut:0.2.3
|
|
||||||
|
@@ -1,11 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: kubernaut
|
|
||||||
spec:
|
|
||||||
template:
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: kubernaut
|
|
||||||
image: git.kill0.net/ryanc/kubernaut:0.2.2
|
|
||||||
|
@@ -1,11 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: kubernaut
|
|
||||||
spec:
|
|
||||||
template:
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: kubernaut
|
|
||||||
image: git.kill0.net/ryanc/kubernaut:0.2.3
|
|
||||||
|
3
local-path-provisioner/kustomization.yaml
Normal file
3
local-path-provisioner/kustomization.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
resources:
|
||||||
|
- github.com/rancher/local-path-provisioner//deploy?ref=v0.0.31
|
9
loki/Chart.yaml
Normal file
9
loki/Chart.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v2
|
||||||
|
name: loki
|
||||||
|
version: "1.0.0"
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
- name: loki
|
||||||
|
version: 6.31.0
|
||||||
|
repository: https://grafana.github.io/helm-charts
|
55
loki/values-development.yaml
Normal file
55
loki/values-development.yaml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
loki:
|
||||||
|
loki:
|
||||||
|
commonConfig:
|
||||||
|
replication_factor: 1
|
||||||
|
schemaConfig:
|
||||||
|
configs:
|
||||||
|
- from: "2024-04-01"
|
||||||
|
store: tsdb
|
||||||
|
object_store: s3
|
||||||
|
schema: v13
|
||||||
|
index:
|
||||||
|
prefix: loki_index_
|
||||||
|
period: 24h
|
||||||
|
pattern_ingester:
|
||||||
|
enabled: true
|
||||||
|
limits_config:
|
||||||
|
allow_structured_metadata: true
|
||||||
|
volume_enabled: true
|
||||||
|
ruler:
|
||||||
|
enable_api: true
|
||||||
|
|
||||||
|
minio:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
deploymentMode: SingleBinary
|
||||||
|
|
||||||
|
singleBinary:
|
||||||
|
replicas: 1
|
||||||
|
|
||||||
|
# Zero out replica counts of other deployment modes
|
||||||
|
backend:
|
||||||
|
replicas: 0
|
||||||
|
read:
|
||||||
|
replicas: 0
|
||||||
|
write:
|
||||||
|
replicas: 0
|
||||||
|
|
||||||
|
ingester:
|
||||||
|
replicas: 0
|
||||||
|
querier:
|
||||||
|
replicas: 0
|
||||||
|
queryFrontend:
|
||||||
|
replicas: 0
|
||||||
|
queryScheduler:
|
||||||
|
replicas: 0
|
||||||
|
distributor:
|
||||||
|
replicas: 0
|
||||||
|
compactor:
|
||||||
|
replicas: 0
|
||||||
|
indexGateway:
|
||||||
|
replicas: 0
|
||||||
|
bloomCompactor:
|
||||||
|
replicas: 0
|
||||||
|
bloomGateway:
|
||||||
|
replicas: 0
|
Reference in New Issue
Block a user