Skip to content

Schemas for every version of every object in every version of Kubernetes

License

Notifications You must be signed in to change notification settings

chatwork/kubernetes-json-schema

This branch is 7 commits ahead of cw-ozaki/kubernetes-json-schema:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c26b1ab · Jul 3, 2024
Jul 3, 2024
Apr 10, 2020
Apr 10, 2020
Apr 10, 2020
Apr 10, 2020
Sep 16, 2017
Sep 16, 2017
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Nov 18, 2018
Nov 18, 2018
Nov 18, 2018
Nov 18, 2018
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Apr 5, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 28, 2019
Sep 28, 2019
Sep 28, 2019
Sep 28, 2019
Sep 28, 2019
Sep 28, 2019
Sep 28, 2019
Sep 28, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Aug 18, 2019
Aug 18, 2019
Aug 18, 2019
Aug 18, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Aug 18, 2019
Aug 18, 2019
Aug 18, 2019
Aug 18, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 28, 2019
Sep 28, 2019
Sep 28, 2019
Sep 28, 2019
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Aug 18, 2019
Aug 18, 2019
Aug 18, 2019
Aug 18, 2019
Aug 18, 2019
Aug 18, 2019
Aug 18, 2019
Aug 18, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 1, 2019
Sep 28, 2019
Sep 28, 2019
Sep 28, 2019
Sep 28, 2019
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Sep 28, 2019
Sep 28, 2019
Sep 28, 2019
Sep 28, 2019
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Jan 2, 2020
Apr 12, 2020
Apr 12, 2020
Apr 12, 2020
Apr 12, 2020
Apr 12, 2020
Apr 12, 2020
Apr 12, 2020
Apr 12, 2020
Apr 14, 2020
Apr 14, 2020
Apr 14, 2020
Apr 14, 2020
Apr 14, 2020
Apr 14, 2020
Apr 14, 2020
Apr 14, 2020
Apr 10, 2020
Apr 10, 2020
Apr 10, 2020
Apr 10, 2020
Apr 10, 2020
Apr 10, 2020
Apr 10, 2020
Apr 10, 2020
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 4, 2021
Feb 17, 2021
Feb 17, 2021
Feb 17, 2021
Feb 17, 2021
Feb 18, 2021
Feb 18, 2021
Feb 18, 2021
Feb 18, 2021
Mar 18, 2021
Mar 18, 2021
Mar 18, 2021
Mar 18, 2021
Apr 8, 2021
Apr 8, 2021
Apr 8, 2021
Apr 8, 2021
May 12, 2021
May 12, 2021
May 12, 2021
May 12, 2021
Jun 17, 2021
Jun 17, 2021
Jun 17, 2021
Jun 17, 2021
Jul 16, 2021
Jul 16, 2021
Jul 16, 2021
Jul 16, 2021
Aug 4, 2021
Aug 4, 2021
Aug 4, 2021
Aug 4, 2021
Aug 19, 2021
Aug 19, 2021
Aug 19, 2021
Aug 19, 2021
Sep 16, 2021
Sep 16, 2021
Sep 16, 2021
Sep 16, 2021
Oct 28, 2021
Oct 28, 2021
Oct 28, 2021
Oct 28, 2021
Nov 17, 2021
Nov 17, 2021
Nov 17, 2021
Nov 17, 2021
Dec 7, 2021
Dec 7, 2021
Dec 7, 2021
Dec 7, 2021
Dec 16, 2021
Dec 16, 2021
Dec 16, 2021
Dec 16, 2021
Jan 19, 2022
Jan 19, 2022
Jan 19, 2022
Jan 19, 2022
Jan 26, 2022
Jan 26, 2022
Jan 26, 2022
Jan 26, 2022
Feb 17, 2022
Feb 17, 2022
Feb 17, 2022
Feb 17, 2022
Mar 16, 2022
Mar 16, 2022
Mar 16, 2022
Mar 16, 2022
Apr 20, 2022
Apr 20, 2022
Apr 20, 2022
Apr 20, 2022
May 3, 2022
May 3, 2022
May 3, 2022
May 3, 2022
May 26, 2022
May 26, 2022
May 26, 2022
May 26, 2022
Jun 17, 2022
Jun 17, 2022
Jun 17, 2022
Jun 17, 2022
Jul 13, 2022
Jul 13, 2022
Jul 13, 2022
Jul 13, 2022
Aug 18, 2022
Aug 18, 2022
Aug 18, 2022
Aug 18, 2022
Aug 23, 2022
Aug 23, 2022
Aug 23, 2022
Aug 23, 2022
Sep 15, 2022
Sep 15, 2022
Sep 15, 2022
Sep 15, 2022
Sep 21, 2022
Sep 21, 2022
Sep 21, 2022
Sep 21, 2022
Oct 13, 2022
Oct 13, 2022
Oct 13, 2022
Oct 13, 2022
Nov 10, 2022
Nov 10, 2022
Nov 10, 2022
Nov 10, 2022
Dec 8, 2022
Dec 8, 2022
Dec 8, 2022
Dec 8, 2022
Dec 9, 2022
Dec 9, 2022
Dec 9, 2022
Dec 9, 2022
Jan 18, 2023
Jan 18, 2023
Jan 18, 2023
Jan 18, 2023
Mar 1, 2023
Mar 1, 2023
Mar 1, 2023
Mar 1, 2023
Mar 17, 2023
Mar 17, 2023
Mar 17, 2023
Mar 17, 2023
Apr 11, 2023
Apr 11, 2023
Apr 11, 2023
Apr 11, 2023
Apr 14, 2023
Apr 14, 2023
Apr 14, 2023
Apr 14, 2023
May 17, 2023
May 17, 2023
May 17, 2023
May 17, 2023
Jun 14, 2023
Jun 14, 2023
Jun 14, 2023
Jun 14, 2023
Jul 19, 2023
Jul 19, 2023
Jul 19, 2023
Jul 19, 2023
Aug 15, 2023
Aug 15, 2023
Aug 15, 2023
Aug 15, 2023
Aug 24, 2023
Aug 24, 2023
Aug 24, 2023
Aug 24, 2023
Sep 13, 2023
Sep 13, 2023
Sep 13, 2023
Sep 13, 2023
Oct 18, 2023
Oct 18, 2023
Oct 18, 2023
Oct 18, 2023
Nov 15, 2023
Nov 15, 2023
Nov 15, 2023
Nov 15, 2023
Jun 13, 2024
Jun 13, 2024
Jun 13, 2024
Jun 13, 2024
Jun 13, 2024
Jun 13, 2024
Jun 13, 2024
Jun 13, 2024
Jun 13, 2024
Jun 13, 2024
Jun 13, 2024
Jun 13, 2024
Feb 24, 2018
Sep 3, 2017
Feb 24, 2018
Feb 24, 2018
Feb 24, 2018
Sep 3, 2017
Feb 24, 2018
Feb 24, 2018
Feb 24, 2018
Sep 3, 2017
Feb 24, 2018
Feb 24, 2018
Feb 24, 2018
Sep 3, 2017
Feb 24, 2018
Feb 24, 2018
Feb 24, 2018
Sep 3, 2017
Feb 24, 2018
Feb 24, 2018
Feb 24, 2018
Sep 3, 2017
Feb 24, 2018
Feb 24, 2018
Jun 13, 2018
Jun 13, 2018
Jun 13, 2018
Jun 13, 2018
Jun 13, 2018
Jun 13, 2018
Feb 24, 2018
Sep 3, 2017
Feb 24, 2018
Feb 24, 2018
Feb 24, 2018
Sep 3, 2017
Feb 24, 2018
Feb 24, 2018
Feb 24, 2018
Dec 23, 2017
Feb 24, 2018
Feb 24, 2018
Feb 24, 2018
Dec 23, 2017
Feb 24, 2018
Feb 24, 2018
Feb 24, 2018
Dec 23, 2017
Feb 24, 2018
Feb 24, 2018
Feb 24, 2018
Dec 23, 2017
Feb 24, 2018
Feb 24, 2018
Feb 24, 2018
Sep 3, 2017
Feb 24, 2018
Feb 24, 2018
Feb 24, 2018
Sep 3, 2017
Feb 24, 2018
Feb 24, 2018
Feb 24, 2018
Sep 3, 2017
Feb 24, 2018
Feb 24, 2018
Feb 24, 2018
Sep 3, 2017
Feb 24, 2018
Feb 24, 2018
Feb 24, 2018
Sep 3, 2017
Feb 24, 2018
Feb 24, 2018
Feb 24, 2018
Sep 3, 2017
Feb 24, 2018
Feb 24, 2018
Feb 24, 2018
Sep 3, 2017
Feb 24, 2018
Feb 24, 2018
Feb 24, 2018
Dec 23, 2017
Feb 24, 2018
Feb 24, 2018
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Nov 18, 2018
Nov 18, 2018
Nov 18, 2018
Nov 18, 2018
Nov 18, 2018
Nov 18, 2018
Nov 18, 2018
Nov 18, 2018
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Nov 18, 2018
Nov 18, 2018
Nov 18, 2018
Nov 18, 2018
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Apr 6, 2019
Nov 18, 2018
Nov 18, 2018
Nov 18, 2018
Nov 18, 2018
Sep 16, 2017
Sep 16, 2017
Apr 29, 2020
Jun 18, 2017
Apr 4, 2019
Apr 4, 2019
Apr 29, 2020
Apr 4, 2019
Nov 18, 2018
Jun 13, 2024
Apr 29, 2020
Apr 7, 2019
Sep 16, 2017
Sep 16, 2017
Sep 16, 2017
Jun 13, 2024
Feb 4, 2021

Repository files navigation

Kubernetes JSON Schemas

Netlify Status

While exploring tooling for Kubernetes I had need for schemas to describe the definition files, and went looking for something that didn't require either kubectl or similar installed or even a working Kubernetes installation.

It turns out that the OpenAPI specification contain this information, but not in a particularly usable format for tools which might just want a raw JSON Schema.

This repository contains a set of schemas for most recent Kubernetes versions. For each specified Kubernetes versions you should find four different flavours:

  • vX.Y.Z - URL referenced based on the specified GitHub repository
  • vX.Y.Z-standalone - de-referenced schemas, more useful as standalone documents
  • vX.Y.Z-local - relative references, useful to avoid the network dependency
  • vX.Y.Z-strict - prohibits properties not defined in the schema

Note that the Kubernetes API allows additional properties to be submitted, but kubectl acts like the strict flavour above.

kubernetesjsonschema.dev

The schemas are now all available from kubernetesjsonschema.dev, for instance the schema for v1 of the Pod object is Kubernetes 1.14.0 is available at: kubernetesjsonschema.dev/v1.14.0-standalone/pod-v1.json

Example

Here are the links to the deployment schemas for Kubernetes 1.14.0:

Usage

There are lots of use cases for these schemas, they are primarily useful as a low-level part of other developer workflow tools. But at a most basic level you can validate a Kubernetes definition.

Here is a very simply example using the Python jsonschema client and an invalid deployment file:

$ jsonschema -F "{error.message}" -i hello-nginx.json v1.14.0-standalone/deployment.json
u'template' is a required property

Specific ideas

As noted these schemas have lots of potential uses for development tools. Here are a few ideas, some of which I've been hacking on:

  • Demonstrating using with the more common YAML serialisation
  • Testing tools to show your Kubernetes configuration files are valid, and against which versions of Kubernetes
  • Migration tools to check your config files are still valid against master or beta releases
  • Integration with code editors, for instance via something like Schema Store
  • Validation of Kubernetes configs generated by higher-level tools, like Helm, Ksonnet or Puppet
  • Visual tools for crafting Kubernetes configurations
  • Tools to show changes between Kubernetes versions

Prior-art

The discussion around wanting JSON Schemas for Kubernetes types has cropped up in a few places, but there are some useful comments on this issue. Joël Harkes reached a similar conclusion to the approach I ended up taking.

Building the schemas yourself

The tooling for generating these schemas is openapi2jsonschema. It's not Kubernetes specific and should work with other OpenAPI APIs too. This should be useful if you're using a pre-release or otherwise modified version of Kubernetes, or something like OpenShift which extends the standard APIs with additional types.

About

Schemas for every version of every object in every version of Kubernetes

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published