Skip to main content

kubeyard

Latest Version Supported Python versions Wheel Status License Build

A utility to develop, test and deploy Kubernetes microservices.

Requirements

  • bash
  • minikube
  • kubectl
  • docker
  • conntrack

Important: Kubeyard is tested on:

  • minikube == v1.29.0 (should work with v1.29.0 and above)
  • docker == 20.10.23 (should work with any version)
  • kubectl == v1.21.14 (should work with v1.21.14 and above)

Installation

rm -rf $HOME/kubeyard-venv
virtualenv -p python3 $HOME/kubeyard-venv
. $HOME/kubeyard-venv/bin/activate
pip install kubeyard
echo '. $HOME/kubeyard-venv/bin/activate' >> $HOME/.bashrc

Workspaces

A workspace is an isolated development environment: one Kubernetes namespace (ws-<name>) holding the services you are changing, with every other service aliased back to default. This lets several coding agents, or several features in flight, run concurrently in separate git worktrees without colliding.

git worktree add .workspaces/example -b ws-example
cd .workspaces/example
kubeyard workspace create example
kubeyard build && kubeyard deploy

The workspace is recorded in a .kubeyard-workspace file in the worktree, so every later command picks it up automatically. Add that filename to ~/.config/git/ignore once.

kubeyard workspace show       # what is deployed here versus aliased
kubeyard undeploy             # put this service back on the shared instance
kubeyard workspace destroy    # remove the whole workspace

Seeding development data

A project can declare how to load its development data:

dev_seed_command: python -m tests.demo
dev_seed_pod: api            # optional; defaults to the shortest running pod name

kubeyard seed then runs that command inside the deployed pod, in the namespace kubeyard already knows - so from a workspace it seeds that workspace's database.

deploy runs it for you when it has just created the database - so a new workspace, or a new checkout of the shared environment, comes up with data already in it. A redeploy finds the database present and leaves it alone.

Without a .kubeyard-workspace file, kubeyard behaves exactly as it always has and targets the shared environment.

See docs/workspaces.md for why workspaces exist, how the alias overlay works, and the limits worth knowing before relying on them.

Release files for kubeyard 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kubeyard 1.3.0
File Size Uploaded
kubeyard-1.3.0.tar.gz 111.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kubeyard 1.3.0
File Interpreter ABI Platform
kubeyard-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 251.6 kB

Release files / kubeyard-1.3.0.tar.gz

Download URL kubeyard-1.3.0.tar.gz
Size 111.8 kB
Tags Source
SHA-256 checksum
How to use checksums
0a6640e3c7d26d0b45d58dbcf1b744f4b76da6b7a7fc303d4d386546badb5242
BLAKE2b-256 checksum
How to use checksums
4784526659c1ff4abc6eb647c2802b91bc41852ea16fc726b6e4068fb32da00e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / kubeyard-1.3.0-py3-none-any.whl

Download URL kubeyard-1.3.0-py3-none-any.whl
Size 139.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
732d2c3702ae65587eb9acd5a427fb52ec03319cf1d3ac4a484231701a0247e0
BLAKE2b-256 checksum
How to use checksums
e3dee6746955d033c75a0e52bd6915927b54fa65509895f32afbdef71a684a00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release history Release notifications | RSS feed

1.3.2

2 release files

1.3.1

2 release files

This release

1.3.0 This release

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.11.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page