{"id":47234013,"url":"https://github.com/sooraj-sky/sky-meter","last_synced_at":"2026-03-13T21:37:10.155Z","repository":{"id":61358462,"uuid":"550825880","full_name":"sooraj-sky/sky-meter","owner":"sooraj-sky","description":"Sky-meter is an endpoint checker. It can be deployed as a container, it give you the ability to monitor your internal-cluster APIs","archived":false,"fork":false,"pushed_at":"2025-09-26T09:05:18.000Z","size":397,"stargazers_count":32,"open_issues_count":2,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-26T11:18:26.918Z","etag":null,"topics":["endpoint-testing","golang","http-server","opsgenie","postgresql","sentry","synthetic-monitoring"],"latest_commit_sha":null,"homepage":"https://sky-meter.skywalks.in","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sooraj-sky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-13T11:46:27.000Z","updated_at":"2025-09-26T09:04:24.000Z","dependencies_parsed_at":"2024-06-19T05:30:09.466Z","dependency_job_id":null,"html_url":"https://github.com/sooraj-sky/sky-meter","commit_stats":{"total_commits":115,"total_committers":6,"mean_commits":"19.166666666666668","dds":0.5130434782608695,"last_synced_commit":"089c67efed5be29e921304bac12a01dbf9f765d0"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/sooraj-sky/sky-meter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sooraj-sky%2Fsky-meter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sooraj-sky%2Fsky-meter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sooraj-sky%2Fsky-meter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sooraj-sky%2Fsky-meter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sooraj-sky","download_url":"https://codeload.github.com/sooraj-sky/sky-meter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sooraj-sky%2Fsky-meter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30476450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T20:45:58.186Z","status":"ssl_error","status_checked_at":"2026-03-13T20:45:20.133Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["endpoint-testing","golang","http-server","opsgenie","postgresql","sentry","synthetic-monitoring"],"created_at":"2026-03-13T21:37:08.274Z","updated_at":"2026-03-13T21:37:10.145Z","avatar_url":"https://github.com/sooraj-sky.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sky-meter\n[![CodeQL](https://github.com/sooraj-sky/sky-meter/actions/workflows/codeql.yml/badge.svg)](https://github.com/sooraj-sky/sky-meter/actions/workflows/codeql.yml)\n[![Dependency Review](https://github.com/sooraj-sky/sky-meter/actions/workflows/dependency-review.yml/badge.svg?branch=main)](https://github.com/sooraj-sky/sky-meter/actions/workflows/dependency-review.yml)\n\nSky-meter is a synthetic endpoint checker. You can deploy this on your infra and run checks from your infa and set alerts. Here we are using the go httptrace library.  \nCurrenly we have addded Database support. The endpoints and http output are now being saved in Database. We also have a sentry integration to catch the runtime errors.\n Development is in progress\n ### [Visit Our Website](https://sky-meter.skywalks.in)   \n### [Visit pkg.go.dev](https://pkg.go.dev/github.com/sooraj-sky/sky-meter)\n\n ## Alerting\n We have integrated SMTP and Opsgenie, more integrations are in pipeline\n Currently the project is under developmet. You may have to experience some glitches at this moment.\n\n## Tested Environments\nGO version: 1.18  \nPostgres : 15.0 \n### Tested OS\n- Ubuntu 22.10 \n- alpine(docker)\n- Macos\n\nWe are highly recommending to run th app as docker container. \nSee Docker Hub Image \nhttps://hub.docker.com/r/soorajsky/sky-meter\n\n## Environment variables\n| Variable       | Type    | Example         |\n|----------------|---------|-----------------|\n| DnsServer      | string  | 8.8.8.8         |\n| Port           | string  | 8000            |\n| EmailPass      | string  | youremailpass   |\n| EmailFrom      | string  | from@gmail.com  |\n| EmailPort      | string  | 583             |\n| EmailServer    | string  | smtp.gmail.com  |\n| OpsgenieSecret | string  | examplesecret   |\n| SentryDsn      | string  | exapledsnvalue  |\n| Mode           | string  | prod            |\n| DbUrl          | string  | host=localhost user=postgres password=postgres dbname=postgres port=5433 sslmode=disable             |\n\n\n\n\n## Add URLs to check\nTo add a URL to minitoring is pertty simple. Create **settings.yml** to add your endpoints to monitor. See an example of **settings.yml** below  \n```sh\nopegenie:\n  enabled: false\nemail:\n  enabled: true\ngroups:\n- name: prod\n  emails:\n     - reviceremail@gmail.com\n     - reciver@yahoo.com\n- name: dev\n  emails:\n     - reviceremail@gmail.com\n     - reciver@yahoo.com\ndomains:\n- name: https://skywalks.in\n  enabled: true\n  timeout: 10\n  skip_ssl: false\n  frequency: 10\n  group: dev\n- name: https://sky-meter.skywalks.in\n  enabled: true\n  timeout: 10\n  skip_ssl: false\n  frequency: 60\n  group: dev\n- name: https://github.com\n  enabled: true\n  timeout: 10\n  skip_ssl: false\n  frequency: 60\n  group: prod\n\n- name: https://githcccubs.com\n  enabled: true\n  timeout: 10\n  skip_ssl: false\n  frequency: 60\n  group: prod\n```\n\u003e _timeout_ : Timeout of request in Millisecond (int)  \n\u003e _skip_ssl_ : set flase if you want to skip the ssl verification (bool)  \n\u003e _frequency_ : frequency of health check in secont (int)  \n\u003e _group_ : Group settings\n\n## Run the Code\nClone the code\n```sh  \n$ git clone https://github.com/sooraj-sky/sky-meter.git\n$ cd sky-meter\n```  \nRun the postgres docker container (skip this step if you already have a database)\n```sh  \n$ docker-compose up -d\n```  \nExport ENV variables (Sentry will work only in dev mode)    \nIf Email is disbled on **settings.yml** the following variables are not needed.\n1. EmailPass\n2. EmailFrom\n3. EmailPort\n4. EmailServer\n\n**SentryDsn** is only needed when **Mode=dev**\n\n```sh\n$ export DnsServer=\"8.8.8.8\" #requied  \n$ export DbUrl=\"host=localhost user=postgres password=postgres dbname=postgres port=5433 sslmode=disable\"  #requied          \n$ export EmailPass=\"your-pass-here\" #requied when Email is Enabled  \n$ export EmailFrom=\"youremail@server.com\" #requied when Email is Enabled     \n$ export EmailPort=\"587\" #requied when Email is Enabled     \n$ export EmailServer=\"smtp.server-address-here.com\" #requied when Email is Enabled   \n$ export OpsgenieSecret=\"your-opsgenie-key-here\" #requied when Opsgenie is Enabled on settings.yml\n$ export Mode=\"dev\"  \n$ export SentryDsn=\"your-DSn-key-here\" #requied when Mode=\"dev\"           \n```\nRun the project\n```sh    \n$ go run cmd/main.go  \n```\n\n## CI\n\nwe are using concourse CI for  Main Branch\n\nFor release branch we have Github Actions\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsooraj-sky%2Fsky-meter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsooraj-sky%2Fsky-meter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsooraj-sky%2Fsky-meter/lists"}