jsonnet: remove wrapping prometheus-operator lib

This commit is contained in:
paulfantom 2021-01-14 13:19:39 +01:00
parent 255cd9a1c5
commit b67686409e
No known key found for this signature in database
GPG Key ID: 12AE0185401674E7

View File

@ -25,85 +25,71 @@ local defaults = {
},
};
function(params) {
local po = self,
config:: defaults + params,
function(params)
local config = defaults + params;
// Safety check
assert std.isObject(po.config.resources),
assert std.isObject(config.resources);
//TODO(paulfantom): it would be better to include it on the same level as self.
local polib = prometheusOperator(po.config),
prometheusOperator(config) {
service+: {
spec+: {
ports: [
{
name: 'https',
port: 8443,
targetPort: 'https',
},
],
},
},
'0alertmanagerConfigCustomResourceDefinition': polib['0alertmanagerConfigCustomResourceDefinition'],
'0alertmanagerCustomResourceDefinition': polib['0alertmanagerCustomResourceDefinition'],
'0podmonitorCustomResourceDefinition': polib['0podmonitorCustomResourceDefinition'],
'0probeCustomResourceDefinition': polib['0probeCustomResourceDefinition'],
'0prometheusCustomResourceDefinition': polib['0prometheusCustomResourceDefinition'],
'0prometheusruleCustomResourceDefinition': polib['0prometheusruleCustomResourceDefinition'],
'0servicemonitorCustomResourceDefinition': polib['0servicemonitorCustomResourceDefinition'],
'0thanosrulerCustomResourceDefinition': polib['0thanosrulerCustomResourceDefinition'],
serviceMonitor+: {
spec+: {
endpoints: [
{
port: 'https',
scheme: 'https',
honorLabels: true,
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
tlsConfig: {
insecureSkipVerify: true,
},
},
],
},
},
serviceAccount: polib.serviceAccount,
service: polib.service {
spec+: {
ports: [
clusterRole+: {
rules+: [
{
name: 'https',
port: 8443,
targetPort: 'https',
apiGroups: ['authentication.k8s.io'],
resources: ['tokenreviews'],
verbs: ['create'],
},
{
apiGroups: ['authorization.k8s.io'],
resources: ['subjectaccessreviews'],
verbs: ['create'],
},
],
},
},
serviceMonitor: polib.serviceMonitor {
spec+: {
endpoints: [
{
port: 'https',
scheme: 'https',
honorLabels: true,
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
tlsConfig: {
insecureSkipVerify: true,
local kubeRbacProxy = krp({
name: 'kube-rbac-proxy',
upstream: 'http://127.0.0.1:8080/',
secureListenAddress: ':8443',
ports: [
{ name: 'https', containerPort: 8443 },
],
}),
deployment+: {
spec+: {
template+: {
spec+: {
containers+: [kubeRbacProxy],
},
},
],
},
},
clusterRoleBinding: polib.clusterRoleBinding,
clusterRole: polib.clusterRole {
rules+: [
{
apiGroups: ['authentication.k8s.io'],
resources: ['tokenreviews'],
verbs: ['create'],
},
{
apiGroups: ['authorization.k8s.io'],
resources: ['subjectaccessreviews'],
verbs: ['create'],
},
],
},
local kubeRbacProxy = krp({
name: 'kube-rbac-proxy',
upstream: 'http://127.0.0.1:8080/',
secureListenAddress: ':8443',
ports: [
{ name: 'https', containerPort: 8443 },
],
}),
deployment: polib.deployment {
spec+: {
template+: {
spec+: {
containers+: [kubeRbacProxy],
},
},
},
},
}
}