Skip to content
Novus Examples
yaml1.6 KB

Kubernetes Multi-Document Manifest Bundle

Three Kubernetes objects in one YAML stream, the shape kubectl apply consumes. A loader that calls the single-document API returns only the first object and silently drops the other two, which is exactly the failure this fixture is for.

Preview — first 50 linesyaml
# A three-document YAML stream: the shape `kubectl apply -f` reads and most naive parsers do not.
# A loader that calls the single-document API returns only the ConfigMap and silently drops two
# objects; the multi-document API returns all three in order.
apiVersion: v1
kind: ConfigMap
metadata:
  name: orders-config
  namespace: example-apps
  labels:
    app.kubernetes.io/name: orders
data:
  LOG_LEVEL: info
  FEATURE_FLAGS: |
    checkout_v2=true
    slow_path=false
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: orders
  namespace: example-apps
  labels:
    app.kubernetes.io/name: orders
    app.kubernetes.io/version: 1.4.0
spec:
  replicas: 3
  selector:
    matchLabels:
      app.kubernetes.io/name: orders
  template:
    metadata:
      labels:
        app.kubernetes.io/name: orders
    spec:
      containers:
        - name: orders
          image: registry.example.invalid/example-org/orders:1.4.0
          ports:
            - containerPort: 8080
              name: http
          envFrom:
            - configMapRef:
                name: orders-config
          resources:
            requests:
              cpu: 100m
              memory: 128Mi
            limits:
              cpu: 500m
              memory: 512Mi
70 lines total — download for the full file.

Specifications

Documents
3
Kinds
ConfigMap, Deployment, Service
Namespace
example-apps
Edge Case
single-document loaders silently drop two objects
Has Block Scalar
true

Testing contract

Expected to pass
Scenario
Load a multi-document Kubernetes manifest with a single-document YAML API
Expected result
The multi-document API yields 3 objects in stream order; the single-document API yields only the ConfigMap or raises a composer error

What is a .yaml file?

YAML (YAML Ain't Markup Language) is a human-readable data-serialization format using indentation, key-value pairs, and lists, and is a superset of JSON. It supports comments, anchors, and multiple documents per file, favoring readability for configuration. Its indentation sensitivity makes it error-prone to hand-edit.

How to use this file

Use an example YAML file to test config parsers, indentation and anchor handling, multi-document streams, and safe-loading to avoid arbitrary object construction.

How to use this file for testing

“Kubernetes Multi-Document Manifest Bundle” is a deterministic Novus Examples fixture for Config testing, Config parsing, Editor testing. TOML, INI, YAML, .env, and dotfile configuration samples with nested sections and typed values — for testing config parsers, loaders, and environment tooling.

Documented properties for this file: YAML · 1,612 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Pipeline and infrastructure fixtures are inert configuration: steps reference fictional images and scripts, and nothing here executes. Run your linter, schema validator, migrator, or policy engine against them, and expect the deprecated-syntax and intentionally invalid variants to be rejected.

Point your config loader at the file and assert it reads the documented sections and typed values, including any deliberately-tricky nesting or comments.

Code examples

import yaml  # pip install pyyaml

with open("multi-document-bundle.yaml") as f:
    data = yaml.safe_load(f)
print(data)

Generated by generation/pipelines.py. Free for any use, no attribution required — license.