Skip to content

Commit be4a550

Browse files
authored
chore(addons): add victoriametrics (#112)
1 parent f395bf3 commit be4a550

91 files changed

Lines changed: 9755 additions & 1 deletion

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

addons/index.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,4 +81,7 @@ entries:
8181
description: "Transactional Catalog for Data Lakes with Git-like semantics . "
8282
lakefs:
8383
- version: "1.52"
84-
description: "LakeFS provides version control over the data lake, and uses Git-like semantics to create and access those versions. If you know git, you’ll be right at home with lakeFS. "
84+
description: "LakeFS provides version control over the data lake, and uses Git-like semantics to create and access those versions. If you know git, you’ll be right at home with lakeFS. "
85+
victoriametrics:
86+
- version: "1"
87+
description: "VictoriaMetrics is a fast, cost-effective and scalable monitoring solution and time series database. It is designed to handle large amounts of data with high performance and low resource usage."
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Patterns to ignore when building packages.
2+
# This supports shell glob matching, relative path matching, and
3+
# negation (prefixed with !). Only one pattern per line.
4+
.DS_Store
5+
# Common VCS dirs
6+
.git/
7+
.gitignore
8+
.bzr/
9+
.bzrignore
10+
.hg/
11+
.hgignore
12+
.svn/
13+
# Common backup files
14+
*.swp
15+
*.bak
16+
*.tmp
17+
*~
18+
# Various IDEs
19+
.project
20+
.idea/
21+
*.tmproj
22+
# img folder
23+
img/
24+
# Changelog
25+
CHANGELOG.md
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Copyright Broadcom, Inc. All Rights Reserved.
2+
# SPDX-License-Identifier: APACHE-2.0
3+
4+
annotations:
5+
category: Infrastructure
6+
licenses: Apache-2.0
7+
apiVersion: v2
8+
appVersion: 1.118.0
9+
dependencies:
10+
- name: common
11+
repository: oci://registry.drycc.cc/charts
12+
tags:
13+
- drycc-common
14+
version: ~1.1.3
15+
description: VictoriaMetrics is a fast, cost-effective, and scalable monitoring solution
16+
and time series database, compatible with Prometheus and Graphite
17+
home: https://drycc.com
18+
icon: https://dyltqmyl993wv.cloudfront.net/assets/stacks/victoriametrics/img/victoriametrics-stack-220x234.png
19+
keywords:
20+
- monitoring
21+
- metrics
22+
maintainers:
23+
- name: Broadcom, Inc. All Rights Reserved.
24+
url: https://github.com/drycc/charts
25+
name: victoriametrics
26+
sources:
27+
- https://github.com/drycc/charts/tree/main/drycc/victoriametrics
28+
version: 0.1.13

addons/victoriametrics/1/chart/victoriametrics/README.md

Lines changed: 1159 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
CHART NAME: {{ .Chart.Name }}
2+
CHART VERSION: {{ .Chart.Version }}
3+
APP VERSION: {{ .Chart.AppVersion }}
4+
5+
Did you know there are enterprise versions of the Drycc catalog? For enhanced secure software supply chain features, unlimited pulls from Docker, LTS support, or application customization, see Drycc Premium or Tanzu Application Catalog. See https://www.arrow.com/globalecs/na/vendors/drycc for more information.
6+
7+
** Please be patient while the chart is being deployed **
8+
9+
The following controllers have been deployed:
10+
11+
- vmselect
12+
- vminsert
13+
- vmstorage
14+
{{- if .Values.vmauth.enabled }}
15+
- vmauth
16+
{{- end }}
17+
{{- if .Values.vmagent.enabled }}
18+
- vmagent
19+
{{- end }}
20+
{{- if .Values.vmalert.enabled }}
21+
- vmalert
22+
{{- end }}
23+
24+
Check the status of the pods by running this command:
25+
26+
kubectl get pods --namespace {{ include "common.names.namespace" . | quote }} -l app.kubernetes.io/instance={{ .Release.Name }}
27+
28+
{{- if .Values.vmauth.enabled }}
29+
Your VictoriaMetrics site can be accessed through the following DNS name from within your cluster:
30+
31+
{{ include "victoriametrics.vmauth.fullname" . }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }} (port {{ .Values.vmauth.service.ports.http }})
32+
33+
To access your VictoriaMetrics site from outside the cluster follow the steps below:
34+
35+
{{- if .Values.vmauth.ingress.enabled }}
36+
37+
Get the VictoriaMetrics URL and associate VictoriaMetrics hostname to your cluster external IP:
38+
39+
export CLUSTER_IP=$(minikube ip) # On Minikube. Use: `kubectl cluster-info` on others K8s clusters
40+
echo "VictoriaMetrics Select URL: http{{ if .Values.vmauth.ingress.tls }}s{{ end }}://{{ .Values.vmauth.ingress.hostname }}/select"
41+
echo "VictoriaMetrics Insert URL: http{{ if .Values.vmauth.ingress.tls }}s{{ end }}://{{ .Values.vmauth.ingress.hostname }}/insert"
42+
echo "$CLUSTER_IP {{ .Values.vmauth.ingress.hostname }}" | sudo tee -a /etc/hosts
43+
44+
{{- else }}
45+
{{- $port := .Values.vmauth.service.ports.http | toString }}
46+
47+
Get the VictoriaMetrics URL by running these commands:
48+
49+
{{- if contains "NodePort" .Values.vmauth.service.type }}
50+
51+
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "victoriametrics.vmauth.fullname" . }})
52+
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
53+
echo "VictoriaMetrics Select URL: http://$NODE_IP:$NODE_PORT/select"
54+
echo "VictoriaMetrics Insert URL: http://$NODE_IP:$NODE_PORT/insert"
55+
56+
{{- else if contains "LoadBalancer" .Values.vmauth.service.type }}
57+
58+
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
59+
Watch the status with: 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ include "victoriametrics.vmauth.fullname" . }}'
60+
61+
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "victoriametrics.vmauth.fullname" . }} --template "{{ "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}" }}")
62+
echo "VictoriaMetrics Select URL: http://$SERVICE_IP{{- if ne $port "80" }}:{{ .Values.vmauth.service.ports.http }}{{ end }}/select"
63+
echo "VictoriaMetrics Insert URL: http://$SERVICE_IP{{- if ne $port "80" }}:{{ .Values.vmauth.service.ports.http }}{{ end }}/select"
64+
65+
{{- else if contains "ClusterIP" .Values.vmauth.service.type }}
66+
67+
kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ include "victoriametrics.vmauth.fullname" . }} {{ .Values.vmauth.service.ports.http }}:{{ .Values.vmauth.service.ports.http }} &
68+
echo "VictoriaMetrics Select URL: http://127.0.0.1{{- if ne $port "80" }}:{{ .Values.vmauth.service.ports.http }}{{ end }}/select"
69+
echo "VictoriaMetrics Insert URL: http://127.0.0.1{{- if ne $port "80" }}:{{ .Values.vmauth.service.ports.http }}{{ end }}/insert"
70+
71+
{{- end }}
72+
{{- end }}
73+
{{- else }}
74+
75+
Your VictoriaMetrics Select site can be accessed through the following DNS name from within your cluster:
76+
77+
{{ include "victoriametrics.vmselect.fullname" . }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }} (port {{ .Values.vmselect.service.ports.http }})
78+
79+
To access your VictoriaMetrics site from outside the cluster follow the steps below:
80+
81+
{{- if .Values.vmselect.ingress.enabled }}
82+
83+
Get the VictoriaMetrics URL and associate VictoriaMetrics hostname to your cluster external IP:
84+
85+
export CLUSTER_IP=$(minikube ip) # On Minikube. Use: `kubectl cluster-info` on others K8s clusters
86+
echo "VictoriaMetrics Select URL: http{{ if .Values.vmselect.ingress.tls }}s{{ end }}://{{ .Values.vmselect.ingress.hostname }}/select"
87+
echo "$CLUSTER_IP {{ .Values.vmselect.ingress.hostname }}" | sudo tee -a /etc/hosts
88+
89+
{{- else }}
90+
{{- $port := .Values.vmselect.service.ports.http | toString }}
91+
92+
Get the VictoriaMetrics URL by running these commands:
93+
94+
{{- if contains "NodePort" .Values.vmselect.service.type }}
95+
96+
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "victoriametrics.vmselect.fullname" . }})
97+
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
98+
echo "VictoriaMetrics Select URL: http://$NODE_IP:$NODE_PORT/select"
99+
100+
{{- else if contains "LoadBalancer" .Values.vmselect.service.type }}
101+
102+
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
103+
Watch the status with: 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ include "victoriametrics.vmselect.fullname" . }}'
104+
105+
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "victoriametrics.vmselect.fullname" . }} --template "{{ "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}" }}")
106+
echo "VictoriaMetrics Select URL: http://$SERVICE_IP{{- if ne $port "80" }}:{{ .Values.vmselect.service.ports.http }}{{ end }}/select"
107+
108+
{{- else if contains "ClusterIP" .Values.vmselect.service.type }}
109+
110+
kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ include "victoriametrics.vmselect.fullname" . }} {{ .Values.vmselect.service.ports.http }}:{{ .Values.vmselect.service.ports.http }} &
111+
echo "VictoriaMetrics Select URL: http://127.0.0.1{{- if ne $port "80" }}:{{ .Values.vmselect.service.ports.http }}{{ end }}/select"
112+
113+
{{- end }}
114+
{{- end }}
115+
116+
Your VictoriaMetrics Insert site can be accessed through the following DNS name from within your cluster:
117+
118+
{{ include "victoriametrics.vminsert.fullname" . }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }} (port {{ .Values.vminsert.service.ports.http }})
119+
120+
To access your VictoriaMetrics site from outside the cluster follow the steps below:
121+
122+
{{- if .Values.vminsert.ingress.enabled }}
123+
124+
Get the VictoriaMetrics URL and associate VictoriaMetrics hostname to your cluster external IP:
125+
126+
export CLUSTER_IP=$(minikube ip) # On Minikube. Use: `kubectl cluster-info` on others K8s clusters
127+
echo "VictoriaMetrics Insert URL: http{{ if .Values.vminsert.ingress.tls }}s{{ end }}://{{ .Values.vminsert.ingress.hostname }}/insert"
128+
echo "$CLUSTER_IP {{ .Values.vminsert.ingress.hostname }}" | sudo tee -a /etc/hosts
129+
130+
{{- else }}
131+
{{- $port := .Values.vminsert.service.ports.http | toString }}
132+
133+
Get the VictoriaMetrics URL by running these commands:
134+
135+
{{- if contains "NodePort" .Values.vminsert.service.type }}
136+
137+
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "victoriametrics.vminsert.fullname" . }})
138+
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
139+
echo "VictoriaMetrics Insert URL: http://$NODE_IP:$NODE_PORT/insert"
140+
141+
{{- else if contains "LoadBalancer" .Values.vminsert.service.type }}
142+
143+
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
144+
Watch the status with: 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ include "victoriametrics.vminsert.fullname" . }}'
145+
146+
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "victoriametrics.vminsert.fullname" . }} --template "{{ "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}" }}")
147+
echo "VictoriaMetrics Insert URL: http://$SERVICE_IP{{- if ne $port "80" }}:{{ .Values.vminsert.service.ports.http }}{{ end }}/insert"
148+
149+
{{- else if contains "ClusterIP" .Values.vminsert.service.type }}
150+
151+
kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ include "victoriametrics.vminsert.fullname" . }} {{ .Values.vminsert.service.ports.http }}:{{ .Values.vminsert.service.ports.http }} &
152+
echo "VictoriaMetrics Insert URL: http://127.0.0.1{{- if ne $port "80" }}:{{ .Values.vminsert.service.ports.http }}{{ end }}/insert"
153+
154+
{{- end }}
155+
{{- end }}
156+
157+
{{- end }}
158+
159+
{{- include "common.warnings.rollingTag" .Values.vmselect.image }}
160+
{{- include "common.warnings.rollingTag" .Values.vminsert.image }}
161+
{{- include "common.warnings.rollingTag" .Values.vmstorage.image }}
162+
{{- include "common.warnings.rollingTag" .Values.vmauth.image }}
163+
{{- include "common.warnings.rollingTag" .Values.vmagent.image }}
164+
{{- include "common.warnings.rollingTag" .Values.vmalert.image }}
165+
{{- include "victoriametrics.validateValues" . }}
166+
{{- include "common.warnings.resources" (dict "sections" (list "vmselect" "vmstorage" "vminsert" "vmauth" "vmagent" "vmalert" "defaultInitContainers.volumePermissions") "context" $) }}
167+
{{- include "common.warnings.modifiedImages" (dict "images" (list .Values.vmselect.image .Values.vminsert.image .Values.vmstorage.image .Values.vmauth.image .Values.vmagent.image .Values.vmalert.image .Values.defaultInitContainers.volumePermissions.image) "context" $) }}
168+
{{- include "common.errors.insecureImages" (dict "images" (list .Values.vmselect.image .Values.vminsert.image .Values.vmstorage.image .Values.vmauth.image .Values.vmagent.image .Values.vmalert.image .Values.defaultInitContainers.volumePermissions.image) "context" $) }}

0 commit comments

Comments
 (0)