Code Monkey home page Code Monkey logo

kuttl's Introduction

Kyverno Tweet

Cloud Native Policy Management ๐ŸŽ‰

Go Report Card License: Apache-2.0 GitHub Repo stars CII Best Practices OpenSSF Scorecard SLSA 3 Artifact HUB codecov FOSSA Status

logo

Kyverno is a policy engine designed for Kubernetes platform engineering teams. It enables security, automation, compliance, and governance using policy-as-code. Kyverno can validate, mutate, generate, and cleanup configurations using Kubernetes admission controls, background scans, and source code respository scans. Kyverno policies can be managed as Kubernetes resources and do not require learning a new language. Kyverno is designed to work nicely with tools you already use like kubectl, kustomize, and Git.

Open Source Security Index - Fastest Growing Open Source Security Projects

๐Ÿ“™ Documentation

Kyverno installation and reference documents are available at kyverno.io.

๐Ÿ‘‰ Quick Start

๐Ÿ‘‰ Installation

๐Ÿ‘‰ Sample Policies

๐Ÿ™‹โ€โ™‚๏ธ Getting Help

We are here to help!

๐Ÿ‘‰ For feature requests and bugs, file an issue.

๐Ÿ‘‰ For discussions or questions, join the Kyverno Slack channel.

๐Ÿ‘‰ For community meeting access, join the mailing list.

๐Ÿ‘‰ To get updates โญ๏ธ star this repository.

โž• Contributing

Thanks for your interest in contributing to Kyverno! Here are some steps to help get you started:

โœ” Read and agree to the Contribution Guidelines.

โœ” Browse through the GitHub discussions.

โœ” Read Kyverno design and development details on the GitHub Wiki.

โœ” Check out the good first issues list. Add a comment with /assign to request assignment of the issue.

โœ” Check out the Kyverno Community page for other ways to get involved.

Software Bill of Materials

All Kyverno images include a Software Bill of Materials (SBOM) in CycloneDX JSON format. SBOMs for Kyverno images are stored in a separate repository at ghcr.io/kyverno/sbom. More information on this is available at Fetching the SBOM for Kyverno.

Contributors

Kyverno is built and maintained by our growing community of contributors!

Made with contributors-img.

License

Copyright 2024, the Kyverno project. All rights reserved. Kyverno is licensed under the Apache License 2.0.

Kyverno is a Cloud Native Computing Foundation (CNCF) Incubating project and was contributed by Nirmata.

kuttl's People

Contributors

alebedev87 avatar alembiewski avatar alenkacz avatar alifelan avatar aneumann82 avatar benjaminjb avatar chhsia0 avatar chipzoller avatar croomes avatar eddycharly avatar estroz avatar gberche-orange avatar gerred avatar haoxins avatar iblancasa avatar imusmanmalik avatar jbarrick-mesosphere avatar jlpedrosa avatar joejulian avatar kensipe avatar nfnt avatar peres-richard avatar porridge avatar realshuting avatar takirala avatar zmalik avatar

Stargazers

 avatar

Watchers

 avatar  avatar

kuttl's Issues

[Enhancement] Aggregate and display failures at the bottom of output

When a TestCase is run which contains a large number of tests, should any of those tests fail they are printed along with passed tests in what could be a very long list. When the number of tests becomes quite large, for example over 100, one must carefully scan every entry to see what the failed tests are. This is tedious and can result in tests being missed.

When any tests fail in a TestCase containing multiple tests, aggregate and display the failed tests together as the final portion of the output. Do not change any of the existing output, just add a section at the bottom which groups only the failed tests together.

[Enhancement] YAML validation of a `TestStep` file

When kuttl parses a TestStep file, there is currently no validation performed to ensure basic things such as:

  1. a field is specified but unrecognized / indentation errors
  2. a required field is missing
  3. a referenced file in a field cannot be located

We need to add some of these basic validation checks to ensure authors of these kuttl tests don't waste time chasing simple problems.

[Enhancement] Easy checking of CLI output

What would you like to be added:

An easy, declarative way to check that output from the result of a command, script, or CLI:

  1. equals what I define (i.e., it has nothing more than what I state and looks precisely what I define)
  2. contains what I define (i.e., it may have more than what I state and it may be found anywhere in the output)

Why is this needed:

We need a way to test things like kyverno apply and kyverno jp reliably outside the confines of unit tests and from an end user perspective.

[Tracking] Kyverno kuttl enhancement task list

Kyverno's version of kuttl needs several enhancements to make it eminently usable for Kyverno's test needs. This issue captures all of the enhancements needed not present in upstream and which we intend to add here.

  • Wait for Namespace deletion (#6)
  • Support for individual test case disabling (#5)
  • Support for simple declaration of manifest application failure (#17)
  • Support for directory recursion (#16)
  • Show full path to test cases in output (#4)
  • #25
  • #24
  • #26
  • #22
  • #23

[Enhancement] Parameter to halt testing upon the first failure

When tests are performed serially as they are in Kyverno's case, no tests should fail. For any test to fail indicates a problem somewhere. Continuing to test other tests may often be undesirable as it wastes time and processing in order for a user/contributor to know what may be broken and requires remediation.

Add a parameter to a TestCase file to allow the user to indicate that testing should not proceed upon the first test failure.

[Enhancement] Comprehensive support for asserting contents of lists/arrays

What would you like to be added:

A way to make an assertion that the contents of a field which is an array of objects or a list:

  1. has the defined portion listed somewhere/anywhere
  2. has the defined portion listed in the prescribed order

Why is this needed:

Kubernetes has loads of resources where arrays are components. In some cases, lists are unordered (like environment variables or Policy Report results) and in others the ordering is important (like initContainers). We need a way to specify how the assertion should be performed which entails stating "this entry must be present in the collection" versus "the collection must have all these entries and they must be in this exact order".

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.