Skip to content

Commit

Permalink
feat: Added prometheus-stack, prometheus-crds and metrics-server (#5)
Browse files Browse the repository at this point in the history
  • Loading branch information
agtogna authored Jul 2, 2024
2 parents ef16b08 + e396774 commit 60ea1ca
Show file tree
Hide file tree
Showing 31 changed files with 45,031 additions and 0 deletions.
25 changes: 25 additions & 0 deletions charts/metrics-server/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
# Local
local*.yaml
6 changes: 6 additions & 0 deletions charts/metrics-server/Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
dependencies:
- name: metrics-server
repository: https://kubernetes-sigs.github.io/metrics-server/
version: 3.11.0
digest: sha256:e323372fef5182b36f4d4ec61f210b9e2c2629d322c0147a73f587ee3ad097e2
generated: "2023-10-10T16:20:55.657042002+02:00"
14 changes: 14 additions & 0 deletions charts/metrics-server/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: v2
name: metrics-server-navarcos
description: metrics-server

type: application

version: 3.11.0

appVersion: "0.6.4"

dependencies:
- name: metrics-server
version: "3.11.0"
repository: "https://kubernetes-sigs.github.io/metrics-server/"
Binary file not shown.
183 changes: 183 additions & 0 deletions charts/metrics-server/helm-values.default.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
# Default values for metrics-server.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

image:
repository: registry.k8s.io/metrics-server/metrics-server
# Overrides the image tag whose default is v{{ .Chart.AppVersion }}
tag: ""
pullPolicy: IfNotPresent

imagePullSecrets: []
# - name: registrySecretName

nameOverride: ""
fullnameOverride: ""

serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: ""
# The list of secrets mountable by this service account.
# See https://kubernetes.io/docs/reference/labels-annotations-taints/#enforce-mountable-secrets
secrets: []

rbac:
# Specifies whether RBAC resources should be created
create: true
pspEnabled: false

apiService:
# Specifies if the v1beta1.metrics.k8s.io API service should be created.
#
# You typically want this enabled! If you disable API service creation you have to
# manage it outside of this chart for e.g horizontal pod autoscaling to
# work with this release.
create: true
# Annotations to add to the API service
annotations: {}
# Specifies whether to skip TLS verification
insecureSkipTLSVerify: true
# The PEM encoded CA bundle for TLS verification
caBundle: ""

commonLabels: {}
podLabels: {}
podAnnotations: {}

podSecurityContext: {}

securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
runAsNonRoot: true
runAsUser: 1000
seccompProfile:
type: RuntimeDefault
capabilities:
drop:
- ALL

priorityClassName: system-cluster-critical

containerPort: 10250

hostNetwork:
# Specifies if metrics-server should be started in hostNetwork mode.
#
# You would require this enabled if you use alternate overlay networking for pods and
# API server unable to communicate with metrics-server. As an example, this is required
# if you use Weave network on EKS
enabled: false

replicas: 1

updateStrategy: {}
# type: RollingUpdate
# rollingUpdate:
# maxSurge: 0
# maxUnavailable: 1

podDisruptionBudget:
# https://kubernetes.io/docs/tasks/run-application/configure-pdb/
enabled: false
minAvailable:
maxUnavailable:

defaultArgs:
- --cert-dir=/tmp
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
- --kubelet-use-node-status-port
- --metric-resolution=15s

args: []

livenessProbe:
httpGet:
path: /livez
port: https
scheme: HTTPS
initialDelaySeconds: 0
periodSeconds: 10
failureThreshold: 3

readinessProbe:
httpGet:
path: /readyz
port: https
scheme: HTTPS
initialDelaySeconds: 20
periodSeconds: 10
failureThreshold: 3

service:
type: ClusterIP
port: 443
annotations: {}
labels: {}
# Add these labels to have metrics-server show up in `kubectl cluster-info`
# kubernetes.io/cluster-service: "true"
# kubernetes.io/name: "Metrics-server"

addonResizer:
enabled: false
image:
repository: registry.k8s.io/autoscaling/addon-resizer
tag: 1.8.19
resources:
requests:
cpu: 40m
memory: 25Mi
limits:
cpu: 40m
memory: 25Mi
nanny:
cpu: 0m
extraCpu: 1m
memory: 0Mi
extraMemory: 2Mi
minClusterSize: 100
pollPeriod: 300000
threshold: 5

metrics:
enabled: false

serviceMonitor:
enabled: false
additionalLabels: {}
interval: 1m
scrapeTimeout: 10s
metricRelabelings: []
relabelings: []

# See https://github.com/kubernetes-sigs/metrics-server#scaling
resources:
requests:
cpu: 100m
memory: 200Mi
# limits:
# cpu:
# memory:

extraVolumeMounts: []

extraVolumes: []

nodeSelector: {}

tolerations: []

affinity: {}

topologySpreadConstraints: []

# Annotations to add to the deployment
deploymentAnnotations: {}

schedulerName: ""

7 changes: 7 additions & 0 deletions charts/metrics-server/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
metrics-server:
defaultArgs:
- --cert-dir=/tmp
- --kubelet-preferred-address-types=InternalIP
- --kubelet-insecure-tls
- --kubelet-use-node-status-port
- --metric-resolution=15s
25 changes: 25 additions & 0 deletions charts/prometheus-crds/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
# Local
local*.yaml
9 changes: 9 additions & 0 deletions charts/prometheus-crds/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
apiVersion: v2
name: prometheus-crds-navarcos
description: prometheus-stack CRDS

type: application

version: 50.3.1

appVersion: "v50.3.1"
22 changes: 22 additions & 0 deletions charts/prometheus-crds/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Prometheus Stack CRDs

CRDs for Prometheus Stack.
Thay can be installed in an empty cluster so that

- ServiceMonitors
- PodMonitors
- PrometheusRules

can be created by other charts without raising errors if Prometheus Stack is not yet installed.

## Install

### Helm

```shell
helm upgrade --wprometheus-crds-navarcosait --install navarcos/prometheus-crds-navarcos
```

## Chart Update

Prometheus stack CRDs are copied from the original chart (prometheus-stack-navarcos).
Loading

0 comments on commit 60ea1ca

Please sign in to comment.