{"id":13521212,"url":"https://github.com/thomasdarimont/custom-opa-spicedb","last_synced_at":"2025-08-18T20:33:33.538Z","repository":{"id":61764709,"uuid":"550511435","full_name":"thomasdarimont/custom-opa-spicedb","owner":"thomasdarimont","description":"OPA Authzed experiments","archived":false,"fork":false,"pushed_at":"2024-03-11T10:02:29.000Z","size":48,"stargazers_count":15,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-11-02T05:32:46.237Z","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/thomasdarimont.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}},"created_at":"2022-10-12T22:26:48.000Z","updated_at":"2024-09-27T08:59:17.000Z","dependencies_parsed_at":"2024-06-21T01:08:16.141Z","dependency_job_id":"b2133866-56d0-4204-ad5c-29a581578495","html_url":"https://github.com/thomasdarimont/custom-opa-spicedb","commit_stats":{"total_commits":11,"total_committers":1,"mean_commits":11.0,"dds":0.0,"last_synced_commit":"8fb0400ab04888d4a4e7367fb9e7f63b8cf0ff6f"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasdarimont%2Fcustom-opa-spicedb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasdarimont%2Fcustom-opa-spicedb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasdarimont%2Fcustom-opa-spicedb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasdarimont%2Fcustom-opa-spicedb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thomasdarimont","download_url":"https://codeload.github.com/thomasdarimont/custom-opa-spicedb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230276319,"owners_count":18201089,"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-08-01T06:00:30.880Z","updated_at":"2024-12-18T13:11:37.356Z","avatar_url":"https://github.com/thomasdarimont.png","language":"Go","funding_links":[],"categories":["Developer Tools"],"sub_categories":["Third-party Tools"],"readme":"Custom Open Policy Agent with prototypical support for Authzed\n---\n\nThis experiment adds support for querying relations from [Authzed](https://authzed.com/) / [SpiceDB](https://github.com/authzed/spicedb) via GRPC to check resource level permissions\nas custom builtin commands for [Open Policy Agent](https://www.openpolicyagent.org/).\n\nCurrently only one command is supported:\n```\nauthzed.check_permission(\"SUBJECT\", \"PERMISSION\", \"RESOURCE_ID\") -\u003e bool\n```\n\n# Build\n\nNote this example uses Go 1.19\n\n```\ngo get\ngo build\n```\n\n# Demo\n\n\u003e Start authzed demo environment\n```\ndocker compose -f demo/docker-compose.yml up -d\n```\n\n\u003e Run custom Open Policy Agent with authzed plugin enabled\n```\n./custom-opa-spicedb run \\\n  --set plugins.authzed.endpoint=localhost:50051 \\\n  --set plugins.authzed.token=foobar \\\n  --set plugins.authzed.insecure=true\n```\n\n\u003e Query relations against authzed\n\u003e See the [example RBAC schema](./demo/schema-and-data.yml) for reference.\n```\n\u003e authzed.check_permission(\"user:tom\", \"view\", \"document:firstdoc\")\ntrue\n\u003e authzed.check_permission(\"user:tom\", \"edit\", \"document:firstdoc\")\ntrue\n\u003e authzed.check_permission(\"user:fred\", \"edit\", \"document:firstdoc\")\nfalse\n\u003e exit\n```\n\n\u003e Stop demo environment\n```\ndocker compose -f demo/docker-compose.yml down\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomasdarimont%2Fcustom-opa-spicedb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthomasdarimont%2Fcustom-opa-spicedb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomasdarimont%2Fcustom-opa-spicedb/lists"}