ciao
by
brotandgames

Description: HTTP checks & tests (private & public) monitoring - check the status of your URL

View on GitHub ↗

Summary Information

Updated 2 hours ago
Added to GitGenius on June 12th, 2024
Created on July 15th, 2019
Open Issues & Pull Requests: 2 (+0)
Number of forks: 108
Total Stargazers: 1,968 (+0)
Total Subscribers: 16 (+0)

Issue Activity (beta)

Open issues: 1
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 2,384 days
Stale 30+ days: 1
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • help wanted (3)
  • enhancement (2)
  • dependencies (1)
  • good first issue (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Repository Insights (GitGenius)

Median issue/PR response: 133.5 days
Mean response time: 181.3 days
90th percentile: 696.9 days
Tracked items: 7

Most active contributors

Detailed Description

Ciao is an open source HTTP monitoring application written in Ruby that checks the status of URL endpoints and sends notifications when status changes occur. The project is maintained by brotandgames and is designed to be lightweight and easy to deploy without requiring external dependencies like databases or caches. The application serves both public and private monitoring environments and is available at https://www.brotandgames.com/ciao/.

The core functionality of ciao involves periodically checking HTTP and HTTPS endpoints for specific status codes or TCP stack errors. Users define check intervals using standard Cron syntax, supporting expressions like every minute, every 15 minutes, or predefined schedules such as hourly and daily. The application tracks status changes over time and includes a feature to monitor TLS certificate expiration, alerting users when certificates will expire within 30 days. This certificate monitoring capability was added in version 1.9.0.

Ciao provides multiple interfaces for users to interact with the monitoring system. A web UI allows users to manage and view checks through a browser, while a RESTful JSON API enables programmatic access. The API supports standard operations including retrieving all checks or specific checks, creating new checks, updating existing checks, and deleting checks through GET, POST, PATCH, PUT, and DELETE endpoints at the /checks.json path.

Notification capabilities are central to ciao's design. When status changes occur, the application can send notifications via email through SMTP providers like Gmail, Sendgrid, and MailChimp, or through webhooks to services like Rocket.Chat and Slack. These notification features are optional and configurable based on user needs. Additionally, ciao exposes a Prometheus metrics endpoint at /metrics for integration with monitoring tools like Grafana.

Configuration is handled entirely through environment variables following the twelve-factor app methodology, making deployment flexible across different platforms. Users can configure the time zone, enable HTTP Basic authentication for the application, set up SMTP for email notifications, configure webhooks, and adjust log levels. The application stores state in an internal SQLite database located at db/sqlite/production.sqlite3, allowing for straightforward backup and restore operations.

Deployment options are extensive. Ciao provides official Docker images under brotandgames/ciao and supports deployment via Docker Compose, Kubernetes with Helm charts, kubectl manifests, and Dokku. The project includes comprehensive documentation for each deployment method. A Terraform provider is also available, maintained separately by autonubil, enabling infrastructure-as-code deployments.

According to GitGenius activity tracking, the primary maintainer brotandgames has recorded 18 events, with minimal contribution from other tracked users. The repository shows help wanted and dependencies as the most active issue labels. Response latency for issues and pull requests shows a median of approximately 3204.7 hours and a mean of 4350.3 hours across tracked items. The project maintains connections with other repositories including usememos/memos, rails/rails, and toeverything/affine through overlapping contributors.

The project follows semantic versioning and is released under the MIT License. The application is designed with security in mind, recommending that users enable HTTP Basic authentication and TLS certificates when serving ciao publicly.

ciao
by
brotandgamesbrotandgames/ciao

Repository Details

Fetching additional details & charts...