diff --git a/css/style.css b/css/style.css index 5ffd3bc..2c6b631 100644 --- a/css/style.css +++ b/css/style.css @@ -9,13 +9,13 @@ hr { border-color: #ddd; } } /* Font sizes */ -body { font-size: 1.2rem; line-height: 1.7rem; text-size-adjust: 100%; } -h1 { font-size: 2.3rem; line-height: 3.2rem; font-weight: 400 } -h2 { font-size: 1.8rem; line-height: 2.3rem; font-weight: 400 } -h3 { font-size: 1.5rem; line-height: 1.8rem; font-weight: 300 } +body { font-size: 1.4rem; line-height: 1.9rem; text-size-adjust: 100%; } +h1 { font-size: 2.7rem; line-height: 3.8rem; font-weight: 400 } +h2 { font-size: 2rem; line-height: 2.5rem; font-weight: 400 } +h3 { font-size: 1.7rem; line-height: 2rem; font-weight: 300 } -#header h1 { font-size: 3rem; line-height: 3.3rem; font-weight: 500; margin-top: 0.2em; margin-left: 30px } -#header h2 { font-size: 1.3rem; line-height: 1.5rem; font-weight: 300; font-style: italic; margin: 0 0 0.5em 30px} +#header h1 { font-size: 4rem; line-height: 4.5rem; font-weight: 500; margin-top: 0.2em; margin-left: 30px } +#header h2 { font-size: 1.7rem; line-height: 2.2rem; font-weight: 300; font-style: italic; margin: 0 0 0.5em 30px} /* We default all margins/paddings to 0 */ * { margin: 0; padding: 0 } @@ -131,7 +131,7 @@ pre { #motto { text-align: center; font-style: italic; - font-size: 1.1em; + font-size: 1.4em; margin: 2em auto 2em auto; } @@ -155,13 +155,13 @@ pre { } #kc-pros h2 { - font-size: 1.2em; + font-size: 1.4em; line-height: 1.2em; padding: 0 5% 0.3em 5%; } #kc-pros p { - font-size: 0.9em; + font-size: 1.1em; padding: 0 5% 2em 5%; } diff --git a/docs/crd-support/index.html b/docs/crd-support/index.html index ac678a2..6d069cf 100644 --- a/docs/crd-support/index.html +++ b/docs/crd-support/index.html @@ -1,5 +1,5 @@ -Kubeconform - Fast Kubernetes manifests validation! | Custom Resources support

Custom Resources support

When the -schema-location parameter is not used, or set to “default”, kubeconform will default to downloading +Kubeconform - Fast Kubernetes manifests validation! | Custom Resources support

Custom Resources support

When the -schema-location parameter is not used, or set to “default”, kubeconform will default to downloading schemas from https://github.com/yannh/kubernetes-json-schema. Kubeconform however supports passing one, or multiple, schemas locations - HTTP(s) URLs, or local filesystem paths, in which case it will lookup for schema definitions in each of them, in order, stopping as soon as a matching file is found.

  • If the -schema-location value does not end with ‘.json’, Kubeconform will assume filenames / a file @@ -14,5 +14,5 @@ $ ./bin/kubeconform -schema-location default -schema-location 'schemas/{{ .Resou

    You can validate Openshift manifests using a custom schema location. Set the OpenShift version to validate against using -kubernetes-version.

    $ ./bin/kubeconform -kubernetes-version 3.8.0  -schema-location 'https://raw.githubusercontent.com/garethr/openshift-json-schema/master/{{ .NormalizedKubernetesVersion }}-standalone{{ .StrictSuffix }}/{{ .ResourceKind }}.json'  -summary fixtures/valid.yaml
     Summary: 1 resource found in 1 file - Valid: 1, Invalid: 0, Errors: 0 Skipped: 0
    -

    Here are the variables you can use in -schema-location:

    • NormalizedKubernetesVersion - Kubernetes Version, prefixed by v
    • StrictSuffix - “-strict” or "" depending on whether validation is running in strict mode or not
    • ResourceKind - Kind of the Kubernetes Resource
    • ResourceAPIVersion - Version of API used for the resource - “v1” in “apiVersion: monitoring.coreos.com/v1”
    • KindSuffix - suffix computed from apiVersion - for compatibility with Kubeval schema registries
\ No newline at end of file +

Here are the variables you can use in -schema-location:

  • NormalizedKubernetesVersion - Kubernetes Version, prefixed by v
  • StrictSuffix - “-strict” or "" depending on whether validation is running in strict mode or not
  • ResourceKind - Kind of the Kubernetes Resource
  • ResourceAPIVersion - Version of API used for the resource - “v1” in “apiVersion: monitoring.coreos.com/v1”
  • KindSuffix - suffix computed from apiVersion - for compatibility with Kubeval schema registries
\ No newline at end of file diff --git a/docs/index.xml b/docs/index.xml index 1203a03..7a6b742 100644 --- a/docs/index.xml +++ b/docs/index.xml @@ -1,10 +1,11 @@ -Docs on Kubeconform - Fast Kubernetes manifests validation!http://kubeconform.mandragor.org/docs/Recent content in Docs on Kubeconform - Fast Kubernetes manifests validation!Hugo -- gohugo.ioen-usFri, 02 Jul 2021 00:00:00 +0000Installationhttp://kubeconform.mandragor.org/docs/installation/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/installation/Linux Download the latest release from our release page. +Docs on Kubeconform - Fast Kubernetes manifests validation!http://kubeconform.mandragor.org/docs/Recent content in Docs on Kubeconform - Fast Kubernetes manifests validation!Hugo -- gohugo.ioen-usFri, 02 Jul 2021 00:00:00 +0000Overviewhttp://kubeconform.mandragor.org/docs/overview/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/overview/Kubeconform is a Kubernetes manifests validation tool. Build it into your CI to validate your Kubernetes configuration! +It is inspired by, contains code from and is designed to stay close to Kubeval, but with the following improvements: +high performance: will validate & download manifests over multiple routines, caching downloaded files in memory configurable list of remote, or local schemas locations, enabling validating Kubernetes custom resources (CRDs) and offline validation capabilities uses by default a self-updating fork of the schemas registry maintained by the kubernetes-json-schema project - which guarantees up-to-date schemas for all recent versions of Kubernetes.Installationhttp://kubeconform.mandragor.org/docs/installation/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/installation/Linux Download the latest release from our release page. For example, for Linux on x86_64 architecture: curl -L https://github.com/yannh/kubeconform/releases/latest/download/kubeconform-linux-amd64.tar.gz | tar xvzf - && \ sudo mv kubeconform /usr/local/bin/ MacOs Kubeconform is available to install using Homebrew: $ brew install kubeconform -Windows Download the latest release from our release page. -You can also download the latest version from the release page.Usagehttp://kubeconform.mandragor.org/docs/usage/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/usage/$ ./bin/kubeconform -h Usage: ./bin/kubeconform [OPTION]... [FILE OR FOLDER]... -cache string cache schemas downloaded via HTTP to this folder -cpu-prof string debug - log CPU profiling to file -exit-on-error immediately stop execution when the first error is encountered -h show help information -ignore-filename-pattern value regular expression specifying paths to ignore (can be specified multiple times) -ignore-missing-schemas skip files with missing schemas instead of failing -insecure-skip-tls-verify disable verification of the server's SSL certificate.Custom Resources supporthttp://kubeconform.mandragor.org/docs/crd-support/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/crd-support/When the -schema-location parameter is not used, or set to “default”, kubeconform will default to downloading schemas from https://github.com/yannh/kubernetes-json-schema. Kubeconform however supports passing one, or multiple, schemas locations - HTTP(s) URLs, or local filesystem paths, in which case it will lookup for schema definitions in each of them, in order, stopping as soon as a matching file is found. -If the -schema-location value does not end with ‘.json’, Kubeconform will assume filenames / a file structure identical to that of kubernetesjsonschema.Github Actionhttp://kubeconform.mandragor.org/docs/usage-as-github-action/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/usage-as-github-action/Kubeconform is publishes Docker Images to Github’s new Container Registry, ghcr.io. These images can be used directly in a Github Action, once logged in using a Github Token. +Windows Download the latest release from our release page.Usagehttp://kubeconform.mandragor.org/docs/usage/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/usage/$ ./bin/kubeconform -h Usage: ./bin/kubeconform [OPTION]... [FILE OR FOLDER]... -cache string cache schemas downloaded via HTTP to this folder -cpu-prof string debug - log CPU profiling to file -exit-on-error immediately stop execution when the first error is encountered -h show help information -ignore-filename-pattern value regular expression specifying paths to ignore (can be specified multiple times) -ignore-missing-schemas skip files with missing schemas instead of failing -insecure-skip-tls-verify disable verification of the server's SSL certificate.Custom Resources supporthttp://kubeconform.mandragor.org/docs/crd-support/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/crd-support/When the -schema-location parameter is not used, or set to “default”, kubeconform will default to downloading schemas from https://github.com/yannh/kubernetes-json-schema. Kubeconform however supports passing one, or multiple, schemas locations - HTTP(s) URLs, or local filesystem paths, in which case it will lookup for schema definitions in each of them, in order, stopping as soon as a matching file is found. +If the -schema-location value does not end with ‘.json’, Kubeconform will assume filenames / a file structure identical to that of kubernetesjsonschema.OpenAPI to JSON Schema conversionhttp://kubeconform.mandragor.org/docs/json-schema-conversion/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/json-schema-conversion/Kubeconform uses JSON schemas to validate Kubernetes resources. For custom resources, the CustomResourceDefinition first needs to be converted to JSON Schema. A script is provided to convert these CustomResourceDefinitions to JSON schema. Here is an example how to use it: +#!/bin/bash $ ./scripts/openapi2jsonschema.py https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/config/crd/bases/sagemaker.aws.amazon.com_trainingjobs.yaml JSON schema written to trainingjob_v1.json The FILENAME_FORMAT environment variable can be used to change the output file name (Available variables: kind, group, version) (Default: {kind}_{version}).Github Actionhttp://kubeconform.mandragor.org/docs/usage-as-github-action/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/usage-as-github-action/Kubeconform is publishes Docker Images to Github’s new Container Registry, ghcr.io. These images can be used directly in a Github Action, once logged in using a Github Token. name: kubeconform on: push jobs: kubeconform: runs-on: ubuntu-latest steps: - name: login to Github Packages run: echo "${{ github.token }}" | docker login https://ghcr.io -u ${GITHUB_ACTOR} --password-stdin - uses: actions/checkout@v2 - uses: docker://ghcr.io/yannh/kubeconform:master with: entrypoint: '/kubeconform' args: "-summary -output json kubeconfigs/" Note on pricing: Kubeconform relies on Github Container Registry which is currently in Beta.Kubeconform as a Go modulehttp://kubeconform.mandragor.org/docs/using-as-a-go-module/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/using-as-a-go-module/Warning: This is a work-in-progress, the interface is not yet considered stable. Feedback is encouraged. Kubeconform contains a package that can be used as a library. An example of usage can be found in examples/main.go -Additional documentation on pkg.go.devConversion of CRD to JSON Schemahttp://kubeconform.mandragor.org/docs/json-schema-conversion/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/json-schema-conversion/Kubeconform uses JSON schemas to validate Kubernetes resources. For custom resources, the CustomResourceDefinition first needs to be converted to JSON Schema. A script is provided to convert these CustomResourceDefinitions to JSON schema. Here is an example how to use it: -#!/bin/bash $ ./scripts/openapi2jsonschema.py https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/config/crd/bases/sagemaker.aws.amazon.com_trainingjobs.yaml JSON schema written to trainingjob_v1.json The FILENAME_FORMAT environment variable can be used to change the output file name (Available variables: kind, group, version) (Default: {kind}_{version}). \ No newline at end of file +Additional documentation on pkg.go.dev \ No newline at end of file diff --git a/docs/installation/index.html b/docs/installation/index.html index 048fd65..d9cc480 100644 --- a/docs/installation/index.html +++ b/docs/installation/index.html @@ -1,4 +1,6 @@ -Kubeconform - Fast Kubernetes manifests validation! | Installation

Installation

Linux

Download the latest release from our release page.

For example, for Linux on x86_64 architecture:

curl -L https://github.com/yannh/kubeconform/releases/latest/download/kubeconform-linux-amd64.tar.gz | tar xvzf - && \
+Kubeconform - Fast Kubernetes manifests validation! | Installation

Installation

Linux

Download the latest release from our release page.

For example, for Linux on x86_64 architecture:

curl -L https://github.com/yannh/kubeconform/releases/latest/download/kubeconform-linux-amd64.tar.gz | tar xvzf - && \
 sudo mv kubeconform /usr/local/bin/
 

MacOs

Kubeconform is available to install using Homebrew:

$ brew install kubeconform
-

Windows

Download the latest release from our release page.

You can also download the latest version from the release page.

\ No newline at end of file +

Windows

Download the latest release from our release page.

\ No newline at end of file diff --git a/docs/json-schema-conversion/index.html b/docs/json-schema-conversion/index.html index 083229c..d1efa07 100644 --- a/docs/json-schema-conversion/index.html +++ b/docs/json-schema-conversion/index.html @@ -1,4 +1,5 @@ -Kubeconform - Fast Kubernetes manifests validation! | Conversion of CRD to JSON Schema

Conversion of CRD to JSON Schema

Kubeconform uses JSON schemas to validate Kubernetes resources. For custom resources, the CustomResourceDefinition +Kubeconform - Fast Kubernetes manifests validation! | OpenAPI to JSON Schema conversion

OpenAPI to JSON Schema conversion

Kubeconform uses JSON schemas to validate Kubernetes resources. For custom resources, the CustomResourceDefinition first needs to be converted to JSON Schema. A script is provided to convert these CustomResourceDefinitions to JSON schema. Here is an example how to use it:

#!/bin/bash
 $ ./scripts/openapi2jsonschema.py https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/config/crd/bases/sagemaker.aws.amazon.com_trainingjobs.yaml
@@ -6,4 +7,5 @@ JSON schema written to trainingjob_v1.json
 

The FILENAME_FORMAT environment variable can be used to change the output file name (Available variables: kind, group, version) (Default: {kind}_{version}).

$ export FILENAME_FORMAT='{kind}-{group}-{version}'
 $ ./scripts/openapi2jsonschema.py https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/config/crd/bases/sagemaker.aws.amazon.com_trainingjobs.yaml
 JSON schema written to trainingjob-sagemaker-v1.json
-

Some CRD schemas do not have explicit validation for fields implicitly validated by the Kubernetes API like apiVersion, kind, and metadata, thus additional properties are allowed at the root of the JSON schema by default, if this is not desired the DENY_ROOT_ADDITIONAL_PROPERTIES environment variable can be set to any non-empty value.

\ No newline at end of file +

Some CRD schemas do not have explicit validation for fields implicitly validated by the Kubernetes API like apiVersion, kind, and metadata, thus additional properties are allowed at the root of the JSON schema by default, if this is not desired the DENY_ROOT_ADDITIONAL_PROPERTIES environment variable can be set to any non-empty value.

\ No newline at end of file diff --git a/docs/overview/index.html b/docs/overview/index.html new file mode 100644 index 0000000..2d7ea68 --- /dev/null +++ b/docs/overview/index.html @@ -0,0 +1,23 @@ +Kubeconform - Fast Kubernetes manifests validation! | Overview

Overview

Kubeconform is a Kubernetes manifests validation tool. Build it into your CI to validate your Kubernetes +configuration!

It is inspired by, contains code from and is designed to stay close to +Kubeval, but with the following improvements:

  • high performance: will validate & download manifests over multiple routines, caching +downloaded files in memory
  • configurable list of remote, or local schemas locations, enabling validating Kubernetes +custom resources (CRDs) and offline validation capabilities
  • uses by default a self-updating fork of the schemas registry maintained +by the kubernetes-json-schema project - which guarantees +up-to-date schemas for all recent versions of Kubernetes.

A small overview of Kubernetes manifest validation

Kubernetes’s API is described using the OpenAPI (formerly swagger) specification, +in a file checked into +the main Kubernetes repository.

Because of the state of the tooling to perform validation against OpenAPI schemas, projects usually convert +the OpenAPI schemas to JSON schemas first. Kubeval relies on +instrumenta/OpenApi2JsonSchema to convert Kubernetes' Swagger file +and break it down into multiple JSON schemas, stored in github at +instrumenta/kubernetes-json-schema and published on +kubernetesjsonschema.dev.

Kubeconform relies on a fork of kubernetes-json-schema +that is more aggressively kept up-to-date, and contains schemas for all recent versions of Kubernetes.

Limits of Kubeconform validation

Kubeconform, similarly to kubeval, only validates manifests using the OpenAPI specifications. In some +cases, the Kubernetes controllers might perform additional validation - so that manifests passing kubeval +validation would still error when being deployed. See for example these bugs against kubeval: +#253 +#256 +#257 +#259. The validation logic mentioned in these +bug reports is not part of Kubernetes' OpenAPI spec, and therefore kubeconform/kubeval will not detect the +configuration errors.

\ No newline at end of file diff --git a/docs/usage-as-github-action/index.html b/docs/usage-as-github-action/index.html index 99fe4e9..b5c772b 100644 --- a/docs/usage-as-github-action/index.html +++ b/docs/usage-as-github-action/index.html @@ -1,5 +1,5 @@ -Kubeconform - Fast Kubernetes manifests validation! | Github Action

Github Action

Kubeconform is publishes Docker Images to Github’s new Container Registry, ghcr.io. These images +Kubeconform - Fast Kubernetes manifests validation! | Github Action

Github Action

Kubeconform is publishes Docker Images to Github’s new Container Registry, ghcr.io. These images can be used directly in a Github Action, once logged in using a Github Token.

name: kubeconform
 on: push
 jobs:
@@ -17,5 +17,5 @@ jobs:
 bandwidth is free. After that period,
 bandwidth costs might be applicable. Since bandwidth from Github Packages within Github Actions is free, I expect
 Github Container Registry to also be usable for free within Github Actions in the future. If that were not to be the
-case, I might publish the Docker image to a different platform.

\ No newline at end of file +case, I might publish the Docker image to a different platform.

\ No newline at end of file diff --git a/docs/usage/index.html b/docs/usage/index.html index 8bfffcf..7dbe06e 100644 --- a/docs/usage/index.html +++ b/docs/usage/index.html @@ -1,5 +1,5 @@ -Kubeconform - Fast Kubernetes manifests validation! | Usage

Usage

$ ./bin/kubeconform -h
+Kubeconform - Fast Kubernetes manifests validation! | Usage

Usage

$ ./bin/kubeconform -h
 Usage: ./bin/kubeconform [OPTION]... [FILE OR FOLDER]...
   -cache string
         cache schemas downloaded via HTTP to this folder
@@ -63,5 +63,5 @@ fixtures/crd_schema.yaml - CustomResourceDefinition trainingjobs.sagemaker.aws.a
 fixtures/invalid.yaml - ReplicationController bob is invalid: Invalid type. Expected: [integer,null], given: string
 [...]
 Summary: 65 resources found in 34 files - Valid: 55, Invalid: 2, Errors: 8 Skipped: 0
-
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/using-as-a-go-module/index.html b/docs/using-as-a-go-module/index.html index 61a6b73..a638869 100644 --- a/docs/using-as-a-go-module/index.html +++ b/docs/using-as-a-go-module/index.html @@ -1,4 +1,2 @@ -Kubeconform - Fast Kubernetes manifests validation! | Kubeconform as a Go module

Kubeconform as a Go module

Warning: This is a work-in-progress, the interface is not yet considered stable. Feedback is encouraged.

Kubeconform contains a package that can be used as a library. -An example of usage can be found in examples/main.go

Additional documentation on pkg.go.dev

\ No newline at end of file +Kubeconform - Fast Kubernetes manifests validation! | Kubeconform as a Go module

Kubeconform as a Go module

Warning: This is a work-in-progress, the interface is not yet considered stable. Feedback is encouraged.

Kubeconform contains a package that can be used as a library. +An example of usage can be found in examples/main.go

Additional documentation on pkg.go.dev

\ No newline at end of file diff --git a/index.xml b/index.xml index 3cdd7aa..421b98e 100644 --- a/index.xml +++ b/index.xml @@ -1,12 +1,13 @@ -Kubeconform - Fast Kubernetes manifests validation!http://kubeconform.mandragor.org/Recent content on Kubeconform - Fast Kubernetes manifests validation!Hugo -- gohugo.ioen-usFri, 02 Jul 2021 00:00:00 +0000Installationhttp://kubeconform.mandragor.org/docs/installation/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/installation/Linux Download the latest release from our release page. +Kubeconform - Fast Kubernetes manifests validation!http://kubeconform.mandragor.org/Recent content on Kubeconform - Fast Kubernetes manifests validation!Hugo -- gohugo.ioen-usFri, 02 Jul 2021 00:00:00 +0000Overviewhttp://kubeconform.mandragor.org/docs/overview/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/overview/Kubeconform is a Kubernetes manifests validation tool. Build it into your CI to validate your Kubernetes configuration! +It is inspired by, contains code from and is designed to stay close to Kubeval, but with the following improvements: +high performance: will validate & download manifests over multiple routines, caching downloaded files in memory configurable list of remote, or local schemas locations, enabling validating Kubernetes custom resources (CRDs) and offline validation capabilities uses by default a self-updating fork of the schemas registry maintained by the kubernetes-json-schema project - which guarantees up-to-date schemas for all recent versions of Kubernetes.Installationhttp://kubeconform.mandragor.org/docs/installation/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/installation/Linux Download the latest release from our release page. For example, for Linux on x86_64 architecture: curl -L https://github.com/yannh/kubeconform/releases/latest/download/kubeconform-linux-amd64.tar.gz | tar xvzf - && \ sudo mv kubeconform /usr/local/bin/ MacOs Kubeconform is available to install using Homebrew: $ brew install kubeconform -Windows Download the latest release from our release page. -You can also download the latest version from the release page.Usagehttp://kubeconform.mandragor.org/docs/usage/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/usage/$ ./bin/kubeconform -h Usage: ./bin/kubeconform [OPTION]... [FILE OR FOLDER]... -cache string cache schemas downloaded via HTTP to this folder -cpu-prof string debug - log CPU profiling to file -exit-on-error immediately stop execution when the first error is encountered -h show help information -ignore-filename-pattern value regular expression specifying paths to ignore (can be specified multiple times) -ignore-missing-schemas skip files with missing schemas instead of failing -insecure-skip-tls-verify disable verification of the server's SSL certificate.Custom Resources supporthttp://kubeconform.mandragor.org/docs/crd-support/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/crd-support/When the -schema-location parameter is not used, or set to “default”, kubeconform will default to downloading schemas from https://github.com/yannh/kubernetes-json-schema. Kubeconform however supports passing one, or multiple, schemas locations - HTTP(s) URLs, or local filesystem paths, in which case it will lookup for schema definitions in each of them, in order, stopping as soon as a matching file is found. -If the -schema-location value does not end with ‘.json’, Kubeconform will assume filenames / a file structure identical to that of kubernetesjsonschema.Github Actionhttp://kubeconform.mandragor.org/docs/usage-as-github-action/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/usage-as-github-action/Kubeconform is publishes Docker Images to Github’s new Container Registry, ghcr.io. These images can be used directly in a Github Action, once logged in using a Github Token. +Windows Download the latest release from our release page.Usagehttp://kubeconform.mandragor.org/docs/usage/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/usage/$ ./bin/kubeconform -h Usage: ./bin/kubeconform [OPTION]... [FILE OR FOLDER]... -cache string cache schemas downloaded via HTTP to this folder -cpu-prof string debug - log CPU profiling to file -exit-on-error immediately stop execution when the first error is encountered -h show help information -ignore-filename-pattern value regular expression specifying paths to ignore (can be specified multiple times) -ignore-missing-schemas skip files with missing schemas instead of failing -insecure-skip-tls-verify disable verification of the server's SSL certificate.Custom Resources supporthttp://kubeconform.mandragor.org/docs/crd-support/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/crd-support/When the -schema-location parameter is not used, or set to “default”, kubeconform will default to downloading schemas from https://github.com/yannh/kubernetes-json-schema. Kubeconform however supports passing one, or multiple, schemas locations - HTTP(s) URLs, or local filesystem paths, in which case it will lookup for schema definitions in each of them, in order, stopping as soon as a matching file is found. +If the -schema-location value does not end with ‘.json’, Kubeconform will assume filenames / a file structure identical to that of kubernetesjsonschema.OpenAPI to JSON Schema conversionhttp://kubeconform.mandragor.org/docs/json-schema-conversion/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/json-schema-conversion/Kubeconform uses JSON schemas to validate Kubernetes resources. For custom resources, the CustomResourceDefinition first needs to be converted to JSON Schema. A script is provided to convert these CustomResourceDefinitions to JSON schema. Here is an example how to use it: +#!/bin/bash $ ./scripts/openapi2jsonschema.py https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/config/crd/bases/sagemaker.aws.amazon.com_trainingjobs.yaml JSON schema written to trainingjob_v1.json The FILENAME_FORMAT environment variable can be used to change the output file name (Available variables: kind, group, version) (Default: {kind}_{version}).Github Actionhttp://kubeconform.mandragor.org/docs/usage-as-github-action/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/usage-as-github-action/Kubeconform is publishes Docker Images to Github’s new Container Registry, ghcr.io. These images can be used directly in a Github Action, once logged in using a Github Token. name: kubeconform on: push jobs: kubeconform: runs-on: ubuntu-latest steps: - name: login to Github Packages run: echo "${{ github.token }}" | docker login https://ghcr.io -u ${GITHUB_ACTOR} --password-stdin - uses: actions/checkout@v2 - uses: docker://ghcr.io/yannh/kubeconform:master with: entrypoint: '/kubeconform' args: "-summary -output json kubeconfigs/" Note on pricing: Kubeconform relies on Github Container Registry which is currently in Beta.Kubeconform as a Go modulehttp://kubeconform.mandragor.org/docs/using-as-a-go-module/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/using-as-a-go-module/Warning: This is a work-in-progress, the interface is not yet considered stable. Feedback is encouraged. Kubeconform contains a package that can be used as a library. An example of usage can be found in examples/main.go Additional documentation on pkg.go.devAbouthttp://kubeconform.mandragor.org/about/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/about/Kubeconform is a Kubernetes manifests validation tool. Build it into your CI to validate your Kubernetes configuration! It is inspired by, contains code from and is designed to stay close to Kubeval, but with the following improvements: -high performance: will validate & download manifests over multiple routines, caching downloaded files in memory configurable list of remote, or local schemas locations, enabling validating Kubernetes custom resources (CRDs) and offline validation capabilities uses by default a self-updating fork of the schemas registry maintained by the kubernetes-json-schema project - which guarantees up-to-date schemas for all recent versions of Kubernetes.Conversion of CRD to JSON Schemahttp://kubeconform.mandragor.org/docs/json-schema-conversion/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/json-schema-conversion/Kubeconform uses JSON schemas to validate Kubernetes resources. For custom resources, the CustomResourceDefinition first needs to be converted to JSON Schema. A script is provided to convert these CustomResourceDefinitions to JSON schema. Here is an example how to use it: -#!/bin/bash $ ./scripts/openapi2jsonschema.py https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/config/crd/bases/sagemaker.aws.amazon.com_trainingjobs.yaml JSON schema written to trainingjob_v1.json The FILENAME_FORMAT environment variable can be used to change the output file name (Available variables: kind, group, version) (Default: {kind}_{version}). \ No newline at end of file +high performance: will validate & download manifests over multiple routines, caching downloaded files in memory configurable list of remote, or local schemas locations, enabling validating Kubernetes custom resources (CRDs) and offline validation capabilities uses by default a self-updating fork of the schemas registry maintained by the kubernetes-json-schema project - which guarantees up-to-date schemas for all recent versions of Kubernetes. \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 18e5c56..dfe4caa 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -http://kubeconform.mandragor.org/docs/installation/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/docs/usage/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/docs/crd-support/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/docs/usage-as-github-action/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/docs/using-as-a-go-module/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/tags/about/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/about/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/docs/json-schema-conversion/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/docs/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/tags/installation/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/tags/kubeconform/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/tags/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/tags/usage/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/categories/ \ No newline at end of file +http://kubeconform.mandragor.org/docs/overview/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/docs/installation/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/docs/usage/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/docs/crd-support/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/docs/json-schema-conversion/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/docs/usage-as-github-action/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/docs/using-as-a-go-module/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/tags/about/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/about/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/docs/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/tags/installation/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/tags/kubeconform/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/tags/overview/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/tags/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/tags/usage/2021-07-02T00:00:00+00:00http://kubeconform.mandragor.org/categories/ \ No newline at end of file diff --git a/tags/index.xml b/tags/index.xml index f70054a..de03c6b 100644 --- a/tags/index.xml +++ b/tags/index.xml @@ -1 +1 @@ -Tags on Kubeconform - Fast Kubernetes manifests validation!http://kubeconform.mandragor.org/tags/Recent content in Tags on Kubeconform - Fast Kubernetes manifests validation!Hugo -- gohugo.ioen-usFri, 02 Jul 2021 00:00:00 +0000Abouthttp://kubeconform.mandragor.org/tags/about/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/tags/about/Installationhttp://kubeconform.mandragor.org/tags/installation/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/tags/installation/Kubeconformhttp://kubeconform.mandragor.org/tags/kubeconform/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/tags/kubeconform/Usagehttp://kubeconform.mandragor.org/tags/usage/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/tags/usage/ \ No newline at end of file +Tags on Kubeconform - Fast Kubernetes manifests validation!http://kubeconform.mandragor.org/tags/Recent content in Tags on Kubeconform - Fast Kubernetes manifests validation!Hugo -- gohugo.ioen-usFri, 02 Jul 2021 00:00:00 +0000Abouthttp://kubeconform.mandragor.org/tags/about/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/tags/about/Installationhttp://kubeconform.mandragor.org/tags/installation/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/tags/installation/Kubeconformhttp://kubeconform.mandragor.org/tags/kubeconform/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/tags/kubeconform/Overviewhttp://kubeconform.mandragor.org/tags/overview/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/tags/overview/Usagehttp://kubeconform.mandragor.org/tags/usage/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/tags/usage/ \ No newline at end of file diff --git a/tags/installation/index.xml b/tags/installation/index.xml index 41e7d6c..162df00 100644 --- a/tags/installation/index.xml +++ b/tags/installation/index.xml @@ -1,5 +1,4 @@ Installation on Kubeconform - Fast Kubernetes manifests validation!http://kubeconform.mandragor.org/tags/installation/Recent content in Installation on Kubeconform - Fast Kubernetes manifests validation!Hugo -- gohugo.ioen-usFri, 02 Jul 2021 00:00:00 +0000Installationhttp://kubeconform.mandragor.org/docs/installation/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/installation/Linux Download the latest release from our release page. For example, for Linux on x86_64 architecture: curl -L https://github.com/yannh/kubeconform/releases/latest/download/kubeconform-linux-amd64.tar.gz | tar xvzf - && \ sudo mv kubeconform /usr/local/bin/ MacOs Kubeconform is available to install using Homebrew: $ brew install kubeconform -Windows Download the latest release from our release page. -You can also download the latest version from the release page. \ No newline at end of file +Windows Download the latest release from our release page. \ No newline at end of file diff --git a/tags/kubeconform/index.xml b/tags/kubeconform/index.xml index 4b066f6..4574138 100644 --- a/tags/kubeconform/index.xml +++ b/tags/kubeconform/index.xml @@ -1,12 +1,13 @@ -Kubeconform on Kubeconform - Fast Kubernetes manifests validation!http://kubeconform.mandragor.org/tags/kubeconform/Recent content in Kubeconform on Kubeconform - Fast Kubernetes manifests validation!Hugo -- gohugo.ioen-usFri, 02 Jul 2021 00:00:00 +0000Installationhttp://kubeconform.mandragor.org/docs/installation/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/installation/Linux Download the latest release from our release page. +Kubeconform on Kubeconform - Fast Kubernetes manifests validation!http://kubeconform.mandragor.org/tags/kubeconform/Recent content in Kubeconform on Kubeconform - Fast Kubernetes manifests validation!Hugo -- gohugo.ioen-usFri, 02 Jul 2021 00:00:00 +0000Overviewhttp://kubeconform.mandragor.org/docs/overview/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/overview/Kubeconform is a Kubernetes manifests validation tool. Build it into your CI to validate your Kubernetes configuration! +It is inspired by, contains code from and is designed to stay close to Kubeval, but with the following improvements: +high performance: will validate & download manifests over multiple routines, caching downloaded files in memory configurable list of remote, or local schemas locations, enabling validating Kubernetes custom resources (CRDs) and offline validation capabilities uses by default a self-updating fork of the schemas registry maintained by the kubernetes-json-schema project - which guarantees up-to-date schemas for all recent versions of Kubernetes.Installationhttp://kubeconform.mandragor.org/docs/installation/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/installation/Linux Download the latest release from our release page. For example, for Linux on x86_64 architecture: curl -L https://github.com/yannh/kubeconform/releases/latest/download/kubeconform-linux-amd64.tar.gz | tar xvzf - && \ sudo mv kubeconform /usr/local/bin/ MacOs Kubeconform is available to install using Homebrew: $ brew install kubeconform -Windows Download the latest release from our release page. -You can also download the latest version from the release page.Usagehttp://kubeconform.mandragor.org/docs/usage/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/usage/$ ./bin/kubeconform -h Usage: ./bin/kubeconform [OPTION]... [FILE OR FOLDER]... -cache string cache schemas downloaded via HTTP to this folder -cpu-prof string debug - log CPU profiling to file -exit-on-error immediately stop execution when the first error is encountered -h show help information -ignore-filename-pattern value regular expression specifying paths to ignore (can be specified multiple times) -ignore-missing-schemas skip files with missing schemas instead of failing -insecure-skip-tls-verify disable verification of the server's SSL certificate.Custom Resources supporthttp://kubeconform.mandragor.org/docs/crd-support/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/crd-support/When the -schema-location parameter is not used, or set to “default”, kubeconform will default to downloading schemas from https://github.com/yannh/kubernetes-json-schema. Kubeconform however supports passing one, or multiple, schemas locations - HTTP(s) URLs, or local filesystem paths, in which case it will lookup for schema definitions in each of them, in order, stopping as soon as a matching file is found. -If the -schema-location value does not end with ‘.json’, Kubeconform will assume filenames / a file structure identical to that of kubernetesjsonschema.Github Actionhttp://kubeconform.mandragor.org/docs/usage-as-github-action/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/usage-as-github-action/Kubeconform is publishes Docker Images to Github’s new Container Registry, ghcr.io. These images can be used directly in a Github Action, once logged in using a Github Token. +Windows Download the latest release from our release page.Usagehttp://kubeconform.mandragor.org/docs/usage/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/usage/$ ./bin/kubeconform -h Usage: ./bin/kubeconform [OPTION]... [FILE OR FOLDER]... -cache string cache schemas downloaded via HTTP to this folder -cpu-prof string debug - log CPU profiling to file -exit-on-error immediately stop execution when the first error is encountered -h show help information -ignore-filename-pattern value regular expression specifying paths to ignore (can be specified multiple times) -ignore-missing-schemas skip files with missing schemas instead of failing -insecure-skip-tls-verify disable verification of the server's SSL certificate.Custom Resources supporthttp://kubeconform.mandragor.org/docs/crd-support/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/crd-support/When the -schema-location parameter is not used, or set to “default”, kubeconform will default to downloading schemas from https://github.com/yannh/kubernetes-json-schema. Kubeconform however supports passing one, or multiple, schemas locations - HTTP(s) URLs, or local filesystem paths, in which case it will lookup for schema definitions in each of them, in order, stopping as soon as a matching file is found. +If the -schema-location value does not end with ‘.json’, Kubeconform will assume filenames / a file structure identical to that of kubernetesjsonschema.OpenAPI to JSON Schema conversionhttp://kubeconform.mandragor.org/docs/json-schema-conversion/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/json-schema-conversion/Kubeconform uses JSON schemas to validate Kubernetes resources. For custom resources, the CustomResourceDefinition first needs to be converted to JSON Schema. A script is provided to convert these CustomResourceDefinitions to JSON schema. Here is an example how to use it: +#!/bin/bash $ ./scripts/openapi2jsonschema.py https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/config/crd/bases/sagemaker.aws.amazon.com_trainingjobs.yaml JSON schema written to trainingjob_v1.json The FILENAME_FORMAT environment variable can be used to change the output file name (Available variables: kind, group, version) (Default: {kind}_{version}).Github Actionhttp://kubeconform.mandragor.org/docs/usage-as-github-action/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/usage-as-github-action/Kubeconform is publishes Docker Images to Github’s new Container Registry, ghcr.io. These images can be used directly in a Github Action, once logged in using a Github Token. name: kubeconform on: push jobs: kubeconform: runs-on: ubuntu-latest steps: - name: login to Github Packages run: echo "${{ github.token }}" | docker login https://ghcr.io -u ${GITHUB_ACTOR} --password-stdin - uses: actions/checkout@v2 - uses: docker://ghcr.io/yannh/kubeconform:master with: entrypoint: '/kubeconform' args: "-summary -output json kubeconfigs/" Note on pricing: Kubeconform relies on Github Container Registry which is currently in Beta.Kubeconform as a Go modulehttp://kubeconform.mandragor.org/docs/using-as-a-go-module/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/using-as-a-go-module/Warning: This is a work-in-progress, the interface is not yet considered stable. Feedback is encouraged. Kubeconform contains a package that can be used as a library. An example of usage can be found in examples/main.go Additional documentation on pkg.go.devAbouthttp://kubeconform.mandragor.org/about/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/about/Kubeconform is a Kubernetes manifests validation tool. Build it into your CI to validate your Kubernetes configuration! It is inspired by, contains code from and is designed to stay close to Kubeval, but with the following improvements: -high performance: will validate & download manifests over multiple routines, caching downloaded files in memory configurable list of remote, or local schemas locations, enabling validating Kubernetes custom resources (CRDs) and offline validation capabilities uses by default a self-updating fork of the schemas registry maintained by the kubernetes-json-schema project - which guarantees up-to-date schemas for all recent versions of Kubernetes.Conversion of CRD to JSON Schemahttp://kubeconform.mandragor.org/docs/json-schema-conversion/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/json-schema-conversion/Kubeconform uses JSON schemas to validate Kubernetes resources. For custom resources, the CustomResourceDefinition first needs to be converted to JSON Schema. A script is provided to convert these CustomResourceDefinitions to JSON schema. Here is an example how to use it: -#!/bin/bash $ ./scripts/openapi2jsonschema.py https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/config/crd/bases/sagemaker.aws.amazon.com_trainingjobs.yaml JSON schema written to trainingjob_v1.json The FILENAME_FORMAT environment variable can be used to change the output file name (Available variables: kind, group, version) (Default: {kind}_{version}). \ No newline at end of file +high performance: will validate & download manifests over multiple routines, caching downloaded files in memory configurable list of remote, or local schemas locations, enabling validating Kubernetes custom resources (CRDs) and offline validation capabilities uses by default a self-updating fork of the schemas registry maintained by the kubernetes-json-schema project - which guarantees up-to-date schemas for all recent versions of Kubernetes. \ No newline at end of file diff --git a/tags/overview/index.xml b/tags/overview/index.xml new file mode 100644 index 0000000..1353366 --- /dev/null +++ b/tags/overview/index.xml @@ -0,0 +1,3 @@ +Overview on Kubeconform - Fast Kubernetes manifests validation!http://kubeconform.mandragor.org/tags/overview/Recent content in Overview on Kubeconform - Fast Kubernetes manifests validation!Hugo -- gohugo.ioen-usFri, 02 Jul 2021 00:00:00 +0000Overviewhttp://kubeconform.mandragor.org/docs/overview/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/overview/Kubeconform is a Kubernetes manifests validation tool. Build it into your CI to validate your Kubernetes configuration! +It is inspired by, contains code from and is designed to stay close to Kubeval, but with the following improvements: +high performance: will validate & download manifests over multiple routines, caching downloaded files in memory configurable list of remote, or local schemas locations, enabling validating Kubernetes custom resources (CRDs) and offline validation capabilities uses by default a self-updating fork of the schemas registry maintained by the kubernetes-json-schema project - which guarantees up-to-date schemas for all recent versions of Kubernetes. \ No newline at end of file diff --git a/tags/usage/index.xml b/tags/usage/index.xml index 1de5b8d..0abd88d 100644 --- a/tags/usage/index.xml +++ b/tags/usage/index.xml @@ -1,6 +1,6 @@ Usage on Kubeconform - Fast Kubernetes manifests validation!http://kubeconform.mandragor.org/tags/usage/Recent content in Usage on Kubeconform - Fast Kubernetes manifests validation!Hugo -- gohugo.ioen-usFri, 02 Jul 2021 00:00:00 +0000Usagehttp://kubeconform.mandragor.org/docs/usage/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/usage/$ ./bin/kubeconform -h Usage: ./bin/kubeconform [OPTION]... [FILE OR FOLDER]... -cache string cache schemas downloaded via HTTP to this folder -cpu-prof string debug - log CPU profiling to file -exit-on-error immediately stop execution when the first error is encountered -h show help information -ignore-filename-pattern value regular expression specifying paths to ignore (can be specified multiple times) -ignore-missing-schemas skip files with missing schemas instead of failing -insecure-skip-tls-verify disable verification of the server's SSL certificate.Custom Resources supporthttp://kubeconform.mandragor.org/docs/crd-support/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/crd-support/When the -schema-location parameter is not used, or set to “default”, kubeconform will default to downloading schemas from https://github.com/yannh/kubernetes-json-schema. Kubeconform however supports passing one, or multiple, schemas locations - HTTP(s) URLs, or local filesystem paths, in which case it will lookup for schema definitions in each of them, in order, stopping as soon as a matching file is found. -If the -schema-location value does not end with ‘.json’, Kubeconform will assume filenames / a file structure identical to that of kubernetesjsonschema.Github Actionhttp://kubeconform.mandragor.org/docs/usage-as-github-action/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/usage-as-github-action/Kubeconform is publishes Docker Images to Github’s new Container Registry, ghcr.io. These images can be used directly in a Github Action, once logged in using a Github Token. +If the -schema-location value does not end with ‘.json’, Kubeconform will assume filenames / a file structure identical to that of kubernetesjsonschema.OpenAPI to JSON Schema conversionhttp://kubeconform.mandragor.org/docs/json-schema-conversion/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/json-schema-conversion/Kubeconform uses JSON schemas to validate Kubernetes resources. For custom resources, the CustomResourceDefinition first needs to be converted to JSON Schema. A script is provided to convert these CustomResourceDefinitions to JSON schema. Here is an example how to use it: +#!/bin/bash $ ./scripts/openapi2jsonschema.py https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/config/crd/bases/sagemaker.aws.amazon.com_trainingjobs.yaml JSON schema written to trainingjob_v1.json The FILENAME_FORMAT environment variable can be used to change the output file name (Available variables: kind, group, version) (Default: {kind}_{version}).Github Actionhttp://kubeconform.mandragor.org/docs/usage-as-github-action/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/usage-as-github-action/Kubeconform is publishes Docker Images to Github’s new Container Registry, ghcr.io. These images can be used directly in a Github Action, once logged in using a Github Token. name: kubeconform on: push jobs: kubeconform: runs-on: ubuntu-latest steps: - name: login to Github Packages run: echo "${{ github.token }}" | docker login https://ghcr.io -u ${GITHUB_ACTOR} --password-stdin - uses: actions/checkout@v2 - uses: docker://ghcr.io/yannh/kubeconform:master with: entrypoint: '/kubeconform' args: "-summary -output json kubeconfigs/" Note on pricing: Kubeconform relies on Github Container Registry which is currently in Beta.Kubeconform as a Go modulehttp://kubeconform.mandragor.org/docs/using-as-a-go-module/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/using-as-a-go-module/Warning: This is a work-in-progress, the interface is not yet considered stable. Feedback is encouraged. Kubeconform contains a package that can be used as a library. An example of usage can be found in examples/main.go -Additional documentation on pkg.go.devConversion of CRD to JSON Schemahttp://kubeconform.mandragor.org/docs/json-schema-conversion/Fri, 02 Jul 2021 00:00:00 +0000http://kubeconform.mandragor.org/docs/json-schema-conversion/Kubeconform uses JSON schemas to validate Kubernetes resources. For custom resources, the CustomResourceDefinition first needs to be converted to JSON Schema. A script is provided to convert these CustomResourceDefinitions to JSON schema. Here is an example how to use it: -#!/bin/bash $ ./scripts/openapi2jsonschema.py https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/config/crd/bases/sagemaker.aws.amazon.com_trainingjobs.yaml JSON schema written to trainingjob_v1.json The FILENAME_FORMAT environment variable can be used to change the output file name (Available variables: kind, group, version) (Default: {kind}_{version}). \ No newline at end of file +Additional documentation on pkg.go.dev \ No newline at end of file