{"id":13565018,"url":"https://github.com/wrouesnel/badgeserv","last_synced_at":"2026-01-12T00:02:04.353Z","repository":{"id":61350027,"uuid":"549920485","full_name":"wrouesnel/badgeserv","owner":"wrouesnel","description":"No-Nonsense badge generator service. Ideal for on-premises hosting!","archived":false,"fork":false,"pushed_at":"2023-03-16T00:05:19.000Z","size":1669,"stargazers_count":1,"open_issues_count":11,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-03T22:36:32.730Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/wrouesnel.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}},"created_at":"2022-10-12T00:05:23.000Z","updated_at":"2024-01-19T04:13:27.000Z","dependencies_parsed_at":"2024-01-14T03:50:13.121Z","dependency_job_id":"6b5a39e5-ecd6-4d48-985e-c2bf90a3a2c3","html_url":"https://github.com/wrouesnel/badgeserv","commit_stats":{"total_commits":19,"total_committers":2,"mean_commits":9.5,"dds":"0.052631578947368474","last_synced_commit":"e4b5f7a6df5ef993348f2fdcf6572b17dd1d89da"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/wrouesnel/badgeserv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wrouesnel%2Fbadgeserv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wrouesnel%2Fbadgeserv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wrouesnel%2Fbadgeserv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wrouesnel%2Fbadgeserv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wrouesnel","download_url":"https://codeload.github.com/wrouesnel/badgeserv/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wrouesnel%2Fbadgeserv/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28328691,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T22:11:01.104Z","status":"ssl_error","status_checked_at":"2026-01-11T22:10:58.990Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":[],"created_at":"2024-08-01T13:01:39.297Z","updated_at":"2026-01-12T00:02:04.312Z","avatar_url":"https://github.com/wrouesnel.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"[![Build and Test](https://github.com/wrouesnel/badgeserv/actions/workflows/integration.yml/badge.svg)](https://github.com/wrouesnel/badgeserv/actions/workflows/integration.yml)\n[![Release](https://github.com/wrouesnel/badgeserv/actions/workflows/release.yml/badge.svg)](https://github.com/wrouesnel/badgeserv/actions/workflows/release.yml)\n[![Container Build](https://github.com/wrouesnel/badgeserv/actions/workflows/container.yml/badge.svg)](https://github.com/wrouesnel/badgeserv/actions/workflows/container.yml)\n[![Coverage Status](https://coveralls.io/repos/github/wrouesnel/badgeserv/badge.svg?branch=main)](https://coveralls.io/github/wrouesnel/badgeserv?branch=main)\n[![Go Report Card](https://goreportcard.com/badge/github.com/wrouesnel/badgeserv)\n\n# BadgeServ\n\nNo-Nonsense badge generator service. Ideal for on-premises hosting!\n\n## Purpose\n\nBadgeServ is designed to be completely un-opinionated about what sort of data you want to display, but to make displaying\nany data easy. It includes no built-in badges or services at all and is intneded principally for supporting private\ndeployments which could benefit from a badge-generator service.\n\n## Usage\n\nThis is an entirely stateless service. Run it with:\n\n```shell\ndocker run -it --rm -p 8080:8080 ghcr.io/wrouesnel/badgeserv\n```\n\nAnd visit http://127.0.0.1:8080 to use it.\n\n### Web UI\n\nThe Web UI is the easiest way to make badges - simply enter your parameters, and the badge sample will be generated\nin your browser. Copying the image link will allow you to embed it on any other page.\n\n### Swagger UI\n\nAll features can be explored from the swagger UI at `/api/v1/ui`\n\n### Static Badges\n\n`GET /api/v1/badge/static?name=Name\u0026value=Value\u0026color=green`\n\nGenerate simple badges directly from a URL.\n\n### Custom Badges\n\n`GET /api/v1/badge/dynamic/?target=https://my-json-service/this/should/be/encoded/properly\u0026label=This can be Pongo2\u0026message=So can this {{like.with.a.value}}`\n\nGenerate dynamic badges from any JSON endpoint using [pongo2](https://github.com/flosch/pongo2) for data\nextraction.\n\nPongo2 is a Jinja2-like syntax derivative for Go, and is chosen because it provides advanced features like conditions\nand text handling. Using this language in badge queries, almost any type of data can be handled.\n\n### Predefined Badges\n\n`GET /api/v1/badge/\u003cpredefined name\u003e/?param1=something\u0026param2=something`\n\nThe predefined badge endpoints can be customized and configured when the service is deployed. This is a handy solution\nfor surfacing data which requires authentication tokens to retrieve. BadgeServ supports retrieving secrets from\nHashicorp Vault directly, for maximum configuration security.\n\n## Coming Soon\n\nThe following features will be implemented soon\n\n### Endpoint Badges\n\nEndpoint badges implement a compatible interface similar to [shields.io](https://shields.io) and [badgen.net](https://badgen.net).\n\n## Acknowledgements\n\nAdapted from original code by [Luzifer/badge-gen](https://github.com/Luzifer/badge-gen).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwrouesnel%2Fbadgeserv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwrouesnel%2Fbadgeserv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwrouesnel%2Fbadgeserv/lists"}