Skip to content
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

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
Collaborator

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
Collaborator 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 join this conversation on GitHub. Already have an account? Sign in to comment
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