Skip to content

Commit 55d6da0

Browse files
committed
MON-4361,MON-4380: Opt monitoring-plugin into Console capability
Drop `monitoring-plugin` from optional components as its deployment should only rely on the `Console` capability. This is in-line with its corresponding task's behavior as well. Also refactored the `jsonnet` code a bit. Signed-off-by: Pranshu Srivastava <[email protected]>
1 parent 929daf8 commit 55d6da0

16 files changed

+61
-56
lines changed

assets/monitoring-plugin/console-plugin.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: console.openshift.io/v1
22
kind: ConsolePlugin
33
metadata:
44
annotations:
5-
capability.openshift.io/name: OptionalMonitoring
5+
capability.openshift.io/name: Console
66
labels:
77
app.kubernetes.io/component: monitoring-plugin
88
app.kubernetes.io/managed-by: cluster-monitoring-operator

assets/monitoring-plugin/deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: apps/v1
22
kind: Deployment
33
metadata:
44
annotations:
5-
capability.openshift.io/name: OptionalMonitoring
5+
capability.openshift.io/name: Console
66
labels:
77
app.kubernetes.io/component: monitoring-plugin
88
app.kubernetes.io/managed-by: cluster-monitoring-operator

assets/monitoring-plugin/pod-disruption-budget.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: policy/v1
22
kind: PodDisruptionBudget
33
metadata:
44
annotations:
5-
capability.openshift.io/name: OptionalMonitoring
5+
capability.openshift.io/name: Console
66
labels:
77
app.kubernetes.io/component: monitoring-plugin
88
app.kubernetes.io/managed-by: cluster-monitoring-operator

assets/monitoring-plugin/service-account.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: v1
22
kind: ServiceAccount
33
metadata:
44
annotations:
5-
capability.openshift.io/name: OptionalMonitoring
5+
capability.openshift.io/name: Console
66
labels:
77
app.kubernetes.io/component: monitoring-plugin
88
app.kubernetes.io/managed-by: cluster-monitoring-operator

assets/monitoring-plugin/service.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: v1
22
kind: Service
33
metadata:
44
annotations:
5-
capability.openshift.io/name: OptionalMonitoring
5+
capability.openshift.io/name: Console
66
openshift.io/description: Expose the monitoring plugin service on port 9443. This port is for internal use, and no other usage is guaranteed.
77
service.beta.openshift.io/serving-cert-secret-name: monitoring-plugin-cert
88
labels:

jsonnet/components/admission-webhook.libsonnet

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ local tlsVolumeName = 'prometheus-operator-admission-webhook-tls';
22
local admissionWebhook = import 'github.com/prometheus-operator/prometheus-operator/jsonnet/prometheus-operator/admission-webhook.libsonnet';
33
local antiAffinity = import 'github.com/prometheus-operator/kube-prometheus/jsonnet/kube-prometheus/addons/anti-affinity.libsonnet';
44
local withDescription = (import '../utils/add-annotations.libsonnet').withDescription;
5-
local optIntoOptionalMonitoring = (import '../utils/opt-into-optional-monitoring.libsonnet');
5+
local optIntoCapability = (import '../utils/opt-into-capability.libsonnet');
66

77
function(params)
88
local aw = admissionWebhook(params);
@@ -129,7 +129,7 @@ function(params)
129129
],
130130
},
131131

132-
alertmanagerConfigValidatingWebhook: optIntoOptionalMonitoring.forObject({
132+
alertmanagerConfigValidatingWebhook: optIntoCapability.optionalMonitoringForObject({
133133
apiVersion: 'admissionregistration.k8s.io/v1',
134134
kind: 'ValidatingWebhookConfiguration',
135135
metadata: {

jsonnet/components/alertmanager-user-workload.libsonnet

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ local generateSecret = import '../utils/generate-secret.libsonnet';
66
local withDescription = (import '../utils/add-annotations.libsonnet').withDescription;
77
local requiredRoles = (import '../utils/add-annotations.libsonnet').requiredRoles;
88
local requiredClusterRoles = (import '../utils/add-annotations.libsonnet').requiredClusterRoles;
9-
local optIntoOptionalMonitoring = (import '../utils/opt-into-optional-monitoring.libsonnet');
9+
local optIntoCapability = (import '../utils/opt-into-capability.libsonnet');
1010

1111
function(params)
1212
local cfg = params {
@@ -417,4 +417,4 @@ function(params)
417417
},
418418
};
419419

420-
optIntoOptionalMonitoring.forObjectWithWalk(o)
420+
optIntoCapability.optionalMonitoringForObjectWithWalk(o)

jsonnet/components/alertmanager.libsonnet

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ local withDescription = (import '../utils/add-annotations.libsonnet').withDescri
77
local testFilePlaceholder = (import '../utils/add-annotations.libsonnet').testFilePlaceholder;
88
local requiredRoles = (import '../utils/add-annotations.libsonnet').requiredRoles;
99
local requiredClusterRoles = (import '../utils/add-annotations.libsonnet').requiredClusterRoles;
10-
local optIntoOptionalMonitoring = (import '../utils/opt-into-optional-monitoring.libsonnet');
10+
local optIntoCapability = (import '../utils/opt-into-capability.libsonnet');
1111

1212
function(params)
1313
local cfg = params {
@@ -443,4 +443,4 @@ function(params)
443443
},
444444
};
445445

446-
optIntoOptionalMonitoring.forObjectWithWalk(o)
446+
optIntoCapability.optionalMonitoringForObjectWithWalk(o)

jsonnet/components/cluster-monitoring-operator.libsonnet

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
local metrics = import 'github.com/openshift/telemeter/jsonnet/telemeter/metrics.jsonnet';
22

33
local cmoRules = import './../rules.libsonnet';
4-
local optIntoOptionalMonitoring = import './../utils/opt-into-optional-monitoring.libsonnet';
4+
local optIntoCapability = import './../utils/opt-into-capability.libsonnet';
55
local kubePrometheus = import 'github.com/prometheus-operator/kube-prometheus/jsonnet/kube-prometheus/components/mixin/custom.libsonnet';
66

77
local defaults = {
@@ -330,7 +330,7 @@ function(params) {
330330
// - get/list/watch permissions on alertingrules and alertrelabelconfigs to detect changes requiring reconciliation.
331331
// - all permissions on alertingrules/finalizers to set the `ownerReferences` field on generated prometheusrules.
332332
// - all permissions on alertingrules/status to set the status of alertingrules.
333-
alertCustomizationRole: optIntoOptionalMonitoring.forObject({
333+
alertCustomizationRole: optIntoCapability.optionalMonitoringForObject({
334334
apiVersion: 'rbac.authorization.k8s.io/v1',
335335
kind: 'Role',
336336
metadata: {
@@ -423,7 +423,7 @@ function(params) {
423423

424424
// This role enables read/write access to the platform Alertmanager API
425425
// through kube-rbac-proxy.
426-
monitoringAlertmanagerEditRole: optIntoOptionalMonitoring.forObject({
426+
monitoringAlertmanagerEditRole: optIntoCapability.optionalMonitoringForObject({
427427
apiVersion: 'rbac.authorization.k8s.io/v1',
428428
kind: 'Role',
429429
metadata: {
@@ -442,7 +442,7 @@ function(params) {
442442

443443
// This role enables read access to the platform Alertmanager API
444444
// through kube-rbac-proxy.
445-
monitoringAlertmanagerViewRole: optIntoOptionalMonitoring.forObject({
445+
monitoringAlertmanagerViewRole: optIntoCapability.optionalMonitoringForObject({
446446
apiVersion: 'rbac.authorization.k8s.io/v1',
447447
kind: 'Role',
448448
metadata: {
@@ -465,7 +465,7 @@ function(params) {
465465
// Using "nonResourceURLs" doesn't work because authenticated users and
466466
// service accounts are allowed to get /api/* by default.
467467
// See https://issues.redhat.com/browse/OCPBUGS-17850.
468-
userWorkloadAlertmanagerApiReader: optIntoOptionalMonitoring.forObject({
468+
userWorkloadAlertmanagerApiReader: optIntoCapability.optionalMonitoringForObject({
469469
apiVersion: 'rbac.authorization.k8s.io/v1',
470470
kind: 'Role',
471471
metadata: {
@@ -482,7 +482,7 @@ function(params) {
482482

483483
// This role provides read/write access to the user-workload Alertmanager API.
484484
// See the 'monitoring-alertmanager-api-reader' role for details.
485-
userWorkloadAlertmanagerApiWriter: optIntoOptionalMonitoring.forObject({
485+
userWorkloadAlertmanagerApiWriter: optIntoCapability.optionalMonitoringForObject({
486486
apiVersion: 'rbac.authorization.k8s.io/v1',
487487
kind: 'Role',
488488
metadata: {
@@ -539,7 +539,7 @@ function(params) {
539539
},
540540

541541
// This role provides read/write access to the user-workload monitoring configuration.
542-
userWorkloadConfigEditRole: optIntoOptionalMonitoring.forObject({
542+
userWorkloadConfigEditRole: optIntoCapability.optionalMonitoringForObject({
543543
apiVersion: 'rbac.authorization.k8s.io/v1',
544544
kind: 'Role',
545545
metadata: {
@@ -555,7 +555,7 @@ function(params) {
555555
}),
556556

557557
// This cluster role can be referenced in a RoleBinding object to provide read/write access to AlertmanagerConfiguration objects for a project.
558-
alertingEditClusterRole: optIntoOptionalMonitoring.forObject({
558+
alertingEditClusterRole: optIntoCapability.optionalMonitoringForObject({
559559
apiVersion: 'rbac.authorization.k8s.io/v1',
560560
kind: 'ClusterRole',
561561
metadata: {

jsonnet/components/monitoring-plugin.libsonnet

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
local withDescription = (import '../utils/add-annotations.libsonnet').withDescription;
2-
local optIntoOptionalMonitoring = (import '../utils/opt-into-optional-monitoring.libsonnet');
2+
local optIntoCapability = (import '../utils/opt-into-capability.libsonnet');
33

44
function(params)
55
local cfg = params;
@@ -225,4 +225,5 @@ function(params)
225225
}, // spec
226226
}, // deployment
227227
};
228-
optIntoOptionalMonitoring.forObjectWithWalk(o)
228+
229+
optIntoCapability.consoleForObjectWithWalk(o)

0 commit comments

Comments
 (0)