Skip to content
This repository has been archived by the owner on Nov 2, 2024. It is now read-only.

Create observability artifacts based on YAML configurations #1026

Open
minherz opened this issue Apr 21, 2023 · 2 comments
Open

Create observability artifacts based on YAML configurations #1026

minherz opened this issue Apr 21, 2023 · 2 comments
Assignees
Labels
priority: p3 Desirable enhancement or fix. May not be included in next release. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.
Milestone

Comments

@minherz
Copy link
Contributor

minherz commented Apr 21, 2023

Description

Today the properties of all observability artifacts are hardcoded in the Terraform files (see provisioning/terraform/monitoring). It means that every time we want to create another artifact (e.g. a SLO), we need to copy/paste the resource configuration. An attempt to avoid this kind of repetition was made with the monitoring dashboard artifacts. The configuration of multiple dashboards are stored in provisioning/configurations/online-boutique/dashboards.

It would be useful to generalize this approach so it can be used for the all artifact types that Sandbox provisions. The current list of the artifacts includes:

  • Monitoring dashboards
  • Alerts
  • Uptime checks
  • Notification channels
  • Log-based metrics
  • SLOs

Additionally, the support for custom monitored microservices can be added as well.

Technical Details

The configurations should be stored in YAML because it is a much more human-friendly format.
The configuration schema should be defined using JSON schema.
The configurations should not support all possible options to provision the artifacts.
There should be a reference configuration which will be used CI workflow for testing modifications of the terraform code that is responsible to provision configurations.

@minherz minherz added type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design. priority: p2 Moderately-important priority. Fix may not be included in next release. labels Apr 21, 2023
@minherz minherz added this to the version 0.10 milestone Apr 21, 2023
@minherz minherz self-assigned this Apr 21, 2023
@minherz
Copy link
Contributor Author

minherz commented May 8, 2023

YAML is favored to JSON because it is a more human friendly format. The configurations that have to be in JSON (e.g. Monitoring dashboard for google_monitoring_dashboard can be either converted from YAML or incorporated into the YAML. YAML natively supports comments making it easier to document without additional challenges to schema validation.

@bourgeoisor
Copy link
Member

Is this issue still p2 or should it be bumped to p3? Note that p2 has a resolution SLO of 6 months

@arbrown arbrown added priority: p3 Desirable enhancement or fix. May not be included in next release. and removed priority: p2 Moderately-important priority. Fix may not be included in next release. labels Oct 19, 2023
@minherz minherz modified the milestones: version 0.10, backlog Jan 29, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
priority: p3 Desirable enhancement or fix. May not be included in next release. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants