Transform Kubernetes CRDs into type-safe KCL schemas and developer-friendly blueprints
Project description
AMDF - Agnostic Multi-cloud Delivery Framework
Transform any Kubernetes CRD into type-safe KCL schemas and developer-friendly blueprints
Quick Start{ .md-button .md-button--primary } Examples{ .md-button }
Why AMDF?
Direct interaction with Kubernetes Custom Resource Definitions (CRDs) presents critical challenges:
-
❌ Security & Compliance Risks Without strict schemas, misconfigurations are easy to commit and hard to validate.
-
❌ Developer Velocity Bottleneck Writing thousands of lines of YAML manually is slow, error-prone, and hard to reuse across teams.
-
❌ Inefficient Feedback Loops Engineers waste valuable cycles waiting for CI/CD pipelines to fail, rather than catching configuration errors instantly in the IDE.
The AMDF Solution
AMDF automatically transforms complex CRDs into simple, validated interfaces:
graph LR
A[Complex CRD] --> B[AMDF] --> C[Type-Safe Schema] --> D[Simple Blueprint]
style A fill:#ffcccc
style D fill:#ccffcc
What You Get
| Before AMDF | After AMDF |
|---|---|
| Complex CRD Manifests | Streamlined Blueprints |
| Runtime validation errors | Compile-time type checking |
| Provider-specific patterns | Unified interface |
| Manual documentation | Auto-generated examples |
Core Capabilities
🔍 Universal Discovery
Automatically finds and catalogs all CRDs in your cluster
🏗️ Smart Generation
-
The Library Model (Schema) - Complete, type-safe representations of the raw CRD.
-
The Developer Interface (Blueprint) - A concise, easy-to-read module that exposes only essential configuration.
🤖 AI-Enhanced Experience
Built-in AI assistant explains generated code and provides usage examples via Ollama integration.
🔌 Multiple Interfaces
- CLI Tool - Direct command-line usage
- MCP Server - Integration with AI development tools
- Guided Mode - Interactive wizard for beginners
Architecture
AMDF follows a clean, modular design:
graph TB
subgraph "User Interfaces"
CLI[CLI Commands]
MCP[MCP Server]
GUI[Guided Mode]
end
subgraph "Core Engine"
DISC[CRD Discovery]
GEN[Schema Generator]
BP[Blueprint Creator]
end
subgraph "Output"
SCHEMA[KCL Schemas]
BLUE[KCL Blueprints]
end
CLI --> DISC
MCP --> DISC
GUI --> DISC
DISC --> GEN
GEN --> BP
GEN --> SCHEMA
BP --> BLUE
Real-World Impact
Platform Teams
Transform hundreds of CRDs into consistent, validated schemas that development teams can actually use.
DevOps Engineers
Eliminate configuration drift and deployment failures with compile-time validation.
Application Developers
Focus on business logic instead of learning complex CRD specifications.
Getting Started
Installation
pip install amdf
Basic Workflow
# Discover what's available
amdf list-crds --filter aws
# Generate schemas
amdf generate instances.ec2.aws.upbound.io
# Use the blueprint
import library.blueprints.Instance
server = Instance.InstanceBlueprint {
_metadataName = "web-server"
_instanceType = "t3.medium"
}
Interactive Mode
# Guided experience with AI explanations
amdf guided --ai-model qwen3-coder:30b
Ecosystem Integration
AMDF orchestrates a best-in-class stack to deliver infrastructure as code:
-
KCL (Configuration Engine) Provides the modeling language, validation logic, and schema generation capabilities.
-
CNCF Ecosystem (Target Resource Model) Compatible with any Kubernetes CRD, like as Crossplane, ACK, , KRO, Config Connector, and custom operators.
-
Kubernetes (Control Plane) Serves as the universal API and reconciliation engine that AMDF extends.
-
Ollama (Local Intelligence) Powers the integrated AI assistant for offline, privacy-focused schema explanations and guidance.
-
Model Context Protocol (MCP) (Agentic Interface) Exposes AMDF as a standardized server, allowing AI clients to directly interact with, query, and generate infrastructure.
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 Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file amdf-1.0.2.tar.gz.
File metadata
- Download URL: amdf-1.0.2.tar.gz
- Upload date:
- Size: 26.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7954daf6ec561081fc63a09d7c10080c93737a3e85b8bc1555b44203cfc5e908
|
|
| MD5 |
65b85a21b1cce5272972c0a7424dbd5e
|
|
| BLAKE2b-256 |
05a3706f46291ea5759f6d481b230712667356da74009790012ca0cc45a35b14
|
Provenance
The following attestation bundles were made for amdf-1.0.2.tar.gz:
Publisher:
publish-to-pypi.yml on segoja7/agnostic-multicloud-delivery-framework
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
amdf-1.0.2.tar.gz -
Subject digest:
7954daf6ec561081fc63a09d7c10080c93737a3e85b8bc1555b44203cfc5e908 - Sigstore transparency entry: 822753195
- Sigstore integration time:
-
Permalink:
segoja7/agnostic-multicloud-delivery-framework@fe34d10d778a00409cce826bbdfeea605ccbf17a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/segoja7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@fe34d10d778a00409cce826bbdfeea605ccbf17a -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file amdf-1.0.2-py3-none-any.whl.
File metadata
- Download URL: amdf-1.0.2-py3-none-any.whl
- Upload date:
- Size: 27.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
299ea98cd39d40b20b3d52b9ad11733b48db9b3661c33a5671da854a5f86116a
|
|
| MD5 |
9d3cf25907206214de5a39f44c330d89
|
|
| BLAKE2b-256 |
0e056a4d48b5b3ab46f62700893bd5faa03efd48fb42e5c7b48a570145070b6b
|
Provenance
The following attestation bundles were made for amdf-1.0.2-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on segoja7/agnostic-multicloud-delivery-framework
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
amdf-1.0.2-py3-none-any.whl -
Subject digest:
299ea98cd39d40b20b3d52b9ad11733b48db9b3661c33a5671da854a5f86116a - Sigstore transparency entry: 822753241
- Sigstore integration time:
-
Permalink:
segoja7/agnostic-multicloud-delivery-framework@fe34d10d778a00409cce826bbdfeea605ccbf17a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/segoja7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@fe34d10d778a00409cce826bbdfeea605ccbf17a -
Trigger Event:
workflow_dispatch
-
Statement type: