mirror of
https://github.com/logos-storage/bittorrent-benchmarks.git
synced 2026-01-03 05:23:06 +00:00
feat: standardize labelling in Helm chart to facilitate log consumption
This commit is contained in:
parent
a05640b7c0
commit
4d1eef9d53
@ -15,12 +15,20 @@ Expand the name of the chart.
|
||||
{{- end -}}
|
||||
|
||||
{{- define "deluge.pvc" }}
|
||||
{{- default (printf "deluge-%s-pvc" .Release.Name) .Values.deployment.pvcName }}
|
||||
{{- default (printf "deluge-%s-pvc" (include "experiment.fullId" .)) .Values.deployment.pvcName }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "tracker.service.name" }}
|
||||
{{- printf "bittorrent-tracker-%s" .Release.Name -}}
|
||||
{{- end -}}
|
||||
{{- define "experiment.groupId" -}}
|
||||
{{- required "A valid .Values.experiment.groupId is required!" .Values.experiment.groupId }}
|
||||
{{- end }}
|
||||
|
||||
{{- define "experiment.id" -}}
|
||||
{{- default .Release.Name .Values.experiment.id }}
|
||||
{{- end }}
|
||||
|
||||
{{- define "experiment.fullId" -}}
|
||||
{{- printf "%s-%s" (include "experiment.id" .) (include "experiment.groupId" .) }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common and selector labels.
|
||||
@ -43,6 +51,6 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{- define "deluge-benchmarks.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "app.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/instance: {{ include "experiment.id" . }}
|
||||
app.kubernetes.io/part-of: {{ include "experiment.groupId" . }}
|
||||
{{- end }}
|
||||
|
||||
@ -1,15 +1,16 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: deluge-nodes-{{ .Release.Name }}-service
|
||||
name: deluge-nodes-service-{{ include "experiment.fullId" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app: deluge-nodes-{{ .Release.Name }}
|
||||
{{- include "deluge-benchmarks.labels" . | nindent 4 }}
|
||||
app.kubernetes.io/name: deluge-nodes-service
|
||||
{{- include "deluge-benchmarks.labels" . | nindent 4}}
|
||||
spec:
|
||||
clusterIP: None
|
||||
selector:
|
||||
app: deluge-nodes-{{ .Release.Name }}
|
||||
app.kubernetes.io/name: deluge-node
|
||||
{{- include "deluge-benchmarks.selectorLabels" . | nindent 4}}
|
||||
ports:
|
||||
- port: 6890
|
||||
name: rpc
|
||||
|
||||
@ -1,32 +1,34 @@
|
||||
apiVersion: apps/v1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
name: deluge-nodes-{{ .Release.Name }}
|
||||
name: deluge-nodes-{{ include "experiment.fullId" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
|
||||
spec:
|
||||
replicas: {{ .Values.experiment.networkSize }}
|
||||
serviceName: deluge-nodes-{{ .Release.Name }}-service
|
||||
serviceName: deluge-nodes-service-{{ include "experiment.fullId" . }}
|
||||
podManagementPolicy: Parallel
|
||||
selector:
|
||||
matchLabels:
|
||||
app: deluge-nodes-{{ .Release.Name }}
|
||||
app.kubernetes.io/name: deluge-node
|
||||
{{- include "deluge-benchmarks.selectorLabels" . | nindent 6 }}
|
||||
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: deluge-nodes-{{ .Release.Name }}
|
||||
app.kubernetes.io/name: deluge-node
|
||||
{{- include "deluge-benchmarks.labels" . | nindent 8 }}
|
||||
|
||||
spec:
|
||||
containers:
|
||||
- name: deluge-{{ .Release.Name }}
|
||||
- name: deluge-node
|
||||
image: codexstorage/deluge
|
||||
imagePullPolicy: Always
|
||||
ports:
|
||||
- containerPort: 6890
|
||||
env:
|
||||
- name: EXPERIMENT_GROUP_ID
|
||||
value: {{ include "experiment.groupId" . }}
|
||||
- name: CLIENT_POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
@ -40,7 +42,7 @@ spec:
|
||||
command: [ "/bin/bash", "--login", "-c" ]
|
||||
args:
|
||||
- |
|
||||
export DELUGE_NODE_ID=${CLIENT_POD_NAME}
|
||||
export DELUGE_NODE_ID=${CLIENT_POD_NAME}-${EXPERIMENT_GROUP_ID}
|
||||
# Sadly we can't mount a subpath, so need add the correct prefix
|
||||
# into all of the config directories.
|
||||
export DELUGE_CONFIG_DIR=/var/lib/deluge/${CLIENT_POD_NAME}
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
apiVersion: batch/v1
|
||||
kind: Job
|
||||
metadata:
|
||||
name: deluge-{{ .Release.Name }}-testrunner
|
||||
name: deluge-experiment-runner-{{ include "experiment.fullId" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app: deluge-{{ .Release.Name }}-testrunner
|
||||
app.kubernetes.io/name: deluge-experiment-runner
|
||||
{{- include "deluge-benchmarks.labels" . | nindent 4 }}
|
||||
|
||||
spec:
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: deluge-{{ .Release.Name }}-testrunner
|
||||
app.kubernetes.io/name: deluge-experiment-runner
|
||||
{{- include "deluge-benchmarks.labels" . | nindent 8 }}
|
||||
|
||||
spec:
|
||||
containers:
|
||||
- name: deluge-{{ .Release.Name }}-testrunner
|
||||
- name: deluge-experiment-runner
|
||||
image: codexstorage/bittorrent-benchmarks:latest
|
||||
imagePullPolicy: Always
|
||||
args: [ "run", "deluge_experiment" ]
|
||||
@ -32,13 +32,13 @@ spec:
|
||||
- name: FILE_SIZE
|
||||
value: {{ include "filesize.bytes" . | quote }}
|
||||
- name: TRACKER_ANNOUNCE_URL
|
||||
value: "http://{{ include "tracker.service.name" . }}.{{ .Release.Namespace }}.svc.cluster.local:8000/announce"
|
||||
value: "http://bittorrent-tracker-service-{{ include "experiment.fullId" . }}.{{ .Release.Namespace }}.svc.cluster.local:8000/announce"
|
||||
- name: SHARED_VOLUME_PATH
|
||||
value: "/opt/bittorrent-benchmarks/volume"
|
||||
- name: DELUGE_STATEFULSET
|
||||
value: "deluge-nodes-{{ .Release.Name }}"
|
||||
value: "deluge-nodes-{{ include "experiment.fullId" . }}"
|
||||
- name: DELUGE_SERVICE
|
||||
value: "deluge-nodes-{{ .Release.Name }}-service"
|
||||
value: "deluge-nodes-service-{{ include "experiment.fullId" . }}"
|
||||
- name: NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
|
||||
@ -1,28 +1,28 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: bittorrent-tracker-{{ .Release.Name }}
|
||||
name: bittorrent-tracker-{{ include "experiment.fullId" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app: bittorrent-tracker-{{ .Release.Name }}
|
||||
app.kubernetes.io/name: bittorrent-tracker
|
||||
{{- include "deluge-benchmarks.labels" . | nindent 4 }}
|
||||
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: bittorrent-tracker-{{ .Release.Name }}
|
||||
app.kubernetes.io/name: bittorrent-tracker
|
||||
{{- include "deluge-benchmarks.selectorLabels" . | nindent 6 }}
|
||||
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: bittorrent-tracker-{{ .Release.Name }}
|
||||
app.kubernetes.io/name: bittorrent-tracker
|
||||
{{- include "deluge-benchmarks.labels" . | nindent 8 }}
|
||||
|
||||
spec:
|
||||
containers:
|
||||
- name: bittorrent-tracker-{{ .Release.Name }}
|
||||
- name: bittorrent-tracker
|
||||
image: codexstorage/bittorrent-tracker
|
||||
ports:
|
||||
- containerPort: 8000
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "tracker.service.name" . }}
|
||||
name: bittorrent-tracker-service-{{ include "experiment.fullId" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app: tracker-{{ .Release.Name }}
|
||||
app.kubernetes.io/name: bittorrent-tracker-service
|
||||
{{- include "deluge-benchmarks.labels" . | nindent 4 }}
|
||||
|
||||
spec:
|
||||
@ -14,5 +14,5 @@ spec:
|
||||
targetPort: 8000
|
||||
protocol: TCP
|
||||
selector:
|
||||
app: bittorrent-tracker-{{ .Release.Name }}
|
||||
app.kubernetes.io/name: bittorrent-tracker
|
||||
{{- include "deluge-benchmarks.selectorLabels" . | nindent 4 }}
|
||||
@ -5,6 +5,14 @@ experiment:
|
||||
seederSets: 4
|
||||
repetitions: 10
|
||||
|
||||
# Experiments are ran as part of groups which may entail several invocations for this Helm chart.
|
||||
# We therefore identify both the experiment within a group, and the group itself.
|
||||
|
||||
# Identifies the experiment within the group. If left empty, defaults to the release name.
|
||||
id: ""
|
||||
# Identifies the experiment group. Needs to be defined by the user.
|
||||
groupId: ""
|
||||
|
||||
deployment:
|
||||
pvcName: ""
|
||||
appName: ""
|
||||
Loading…
x
Reference in New Issue
Block a user