Skip to content

Commit c157b38

Browse files
authored
Merge pull request #165 from metalmatze/config-ports
Create high level config for ports that get use by other objects
2 parents e8230d3 + 601b850 commit c157b38

14 files changed

Lines changed: 134 additions & 53 deletions

examples/all/manifests/thanos-bucket-service.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ spec:
1212
ports:
1313
- name: http
1414
port: 10902
15-
targetPort: http
15+
targetPort: 10902
1616
selector:
1717
app.kubernetes.io/component: object-store-bucket-debugging
1818
app.kubernetes.io/instance: thanos-bucket

examples/all/manifests/thanos-compact-service.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ spec:
1212
ports:
1313
- name: http
1414
port: 10902
15-
targetPort: http
15+
targetPort: 10902
1616
selector:
1717
app.kubernetes.io/component: database-compactor
1818
app.kubernetes.io/instance: thanos-compact

examples/all/manifests/thanos-query-frontend-service.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ spec:
1212
ports:
1313
- name: http
1414
port: 9090
15-
targetPort: http
15+
targetPort: 9090
1616
selector:
1717
app.kubernetes.io/component: query-cache
1818
app.kubernetes.io/instance: thanos-query-frontend

examples/all/manifests/thanos-receive-service.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ spec:
1313
ports:
1414
- name: grpc
1515
port: 10901
16-
targetPort: grpc
16+
targetPort: 10901
1717
- name: http
1818
port: 10902
19-
targetPort: http
19+
targetPort: 10902
2020
- name: remote-write
2121
port: 19291
22-
targetPort: remote-write
22+
targetPort: 19291
2323
selector:
2424
app.kubernetes.io/component: database-write-hashring
2525
app.kubernetes.io/instance: thanos-receive

examples/all/manifests/thanos-rule-service.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ spec:
1313
ports:
1414
- name: grpc
1515
port: 10901
16-
targetPort: grpc
16+
targetPort: 10901
1717
- name: http
1818
port: 10902
19-
targetPort: http
19+
targetPort: 10902
2020
selector:
2121
app.kubernetes.io/component: rule-evaluation-engine
2222
app.kubernetes.io/instance: thanos-rule

examples/all/manifests/thanos-store-service.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ spec:
1313
ports:
1414
- name: grpc
1515
port: 10901
16-
targetPort: grpc
16+
targetPort: 10901
1717
- name: http
1818
port: 10902
19-
targetPort: http
19+
targetPort: 10902
2020
selector:
2121
app.kubernetes.io/component: object-store-gateway
2222
app.kubernetes.io/instance: thanos-store

jsonnet/kube-thanos/kube-thanos-bucket.libsonnet

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ local defaults = {
77
objectStorageConfig: error 'must provide objectStorageConfig',
88
resources: {},
99
logLevel: 'info',
10+
ports: {
11+
http: 10902,
12+
},
1013

1114
commonLabels:: {
1215
'app.kubernetes.io/name': 'thanos-bucket',
@@ -41,7 +44,17 @@ function(params) {
4144
labels: tb.config.commonLabels,
4245
},
4346
spec: {
44-
ports: [{ name: 'http', targetPort: 'http', port: 10902 }],
47+
ports: [
48+
{
49+
assert std.isString(name),
50+
assert std.isNumber(tb.config.ports[name]),
51+
52+
name: name,
53+
port: tb.config.ports[name],
54+
targetPort: tb.config.ports[name],
55+
}
56+
for name in std.objectFields(tb.config.ports)
57+
],
4558
selector: tb.config.podLabelSelector,
4659
},
4760
},
@@ -63,15 +76,18 @@ function(params) {
6376
name: tb.config.objectStorageConfig.name,
6477
} } },
6578
],
66-
ports: [{ name: 'http', containerPort: tb.service.spec.ports[0].port }],
79+
ports: [
80+
{ name: name, containerPort: tb.config.ports[name] }
81+
for name in std.objectFields(tb.config.ports)
82+
],
6783
livenessProbe: { failureThreshold: 4, periodSeconds: 30, httpGet: {
6884
scheme: 'HTTP',
69-
port: tb.service.spec.ports[0].port,
85+
port: tb.config.ports.http,
7086
path: '/-/healthy',
7187
} },
7288
readinessProbe: { failureThreshold: 20, periodSeconds: 5, httpGet: {
7389
scheme: 'HTTP',
74-
port: tb.service.spec.ports[0].port,
90+
port: tb.config.ports.http,
7591
path: '/-/ready',
7692
} },
7793
resources: if tb.config.resources != {} then tb.config.resources else {},

jsonnet/kube-thanos/kube-thanos-compact.libsonnet

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ local defaults = {
1515
deleteDelay: '48h',
1616
disableDownsampling: false,
1717
deduplicationReplicaLabels: [],
18+
ports: {
19+
http: 10902,
20+
},
1821

1922
commonLabels:: {
2023
'app.kubernetes.io/name': 'thanos-compact',
@@ -53,7 +56,17 @@ function(params) {
5356
},
5457
spec: {
5558
selector: tc.config.podLabelSelector,
56-
ports: [{ name: 'http', targetPort: 'http', port: 10902 }],
59+
ports: [
60+
{
61+
assert std.isString(name),
62+
assert std.isNumber(tc.config.ports[name]),
63+
64+
name: name,
65+
port: tc.config.ports[name],
66+
targetPort: tc.config.ports[name],
67+
}
68+
for name in std.objectFields(tc.config.ports)
69+
],
5770
},
5871
},
5972

@@ -87,15 +100,18 @@ function(params) {
87100
name: tc.config.objectStorageConfig.name,
88101
} } },
89102
],
90-
ports: [{ name: 'http', containerPort: tc.service.spec.ports[0].port }],
103+
ports: [
104+
{ name: name, containerPort: tc.config.ports[name] }
105+
for name in std.objectFields(tc.config.ports)
106+
],
91107
livenessProbe: { failureThreshold: 4, periodSeconds: 30, httpGet: {
92108
scheme: 'HTTP',
93-
port: tc.service.spec.ports[0].port,
109+
port: tc.config.ports.http,
94110
path: '/-/healthy',
95111
} },
96112
readinessProbe: { failureThreshold: 20, periodSeconds: 5, httpGet: {
97113
scheme: 'HTTP',
98-
port: tc.service.spec.ports[0].port,
114+
port: tc.config.ports.http,
99115
path: '/-/ready',
100116
} },
101117
volumeMounts: [{

jsonnet/kube-thanos/kube-thanos-query-frontend.libsonnet

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ local defaults = {
2020
logLevel: 'info',
2121
resources: {},
2222
serviceMonitor: false,
23+
ports: {
24+
http: 9090,
25+
},
2326

2427
commonLabels:: {
2528
'app.kubernetes.io/name': 'thanos-query-frontend',
@@ -57,7 +60,17 @@ function(params) {
5760
},
5861
spec: {
5962
selector: tqf.config.podLabelSelector,
60-
ports: [{ name: 'http', targetPort: 'http', port: 9090 }],
63+
ports: [
64+
{
65+
assert std.isString(name),
66+
assert std.isNumber(tqf.config.ports[name]),
67+
68+
name: name,
69+
port: tqf.config.ports[name],
70+
targetPort: tqf.config.ports[name],
71+
}
72+
for name in std.objectFields(tqf.config.ports)
73+
],
6174
},
6275
},
6376

@@ -68,7 +81,7 @@ function(params) {
6881
args: [
6982
'query-frontend',
7083
'--query-frontend.compress-responses',
71-
'--http-address=0.0.0.0:%d' % tqf.service.spec.ports[0].port,
84+
'--http-address=0.0.0.0:%d' % tqf.config.ports.http,
7285
'--query-frontend.downstream-url=%s' % tqf.config.downstreamURL,
7386
'--query-range.split-interval=%s' % tqf.config.splitInterval,
7487
'--query-range.max-retries-per-request=%d' % tqf.config.maxRetries,
@@ -81,15 +94,18 @@ function(params) {
8194
}),
8295
] else []
8396
),
84-
ports: [{ name: 'http', containerPort: tqf.service.spec.ports[0].port }],
97+
ports: [
98+
{ name: name, containerPort: tqf.config.ports[name] }
99+
for name in std.objectFields(tqf.config.ports)
100+
],
85101
livenessProbe: { failureThreshold: 4, periodSeconds: 30, httpGet: {
86102
scheme: 'HTTP',
87-
port: tqf.service.spec.ports[0].port,
103+
port: tqf.config.ports.http,
88104
path: '/-/healthy',
89105
} },
90106
readinessProbe: { failureThreshold: 20, periodSeconds: 5, httpGet: {
91107
scheme: 'HTTP',
92-
port: tqf.service.spec.ports[0].port,
108+
port: tqf.config.ports.http,
93109
path: '/-/ready',
94110
} },
95111
resources: if tqf.config.resources != {} then tqf.config.resources else {},

jsonnet/kube-thanos/kube-thanos-query.libsonnet

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ function(params) {
6464
assert std.isNumber(tq.config.ports[name]),
6565

6666
name: name,
67-
targetPort: tq.config.ports[name],
6867
port: tq.config.ports[name],
68+
targetPort: tq.config.ports[name],
6969
}
7070
for name in std.objectFields(tq.config.ports)
7171
],

0 commit comments

Comments
 (0)