tangled
alpha
login
or
join now
aleeve.dev
/
ott
2
fork
atom
Scalable and distributed custom feed generator, ott - on that topic
2
fork
atom
overview
issues
pulls
pipelines
Switch service array to dict for easier config
aleeve.dev
5 months ago
07d4d27c
e773eb5f
+24
-22
3 changed files
expand all
collapse all
unified
split
helm
ott
templates
services.yaml
values.yaml
skaffold.yaml
+13
-12
helm/ott/templates/services.yaml
···
1
1
-
{{- range .Values.services }}
1
1
+
{{- range $name, $service := .Values.services }}
2
2
+
{{- $serviceName := $name | replace "_" "-" }}
2
3
---
3
4
apiVersion: apps/v1
4
5
kind: Deployment
5
6
metadata:
6
6
-
name: {{ .name }}
7
7
+
name: {{ $serviceName }}
7
8
labels:
8
8
-
app: {{ .name }}
9
9
+
app: {{ $serviceName }}
9
10
spec:
10
10
-
replicas: {{ .replicas | default 1 }}
11
11
+
replicas: {{ $service.replicas | default 1 }}
11
12
selector:
12
13
matchLabels:
13
13
-
app: {{ .name }}
14
14
+
app: {{ $serviceName }}
14
15
template:
15
16
metadata:
16
17
labels:
17
17
-
app: {{ .name }}
18
18
+
app: {{ $serviceName }}
18
19
spec:
19
20
containers:
20
21
- name: connector
21
21
-
image: "{{ .image.fqn }}"
22
22
-
imagePullPolicy: {{ .image.pullPolicy }}
22
22
+
image: "{{ $service.image.fqn }}"
23
23
+
imagePullPolicy: {{ $service.image.pullPolicy }}
23
24
env:
24
24
-
{{- toYaml .env | nindent 10 }}
25
25
+
{{- toYaml $service.env | nindent 10 }}
25
26
---
26
27
apiVersion: v1
27
28
kind: Service
28
29
metadata:
29
29
-
name: {{ .name }}
30
30
+
name: {{ $serviceName }}
30
31
labels:
31
31
-
app: {{ .name }}
32
32
+
app: {{ $serviceName }}
32
33
spec:
33
34
selector:
34
34
-
app: {{ .name }}
35
35
+
app: {{ $serviceName }}
35
36
ports:
36
37
- port: 80
37
38
targetPort: 8080
+5
-5
helm/ott/values.yaml
···
7
7
token: {}
8
8
9
9
services:
10
10
-
- name: likes-connector
10
10
+
likes_connector:
11
11
image:
12
12
fqn: likes-connector
13
13
pullPolicy: IfNotPresent
14
14
replicas: 1
15
15
16
16
-
- name: posts-connector
16
16
+
posts_connector:
17
17
image:
18
18
fqn: posts-connector
19
19
pullPolicy: IfNotPresent
20
20
replicas: 1
21
21
22
22
-
- name: ott-filter
22
22
+
ott_filter:
23
23
image:
24
24
fqn: ott-filter
25
25
pullPolicy: IfNotPresent
26
26
replicas: 1
27
27
28
28
-
- name: ott-embed
28
28
+
ott_embed:
29
29
image:
30
30
fqn: ott-embed
31
31
pullPolicy: IfNotPresent
···
43
43
- name: DATABASE_URL
44
44
value: "postgres://$(DATABASE_USER):$(DATABASE_PASSWORD)@postgres-rw.default.svc.cluster.local:5432/app"
45
45
46
46
-
- name: ott-xrpc
46
46
+
ott_xrpc:
47
47
image:
48
48
fqn: ott-embed
49
49
pullPolicy: IfNotPresent
+6
-5
skaffold.yaml
···
87
87
setValueTemplates:
88
88
cloudflared.token: "{{.CLOUDFLARE_TUNNEL_TOKEN}}"
89
89
postgresql.migration_image_fqn: "{{.IMAGE_FULLY_QUALIFIED_migration_pg}}"
90
90
-
services[0].image.fqn: "{{.IMAGE_FULLY_QUALIFIED_likes_connector}}"
91
91
-
services[1].image.fqn: "{{.IMAGE_FULLY_QUALIFIED_posts_connector}}"
92
92
-
services[2].image.fqn: "{{.IMAGE_FULLY_QUALIFIED_ott_filter}}"
93
93
-
services[3].image.fqn: "{{.IMAGE_FULLY_QUALIFIED_ott_embed}}"
94
94
-
services[4].image.fqn: "{{.IMAGE_FULLY_QUALIFIED_ott_xrpc}}"
90
90
+
services.likes_connector.image.fqn: "{{.IMAGE_FULLY_QUALIFIED_likes_connector}}"
91
91
+
services.posts_connector.image.fqn: "{{.IMAGE_FULLY_QUALIFIED_posts_connector}}"
92
92
+
services.ott_filter.image.fqn: "{{.IMAGE_FULLY_QUALIFIED_ott_filter}}"
93
93
+
services.ott_embed.image.fqn: "{{.IMAGE_FULLY_QUALIFIED_ott_embed}}"
94
94
+
services.ott_xrpc.image.fqn: "{{.IMAGE_FULLY_QUALIFIED_ott_xrpc}}"
95
95
+
services.ott_xrpc.env[0].value: "{{.EXTERNAL_BASE_URL}}"
95
96
version: 0.1.0