{"id":13564736,"url":"https://github.com/retracedhq/retraced","last_synced_at":"2025-04-03T21:31:30.170Z","repository":{"id":37950312,"uuid":"69969485","full_name":"retracedhq/retraced","owner":"retracedhq","description":"🔥 A fully open source audit logs service and embeddable UI easily deployed to your own Kubernetes cluster. Brought to you by replicated.com and boxyhq.com  🚀","archived":false,"fork":false,"pushed_at":"2024-04-27T23:18:16.000Z","size":7191,"stargazers_count":302,"open_issues_count":12,"forks_count":16,"subscribers_count":13,"default_branch":"main","last_synced_at":"2024-04-28T20:45:26.258Z","etag":null,"topics":["audit-logs","enterprise-ready","enterprise-software","javascript","kubernetes","security-audit","typescript"],"latest_commit_sha":null,"homepage":"https://boxyhq.com/audit-logs","language":"TypeScript","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/retracedhq.png","metadata":{"files":{"readme":"README.md","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":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-04T13:51:18.000Z","updated_at":"2024-04-29T22:58:03.698Z","dependencies_parsed_at":"2023-02-19T20:45:36.129Z","dependency_job_id":"e8c3162c-00e2-4ebb-b72d-17a0d28e582c","html_url":"https://github.com/retracedhq/retraced","commit_stats":null,"previous_names":[],"tags_count":113,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/retracedhq%2Fretraced","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/retracedhq%2Fretraced/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/retracedhq%2Fretraced/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/retracedhq%2Fretraced/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/retracedhq","download_url":"https://codeload.github.com/retracedhq/retraced/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247083379,"owners_count":20880829,"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":["audit-logs","enterprise-ready","enterprise-software","javascript","kubernetes","security-audit","typescript"],"created_at":"2024-08-01T13:01:35.197Z","updated_at":"2025-04-03T21:31:30.164Z","avatar_url":"https://github.com/retracedhq.png","language":"TypeScript","funding_links":[],"categories":["Network","TypeScript"],"sub_categories":["Monitoring / Logging","Monitoring / Logging / Event Management"],"readme":"# Retraced Audit Log\n\n\u003cp\u003e\n    \u003ca href=\"https://www.npmjs.com/package/@retracedhq/retraced\"\u003e\u003cimg src=\"https://img.shields.io/npm/dt/@retracedhq/retraced\" alt=\"npm\" \u003e\u003c/a\u003e\n    \u003ca href=\"https://hub.docker.com/r/retracedhq/retraced\"\u003e\u003cimg src=\"https://img.shields.io/docker/pulls/retracedhq/retraced\" alt=\"Docker pulls\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/retracedhq/retraced/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/retracedhq/retraced\" alt=\"Github stargazers\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/retracedhq/retraced/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/retracedhq/retraced\" alt=\"Github issues\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/retracedhq/retraced/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/retracedhq/retraced\" alt=\"license\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://twitter.com/boxyhq\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/boxyhq?style=social\" alt=\"Twitter\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://discord.gg/uyb7pYt4Pa\"\u003e\u003cimg src=\"https://img.shields.io/discord/877585485235630130\" alt=\"Discord\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nRetraced is the easiest way to integrate a compliant audit log into your application.\nIt provides a searchable, exportable record of read/write events.\nClient libraries are available for [Go](https://github.com/retracedhq/retraced-go) and [Javascript](https://github.com/retracedhq/retraced-js).\n\n## Documentation\n\nPlease head to [https://github.com/retracedhq/docs](https://github.com/retracedhq/docs) for detailed documentation on how to get started with Retraced.\n\n- [Step by step tutorial video](https://www.youtube.com/watch?v=4vBxw4kqdwE)\n\n## Usage\n\n### Running with docker-compose\n\n\u003e `docker-compose up -d` or `npm run dev`\n\n**Note:** `ADMIN_ROOT_TOKEN` has been set to `dev` so you can test the setup locally. Please remember to change this (and other relevant sensitive env vars/secrets) in production.\n\n### Run an example to see how Retraced works\n\nGit checkout the Logs Viewer [repo](https://github.com/retracedhq/logs-viewer) and run `npm i` followed by `npm run dev` to start an example which uses Retraced to show you some auto generated events. Refresh the UI a few times for the auto-generated audit logs to kick in. You can also ingest a few custom logs using the following curl command:-\n\n```sh\ncurl -X POST -H \"Content-Type: application/json\" -H \"Authorization: token=dev\" -d '{\n  \"action\": \"some.record.created\",\n  \"teamId\": \"boxyhq\",\n  \"group\": {\n    \"id\": \"dev\",\n    \"name\": \"dev\"\n  },\n  \"crud\": \"c\",\n  \"created\": \"2023-01-16T15:48:44.573Z\",\n  \"source_ip\": \"127.0.0.1\",\n  \"actor\": {\n    \"id\": \"jackson@boxyhq.com\",\n    \"name\": \"Jackson\"\n  },\n  \"target\": {\n    \"id\": \"100\",\n    \"name\": \"tasks\",\n    \"type\": \"Tasks\"\n  }\n}' http://localhost:3000/auditlog/publisher/v1/project/dev/event\n```\n\nYou can also use the [Admin Portal](http://localhost:5225) but will need to setup the SMTP env vars so that you can use the magic link to log into the Portal, we are working to support other forms of authentication and would love to hear which provider you'd like supported next.\n\n### Running with Skaffold\n\nYou could alternatively use Skaffold instead of docker-compose to run Retraced locally.\n\n\u003e `npm run run:skaffold` or `skaffold run -f skaffold-dev.yaml --status-check=false --force=true`\n\n## Swagger Documentation\n\nSwagger spec is generated from source using [TSOA](https://github.com/lukeautry/tsoa)\n\nBy default, a swagger spec is built as part of `npm run build`, and is served by express at `/publisher/v1/swagger.json`.\n\n#### Generating a spec\n\nTo generate swagger.json from Typescript sources use\n\n```sh\nnpm run swagger\n```\n\nThe outputs will be written to build/swagger.json\n\n## Contributing\n\nThanks for taking the time to contribute! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are appreciated.\n\nPlease try to create bug reports that are:\n\n- _Reproducible._ Include steps to reproduce the problem.\n- _Specific._ Include as much detail as possible: which version, what environment, etc.\n- _Unique._ Do not duplicate existing opened issues.\n- _Scoped to a Single Bug._ One bug per report.\n\n## Support\n\nReach out to the maintainers at one of the following places:\n\n- [GitHub Issues](https://github.com/retracedhq/retraced/issues) (Bug reports, Contributions)\n\n## Community\n\n- [Discord](https://discord.gg/uyb7pYt4Pa) (For live discussion with the Community and BoxyHQ team)\n- [Twitter](https://twitter.com/BoxyHQ) (Get the news fast)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fretracedhq%2Fretraced","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fretracedhq%2Fretraced","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fretracedhq%2Fretraced/lists"}