k8s-libsonnet repackaged as a python package
Project description
k8s-libsonnet
This repository contains artifacts of the k8s-libsonnet
Jsonnet Kubernetes library.
It is generated with k8s-gen
, located at https://github.com/jsonnet-libs/k8s.
Usage
With Tanka
# set up Tanka project, matching the Kubernetes version
$ tk init --k8s=1.21
For more info, refer to the Tanka tutorial at https://tanka.dev/tutorial/k-lib.
Standalone
$ jb install github.com/jsonnet-libs/k8s-libsonnet/1.30@main
Then import it in your project:
local k = import "github.com/jsonnet-libs/k8s-libsonnet/1.30/main.libsonnet"
FAQ
Is it stable?
We don't know. It seems to work pretty well, but it is very young code, so it is not battle tested.
The API aims to be very similar to ksonnet-gen
, but not 100% the same, to
allow enough room for important improvements.
If something does not look as expected, please open an issue at https://github.com/jsonnet-libs/k8s
Shall I use it?
Yes, please! We need to get as much feedback as possible to enhance it, so it's your chance to be part of that!
Why a new generator?
The original generator located at https://github.com/ksonnet/ksonnet-gen is not
maintained anymore, and only provides artifacts for Kubernetes versions up to
v1.14
Can I use it to replace ksonnet-lib?
Yes, however there are a few incompatibilities. Most of them are now covered by the
ksonnet-util
library, please have a look here if you intend to support both libraries.
Known incompatibilities:
ksonnet-lib
has hidden objects that are exposed as 'Type' objects inside other objects, for examplecore.v1.container.envType
, these are now available as first class citizens, for this examplecore.v1.envVar
. Theksonnet-util
library covers this problem.new(name)
constructors have a mandatoryname
argument, this was not always the case inksonnet-lib
. Theksonnet-util
library covers this problem.ksonnet-lib
as nested many functions in.mixin.
,k8s-libsonnet
also supports this. However, library maintainers should also include this if they intend to support both libraries.- This library does not support chaining of functions, for example
container.new(name).withEnv(env)
. Turns out this practice had a big performance penalty on the Jsonnet compiler. A mixin pattern is therefor encouraged:container.new(name) + container.withEnv(env)
.
What about kube-jsonnet/k?
The ksonnet-gen
software was forked and updated at
https://github.com/kube-jsonnet/k, by RedHat and Grafana Labs, the same company
behind this project.
While working on it, we quickly realized that the overall code complexity, performance and correctness is far from what we desire and decided to switch efforts to rewriting it from scratch.
The result of that is https://github.com/jsonnet-libs/k8s and expected to replace both, https://github.com/ksonnet/ksonnet-gen and https://github.com/kube-jsonnet/k as soon as possible.
Where can I find documentation?
The generated docs can be found here: https://jsonnet-libs.github.io/k8s-libsonnet/.
I found a bug, where can I report this?
Great, let's try and fix that, please report issues in https://github.com/jsonnet-libs/k8s.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file sentry_k8s_libsonnet-0.0.4-py3-none-any.whl
.
File metadata
- Download URL: sentry_k8s_libsonnet-0.0.4-py3-none-any.whl
- Upload date:
- Size: 5.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad32ce34f53229ad161286684747c185bb560ba80816065c8e095db07500d852 |
|
MD5 | d542d6445c54fb505d572a3f091cd05e |
|
BLAKE2b-256 | 2145de309881a9f9eebb11933f5e0b233c01d5c6ab2172d973ed4a1cb72a911a |