mirror of
https://github.com/bitnami/charts.git
synced 2026-02-10 20:27:38 +08:00
[bitnami/kube-prometheus] Add tests and publishing using VIB (#13035)
* [bitnami/kube-prometheus] Add tests and publishing using VIB Signed-off-by: FraPazGal <fdepaz@vmware.com> * Apply suggestions Signed-off-by: FraPazGal <fdepaz@vmware.com> * Add goss test to check capabilities Signed-off-by: FraPazGal <fdepaz@vmware.com> * Add missing runtime_params Signed-off-by: FraPazGal <fdepaz@vmware.com> Signed-off-by: FraPazGal <fdepaz@vmware.com> Signed-off-by: Francisco de Paz Galan <fdepaz@vmware.com>
This commit is contained in:
committed by
GitHub
parent
21e3cfd8c1
commit
32df5b94ee
1
.github/workflows/cd-pipeline.yml
vendored
1
.github/workflows/cd-pipeline.yml
vendored
@@ -38,6 +38,7 @@ on: # rebuild any PRs and main branch changes
|
||||
- 'bitnami/keycloak/**'
|
||||
- 'bitnami/kibana/**'
|
||||
- 'bitnami/kong/**'
|
||||
- 'bitnami/kube-prometheus/**'
|
||||
- 'bitnami/kubernetes-event-exporter/**'
|
||||
- 'bitnami/logstash/**'
|
||||
- 'bitnami/magento/**'
|
||||
|
||||
41
.vib/kube-prometheus/cypress/cypress.env.json
Normal file
41
.vib/kube-prometheus/cypress/cypress.env.json
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"deployments": {
|
||||
"alertmanager": {
|
||||
"query": "alertmanager_alerts"
|
||||
},
|
||||
"kube-state-metrics": {
|
||||
"query": "kube_deployment_created"
|
||||
},
|
||||
"node-exporter": {
|
||||
"query": "node_boot_time_seconds"
|
||||
},
|
||||
"prometheus": {
|
||||
"query": "prometheus_http_requests_total"
|
||||
},
|
||||
"prometheus-operator": {
|
||||
"query": "prometheus_operator_spec_replicas"
|
||||
}
|
||||
},
|
||||
"monitors": {
|
||||
"kubelet": {
|
||||
"query": "kubelet_node_name"
|
||||
},
|
||||
"apiserver": {
|
||||
"query": "apiserver_storage_objects"
|
||||
}
|
||||
},
|
||||
"targets": {
|
||||
"alertmanager": {
|
||||
"replicaCount": 2
|
||||
},
|
||||
"kube-state-metrics": {
|
||||
"replicaCount": 1
|
||||
},
|
||||
"operator": {
|
||||
"replicaCount": 1
|
||||
},
|
||||
"prometheus-prometheus": {
|
||||
"replicaCount": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
4
.vib/kube-prometheus/cypress/cypress.json
Normal file
4
.vib/kube-prometheus/cypress/cypress.json
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"baseUrl": "http://localhost",
|
||||
"defaultCommandTimeout": 30000
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/// <reference types="cypress" />
|
||||
|
||||
it('allows executing a query and displaying response data for each deployment', () => {
|
||||
const deployments = Cypress.env('deployments');
|
||||
|
||||
cy.visit(`/graph`);
|
||||
Object.keys(deployments).forEach((podName, i) => {
|
||||
const query = Object.values(deployments)[i].query;
|
||||
|
||||
cy.get('[role="textbox"]').clear().type(query);
|
||||
cy.contains('Execute').click({force: true});
|
||||
cy.contains('.data-table', `container="${podName}"`)
|
||||
})
|
||||
});
|
||||
|
||||
it('allows executing a query and displaying response data for each service monitor', () => {
|
||||
const monitors = Cypress.env('monitors');
|
||||
|
||||
cy.visit(`/graph`);
|
||||
Object.keys(monitors).forEach((jobName, i) => {
|
||||
const query = Object.values(monitors)[i].query;
|
||||
|
||||
cy.get('[role="textbox"]').clear().type(query);
|
||||
cy.contains('Execute').click();
|
||||
cy.contains('.data-table', `job="${jobName}"`)
|
||||
})
|
||||
});
|
||||
|
||||
it('checks targets status', () => {
|
||||
const targets = Cypress.env('targets');
|
||||
|
||||
Object.keys(targets).forEach((podName, i) => {
|
||||
const podData = Object.values(targets)[i];
|
||||
|
||||
cy.visit(`/targets?search=${podName}`);
|
||||
cy.contains(`${podData.replicaCount}/${podData.replicaCount} up`);
|
||||
})
|
||||
});
|
||||
21
.vib/kube-prometheus/goss/goss.yaml
Normal file
21
.vib/kube-prometheus/goss/goss.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
file:
|
||||
/var/run/secrets/kubernetes.io/serviceaccount:
|
||||
exists: {{ .Vars.operator.serviceAccount.automountServiceAccountToken }}
|
||||
filetype: directory
|
||||
mode: "3777"
|
||||
command:
|
||||
check-no-capabilities:
|
||||
exec: cat /proc/1/status
|
||||
exit-status: 0
|
||||
stdout:
|
||||
- "CapInh: 0000000000000000"
|
||||
- "CapPrm: 0000000000000000"
|
||||
- "CapEff: 0000000000000000"
|
||||
- "CapBnd: 0000000000000000"
|
||||
- "CapAmb: 0000000000000000"
|
||||
check-user-info:
|
||||
exec: id
|
||||
exit-status: 0
|
||||
stdout:
|
||||
- uid={{ .Vars.operator.podSecurityContext.runAsUser }}
|
||||
- /groups=.*{{ .Vars.operator.podSecurityContext.fsGroup }}/
|
||||
6
.vib/kube-prometheus/goss/vars.yaml
Normal file
6
.vib/kube-prometheus/goss/vars.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
operator:
|
||||
serviceAccount:
|
||||
automountServiceAccountToken: true
|
||||
podSecurityContext:
|
||||
runAsUser: 1002
|
||||
fsGroup: 1002
|
||||
1
.vib/kube-prometheus/vib-action.config
Normal file
1
.vib/kube-prometheus/vib-action.config
Normal file
@@ -0,0 +1 @@
|
||||
verification-mode=SERIAL
|
||||
@@ -22,7 +22,7 @@
|
||||
"url": "{SHA_ARCHIVE}",
|
||||
"path": "/bitnami/kube-prometheus"
|
||||
},
|
||||
"runtime_parameters": "Im9wZXJhdG9yIjoKICAiY3VzdG9tUmVzb3VyY2VEZWxldGVQb2xpY3kiOiAiYmVmb3JlLWhvb2stY3JlYXRpb24iCiJwcm9tZXRoZXVzIjoKICAic2VydmljZSI6CiAgICAidHlwZSI6ICJMb2FkQmFsYW5jZXIiCiAgICAicG9ydHMiOiAKICAgICAgImh0dHAiOiA4MAo=",
|
||||
"runtime_parameters": "b3BlcmF0b3I6CiAgZW5hYmxlZDogdHJ1ZQogIHNlcnZpY2VBY2NvdW50OgogICAgY3JlYXRlOiB0cnVlCiAgICBhdXRvbW91bnRTZXJ2aWNlQWNjb3VudFRva2VuOiB0cnVlCiAgcG9kU2VjdXJpdHlDb250ZXh0OgogICAgZW5hYmxlZDogdHJ1ZQogICAgcnVuQXNVc2VyOiAxMDAyCiAgICBmc0dyb3VwOiAxMDAyCiAgY29udGFpbmVyU2VjdXJpdHlDb250ZXh0OgogICAgZW5hYmxlZDogdHJ1ZQogICAgY2FwYWJpbGl0aWVzOgogICAgICBkcm9wOgogICAgICAtIEFMTAogICAgcnVuQXNOb25Sb290OiB0cnVlCiAgICByZWFkT25seVJvb3RGaWxlc3lzdGVtOiBmYWxzZQogIHNlcnZpY2VNb25pdG9yOgogICAgZW5hYmxlZDogdHJ1ZQogIGt1YmVsZXRTZXJ2aWNlOgogICAgZW5hYmxlZDogdHJ1ZQogIHNlcnZpY2U6CiAgICBwb3J0czoKICAgICAgaHR0cDogODA4MQpwcm9tZXRoZXVzOgogIGVuYWJsZWQ6IHRydWUKICByZXBsaWNhQ291bnQ6IDIKICBzZXJ2aWNlTW9uaXRvcjoKICAgIGVuYWJsZWQ6IHRydWUKICBzZXJ2aWNlOgogICAgdHlwZTogTG9hZEJhbGFuY2VyCiAgICBwb3J0czogCiAgICAgIGh0dHA6IDgwCmFsZXJ0bWFuYWdlcjoKICBlbmFibGVkOiB0cnVlCiAgcmVwbGljYUNvdW50OiAyCiAgc2VydmljZU1vbml0b3I6CiAgICBlbmFibGVkOiB0cnVlCiAgc2VydmljZToKICAgIHBvcnRzOgogICAgICBodHRwOiA5MDk0Cm5vZGUtZXhwb3J0ZXI6CiAgc2VydmljZU1vbml0b3I6CiAgICBlbmFibGVkOiB0cnVlCmt1YmUtc3RhdGUtbWV0cmljczoKICByZXBsaWNhQ291bnQ6IDEKICBzZXJ2aWNlTW9uaXRvcjoKICAgIGVuYWJsZWQ6IHRydWUKZXhwb3J0ZXJzOgogIG5vZGUtZXhwb3J0ZXI6CiAgICBlbmFibGVkOiB0cnVlCiAga3ViZS1zdGF0ZS1tZXRyaWNzOgogICAgZW5hYmxlZDogdHJ1ZQprdWJlbGV0OgogIGVuYWJsZWQ6IHRydWUKa3ViZUFwaVNlcnZlcjoKICBlbmFibGVkOiB0cnVlCmt1YmVDb250cm9sbGVyTWFuYWdlcjoKICBlbmFibGVkOiB0cnVlCmt1YmVTY2hlZHVsZXI6CiAgZW5hYmxlZDogdHJ1ZQpjb3JlRG5zOgogIGVuYWJsZWQ6IHRydWUKa3ViZVByb3h5OgogIGVuYWJsZWQ6IHRydWUKcmJhYzoKICBjcmVhdGU6IHRydWUKICBwc3BFbmFibGVkOiB0cnVl",
|
||||
"target_platform": {
|
||||
"target_platform_id": "{VIB_ENV_TARGET_PLATFORM}",
|
||||
"size": {
|
||||
@@ -37,6 +37,28 @@
|
||||
"endpoint": "lb-kube-prometheus-prometheus-http",
|
||||
"app_protocol": "HTTP"
|
||||
}
|
||||
},
|
||||
{
|
||||
"action_id": "cypress",
|
||||
"params": {
|
||||
"resources": {
|
||||
"path": "/.vib/kube-prometheus/cypress"
|
||||
},
|
||||
"endpoint": "lb-kube-prometheus-prometheus-http",
|
||||
"app_protocol": "HTTP"
|
||||
}
|
||||
},
|
||||
{
|
||||
"action_id": "goss",
|
||||
"params": {
|
||||
"resources": {
|
||||
"path": "/.vib/kube-prometheus/goss"
|
||||
},
|
||||
"remote": {
|
||||
"workload": "deploy-kube-prometheus-operator"
|
||||
},
|
||||
"vars_file": "vars.yaml"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
"url": "{SHA_ARCHIVE}",
|
||||
"path": "/bitnami/kube-prometheus"
|
||||
},
|
||||
"runtime_parameters": "Im9wZXJhdG9yIjoKICAiY3VzdG9tUmVzb3VyY2VEZWxldGVQb2xpY3kiOiAiYmVmb3JlLWhvb2stY3JlYXRpb24iCiJwcm9tZXRoZXVzIjoKICAic2VydmljZSI6CiAgICAidHlwZSI6ICJMb2FkQmFsYW5jZXIiCiAgICAicG9ydHMiOiAKICAgICAgImh0dHAiOiA4MAo=",
|
||||
"runtime_parameters": "b3BlcmF0b3I6CiAgZW5hYmxlZDogdHJ1ZQogIHNlcnZpY2VBY2NvdW50OgogICAgY3JlYXRlOiB0cnVlCiAgICBhdXRvbW91bnRTZXJ2aWNlQWNjb3VudFRva2VuOiB0cnVlCiAgcG9kU2VjdXJpdHlDb250ZXh0OgogICAgZW5hYmxlZDogdHJ1ZQogICAgcnVuQXNVc2VyOiAxMDAyCiAgICBmc0dyb3VwOiAxMDAyCiAgY29udGFpbmVyU2VjdXJpdHlDb250ZXh0OgogICAgZW5hYmxlZDogdHJ1ZQogICAgY2FwYWJpbGl0aWVzOgogICAgICBkcm9wOgogICAgICAtIEFMTAogICAgcnVuQXNOb25Sb290OiB0cnVlCiAgICByZWFkT25seVJvb3RGaWxlc3lzdGVtOiBmYWxzZQogIHNlcnZpY2VNb25pdG9yOgogICAgZW5hYmxlZDogdHJ1ZQogIGt1YmVsZXRTZXJ2aWNlOgogICAgZW5hYmxlZDogdHJ1ZQogIHNlcnZpY2U6CiAgICBwb3J0czoKICAgICAgaHR0cDogODA4MQpwcm9tZXRoZXVzOgogIGVuYWJsZWQ6IHRydWUKICByZXBsaWNhQ291bnQ6IDIKICBzZXJ2aWNlTW9uaXRvcjoKICAgIGVuYWJsZWQ6IHRydWUKICBzZXJ2aWNlOgogICAgdHlwZTogTG9hZEJhbGFuY2VyCiAgICBwb3J0czogCiAgICAgIGh0dHA6IDgwCmFsZXJ0bWFuYWdlcjoKICBlbmFibGVkOiB0cnVlCiAgcmVwbGljYUNvdW50OiAyCiAgc2VydmljZU1vbml0b3I6CiAgICBlbmFibGVkOiB0cnVlCiAgc2VydmljZToKICAgIHBvcnRzOgogICAgICBodHRwOiA5MDk0Cm5vZGUtZXhwb3J0ZXI6CiAgc2VydmljZU1vbml0b3I6CiAgICBlbmFibGVkOiB0cnVlCmt1YmUtc3RhdGUtbWV0cmljczoKICByZXBsaWNhQ291bnQ6IDEKICBzZXJ2aWNlTW9uaXRvcjoKICAgIGVuYWJsZWQ6IHRydWUKZXhwb3J0ZXJzOgogIG5vZGUtZXhwb3J0ZXI6CiAgICBlbmFibGVkOiB0cnVlCiAga3ViZS1zdGF0ZS1tZXRyaWNzOgogICAgZW5hYmxlZDogdHJ1ZQprdWJlbGV0OgogIGVuYWJsZWQ6IHRydWUKa3ViZUFwaVNlcnZlcjoKICBlbmFibGVkOiB0cnVlCmt1YmVDb250cm9sbGVyTWFuYWdlcjoKICBlbmFibGVkOiB0cnVlCmt1YmVTY2hlZHVsZXI6CiAgZW5hYmxlZDogdHJ1ZQpjb3JlRG5zOgogIGVuYWJsZWQ6IHRydWUKa3ViZVByb3h5OgogIGVuYWJsZWQ6IHRydWUKcmJhYzoKICBjcmVhdGU6IHRydWUKICBwc3BFbmFibGVkOiB0cnVl",
|
||||
"target_platform": {
|
||||
"target_platform_id": "{VIB_ENV_TARGET_PLATFORM}",
|
||||
"size": {
|
||||
@@ -37,6 +37,28 @@
|
||||
"endpoint": "lb-kube-prometheus-prometheus-http",
|
||||
"app_protocol": "HTTP"
|
||||
}
|
||||
},
|
||||
{
|
||||
"action_id": "cypress",
|
||||
"params": {
|
||||
"resources": {
|
||||
"path": "/.vib/kube-prometheus/cypress"
|
||||
},
|
||||
"endpoint": "lb-kube-prometheus-prometheus-http",
|
||||
"app_protocol": "HTTP"
|
||||
}
|
||||
},
|
||||
{
|
||||
"action_id": "goss",
|
||||
"params": {
|
||||
"resources": {
|
||||
"path": "/.vib/kube-prometheus/goss"
|
||||
},
|
||||
"remote": {
|
||||
"workload": "deploy-kube-prometheus-operator"
|
||||
},
|
||||
"vars_file": "vars.yaml"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user