{"id":23773857,"url":"https://github.com/StyraOSS/data-playground","last_synced_at":"2026-04-03T19:30:16.684Z","repository":{"id":268399297,"uuid":"904228436","full_name":"StyraInc/data-playground","owner":"StyraInc","description":"Data Playground for exploring (E)OPA's data filtering","archived":false,"fork":false,"pushed_at":"2025-02-07T15:08:14.000Z","size":147,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-07T16:20:26.808Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/StyraInc.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":"2024-12-16T13:43:44.000Z","updated_at":"2025-02-07T15:08:17.000Z","dependencies_parsed_at":"2024-12-16T14:42:21.282Z","dependency_job_id":"9dd547a6-1fba-4abf-9e08-29101c8a0cca","html_url":"https://github.com/StyraInc/data-playground","commit_stats":null,"previous_names":["styrainc/data-playground"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StyraInc%2Fdata-playground","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StyraInc%2Fdata-playground/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StyraInc%2Fdata-playground/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StyraInc%2Fdata-playground/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StyraInc","download_url":"https://codeload.github.com/StyraInc/data-playground/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239964497,"owners_count":19725950,"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":"2025-01-01T05:46:02.908Z","updated_at":"2026-04-03T19:30:16.570Z","avatar_url":"https://github.com/StyraInc.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rego Data Filtering Playground\n\nThis is a simple dashboard to demonstrate the data filtering capabilities\nwe're working on in the Enterprise OPA Platform.\n\n\n## Getting started\n\n1. Clone the repo\n2. `docker compose up --build` (respects, but **doesn't require** an `EOPA_LICENSE_KEY` env var)\n3. Go to http://localhost:3000\n\n\nWhen the Rego code in the \"Data Policy\" pane is edited, it is automatically sent to\nEOPA.\nThat PUT request for the Policy API could fail -- if so, it's because of syntax errors\nwhich are then displayed in **red**.\nIf the PUT succeeds, a request for evaluating the data policy is sent to EOPA, which\neither yields _partial eval_ post-analysis errors, or a SQL query.\nPost-analysis errors are annotated in **yellow**.\nIf a query is returned, it's used to subset the (hidden) SQL query collecting ordered\nproducts by user.\n\n\n## Notes\n\n* Error locations provided by the EOPA API only contain starting points (row/col),\n  and the editor component would really appreciate spans (start, end). To work around\n  this, we're extending all the starting points to the end of the line. It's close\n  enough in most cases.\n* For local development,\n  1. start EOPA on 127.0.0.1:8181 (no config or policy files needed)\n  2. run `npm run dev` (`npm install` if you haven't before)\n  3. run `caddy run --config Caddyfile-local` to proxy both Observable Framework and EOPA\n  4. go to http://localhost:3001\n* Open Dev Tools network tab for insights if something goes wrong: not all errors\n  are currently surfaced in a usable way.\n* If you want to test this against a development EOPA build, run `make build-local`\n  on the EOPA source branch, and start the stack via\n\n  ```sh\n  EOPA_IMAGE=ko.local/enterprise-opa-private:edge EOPA_PULL_POLICY=missing docker compose up\n  ```\n\n\n## Community\n\nFor questions, discussions and announcements related to Styra products, services and\nopen source projects, please join the Styra community on [Slack](https://communityinviter.com/apps/styracommunity/signup)!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FStyraOSS%2Fdata-playground","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FStyraOSS%2Fdata-playground","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FStyraOSS%2Fdata-playground/lists"}