{"id":19510016,"url":"https://github.com/permify/permify-validate-action","last_synced_at":"2025-04-26T03:32:08.484Z","repository":{"id":65158326,"uuid":"575013223","full_name":"Permify/permify-validate-action","owner":"Permify","description":"GitHub Action for validation your Permify schema (Authorization Model)","archived":false,"fork":false,"pushed_at":"2024-07-16T12:39:03.000Z","size":38,"stargazers_count":6,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-25T18:55:36.619Z","etag":null,"topics":["access-control","fga","github-actions","permify","zanzibar"],"latest_commit_sha":null,"homepage":"https://docs.permify.co/","language":"Dockerfile","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/Permify.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-12-06T15:04:47.000Z","updated_at":"2024-10-24T10:30:17.000Z","dependencies_parsed_at":"2024-07-16T15:13:24.050Z","dependency_job_id":"0373d161-0c62-4858-b52b-9594b181f537","html_url":"https://github.com/Permify/permify-validate-action","commit_stats":{"total_commits":7,"total_committers":2,"mean_commits":3.5,"dds":0.1428571428571429,"last_synced_commit":"aeea41172498289aaea9632949178ce4ce35d555"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Permify%2Fpermify-validate-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Permify%2Fpermify-validate-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Permify%2Fpermify-validate-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Permify%2Fpermify-validate-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Permify","download_url":"https://codeload.github.com/Permify/permify-validate-action/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250926859,"owners_count":21509050,"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":["access-control","fga","github-actions","permify","zanzibar"],"created_at":"2024-11-10T23:14:10.969Z","updated_at":"2025-04-26T03:32:07.695Z","avatar_url":"https://github.com/Permify.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/Permify/permify/master/assets/permify-logo.svg\" alt=\"Permify logo\" width=\"336px\" /\u003e\u003cbr /\u003e\n    Permify Schema Validate GitHub Action\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/Permify/permify\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/github/license/Permify/permify?style=for-the-badge\" alt=\"Permify Licence\" /\u003e\u003c/a\u003e\u0026nbsp;\n    \u003ca href=\"https://discord.gg/MJbUjwskdH\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/discord/950799928047833088?style=for-the-badge\u0026logo=discord\u0026label=DISCORD\" alt=\"Permify Discord Channel\" /\u003e\u003c/a\u003e\u0026nbsp;\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n   \u003cimg width=\"605\" alt=\"Screenshot 2023-04-06 at 1 55 00 AM\" src=\"https://user-images.githubusercontent.com/39353278/232484847-ff4bd6ab-535d-4363-b3ff-167fab9d1ca4.png\"\u003e\n\u003c/p\u003e\n\nThis repository runs the `permify validate` command on the given schema (authorization model) and relationships (sample authorization data) and assertions (sample check queries and results).\n\nYou can find detailed information on this repository in\nthe [Testing \u0026 Validation](https://docs.permify.co/docs/getting-started/testing) part of our documentation.\n\n#### Example Schema Validation YAML File\n\n```yaml\nschema: \u003e-\n  entity user {}\n\n  entity organization {\n\n      relation admin @user\n      relation member @user\n\n      permission create_repository = (admin or member)\n      permission delete = admin\n  }\n\n  entity repository {\n\n      relation owner @user\n      relation parent @organization\n\n      permission push = owner\n      permission read = (owner and (parent.admin and parent.member))\n      permission delete = (parent.member and (parent.admin or owner))\n  }\n\nrelationships:\n  - \"organization:1#admin@user:1\"\n  - \"organization:1#member@user:1\"\n  - \"repository:1#owner@user:1\"\n\nscenarios:\n  - name: \"scenario 1\"\n    description: \"test description\"\n    checks:\n      - entity: \"repository:1\"\n        subject: \"user:1\"\n        assertions:\n          push : true\n      - entity: \"repository:2\"\n        subject: \"user:1\"\n        assertions:\n          push : false\n      - entity: \"repository:3\"\n        subject: \"user:1\"\n        assertions:\n          push : false\n```\n\n### Usage\n\nAdd the action following your workflow:\n\n- With local file\n\n```yaml\nsteps:\n  - uses: \"permify/permify-validate-action@v1\"\n    with:\n      validationFile: \"test.yaml\"\n```\n\n- With url\n\n```yaml\nsteps:\n  - uses: \"permify/permify-validate-action@v1\"\n    with:\n      validationFile: \"https://gist.github.com/permify-bot/bb8f95acb64525d2a41688ae0a6f4274\"\n```\n\nPermify is an **open-source authorization service** for creating and maintaining fine-grained authorizations across your\nindividual applications and services.\n\n* [Permify website](https://permify.co)\n* [Permify documentation](https://docs.permify.co/docs/intro)\n* [Permify playground](https://play.permify.co)\n* [Permify GitHub Repository](https://github.com/Permify/permify)\n\n## Testing in Local\n\nYou can also test your new authorization model in your local (Permify clone) without using [permify-validate-action] at\nall.\n\nFor that open up a new file and add a schema yaml file inside. Then build your project with, run `make run` command and\nrun `./permify validate {path of your schema validation file}`.\n\nIf we use the above example schema validation file, after\nrunning `./permify validate {path of your schema validation file}` it gives a result on the terminal as:\n\n[permify-validate-action]: https://github.com/Permify/permify-validate-action\n\n## Community \u0026 Support\n\nJoin our [Discord channel](https://discord.gg/MJbUjwskdH) for issues, feature requests, feedbacks or anything else. We\nlove to talk about authorization and access control :heart:\n\n\u003cp align=\"left\"\u003e\n\u003ca href=\"https://discord.gg/MJbUjwskdH\"\u003e\n \u003cimg height=\"70px\" width=\"70px\" alt=\"permify | Discord\" src=\"https://user-images.githubusercontent.com/39353278/187209316-3d01a799-c51b-4eaa-8f52-168047078a14.png\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://twitter.com/GetPermify\"\u003e\n  \u003cimg height=\"70px\" width=\"70px\" alt=\"permify | Twitter\" src=\"https://user-images.githubusercontent.com/39353278/187209323-23f14261-d406-420d-80eb-1aa707a71043.png\"/\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.linkedin.com/company/permifyco\"\u003e\n  \u003cimg height=\"70px\" width=\"70px\" alt=\"permify | Linkedin\" src=\"https://user-images.githubusercontent.com/39353278/187209321-03293a24-6f63-4321-b362-b0fc89fdd879.png\" /\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpermify%2Fpermify-validate-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpermify%2Fpermify-validate-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpermify%2Fpermify-validate-action/lists"}