warrantor-admission
AumOS Kubernetes validating admission webhook. Refuses to admit a Pod into the cluster unless it carries a valid AumOS Attestation Envelope (AAE) annotation. The AAE is the signed attestation produced when the workload image (and its runtime config) was measured; without it a pod cannot be trusted to be the thing it claims to be.
The webhook is policy-light by design: it enforces annotation presence and structural validity. The cryptographic verification of the AAE quote is delegated to the attestation verifier in the AumOS agent running on the node — the webhook is the gate, not the verifier.
Annotations
| Annotation | Meaning |
|---|---|
muveraai.com/aae |
Required. The base64 attestation envelope blob. |
muveraai.com/aae-digest |
Optional. When present, must match sha256:<hex>. |
Behaviour
- Pods in
kube-system,kube-public,kube-node-leaseare exempt by default (override withallow_namespaces). - Optional positive selector: only enforce in namespaces in
namespace_selector. - Non-
Podresources in anAdmissionRevieware passed through (the webhook only enforcesPod).
Usage
from warrantor_admission import AdmissionWebhook
webhook = AdmissionWebhook()
result = webhook.validate_pod(pod_manifest)
if not result.allowed:
raise RuntimeError(result.reason)
# Or process a full AdmissionReview object:
response = webhook.handle_admission_review(admission_review)
assert response["response"]["allowed"] is True
# Run as a standalone HTTP server:
webhook.serve(port=8443)
Deployment manifests
# 1. Service
apiVersion: v1
kind: Service
metadata:
name: warrantor-admission
namespace: warrantor-system
spec:
selector:
app: warrantor-admission
ports:
- port: 443
targetPort: 8443
---
# 2. Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: warrantor-admission
namespace: warrantor-system
spec:
replicas: 2
selector:
matchLabels:
app: warrantor-admission
template:
metadata:
labels:
app: warrantor-admission
spec:
containers:
- name: webhook
image: aumos/admission:1.0.0
ports:
- containerPort: 8443
volumeMounts:
- name: tls
mountPath: /tls
readOnly: true
env:
- name: AUMOS_ADMISSION_PORT
value: "8443"
volumes:
- name: tls
secret:
secretName: warrantor-admission-tls
---
# 3. ValidatingWebhookConfiguration
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
name: warrantor-admission
webhooks:
- name: admission.muveraai.com
sideEffects: None
admissionReviewVersions: ["v1"]
rules:
- apiGroups: [""]
apiVersions: ["v1"]
resources: ["pods"]
operations: ["CREATE", "UPDATE"]
clientConfig:
service:
name: warrantor-admission
namespace: warrantor-system
path: /validate
caBundle: <base64 of the CA cert that signed the webhook's serving cert>
namespaceSelector:
matchExpressions:
- key: kubernetes.io/metadata.name
operator: NotIn
values: ["kube-system", "kube-public", "kube-node-lease"]
The caBundle value can be produced with ca_bundle_for_webhook(pem).
Development
pip install -e ".[dev]"
pytest
ruff check .
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
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 warrantor_admission-1.0.0-py3-none-any.whl.
File metadata
- Download URL: warrantor_admission-1.0.0-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d81e38f9416bad0511c2f481707a0f847b4b581484d1d26911a92ac1973fef0
|
|
| MD5 |
abcf61bf4d6e9187692378e32b1687a3
|
|
| BLAKE2b-256 |
273207977a4e0cb81dd4130555b62ec24477764823e83fbdf9dbbfdc13830a6a
|