{"id":21923207,"url":"https://github.com/deislabs/gatekeeper-vscode","last_synced_at":"2025-04-19T15:21:53.920Z","repository":{"id":43537732,"uuid":"235919735","full_name":"deislabs/gatekeeper-vscode","owner":"deislabs","description":"Rapidly develop and test Gatekeeper policies in Visual Studio Code","archived":false,"fork":false,"pushed_at":"2023-07-18T20:56:28.000Z","size":325,"stargazers_count":8,"open_issues_count":11,"forks_count":1,"subscribers_count":10,"default_branch":"master","last_synced_at":"2023-09-18T09:35:32.160Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deislabs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-24T01:24:06.000Z","updated_at":"2023-09-18T09:35:32.161Z","dependencies_parsed_at":"2023-01-26T03:31:10.044Z","dependency_job_id":null,"html_url":"https://github.com/deislabs/gatekeeper-vscode","commit_stats":null,"previous_names":[],"tags_count":1,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deislabs%2Fgatekeeper-vscode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deislabs%2Fgatekeeper-vscode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deislabs%2Fgatekeeper-vscode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deislabs%2Fgatekeeper-vscode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deislabs","download_url":"https://codeload.github.com/deislabs/gatekeeper-vscode/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226986635,"owners_count":17713649,"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-28T21:09:42.122Z","updated_at":"2024-11-28T21:09:42.825Z","avatar_url":"https://github.com/deislabs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gatekeeper-vscode\n\nRapidly develop, test and deploy Gatekeeper policies for your Kubernetes cluster.\n\n## Features\n\n* Install Gatekeeper into a development cluster\n* Browse constraints and constraint templates in the Kubernetes cluster explorer\n* See which constraints have violations, and view violation details\n* Deploy a constraint template directly from a Rego file and a JSON schema\n* Scaffold a constraint from a constraint template\n* Scaffold a JSON schema from constraint template Rego\n* See a warning if template Rego uses a parameter not defined in the schema\n* Switch a constraint's enforcement action between Deny and Dry Run\n* View the constraint and template YAML definitions, and template Rego\n\n## Authoring Constraint Templates and Constraints\n\n**NOTE: This workflow is an alpha proposal, and may change based on feedback!**\n\nA constraint template consists of some Rego, defining the policy, and a CRD definition,\nspecifying the names (e.g. the manifest kind) and validation schema for constraint\nresources, all bundled together into a YAML resource declaration. You probably don't\nwant to have to work directly on such YAML: you'd rather, for example, create your Rego\nin a separate where the OPA extension can give you syntax highlighting and testing features.\n\nThe Gatekeeper extension addresses this by allowing you to author your constraint template\nin two separate files, which are linked by a naming convention:\n\n* `\u003cname\u003e.rego` - the Rego policy definition for the constraint template\n* `\u003cname\u003e.schema.json` - the JSON schema for the parameters\n\nWith this convention in place, you can right-click in the Rego file and choose\n**Deploy as Gatekeeper Constraint Template**.  The extension will merge the Rego and\nthe parameter schema to create a YAML resource declaration, and display the\nresulting YAML for you to confirm and deploy.\n\nThe `.rego/.schema.json` convention is also used for checks of the Rego file - for\nexample if the Rego refers to `input.parameters.\u003cname\u003e` then the extension will\nwarn if the `.schema.json` does not contain a declaration for `\u003cname\u003e`.\n\n**Please give me feedback on this convention through [GitHub issues](https://github.com/deislabs/gatekeeper-vscode/issues)!**\nLet me know if it causes problems, runs into limitations or is just fiddly to work with.  Thanks!\n\n## Requirements\n\nYou will need the following VS Code extensions:\n\n* Kubernetes (https://marketplace.visualstudio.com/items?itemName=ms-kubernetes-tools.vscode-kubernetes-tools)\n* OPA (https://marketplace.visualstudio.com/items?itemName=tsandall.opa)\n\nThese are automatically installed if you install this extension from the Visual Studio Marketplace.\n\n## Contributing\n\nThis project welcomes contributions and suggestions.  Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit https://cla.microsoft.com.\n\nWhen you submit a pull request, a CLA-bot will automatically determine whether you need to provide\na CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions\nprovided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeislabs%2Fgatekeeper-vscode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeislabs%2Fgatekeeper-vscode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeislabs%2Fgatekeeper-vscode/lists"}