cryostatio / cryostatio/cryostat-operator
Preload OpenShift-specific useful Automated Rules definitions
- Dominant language
- Go
- Stars
- 37
- Forks
- 22
- Avg merge
- 21h 37m
- Merged PRs (30d)
- 22
Description
Since https://github.com/cryostatio/cryostat/pull/1084 , Cryostat allows clients to define Automated Rules with an `enabled: boolean` property. Rules can be created with `enabled: false`, or they can be updated at any later point in time to enable/disable as well. When a rule is disabled its definition is stored and it is available for later enabling/activation, but it does not actually do anything until enabled. Once enabled the rule is applied against all matching target JVMs and continues to match against newly discovered JVMs, the usual way that Automated Rules work.
It would be very nice if we could set up Cryostat instances managed by the Operator with some Automated Rules definitions out of the box that are disabled, but available for the user to simply turn on as they desire. These rules would be useful for the user directly as well as useful as templates for the user to download, edit, and re-upload to tailor to their specific needs. Here's an example rule definition:
```json
{
"name": "openshift_monitoring",
"description": "Enable this rule to activate a continuous monitoring JFR recording to all JVMs in the namespace with the OpenShift annotation \"cryostat.io/monitoring: true\". Data will be archived every 30 seconds and 10 minutes of data will be retained in archives.",
"matchExpression": "target.annotations.platform[\"cryostat.io/monitoring\"] == 'true'",
"eventSpecifier": "template=Continuous,type=TARGET",
"archivalPeriodSeconds": 30,
"initialDelaySeconds": 30,
"preservedArchives": 20,
"maxAgeSeconds": 32,
"maxSizeBytes": 0,
"enabled": false
}
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the operator entry point that provisions or configures Cryostat Automated Rules, then compare its current behavior with the example OpenShift rule in this issue. Done means useful OpenShift-specific definitions are available by default, remain disabled, and can be enabled or downloaded as templates.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- devops, infrastructure, observability
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100