{"id":26096417,"url":"https://github.com/updatecli/udash","last_synced_at":"2026-01-17T07:27:59.870Z","repository":{"id":179741232,"uuid":"636689914","full_name":"updatecli/udash","owner":"updatecli","description":"Updatecli Dashboard","archived":false,"fork":false,"pushed_at":"2026-01-13T20:25:32.000Z","size":5126,"stargazers_count":4,"open_issues_count":3,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-13T20:55:17.119Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/updatecli.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"github":["olblak","dduportal"],"open_collective":"updatecli","liberapay":"updatecli"}},"created_at":"2023-05-05T12:22:50.000Z","updated_at":"2026-01-13T20:25:35.000Z","dependencies_parsed_at":"2023-11-14T21:26:54.131Z","dependency_job_id":"8718577b-3cfc-4d10-b96f-8c54cd9d6a77","html_url":"https://github.com/updatecli/udash","commit_stats":null,"previous_names":["updatecli/udash"],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/updatecli/udash","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/updatecli%2Fudash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/updatecli%2Fudash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/updatecli%2Fudash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/updatecli%2Fudash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/updatecli","download_url":"https://codeload.github.com/updatecli/udash/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/updatecli%2Fudash/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28504210,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T06:57:29.758Z","status":"ssl_error","status_checked_at":"2026-01-17T06:56:03.931Z","response_time":85,"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":[],"created_at":"2025-03-09T14:46:27.287Z","updated_at":"2026-01-17T07:27:59.858Z","avatar_url":"https://github.com/updatecli.png","language":"Go","funding_links":["https://github.com/sponsors/olblak","https://github.com/sponsors/dduportal","https://opencollective.com/updatecli","https://liberapay.com/updatecli"],"categories":[],"sub_categories":[],"readme":"= Udash\nAnother Updatecli Dashboard\n\nIMPORTANT: This project is still in a very early stage, more to come\n\n== Description\n\nUdash is an Updatecli backend application. Its mission is to visualize Updatecli pipeline report and to provide various insights such as Git repositories \"update\" state.\n\n**Pipeline Report**\n\nUpdatecli can be configured to upload pipeline reports after each execution. The goal is to have a central place to visualize all pipelines for a specific project.\n\n**Insight**\n\nInsight reuse pipeline report to provide a visualization per theme such as the state for all dependencies for a specific git repository.\n\n__Still work in progress__\n\n== Demo\n\nThe best way to discover Udash is to try it yourself. There is a docker compose example available in the demo directory.\n\nDeploy Udash with the following steps:\n\n1. Make sure you have Docker and Docker Compose installed.\n2. Run `docker compose up -d` in the directory `demo`.\n3. Configure your browser to access Udash at `http://localhost:8080`.\n4. Run `updatecli udash login \"http://localhost\" --experimental` to configure Updatecli to upload reports to Udash.\n5. Then you can run any updatecli command (apply/diff) to start publishing reports to Udash\n\nINFO: You may have to run `docker compose restart server` if the postgresql database\n wasn't ready in time to receive connections when the Udash server started.\n\nDon't worry if you don't have any Updatecli manifest yet, you can still try the demo by using the Updatecli policies used by this Git repository.\nFor that you need Updatecli and GitHub access token to interact with the GitHub API.\n\nYou can run the following commands to configure Updatecli to use the policies defined in this repository:\n\n1. `export GITHUB_TOKEN=\u003cyour-github-token\u003e`\n2. `export GITHUB_ACTOR=\u003cyour-github-username\u003e`\n3. `docker login ghcr.io` to authenticate on the GitHub Container Registry for pullling Updatecli policies\n4. `updatecli compose diff --experimental` to execute Updatecli policies  defined in the file `updatecli-compose.yaml`\n\n\n\n== Architecture\n\n=== Requirements\n\nUdash application requires a postgresql database to store the various pipeline reports, and an oauth provider to handle authorization.\n\n**Postgresql Database**\n\n**OAuth provider**\n\nThe oauth provider **must** allow the PKCE flow.\n\n* Auth0 (tested)\n* GitHub link:https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps#1-request-a-users-github-identity[Not supported yet]\n* link:https://docs.gitlab.com/ee/api/oauth2.html[GitLab]\n* link:https://github.com/dexidp/dex/issues/2244[Dex]\n* link:https://www.keycloak.org/docs/latest/securing_apps/#_installed_adapter[Keycloak]\n\n=== Udash API\n\n==== Documentation\n\nThe api documentation is available at `/swagger/index.html` or in the docs directory.\n\n==== Option\n\nUdash must be configured via a configuration file, and some settings can be overridden by environment variables\n\n\n**Config File**\n\nThe configuration file must be one of [\"/etc/udash/config.yaml\", \"~/.udash/config.yaml\",\"~/config.yaml\"]\n\n```\n    server:\n      auth:\n        #  If mode is unset then authentication is disabled\n        mode: \"oauth\"\n        issuer: \"auth0 auth URL\"\n        audience: \"udash URL\"\n    database:\n      # uri defines the postgresql URI used to connect with its database\n      uri: \"postgresql URI\"\n```\n\n**Environment**\n\n* **UDASH_AUTH_MODE**: Enable authentication Accept value [\"\",\"none\",\"oauth\"]\n* **UDASH_AUTH_ISSUER**: Define oauth domain url require `UDASH_AUTH_MODE` set to \"oauth\"\n* **UDASH_AUTH_AUDIENCE**: Define oauth audience require `UDASH_AUTH_MODE` set to \"oauth\"\n* **UDASH_DB_URI**: Define the postgresql URI\n\n=== Udash Frontend\n\n==== Option\n\nEven though the Udash frontend is a client-side javascript application, it expects two configuration files that must exist in the `public` directory.\n\n** config.js\n\n```\nconst config = (() =\u003e {\n  return {\n    \"OAUTH_DOMAIN\": \"updatecli.example.oauth.com\",\n    \"OAUTH_CLIENTID\": \"86FVLxxxxxxxxxxxxxxxxxx\",\n    \"OAUTH_AUDIENCE\": \"http://app.updatecli.io/api\"\n  };\n})();\n```\n\n`config.js` is used by the frontend application for the login\n\n** config.json\n\n```\n{\n  \"OAUTH_DOMAIN\": \"updatecli.example.oauth.com\",\n  \"OAUTH_CLIENTID\": \"86FVLxxxxxxxxxxxxxxxxxx\",\n  \"OAUTH_AUDIENCE\": \"http://app.updatecli.io/api\"\n}\n```\n\n`config.json` is used by the Updatecli application to retrieve oauth setting when running:\n\n`updatecli login http://app.updatecli.io`\n\n=== Updatecli\n\nUpdatecli is expected to run as usual from CI environment. \n\nBut it must be authenticated before uploading any reports, by running:\n\n`updatecli login \"https://app.updatecli.io\" --experimental`\n\nThen any apply/diff command will upload pipeline reports\n\n\n\n=== Demo\n\nYou can try Udash yourself by running the following steps:\n\n==== 1. Start Udash\n\nUdash is composed of a Postgresql database, an Updatecli API, and an Updatecli Frontend.\n\nUsing Docker, you can start all services with the following command:\n\n`docker compose --file docker-compose.example.yaml up`\n\nPlease keep in mind that no authentication is enabled in this example.\n\nUdash is now available on `udash.localhost` and the API on `udash.localhost/api`\n\n==== 2. Configure Updatecli\n\nOnce Udash is running, you can configure Updatecli to upload reports to Udash by running:\n\n`updatecli udash login --api-url http://udash.localhost/api http://udash.localhost --experimental`\n\n==== 3. Run Updatecli\n\nYou can now run Updatecli as usual, and it will upload the pipeline report to Udash.\n\nPlease be aware that currently the UI is designed to visualize pipelines per git repository so without a scmid\npipelines will be hard to discover.\n\n=== Roadmap\n\n- [ ] Versioned API endpoint\n- [ ] Add tests\n- [ ] Add sql linting check using sqlfluff\n- [ ] Support paginationhttps://meet.google.com/vnj-momt-brs?authuser=0\n\n=== Links\n\n* https://github.com/updatecli/updatecli[Updatecli]\n* https://github.com/updatecli/udash-front[Udash Frontend]\n* https://github.com/updatecli/charts[Helm Chart]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupdatecli%2Fudash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fupdatecli%2Fudash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupdatecli%2Fudash/lists"}