mirror of
https://github.com/logos-storage/bittorrent-benchmarks.git
synced 2026-01-07 15:33:10 +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 -}}
|
{{- end -}}
|
||||||
|
|
||||||
{{- define "deluge.pvc" }}
|
{{- 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 -}}
|
{{- end -}}
|
||||||
|
|
||||||
{{- define "tracker.service.name" }}
|
{{- define "experiment.groupId" -}}
|
||||||
{{- printf "bittorrent-tracker-%s" .Release.Name -}}
|
{{- required "A valid .Values.experiment.groupId is required!" .Values.experiment.groupId }}
|
||||||
{{- end -}}
|
{{- 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.
|
Common and selector labels.
|
||||||
@ -43,6 +51,6 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{- define "deluge-benchmarks.selectorLabels" -}}
|
{{- define "deluge-benchmarks.selectorLabels" -}}
|
||||||
app.kubernetes.io/name: {{ include "app.name" . }}
|
app.kubernetes.io/instance: {{ include "experiment.id" . }}
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
app.kubernetes.io/part-of: {{ include "experiment.groupId" . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@ -1,15 +1,16 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: deluge-nodes-{{ .Release.Name }}-service
|
name: deluge-nodes-service-{{ include "experiment.fullId" . }}
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ .Release.Namespace }}
|
||||||
labels:
|
labels:
|
||||||
app: deluge-nodes-{{ .Release.Name }}
|
app.kubernetes.io/name: deluge-nodes-service
|
||||||
{{- include "deluge-benchmarks.labels" . | nindent 4}}
|
{{- include "deluge-benchmarks.labels" . | nindent 4}}
|
||||||
spec:
|
spec:
|
||||||
clusterIP: None
|
clusterIP: None
|
||||||
selector:
|
selector:
|
||||||
app: deluge-nodes-{{ .Release.Name }}
|
app.kubernetes.io/name: deluge-node
|
||||||
|
{{- include "deluge-benchmarks.selectorLabels" . | nindent 4}}
|
||||||
ports:
|
ports:
|
||||||
- port: 6890
|
- port: 6890
|
||||||
name: rpc
|
name: rpc
|
||||||
|
|||||||
@ -1,32 +1,34 @@
|
|||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: StatefulSet
|
kind: StatefulSet
|
||||||
metadata:
|
metadata:
|
||||||
name: deluge-nodes-{{ .Release.Name }}
|
name: deluge-nodes-{{ include "experiment.fullId" . }}
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ .Release.Namespace }}
|
||||||
|
|
||||||
spec:
|
spec:
|
||||||
replicas: {{ .Values.experiment.networkSize }}
|
replicas: {{ .Values.experiment.networkSize }}
|
||||||
serviceName: deluge-nodes-{{ .Release.Name }}-service
|
serviceName: deluge-nodes-service-{{ include "experiment.fullId" . }}
|
||||||
podManagementPolicy: Parallel
|
podManagementPolicy: Parallel
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: deluge-nodes-{{ .Release.Name }}
|
app.kubernetes.io/name: deluge-node
|
||||||
{{- include "deluge-benchmarks.selectorLabels" . | nindent 6 }}
|
{{- include "deluge-benchmarks.selectorLabels" . | nindent 6 }}
|
||||||
|
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: deluge-nodes-{{ .Release.Name }}
|
app.kubernetes.io/name: deluge-node
|
||||||
{{- include "deluge-benchmarks.labels" . | nindent 8 }}
|
{{- include "deluge-benchmarks.labels" . | nindent 8 }}
|
||||||
|
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: deluge-{{ .Release.Name }}
|
- name: deluge-node
|
||||||
image: codexstorage/deluge
|
image: codexstorage/deluge
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 6890
|
- containerPort: 6890
|
||||||
env:
|
env:
|
||||||
|
- name: EXPERIMENT_GROUP_ID
|
||||||
|
value: {{ include "experiment.groupId" . }}
|
||||||
- name: CLIENT_POD_NAME
|
- name: CLIENT_POD_NAME
|
||||||
valueFrom:
|
valueFrom:
|
||||||
fieldRef:
|
fieldRef:
|
||||||
@ -40,7 +42,7 @@ spec:
|
|||||||
command: [ "/bin/bash", "--login", "-c" ]
|
command: [ "/bin/bash", "--login", "-c" ]
|
||||||
args:
|
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
|
# Sadly we can't mount a subpath, so need add the correct prefix
|
||||||
# into all of the config directories.
|
# into all of the config directories.
|
||||||
export DELUGE_CONFIG_DIR=/var/lib/deluge/${CLIENT_POD_NAME}
|
export DELUGE_CONFIG_DIR=/var/lib/deluge/${CLIENT_POD_NAME}
|
||||||
|
|||||||
@ -1,22 +1,22 @@
|
|||||||
apiVersion: batch/v1
|
apiVersion: batch/v1
|
||||||
kind: Job
|
kind: Job
|
||||||
metadata:
|
metadata:
|
||||||
name: deluge-{{ .Release.Name }}-testrunner
|
name: deluge-experiment-runner-{{ include "experiment.fullId" . }}
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ .Release.Namespace }}
|
||||||
labels:
|
labels:
|
||||||
app: deluge-{{ .Release.Name }}-testrunner
|
app.kubernetes.io/name: deluge-experiment-runner
|
||||||
{{- include "deluge-benchmarks.labels" . | nindent 4 }}
|
{{- include "deluge-benchmarks.labels" . | nindent 4 }}
|
||||||
|
|
||||||
spec:
|
spec:
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: deluge-{{ .Release.Name }}-testrunner
|
app.kubernetes.io/name: deluge-experiment-runner
|
||||||
{{- include "deluge-benchmarks.labels" . | nindent 8 }}
|
{{- include "deluge-benchmarks.labels" . | nindent 8 }}
|
||||||
|
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: deluge-{{ .Release.Name }}-testrunner
|
- name: deluge-experiment-runner
|
||||||
image: codexstorage/bittorrent-benchmarks:latest
|
image: codexstorage/bittorrent-benchmarks:latest
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
args: [ "run", "deluge_experiment" ]
|
args: [ "run", "deluge_experiment" ]
|
||||||
@ -32,13 +32,13 @@ spec:
|
|||||||
- name: FILE_SIZE
|
- name: FILE_SIZE
|
||||||
value: {{ include "filesize.bytes" . | quote }}
|
value: {{ include "filesize.bytes" . | quote }}
|
||||||
- name: TRACKER_ANNOUNCE_URL
|
- 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
|
- name: SHARED_VOLUME_PATH
|
||||||
value: "/opt/bittorrent-benchmarks/volume"
|
value: "/opt/bittorrent-benchmarks/volume"
|
||||||
- name: DELUGE_STATEFULSET
|
- name: DELUGE_STATEFULSET
|
||||||
value: "deluge-nodes-{{ .Release.Name }}"
|
value: "deluge-nodes-{{ include "experiment.fullId" . }}"
|
||||||
- name: DELUGE_SERVICE
|
- name: DELUGE_SERVICE
|
||||||
value: "deluge-nodes-{{ .Release.Name }}-service"
|
value: "deluge-nodes-service-{{ include "experiment.fullId" . }}"
|
||||||
- name: NAMESPACE
|
- name: NAMESPACE
|
||||||
valueFrom:
|
valueFrom:
|
||||||
fieldRef:
|
fieldRef:
|
||||||
|
|||||||
@ -1,28 +1,28 @@
|
|||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: bittorrent-tracker-{{ .Release.Name }}
|
name: bittorrent-tracker-{{ include "experiment.fullId" . }}
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ .Release.Namespace }}
|
||||||
labels:
|
labels:
|
||||||
app: bittorrent-tracker-{{ .Release.Name }}
|
app.kubernetes.io/name: bittorrent-tracker
|
||||||
{{- include "deluge-benchmarks.labels" . | nindent 4 }}
|
{{- include "deluge-benchmarks.labels" . | nindent 4 }}
|
||||||
|
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: bittorrent-tracker-{{ .Release.Name }}
|
app.kubernetes.io/name: bittorrent-tracker
|
||||||
{{- include "deluge-benchmarks.selectorLabels" . | nindent 6 }}
|
{{- include "deluge-benchmarks.selectorLabels" . | nindent 6 }}
|
||||||
|
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: bittorrent-tracker-{{ .Release.Name }}
|
app.kubernetes.io/name: bittorrent-tracker
|
||||||
{{- include "deluge-benchmarks.labels" . | nindent 8 }}
|
{{- include "deluge-benchmarks.labels" . | nindent 8 }}
|
||||||
|
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: bittorrent-tracker-{{ .Release.Name }}
|
- name: bittorrent-tracker
|
||||||
image: codexstorage/bittorrent-tracker
|
image: codexstorage/bittorrent-tracker
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8000
|
- containerPort: 8000
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "tracker.service.name" . }}
|
name: bittorrent-tracker-service-{{ include "experiment.fullId" . }}
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ .Release.Namespace }}
|
||||||
labels:
|
labels:
|
||||||
app: tracker-{{ .Release.Name }}
|
app.kubernetes.io/name: bittorrent-tracker-service
|
||||||
{{- include "deluge-benchmarks.labels" . | nindent 4 }}
|
{{- include "deluge-benchmarks.labels" . | nindent 4 }}
|
||||||
|
|
||||||
spec:
|
spec:
|
||||||
@ -14,5 +14,5 @@ spec:
|
|||||||
targetPort: 8000
|
targetPort: 8000
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
selector:
|
selector:
|
||||||
app: bittorrent-tracker-{{ .Release.Name }}
|
app.kubernetes.io/name: bittorrent-tracker
|
||||||
{{- include "deluge-benchmarks.selectorLabels" . | nindent 4 }}
|
{{- include "deluge-benchmarks.selectorLabels" . | nindent 4 }}
|
||||||
@ -5,6 +5,14 @@ experiment:
|
|||||||
seederSets: 4
|
seederSets: 4
|
||||||
repetitions: 10
|
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:
|
deployment:
|
||||||
pvcName: ""
|
pvcName: ""
|
||||||
appName: ""
|
appName: ""
|
||||||
Loading…
x
Reference in New Issue
Block a user