Skip to content

Commit 39492c2

Browse files
authored
Merge branch 'master' into holmes_0.18
2 parents 5c4fd8e + a0b3cfc commit 39492c2

File tree

4 files changed

+248
-1
lines changed

4 files changed

+248
-1
lines changed

docs/setup-robusta/crds.rst

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,26 @@ Or to monitor all resources in an API group:
8383
- "list"
8484
- "get"
8585
86+
Default CRD Permissions
87+
^^^^^^^^^^^^^^^^^^^^^^^^^
88+
89+
Robusta includes read-only permissions for common Kubernetes operators and tools by default. These can be individually enabled or disabled:
90+
91+
.. code-block:: yaml
92+
93+
runner:
94+
crdPermissions:
95+
argo: true # Argo CD, Argo Workflows, Argo Rollouts
96+
flux: true # Flux CD (GitOps toolkit)
97+
kafka: true # Strimzi Kafka
98+
keda: true # KEDA autoscaler
99+
crossplane: true # Crossplane
100+
istio: true # Istio service mesh
101+
gatewayApi: true # Kubernetes Gateway API
102+
velero: true # Velero backup/restore
103+
externalSecrets: true # External Secrets Operator
104+
105+
86106
Applying the Configuration
87107
^^^^^^^^^^^^^^^^^^^^^^^^^^^
88108

helm/robusta/templates/runner-service-account.yaml

Lines changed: 215 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,221 @@ rules:
328328
- patch
329329
- update
330330
{{- end }}
331+
{{- if .Values.runner.crdPermissions.argo }}
332+
# Argo CD and Argo Workflows
333+
- apiGroups:
334+
- argoproj.io
335+
resources:
336+
- applications
337+
- applicationsets
338+
- appprojects
339+
- workflows
340+
- workflowtemplates
341+
- cronworkflows
342+
- rollouts
343+
- analysisruns
344+
- analysistemplates
345+
- experiments
346+
verbs:
347+
- get
348+
- list
349+
- watch
350+
{{- end }}
351+
{{- if .Values.runner.crdPermissions.flux }}
352+
# Flux CD
353+
- apiGroups:
354+
- source.toolkit.fluxcd.io
355+
resources:
356+
- gitrepositories
357+
- helmrepositories
358+
- helmcharts
359+
- ocirepositories
360+
- buckets
361+
verbs:
362+
- get
363+
- list
364+
- watch
365+
- apiGroups:
366+
- kustomize.toolkit.fluxcd.io
367+
resources:
368+
- kustomizations
369+
verbs:
370+
- get
371+
- list
372+
- watch
373+
- apiGroups:
374+
- helm.toolkit.fluxcd.io
375+
resources:
376+
- helmreleases
377+
verbs:
378+
- get
379+
- list
380+
- watch
381+
- apiGroups:
382+
- notification.toolkit.fluxcd.io
383+
resources:
384+
- alerts
385+
- providers
386+
- receivers
387+
verbs:
388+
- get
389+
- list
390+
- watch
391+
- apiGroups:
392+
- image.toolkit.fluxcd.io
393+
resources:
394+
- imagepolicies
395+
- imagerepositories
396+
- imageupdateautomations
397+
verbs:
398+
- get
399+
- list
400+
- watch
401+
{{- end }}
402+
{{- if .Values.runner.crdPermissions.kafka }}
403+
# Strimzi Kafka
404+
- apiGroups:
405+
- kafka.strimzi.io
406+
resources:
407+
- kafkas
408+
- kafkatopics
409+
- kafkausers
410+
- kafkaconnects
411+
- kafkaconnectors
412+
- kafkamirrormakers
413+
- kafkamirrormaker2s
414+
- kafkabridges
415+
- kafkarebalances
416+
verbs:
417+
- get
418+
- list
419+
- watch
420+
- apiGroups:
421+
- core.strimzi.io
422+
resources:
423+
- strimzipodsets
424+
verbs:
425+
- get
426+
- list
427+
- watch
428+
{{- end }}
429+
{{- if .Values.runner.crdPermissions.keda }}
430+
# KEDA
431+
- apiGroups:
432+
- keda.sh
433+
resources:
434+
- scaledobjects
435+
- scaledjobs
436+
- triggerauthentications
437+
- clustertriggerauthentications
438+
verbs:
439+
- get
440+
- list
441+
- watch
442+
{{- end }}
443+
{{- if .Values.runner.crdPermissions.crossplane }}
444+
# Crossplane
445+
- apiGroups:
446+
- pkg.crossplane.io
447+
resources:
448+
- providers
449+
- configurations
450+
- providerrevisions
451+
- configurationrevisions
452+
verbs:
453+
- get
454+
- list
455+
- watch
456+
- apiGroups:
457+
- apiextensions.crossplane.io
458+
resources:
459+
- compositeresourcedefinitions
460+
- compositions
461+
verbs:
462+
- get
463+
- list
464+
- watch
465+
{{- end }}
466+
{{- if .Values.runner.crdPermissions.istio }}
467+
# Istio
468+
- apiGroups:
469+
- networking.istio.io
470+
resources:
471+
- virtualservices
472+
- destinationrules
473+
- gateways
474+
- serviceentries
475+
- sidecars
476+
- envoyfilters
477+
- workloadentries
478+
- workloadgroups
479+
verbs:
480+
- get
481+
- list
482+
- watch
483+
- apiGroups:
484+
- security.istio.io
485+
resources:
486+
- peerauthentications
487+
- requestauthentications
488+
- authorizationpolicies
489+
verbs:
490+
- get
491+
- list
492+
- watch
493+
{{- end }}
494+
{{- if .Values.runner.crdPermissions.gatewayApi }}
495+
# Gateway API
496+
- apiGroups:
497+
- gateway.networking.k8s.io
498+
resources:
499+
- gateways
500+
- gatewayclasses
501+
- httproutes
502+
- grpcroutes
503+
- tcproutes
504+
- udproutes
505+
- tlsroutes
506+
- referencegrants
507+
verbs:
508+
- get
509+
- list
510+
- watch
511+
{{- end }}
512+
{{- if .Values.runner.crdPermissions.velero }}
513+
# Velero
514+
- apiGroups:
515+
- velero.io
516+
resources:
517+
- backups
518+
- restores
519+
- schedules
520+
- backupstoragelocations
521+
- volumesnapshotlocations
522+
- podvolumebackups
523+
- podvolumerestores
524+
- downloadrequests
525+
- deletebackuprequests
526+
- serverstatusrequests
527+
verbs:
528+
- get
529+
- list
530+
- watch
531+
{{- end }}
532+
{{- if .Values.runner.crdPermissions.externalSecrets }}
533+
# External Secrets Operator
534+
- apiGroups:
535+
- external-secrets.io
536+
resources:
537+
- externalsecrets
538+
- secretstores
539+
- clustersecretstores
540+
- clusterexternalsecrets
541+
verbs:
542+
- get
543+
- list
544+
- watch
545+
{{- end }}
331546

332547
---
333548
apiVersion: v1

helm/robusta/values.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ monitorHelmReleases: true
111111
argoRollouts: false
112112

113113

114+
114115
# scale alerts processing.
115116
# Used to support clusters with high load of alerts. When used, the runner will consume more memory
116117
scaleAlertsProcessing: False
@@ -738,6 +739,17 @@ runner:
738739
# Enable hardened filesystem security (read-only root filesystem with writable volume mounts)
739740
hardenedFs: false
740741
setKRRSecurityContext: false
742+
# CRD permissions for common Kubernetes operators and tools
743+
crdPermissions:
744+
argo: true
745+
flux: true
746+
kafka: true
747+
keda: true
748+
crossplane: true
749+
istio: true
750+
gatewayApi: true
751+
velero: true
752+
externalSecrets: true
741753

742754
kube-prometheus-stack:
743755
alertmanager:

src/robusta/core/model/helm_release.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class Chart(BaseModel):
2121
class Info(BaseModel):
2222
first_deployed: datetime
2323
last_deployed: datetime
24-
deleted: str
24+
deleted: str = ""
2525
description: Optional[str]
2626
status: str
2727
notes: Optional[str]

0 commit comments

Comments
 (0)