-
Notifications
You must be signed in to change notification settings - Fork 1
docs: update the readme #195
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
25c7dae
107e1db
5fdfb77
9daeb09
31595c4
8c5952b
f3da639
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,41 +1,32 @@ | ||||||
| # GitHub runner operators | ||||||
|
|
||||||
|  | ||||||
| This repository contains applications, Juju charms, Grafana dashboards and actions related to operating and using | ||||||
| self-hosted GitHub Actions runners. | ||||||
|
|
||||||
| A monorepo containing charms to operate Self-Hosted GitHub Action Runners. | ||||||
|
|
||||||
| ## Repository layout | ||||||
|
|
||||||
| ``` | ||||||
| actions/ | ||||||
| enable-log-forwarding/ # GitHub Action: enable log forwarding on runners | ||||||
|
|
||||||
| charms/ | ||||||
| planner-operator/ # Juju charm: GitHub runner planner | ||||||
| cos_custom/ | ||||||
| grafana_dashboards/ # Grafana dashboards for the planner charm | ||||||
| # (served via cos-configuration-k8s, path: charms/planner-operator/cos_custom/grafana_dashboards) | ||||||
| webhook-gateway-operator/ # Juju charm: GitHub webhook gateway | ||||||
|
Comment on lines
13
to
17
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do you think the README should provide any descriptions or high-level overview of the roles/responsibilities fulfilled by the charms? I think that the layout block is already clear about the structure, but consider adding a new section after the layout (maybe something like |
||||||
|
|
||||||
| runner_grafana_dashboards/ # Grafana dashboards for runner VM host metrics | ||||||
| # (served via cos-configuration-k8s, path: runner_grafana_dashboards) | ||||||
| ``` | ||||||
| cmd/ | ||||||
| planner/ # Application entry point: planner | ||||||
| webhook-gateway/ # Application entry point: webhook gateway | ||||||
|
|
||||||
| ## Observability: Grafana dashboards | ||||||
| internal/ # Shared Go packages | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I ran the README draft through Gemini and asked for feedback about how digestable the README is for LLMs. Gemini said that it's not clear what the
Suggested change
That way you don't need to provide more details or an explicit section |
||||||
|
|
||||||
| Dashboards in this repo are delivered to Grafana through | ||||||
| [`cos-configuration-k8s`](https://charmhub.io/cos-configuration-k8s), which syncs | ||||||
| JSON files from this Git repository and provisions them via the `grafana-dashboard` | ||||||
| relation. Provisioned dashboards are **immutable** in Grafana regardless of user | ||||||
| role — they cannot be edited or deleted through the UI. | ||||||
| docs/ # Documentation | ||||||
|
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I have removed this, because I do not think we should mention deployment details here. |
||||||
|
|
||||||
| ### Conventions | ||||||
| runner_grafana_dashboards/ # Grafana dashboards for runner VM host metrics | ||||||
|
cbartz marked this conversation as resolved.
|
||||||
| ``` | ||||||
|
|
||||||
| | Directory | Purpose | `grafana_dashboards_path` config value | | ||||||
| |---|---|---| | ||||||
| | `charms/<charm>/cos_custom/grafana_dashboards/` | Dashboards for a specific charm's workload metrics | `charms/<charm>/cos_custom/grafana_dashboards` | | ||||||
| | `runner_grafana_dashboards/` | Dashboards for runner VM host-level metrics (CPU, memory, disk, network) | `runner_grafana_dashboards` | | ||||||
| ## Further information | ||||||
|
|
||||||
| Dashboard JSON files should use `__inputs` to declare the datasource (type `prometheus`). | ||||||
| Setting `"editable": false` is recommended for clarity, but is not strictly required: | ||||||
| dashboards delivered through `cos-configuration-k8s` are filesystem-provisioned and | ||||||
| therefore read-only in Grafana regardless of the JSON flag. Metric names follow the | ||||||
| [OpenTelemetry hostmetrics receiver](https://opentelemetry.io/docs/collector/components/#receiver) | ||||||
| Prometheus naming convention (e.g. `system_cpu_time_seconds_total`). | ||||||
| Further information can be found in the `docs/` directory. | ||||||
|
Comment on lines
+30
to
+32
|
||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| # Grafana dashboards | ||
|
|
||
| ## Dashboard directories | ||
|
|
||
| | Directory | Purpose | | ||
| |---|---| | ||
| | `charms/<charm>/cos_custom/grafana_dashboards/` | Dashboards for a specific charm's workload metrics | | ||
| | `runner_grafana_dashboards/` | Dashboards for runner VM host-level metrics (CPU, memory, disk, network) | | ||
|
|
||
|
cbartz marked this conversation as resolved.
|
||
| ## Conventions | ||
|
|
||
| Dashboard JSON files should use `__inputs` to declare the data source (type `prometheus`). | ||
| Setting `"editable": false` is recommended for clarity. Metric names follow the | ||
| [OpenTelemetry host metrics receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/hostmetricsreceiver) | ||
| Prometheus naming convention (for example, `system_cpu_time_seconds_total`). | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -10,4 +10,5 @@ Contents | |
| :maxdepth: 1 | ||
|
|
||
| architecture | ||
| charms | ||
| charms | ||
| grafana-dashboards | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WDYT about adding a link to the RTD site somewhere in the README, or a dedicated section about the documentation? Currently we use this template section for most of our repos with RTD projects: