All Projects → plexsystems → Konstraint

plexsystems / Konstraint

Licence: mit
A policy management tool for interacting with Gatekeeper

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Konstraint

Oak
Meaningful control of data in distributed systems.
Stars: ✭ 698 (+323.03%)
Mutual labels:  policy
Authorizer
Simple Authorization via PHP Classes
Stars: ✭ 46 (-72.12%)
Mutual labels:  policy
Cape Python
Collaborate on privacy-preserving policy for data science projects in Pandas and Apache Spark
Stars: ✭ 125 (-24.24%)
Mutual labels:  policy
Azure Policy
Repository for Azure Resource Policy built-in definitions and samples
Stars: ✭ 758 (+359.39%)
Mutual labels:  policy
Terraform
Share Terraform best practices and custom modules with the community
Stars: ✭ 39 (-76.36%)
Mutual labels:  policy
Bc Policy Framework For Github
Policy information for BC Government employees using GitHub
Stars: ✭ 98 (-40.61%)
Mutual labels:  policy
Opa
An open source, general-purpose policy engine.
Stars: ✭ 5,939 (+3499.39%)
Mutual labels:  policy
App Privacy Policy Generator
A simple web app to generate a generic privacy policy for your Android/iOS apps
Stars: ✭ 2,278 (+1280.61%)
Mutual labels:  policy
Casbin Editor
Web-based model & policy editor for Casbin
Stars: ✭ 45 (-72.73%)
Mutual labels:  policy
User.api
集成网关、身份认证、Token授权、微服务、.netcore等的基于CQRS的微服务开发框架示例
Stars: ✭ 109 (-33.94%)
Mutual labels:  policy
Site Policy
Collaborative development on GitHub's site policies, procedures, and guidelines
Stars: ✭ 797 (+383.03%)
Mutual labels:  policy
Felix
Project Calico's per-host agent Felix, responsible for programming routes and security policy.
Stars: ✭ 871 (+427.88%)
Mutual labels:  policy
Freeradius Server
FreeRADIUS - A multi-protocol policy server.
Stars: ✭ 1,379 (+735.76%)
Mutual labels:  policy
Rasa chatbot cn
building a chinese dialogue system based on the newest version of rasa(基于最新版本rasa搭建的对话系统)
Stars: ✭ 723 (+338.18%)
Mutual labels:  policy
Balanced Employee Ip Agreement
GitHub's employee intellectual property agreement, open sourced and reusable
Stars: ✭ 1,750 (+960.61%)
Mutual labels:  policy
Certified Kubernetes Security Specialist
Curated resources help you prepare for the CNCF/Linux Foundation CKS 2021 "Kubernetes Certified Security Specialist" Certification exam. Please provide feedback or requests by raising issues, or making a pull request. All feedback for improvements are welcome. thank you.
Stars: ✭ 691 (+318.79%)
Mutual labels:  policy
Magtape
MagTape Policy-as-Code for Kubernetes
Stars: ✭ 85 (-48.48%)
Mutual labels:  policy
Speedle
Speedle is an open source project for access control.
Stars: ✭ 153 (-7.27%)
Mutual labels:  policy
Gatekeeper Library
The OPA Gatekeeper policy library.
Stars: ✭ 132 (-20%)
Mutual labels:  policy
Security Txt
A proposed standard that allows websites to define security policies.
Stars: ✭ 1,393 (+744.24%)
Mutual labels:  policy

Konstraint

Go Report Card GitHub release

logo

Konstraint is a CLI tool to assist with the creation and management of templates and constraints when using Gatekeeper.

Installation

GO111MODULE=on go get github.com/plexsystems/konstraint

Binaries are also available on the releases page.

Usage

To create the Gatekeeper resources, use konstraint create <policy_dir>.

To generate the accompanying documentation, use konstraint doc <policy_dir>.

Both commands support the --output flag to specify where to save the output. For more detailed usage documentation, see the CLI Documentation.

Why this tool exists

Automatically copy Rego to the ConstraintTemplate

When writing policies for Gatekeeper, the Rego must be added to ConstraintTemplates in order for Gatekeeper to enforce the policy. This creates a scenario in which the Rego is written in a .rego file, and then copied into the ConstraintTemplate. When a change is needed to be made to the Rego, both instances must be updated.

Automatically update all ConstraintTemplates with library changes

Gatekeeper supports importing libraries into ConstraintTemplates with the libs field. If a change is required to the imported library, every template must be updated to include this new change.

Enable writing the same policies for Conftest and Gatekeeper

With Gatekeeper, policies are evaluated in the context of an AdmissionReview. This means that policies are typically written with a prefix of input.review.object.

With Conftest, policies are written against yaml files.

This creates a scenario where the policy needs to be written differently depending upon the context in which the policy is being evaluated in.

Kubernetes Libraries

In the examples/lib directory, there are multiple libraries that enable policies to be written for both Conftest and Gatekeeper.

You can include as little or as many of these libraries into your policies as desired.

Purpose

By first validating the Kubernetes manifests with Conftest on a local machine, we can catch manifests that would otherwise violate policy without needing to deploy to a cluster running Gatekeeper.

FAQ

Konstraint ran without error, but I don't see any new files.

This typically means no policies were found, or the policies did not have any violation[] rules, so they are not compatible with Gatekeeper.

For more information, see How Constraints are Created.

My ConstraintTemplates are missing the input parameters

Input parameters can be specified by using one or more @parameter <name> <type> tags in the comment header block. If you use input parameters, Konstraint will skip generating the Constraint resource for that policy.

For more information, see Using Input Parameters.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].