{"id":18473907,"url":"https://github.com/xmidt-org/heimdall","last_synced_at":"2025-09-20T21:25:08.627Z","repository":{"id":36205278,"uuid":"192802694","full_name":"xmidt-org/heimdall","owner":"xmidt-org","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-25T14:46:47.000Z","size":255,"stargazers_count":1,"open_issues_count":8,"forks_count":1,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-03-23T12:32:54.427Z","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":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xmidt-org.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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}},"created_at":"2019-06-19T20:51:04.000Z","updated_at":"2024-11-04T14:45:07.000Z","dependencies_parsed_at":"2024-01-10T18:41:25.305Z","dependency_job_id":"cb6db77c-79c5-45fb-a76f-a7c7979f7d54","html_url":"https://github.com/xmidt-org/heimdall","commit_stats":null,"previous_names":["comcast/codex-heimdall"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xmidt-org%2Fheimdall","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xmidt-org%2Fheimdall/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xmidt-org%2Fheimdall/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xmidt-org%2Fheimdall/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xmidt-org","download_url":"https://codeload.github.com/xmidt-org/heimdall/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247842723,"owners_count":21005338,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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-11-06T10:27:07.318Z","updated_at":"2025-09-20T21:25:03.587Z","avatar_url":"https://github.com/xmidt-org.png","language":"Go","readme":"# heimdall\n(pronounced “hem-dahl”)\n\n[![Build Status](https://github.com/xmidt-org/heimdall/actions/workflows/ci.yml/badge.svg)](https://github.com/xmidt-org/heimdall/actions/workflows/ci.yml)\n[![codecov.io](http://codecov.io/github/xmidt-org/heimdall/coverage.svg?branch=main)](http://codecov.io/github/xmidt-org/heimdall?branch=main)\n[![Go Report Card](https://goreportcard.com/badge/github.com/xmidt-org/heimdall)](https://goreportcard.com/report/github.com/xmidt-org/heimdall)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=xmidt-org_heimdall\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=xmidt-org_heimdall)\n[![Apache V2 License](http://img.shields.io/badge/license-Apache%20V2-blue.svg)](https://github.com/xmidt-org/heimdall/blob/main/LICENSE)\n[![GitHub Release](https://img.shields.io/github/release/xmidt-org/heimdall.svg)](CHANGELOG.md)\n\n\n## Summary\n\nHeimdall provides metrics to determine how accurate Codex is at determining if \na device is connected to XMiDT.\n\nFor more information on Codex, check out [the Codex README](https://github.com/xmidt-org/codex-deploy).\nFor more information on XMiDT, check out [the XMiDT README](https://github.com/xmidt-org/xmidt).\n\n## Table of Contents\n\n- [Code of Conduct](#code-of-conduct)\n- [Details](#details)\n- [Build](#build)\n- [Deploy](#deploy)\n- [Contributing](#contributing)\n\n## Code of Conduct\n\nThis project and everyone participating in it are governed by the [XMiDT Code Of Conduct](https://xmidt.io/code_of_conduct/). \nBy participating, you agree to this Code.\n\n## Details\n\n\n## Build\n\n### Source\n\nIn order to build from the source, you need a working Go environment with \nversion 1.11 or greater. Find more information on the [Go website](https://golang.org/doc/install).\n\nYou can directly use `go get` to put the Heimdall binary into your `GOPATH`:\n```bash\nGO111MODULE=on go get github.com/xmidt-org/heimdall\n```\n\nYou can also clone the repository yourself and build using make:\n\n```bash\nmkdir -p $GOPATH/src/github.com/xmidt-org\ncd $GOPATH/src/github.com/xmidt-org\ngit clone git@github.com:xmidt-org/heimdall.git\ncd heimdall\nmake build\n```\n\n### Makefile\n\nThe Makefile has the following options you may find helpful:\n* `make build`: builds the Heimdall binary\n* `make docker`: builds a docker image for Heimdall, making sure to get all \n   dependencies\n* `make local-docker`: builds a docker image for Heimdall with the assumption\n   that the dependencies can be found already\n* `make it`: runs `make docker`, then deploys Heimdall and a cockroachdb \n   database into docker.\n* `make test`: runs unit tests with coverage for Heimdall\n* `make clean`: deletes previously-built binaries and object files\n\n### RPM\n\nFirst have a local clone of the source and go into the root directory of the \nrepository.  Then use rpkg to build the rpm:\n```bash\nrpkg srpm --spec \u003crepo location\u003e/\u003cspec file location in repo\u003e\nrpkg -C \u003crepo location\u003e/.config/rpkg.conf sources --outdir \u003crepo location\u003e'\n```\n\n### Docker\n\nThe docker image can be built either with the Makefile or by running a docker \ncommand.  Either option requires first getting the source code.\n\nSee [Makefile](#Makefile) on specifics of how to build the image that way.\n\nFor running a command, either you can run `docker build` after getting all \ndependencies, or make the command fetch the dependencies.  If you don't want to \nget the dependencies, run the following command:\n```bash\ndocker build -t heimdall:local -f deploy/Dockerfile .\n```\nIf you want to get the dependencies then build, run the following commands:\n```bash\nGO111MODULE=on go mod vendor\ndocker build -t heimdall:local -f deploy/Dockerfile.local .\n```\n\nFor either command, if you want the tag to be a version instead of `local`, \nthen replace `local` in the `docker build` command.\n\n### Kubernetes\n\nWIP. TODO: add info\n\n## Deploy\n\nFor deploying on Docker or in Kubernetes, refer to the [deploy README](https://github.com/xmidt-org/codex-deploy/tree/main/deploy/README.md).\n\nFor running locally, ensure you have the binary [built](#Source).  If it's in \nyour `GOPATH`, run:\n```\nheimdall\n```\nIf the binary is in your current folder, run:\n```\n./heimdall\n```\n\n## Contributing\n\nRefer to [CONTRIBUTING.md](CONTRIBUTING.md).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxmidt-org%2Fheimdall","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxmidt-org%2Fheimdall","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxmidt-org%2Fheimdall/lists"}