{"id":30900813,"url":"https://github.com/tschaefer/finch","last_synced_at":"2026-05-08T21:02:26.089Z","repository":{"id":313147309,"uuid":"1021659777","full_name":"tschaefer/finch","owner":"tschaefer","description":"The Minimal Observability Infrastructure.","archived":false,"fork":false,"pushed_at":"2026-05-08T19:29:51.000Z","size":311,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-08T20:42:56.654Z","etag":null,"topics":["alloy","cmdline","golang","grafana","logging","loki"],"latest_commit_sha":null,"homepage":"https://tschaefer.github.io/finch-docs","language":"Go","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/tschaefer.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-17T18:31:04.000Z","updated_at":"2026-05-08T19:27:51.000Z","dependencies_parsed_at":"2025-09-04T07:28:11.584Z","dependency_job_id":"360b9310-7d6a-4e09-8866-c2c774fec9d5","html_url":"https://github.com/tschaefer/finch","commit_stats":null,"previous_names":["tschaefer/finch"],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/tschaefer/finch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tschaefer%2Ffinch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tschaefer%2Ffinch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tschaefer%2Ffinch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tschaefer%2Ffinch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tschaefer","download_url":"https://codeload.github.com/tschaefer/finch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tschaefer%2Ffinch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32797265,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["alloy","cmdline","golang","grafana","logging","loki"],"created_at":"2025-09-09T05:56:33.720Z","updated_at":"2026-05-08T21:02:26.084Z","avatar_url":"https://github.com/tschaefer.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\".brand/finch-logo-horizontal-dark.svg\"\u003e\n  \u003cimg src=\".brand/finch-logo-horizontal.svg\" alt=\"Finch - The Minimal Observability Infrastructure\" width=\"300\"\u003e\n\u003c/picture\u003e\n\n# The Minimal Observability Infrastructure\n\n[![Tag](https://img.shields.io/github/tag/tschaefer/finchctl.svg)](https://github.com/tschaefer/finchctl/releases)\n[![Go Report Card](https://goreportcard.com/badge/github.com/tschaefer/finchctl)](https://goreportcard.com/report/github.com/tschaefer/finchctl)\n[![Contributors](https://img.shields.io/github/contributors/tschaefer/finchctl)](https://github.com/tschaefer/finchctl/graphs/contributors)\n[![License](https://img.shields.io/github/license/tschaefer/finchctl)](./LICENSE)\n\nFinch brings production-grade observability to your infrastructure — no\nKubernetes, no cloud vendor, no expertise required. Deploy a full logs,\nmetrics, and profiling stack in one command. Enroll agents on any Linux or\nmacOS machine in one more. Everything else — TLS, authentication, agent\nconfiguration — is handled for you.\n\n\u003e Background, motivation, and a walkthrough: [Blog post](https://blog.tschaefer.org/posts/2025/08/17/finch-a-minimal-logging-stack/)\n\n## Getting Started\n\nInstall the Finch CLI:\n\n```bash\ncurl -sSfL https://finch.coresec.zone | sudo sh -\n```\n\nAlternatively, download a binary from the\n[releases page](https://github.com/tschaefer/finchctl/releases) or build from\nsource.\n\n## Deploy the Stack\n\nYou need a Linux machine with SSH access and superuser privileges.\n\n```bash\nfinchctl service deploy root@10.19.80.100\n```\n\nThat's it. The full observability stack is up at `https://10.19.80.100`.\nOpen `/grafana` in your browser — user `admin`, password `admin`.\nYour local mTLS credentials are saved automatically to `~/.config/finch.json`.\n\n\u003e Need Let's Encrypt or a custom certificate? See\n[TLS options](https://tschaefer.github.io/finch-docs/deployment/tls-options/).\n\n## Enroll an Agent\n\nRegister a new agent with the Finch service and deploy it to a target machine:\n\n```bash\nfinchctl agent register \\\n    --agent.hostname sparrow \\\n    --agent.logs.journal \\\n    10.19.80.100\n```\n\nThe agent config is saved as `finch-agent.cfg` and contains all endpoints and\ncredentials.\n\n```bash\nfinchctl agent deploy --agent.config finch-agent.cfg root@172.17.0.4\n```\n\nAlloy is installed and started on the target machine automatically.\n\n\u003e Want to collect Docker logs, log files, metrics, or profiles? See\n[Agent options](https://tschaefer.github.io/finch-docs/agent/options/).\n\n## Open the Dashboard\n\n```bash\nfinchctl service dashboard --web --permission.session-timeout 1800 10.19.80.100\n```\n\nThe dashboard opens in your browser with a fresh session token.\n\n## What's Next\n\n- [TLS options](https://tschaefer.github.io/finch-docs/deployment/tls-options/) - Let's Encrypt, custom certificates\n- [Agent options](https://tschaefer.github.io/finch-docs/agent/options/) - Docker logs, file logs, metrics, profiles, labels\n- [Managing agents](https://tschaefer.github.io/finch-docs/agent/manage/) - list, describe, edit, deregister\n- [Token renewal](https://tschaefer.github.io/finch-docs/agent/token-renewal/) - refreshing agent credentials before expiry\n- [Security model](https://tschaefer.github.io/finch-docs/security/) - how Finch handles auth, rotation, and recovery\n- [Windows agents](https://tschaefer.github.io/finch-docs/agent/windows/) - enrolling agents on Windows\n\n## Contributing\n\nFork the repository and submit a pull request. For major changes, open an issue\nfirst to discuss your proposal.\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftschaefer%2Ffinch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftschaefer%2Ffinch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftschaefer%2Ffinch/lists"}