Skip to main content

tai42-config-k8s

License: Apache 2.0

The Kubernetes ConfigManager provider for the TAI ecosystem — a separately installed plugin. It implements the tai42_contract.config.manager.ConfigManager ABC for the k8s config mode:

  • env configuration via a K8s Secret
  • manifest configuration via a K8s ConfigMap (with !ENV-tag round-tripping through the tai42-kit yaml utilities)

Its only tai-* dependencies are tai42-contract (the interface it implements) and tai42-kit (settings machinery + manifest yaml helpers). It never imports the skeleton — it is loaded by the skeleton's config seam through the build_config_manager() factory convention by dynamic import (the skeleton names this module as the string "tai42_config_k8s.manager", so there is no static edge in either direction).

The TAI ecosystem

TAI is an open-source runtime for MCP tools, agents, and workflows. A ConfigManager is the runtime's configuration provider: one pluggable object the server reads its env and manifest configuration through, so where that configuration lives is a deployment choice rather than a code change. This package is one such provider (Kubernetes Secrets and ConfigMaps); any package can back the same contract, so this repo is this provider's own full doc home, and the documentation site covers the platform-level story:

The current release line tracks the 7.x contract (tai42-contract>=7,<8).

Install

Requires Python 3.13+. Install from PyPI into the environment that runs the server, with the optional [k8s] extra that pulls the kubernetes client:

uv add "tai42-config-k8s[k8s]"

Or from source — clone this repo and add it as an editable dependency; the tai42-* dependencies resolve in-tree from the workspace.

git clone https://github.com/tai42ai/tai42   # next to your app checkout
cd /path/to/your/app
uv add --editable "../tai-config-k8s[k8s]"

The kubernetes client is an optional [k8s] extra, imported lazily inside K8sConfigManager; if it is absent the manager raises a copy-pasteable install hint rather than a bare ImportError.

Select it at runtime with TAI_CONFIG_MODE=k8s.

Settings

K8sConfigSettings (prefix TAI_K8S_):

  • TAI_K8S_NAMESPACE (overrides the auto-detected namespace)
  • TAI_K8S_SECRET_NAME (default tai-env)
  • TAI_K8S_CONFIGMAP_NAME (default tai-manifest)
  • TAI_K8S_MANIFEST_KEY (default manifest.yml)
  • TAI_K8S_DEFAULTS_MANIFEST_KEY (default defaults.manifest.yml)

When TAI_K8S_NAMESPACE is unset (or blank), the namespace is auto-detected from the pod service account, falling back to default for local development.

Typed package (py.typed).

Development

uv venv --python 3.13
uv pip install --no-sources --group dev --editable .
uv run --no-sync ruff check .
uv run --no-sync ruff format --check .
uv run --no-sync pyright
uv run --no-sync pytest --cov --cov-report=term-missing

License

Apache-2.0. See LICENSE and NOTICE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tai42_config_k8s-1.0.9.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tai42_config_k8s-1.0.9-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file tai42_config_k8s-1.0.9.tar.gz.

File metadata

  • Download URL: tai42_config_k8s-1.0.9.tar.gz
  • Upload date:
  • Size: 17.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for tai42_config_k8s-1.0.9.tar.gz
Algorithm Hash digest
SHA256 bc85bc7c6cea10d9cfc21d0b87c7d421440f87367f90d273e7dd566cc284e3ce
MD5 0e7a2c9864249d592fbb15b878f38623
BLAKE2b-256 d53cec3f0cfc710cf624445c3c6bfcace6e0989c215c29235ff1e5bed0cc6387

See more details on using hashes here.

File details

Details for the file tai42_config_k8s-1.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for tai42_config_k8s-1.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 64e361ca1ac03f1cff57098f5b24095cc9f842e7a9507c5ab8f46b6bb2a35e02
MD5 0ede1fec1d4ceb2a1f2abbf14d05c4fe
BLAKE2b-256 55a71bca8192f364753642e19a98fc1c507f86ca52e3bc0ae46646975e534462

See more details on using hashes here.

Release history Release notifications | RSS feed

1.1.0

2 files

This release

1.0.9 This release

2 files

1.0.8

2 files

1.0.7

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.8

2 files

0.2.7

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 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