Skip to content

Commit

Permalink
Add Robbie as a primary contributor! (#1156)
Browse files Browse the repository at this point in the history
Signed-off-by: Pete Wall <[email protected]>
  • Loading branch information
petewall authored Jan 22, 2025
1 parent 8894808 commit 6c1b8e7
Show file tree
Hide file tree
Showing 6 changed files with 130 additions and 15 deletions.
18 changes: 8 additions & 10 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,13 @@
# https://help.github.com/articles/about-codeowners/

# Global owners
* @petewall
* @petewall @rlankfo

# Chart owners
charts/feature-annotation-autodiscovery @grafana/k8s-monitoring-dev
charts/feature-application-observability @rlankfo
charts/feature-cluster-events @grafana/k8s-monitoring-dev
charts/feature-cluster-metrics @grafana/k8s-monitoring-dev
charts/feature-frontend-observability @rlankfo
charts/feature-pod-logs @grafana/k8s-monitoring-dev
charts/feature-profiling @simonswine
charts/feature-prometheus-operator-objects @grafana/k8s-monitoring-dev
charts/k8s-monitoring-v1 @grafana/k8s-monitoring-dev
charts/k8s-monitoring/charts/feature-annotation-autodiscovery @grafana/k8s-monitoring-dev
charts/k8s-monitoring/charts/feature-cluster-events @grafana/k8s-monitoring-dev
charts/k8s-monitoring/charts/feature-cluster-metrics @grafana/k8s-monitoring-dev
charts/k8s-monitoring/charts/feature-pod-logs @grafana/k8s-monitoring-dev
charts/k8s-monitoring/charts/feature-profiling @simonswine
charts/k8s-monitoring/charts/feature-prometheus-operator-objects @grafana/k8s-monitoring-dev
charts/k8s-monitoring-v1 @grafana/k8s-monitoring-dev
113 changes: 113 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,119 @@ The process for making a successful contribution is:
- Unit tests
- Integration tests

## Design Idioms

The Kubernetes Monitoring Helm chart has a few design idioms with the goal of making it an easy and pleasant experience
for users and maintainers. These should guide your contributions:

### Don't ask about systems, ask about outcomes

Many users will not know about the particular observability systems and why one is better than another. Instead of
asking if they want to deploy a particular system, ask what outcome they want.

Bad:

```yaml
mega-widget:
enabled: true
megaQuarkMode: blue
```
Good:
```yaml
quantumObservability:
enabled: true
quarkMode: blue
```
### No error messages without suggestions
If a user encounters an error, we want to provide them with a suggestion for how to fix it.
Bad:
```text
Error: megaQuarkMode not set!
```
Good:
```text
Error: The Quantum Observability feature requires a quark mode!
Please set:
quantumObservability:
quarkMode: <favorite color>
```
### Don't require the user to know configuration language
This Helm chart is essentially a package of observability collection systems and a utility to generate configurations
for those systems. It should be possible for a user to modify that configuration without needing to know the
actual config language syntax.
Bad:
```yaml
quantumObservability:
extraDiscoveryRules: |
// Keep only the production namespace
rule {
source_labels = ["__meta_kubernetes_namespace"]
regex = "production"
action = keep
}
```
Good:
```text
quantumObservability:
namespaces: [production]
```
### Lots of test automation
We want to make it easy to contribute to this project. We have a lot of test automation to ensure that changes are high
quality and robust.
### Just the right amount of magic
This is a bit hard to qualify, but using this chart should be simple and easy with predictable and intuitive defaults.
Sometimes, going too far with this can lead to a chart that does things that are unexpected.
No magic:
```yaml
quantumObservability:
extraQuarkLabellingRules: ""
```
Some magic:
```yaml
quantumObservability:
# Add quark labels from Kubernetes pod labels
quarkLabelsFromPodLabels: {}
```
More magic:
```yaml
quantumObservability:
# Add quark labels from Kubernetes pod labels
quarkLabelsFromPodLabels:
position: app.kubernetes.io/position
```
Too much magic:
```yaml
quantumObservability:
# This will automatically add `position` from the `app.kubernetes.io/position` label
quarkLabelsFromPodLabels: {}
```
## Tools
This repository heavily makes use of automation and tooling to generate files and run tests. The following tools are
Expand Down
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,11 @@

## Maintainers

| Name | Email | URL |
|----------|----------------------------|-----|
| petewall | <[email protected]> | |
| skl | <[email protected]> | |
| Name | Email | URL |
|----------|-------------------------------|-----|
| petewall | <[email protected]> | |
| rlankfo | <[email protected]> | |
| skl | <[email protected]> | |

## Usage

Expand Down
2 changes: 2 additions & 0 deletions charts/k8s-monitoring/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ appVersion: 2.0.4
maintainers:
- email: [email protected]
name: petewall
- email: [email protected]
name: rlankfo
dependencies:
- alias: annotationAutodiscovery
name: feature-annotation-autodiscovery
Expand Down
1 change: 1 addition & 0 deletions charts/k8s-monitoring/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ podLogs:
| Name | Email | Url |
| ---- | ------ | --- |
| petewall | <[email protected]> | |
| rlankfo | <[email protected]> | |

<!-- markdownlint-disable no-bare-urls -->
<!-- markdownlint-disable list-marker-space -->
Expand Down
2 changes: 1 addition & 1 deletion charts/k8s-monitoring/docs/Migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,7 @@ If using Prometheus Operator objects, `metrics.podMonitors.enabled`, `metrics.pr
### Integrations

Integrations are a new feature in v2.0 that allow you to enable and configure additional data sources. This
includes the Alloy metrics that were previously part of `v1`. Some service integrations that previously needed to be
includes the Alloy metrics that were previously part of `v1`. Some service integrations that previously needed to be
defined in the `extraConfig` and `logs.extraConfig` sections can now be used in the integration feature.

If you are using the `metrics.alloy` setting for getting Alloy metrics, or if you are using `extraConfig` to add config
Expand Down

0 comments on commit 6c1b8e7

Please sign in to comment.