Remove ksonnet from alertmanager.libsonnet

Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>
This commit is contained in:
Kemal Akkoyun 2020-11-06 17:39:56 +01:00
parent 6d641706de
commit 491dbd2f74
2 changed files with 46 additions and 54 deletions

View File

@ -1,5 +1,3 @@
local k = import 'github.com/ksonnet/ksonnet-lib/ksonnet.beta.4/k.libsonnet';
{ {
_config+:: { _config+:: {
namespace: 'default', namespace: 'default',
@ -42,30 +40,14 @@ local k = import 'github.com/ksonnet/ksonnet-lib/ksonnet.beta.4/k.libsonnet';
repeat_interval: '12h', repeat_interval: '12h',
receiver: 'Default', receiver: 'Default',
routes: [ routes: [
{ { receiver: 'Watchdog', match: { alertname: 'Watchdog' } },
receiver: 'Watchdog', { receiver: 'Critical', match: { severity: 'critical' } },
match: {
alertname: 'Watchdog',
},
},
{
receiver: 'Critical',
match: {
severity: 'critical',
},
},
], ],
}, },
receivers: [ receivers: [
{ { name: 'Default' },
name: 'Default', { name: 'Watchdog' },
}, { name: 'Critical' },
{
name: 'Watchdog',
},
{
name: 'Critical',
},
], ],
}, },
replicas: 3, replicas: 3,
@ -73,34 +55,48 @@ local k = import 'github.com/ksonnet/ksonnet-lib/ksonnet.beta.4/k.libsonnet';
}, },
alertmanager+:: { alertmanager+:: {
secret: secret: {
local secret = k.core.v1.secret; apiVersion: 'v1',
kind: 'Secret',
if std.type($._config.alertmanager.config) == 'object' then type: 'Opaque',
secret.new('alertmanager-' + $._config.alertmanager.name, {}) metadata: {
.withStringData({ 'alertmanager.yaml': std.manifestYamlDoc($._config.alertmanager.config) }) + name: 'alertmanager-' + $._config.alertmanager.name,
secret.mixin.metadata.withNamespace($._config.namespace) namespace: $._config.namespace,
},
stringData: {
'alertmanager.yaml': if std.type($._config.alertmanager.config) == 'object'
then
std.manifestYamlDoc($._config.alertmanager.config)
else else
secret.new('alertmanager-' + $._config.alertmanager.name, {}) $._config.alertmanager.config,
.withStringData({ 'alertmanager.yaml': $._config.alertmanager.config }) + },
secret.mixin.metadata.withNamespace($._config.namespace), },
serviceAccount: serviceAccount: {
local serviceAccount = k.core.v1.serviceAccount; apiVersion: 'v1',
kind: 'ServiceAccount',
metadata: {
name: 'alertmanager-' + $._config.alertmanager.name,
namespace: $._config.namespace,
},
},
serviceAccount.new('alertmanager-' + $._config.alertmanager.name) + service: {
serviceAccount.mixin.metadata.withNamespace($._config.namespace), apiVersion: 'v1',
kind: 'Service',
service: metadata: {
local service = k.core.v1.service; name: 'alertmanager-' + $._config.alertmanager.name,
local servicePort = k.core.v1.service.mixin.spec.portsType; namespace: $._config.namespace,
labels: { alertmanager: $._config.alertmanager.name },
local alertmanagerPort = servicePort.newNamed('web', 9093, 'web'); },
spec: {
service.new('alertmanager-' + $._config.alertmanager.name, { app: 'alertmanager', alertmanager: $._config.alertmanager.name }, alertmanagerPort) + ports: [
service.mixin.spec.withSessionAffinity('ClientIP') + { name: 'web', targetPort: 'web', port: 9093 },
service.mixin.metadata.withNamespace($._config.namespace) + ],
service.mixin.metadata.withLabels({ alertmanager: $._config.alertmanager.name }), selector: { app: 'alertmanager', alertmanager: $._config.alertmanager.name },
sessionAffinity: 'ClientIP',
},
},
serviceMonitor: serviceMonitor:
{ {
@ -120,10 +116,7 @@ local k = import 'github.com/ksonnet/ksonnet-lib/ksonnet.beta.4/k.libsonnet';
}, },
}, },
endpoints: [ endpoints: [
{ { port: 'web', interval: '30s' },
port: 'web',
interval: '30s',
},
], ],
}, },
}, },

View File

@ -1,5 +1,4 @@
apiVersion: v1 apiVersion: v1
data: {}
kind: Secret kind: Secret
metadata: metadata:
name: alertmanager-main name: alertmanager-main