Skip to content

Commit

Permalink
create stub CR for KRP authorize access to Thanos Querier
Browse files Browse the repository at this point in the history
  • Loading branch information
raptorsun committed Nov 3, 2023
1 parent 7bd2eaf commit bd85d0f
Show file tree
Hide file tree
Showing 7 changed files with 81 additions and 20 deletions.
7 changes: 7 additions & 0 deletions assets/cluster-monitoring-operator/cluster-role-view.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,10 @@ rules:
- namespaces
verbs:
- get
- apiGroups:
- monitoring.coreos.com
resources:
- thanosqueryrequests
verbs:
- create
- get
8 changes: 3 additions & 5 deletions assets/thanos-querier/kube-rbac-proxy-web-secret.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,13 @@ stringData:
config.yaml: |-
"authorization":
"resourceAttributes":
"apiGroup": ""
"resource": "namespaces"
"apiGroup": "monitoring.coreos.com"
"resource": "thanosqueryrequests"
"verbs":
- "create"
- "get"
"static":
- "resourceRequest": true
"user":
"name": "system:serviceaccount:openshift-monitoring:prometheus-k8s"
- "resourceRequest": true
"user":
"name": "system:serviceaccount:openshift-user-workload-monitoring:thanos-ruler"
type: Opaque
18 changes: 13 additions & 5 deletions jsonnet/components/cluster-monitoring-operator.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ function(params) {

'0alertingrulesCustomResourceDefinition': import './../crds/alertingrules-custom-resource-definition.json',
'0alertrelabelconfigsCustomResourceDefinition': import './../crds/alertrelabelconfigs-custom-resource-definition.json',
'0thanosqueryrequestsCustomResourceDefinition': import './../crds/thanosqueryrequests-custom-resource-definition.json',

prometheusRule: {
apiVersion: 'monitoring.coreos.com/v1',
Expand Down Expand Up @@ -330,11 +331,18 @@ function(params) {
metadata: {
name: 'cluster-monitoring-view',
},
rules: [{
apiGroups: [''],
resources: ['namespaces'],
verbs: ['get'],
}],
rules: [
{
apiGroups: [''],
resources: ['namespaces'],
verbs: ['get'],
},
{
apiGroups: ['monitoring.coreos.com'],
resources: ['thanosqueryrequests'],
verbs: ['create', 'get'],
},
],
},

// This role enables read/write access to the platform Alertmanager API through OAuth proxy.
Expand Down
14 changes: 4 additions & 10 deletions jsonnet/components/thanos-querier.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -158,9 +158,9 @@ function(params)
authorization: {
resourceAttributes:
{
apiGroup: '',
resource: 'namespaces',
verbs: ['get'],
apiGroup: 'monitoring.coreos.com',
resource: 'thanosqueryrequests',
verbs: ['create', 'get'],
},
static: [
{
Expand All @@ -170,13 +170,6 @@ function(params)
},
resourceRequest: true,
},
{
// allow thanos ruler to get/post queries from/to thanos querier
user: {
name: 'system:serviceaccount:openshift-user-workload-monitoring:thanos-ruler',
},
resourceRequest: true,
},
],
},
}),
Expand Down Expand Up @@ -658,4 +651,5 @@ function(params)

},
},

}
24 changes: 24 additions & 0 deletions jsonnet/crds/thanosqueryrequests-custom-resource-definition.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"apiVersion": "apiextensions.k8s.io/v1",
"kind": "CustomResourceDefinition",
"metadata": {
"name": "thanosqueryrequests.monitoring.coreos.com"
},
"spec": {
"group": "monitoring.coreos.com",
"names": {
"kind": "ThanosQueryRequest",
"listKind": "ThanosQueryRequestList",
"plural": "thanosqueryrequests",
"singular": "thanosqueryrequest"
},
"scope": "Namespaced",
"versions": [
{
"name": "v1alpha1",
"served": true,
"storage": true
}
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
include.release.openshift.io/ibm-cloud-managed: "true"
include.release.openshift.io/self-managed-high-availability: "true"
include.release.openshift.io/single-node-developer: "true"
labels:
app.kubernetes.io/managed-by: cluster-version-operator
app.kubernetes.io/part-of: openshift-monitoring
name: thanosqueryrequests.monitoring.coreos.com
spec:
group: monitoring.coreos.com
names:
kind: ThanosQueryRequest
listKind: ThanosQueryRequestList
plural: thanosqueryrequests
singular: thanosqueryrequest
scope: Namespaced
versions:
- name: v1alpha1
served: true
storage: true
7 changes: 7 additions & 0 deletions manifests/0000_50_cluster-monitoring-operator_02-role.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,13 @@ rules:
- namespaces
verbs:
- get
- apiGroups:
- monitoring.coreos.com
resources:
- thanosqueryrequests
verbs:
- create
- get
- apiGroups:
- ""
resourceNames:
Expand Down

0 comments on commit bd85d0f

Please sign in to comment.