{"id":19359245,"url":"https://github.com/opslevel/service-maturity-library","last_synced_at":"2025-04-23T11:32:43.760Z","repository":{"id":43496278,"uuid":"437110820","full_name":"OpsLevel/service-maturity-library","owner":"OpsLevel","description":"A collection of check definitions and scripts which can be imported to your OpsLevel rubric","archived":false,"fork":false,"pushed_at":"2022-02-27T14:38:52.000Z","size":26,"stargazers_count":2,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2023-03-04T04:41:39.535Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpsLevel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-10T20:51:25.000Z","updated_at":"2023-02-02T14:14:40.000Z","dependencies_parsed_at":"2022-08-26T01:12:03.956Z","dependency_job_id":null,"html_url":"https://github.com/OpsLevel/service-maturity-library","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpsLevel%2Fservice-maturity-library","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpsLevel%2Fservice-maturity-library/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpsLevel%2Fservice-maturity-library/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpsLevel%2Fservice-maturity-library/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpsLevel","download_url":"https://codeload.github.com/OpsLevel/service-maturity-library/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223921963,"owners_count":17225636,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T07:14:28.168Z","updated_at":"2024-11-10T07:14:28.625Z","avatar_url":"https://github.com/OpsLevel.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/OpsLevel/service-maturity-library/blob/main/LICENSE\" alt=\"License\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/license/OpsLevel/service-maturity-library.svg\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://GitHub.com/OpsLevel/service-maturity-library/issues/\" alt=\"Issues\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/issues/OpsLevel/service-maturity-library.svg\" /\u003e\u003c/a\u003e  \n    \u003ca href=\"https://github.com/OpsLevel/service-maturity-library/graphs/contributors\" alt=\"Contributors\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/contributors/OpsLevel/service-maturity-library\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/OpsLevel/service-maturity-library/pulse\" alt=\"Activity\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/commit-activity/m/OpsLevel/service-maturity-library\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\nA collection of check definitions which can be imported to your [OpsLevel](https://www.opslevel.com/) rubric.\n\n### Prerequisite\n\n- [OpsLevel CLI](https://github.com/OpsLevel/cli/)\n- [OpsLevel API Token](https://app.opslevel.com/api_tokens)\n\n# Quickstart\n\nThe folder structure is setup to group similar check types together.  Each `yaml` file is a check which can be imported into your rubric.  We will walk you through importing a \"Custom Event Check\" that can parse payloads from Pagerduty and check if there have been no incidents in the last 7 days.\n\nOnce you have the opslevel CLI installed and an API token setup clone this repository.  From their navigate in a terminal to the root of the repository.  Inspect our example file:\n\n```sh\ncat ./custom_event_checks/demo.yaml\n```\n\nAll of the fields in this file correspond to fields that can be set in the UI so it should feel familiar.  There are a handful of fields that might need custom values unique to your OpsLevel account.  For the example in this \"Custom Event Check\" you will need to setup an [integration](https://www.opslevel.com/docs/checks/custom-event/) in your account first and then dig out the alias with the CLI.\n\n- Head over to your [OpsLevel integrations page](https://app.opslevel.com/integrations) and create a new integration.\n- Select \"Custom Event\" and give it a unique name, then click \"Create\".\n- Run `opslevel list integrations` to print out the integrations in a table, find your newly created integration and copy the \"ALIAS\" value.\n- Paste the value you copied into the field `integration` in `./custom_event_check/demo.yaml` and save the file.\n- Run `opslevel create check -f ./custom_event_check/demo.yaml` to create the check.\n- ... Profit!\n\nMost fields in these check definitions use aliases to reference other resources - always remember you can use the CLI `list` command to get a table which shows you the alias for a given resource.  For example:\n\n```sh\nopslevel list categories\n```\n\nor\n\n```sh\nopslevel list filters\n```\n\nThen copy the \"ALIAS\" field's value into the cooresponding check definition property.\n\n# Contributing\n\nThis repository is open to the public for contribution.  While OpsLevel does curate and maintain the files we welcome any and all contributions to collectively build up a library of useful checks that may help others in the future on their service maturity jounery.\n\n## Exporting a Check\n\nThe OpsLevel CLI also has the capability to export a check from your account so that you can share them with others.  Please make note of the folder structure when submitting new files to be included.\n\nTo perform an export:\n\n- Run `opslevel list checks` to print out the table of your existing checks and copy the \"ID\" of the check you want to export\n- Then `opslevel get check -o yaml XXX_CHECK_ID_XXX \u003e ./custom_event_check/my_example.yaml` to export the check to an importable definition\n- Read through the exported file and make sure there is no company specific details\n  - You also likely want to comment out the `filter` and `owner` fields as those are usually company specific\n- Once you are happy with the definition please submit a PR and an OpsLevel engineer will review it.\n\nThank you for your contribution!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopslevel%2Fservice-maturity-library","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopslevel%2Fservice-maturity-library","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopslevel%2Fservice-maturity-library/lists"}