Installer Files
All files are part of the OVHcloud MKS + Funnel + Cromwell installer package. Download the full bundle or individual files as needed.
Complete Bundle
| File |
Description |
Download |
ovh_installer.tar.gz |
Full installer package (all scripts, templates, and examples) |
⬇ Download |
Installer Scripts
Located in installer/ — the main scripts that drive the deployment.
| File |
Description |
Download |
install-ovh-mks.sh |
Main installer — orchestrates all phases (0–8): creates the MKS cluster, sets up Karpenter, deploys Manila NFS, S3, private registry, and Funnel TES |
⬇ Download |
env.variables |
Configuration file — all mandatory and optional variables (cluster name, region, quotas, storage settings, image tags, registry credentials). Edit this before running the installer |
⬇ Download |
destroy-ovh-mks.sh |
Teardown script — cleanly removes all OVH resources created by the installer (cluster, network, Manila share, S3 bucket, registry) |
⬇ Download |
update-nodepool-flavors.sh |
NodePool updater — queries the live OVH flavor catalog and regenerates the Karpenter NodePool with filtered instance types based on env.variables quota settings. Run post-deploy to adjust scaling limits |
⬇ Download |
test-disk-handling.sh |
Integration test suite — submits test TES tasks to verify NFS mount visibility, disk write access, Cinder auto-expansion, and cleanup. Run after full deployment to validate the platform |
⬇ Download |
test-disk-handling-lb.sh |
LoadBalancer variant of the test suite — same tests but routes through the external LoadBalancer IP instead of the cluster-internal endpoint |
⬇ Download |
Funnel TES Task Examples
Located in installer/funnel_examples/ — ready-to-submit TES task JSON files for smoke testing.
| File |
Description |
Download |
hello.json |
Minimal “hello world” TES task — verifies basic task submission, scheduling, and completion |
⬇ Download |
disk-write-test.json |
Writes data to the task work directory — validates Cinder volume mount and write access at /var/funnel-work |
⬇ Download |
long-sleep.json |
Long-running sleep task — useful for testing Karpenter node provisioning, node lifetime, and consolidation behaviour |
⬇ Download |
containerd-location-check.json |
Prints the containerd socket path inside the task container — useful for debugging nerdctl/containerd executor configuration |
⬇ Download |
Kubernetes YAML Templates
Located in installer/yamls/ — Kubernetes manifest templates rendered by the installer using envsubst from env.variables. These are not meant to be applied directly; they are processed during installation.
Funnel TES
| File |
Description |
Download |
funnel-namespace.template.yaml |
Kubernetes Namespace for all Funnel resources |
⬇ Download |
funnel-serviceaccount.template.yaml |
ServiceAccount used by Funnel pods |
⬇ Download |
funnel-rbac.template.yaml |
Role and RoleBinding granting Funnel the permissions to create/manage task Jobs and Pods |
⬇ Download |
funnel-configmap.template.yaml |
Funnel server configuration (nerdctl executor, S3 backend, NFS paths, task work directory, logging) |
⬇ Download |
funnel-deployment.template.yaml |
Funnel server Deployment (REST API + gRPC listener, runs on the system node) |
⬇ Download |
funnel-loadbalancer-service.template.yaml |
LoadBalancer Service exposing Funnel externally on ports 8000 (HTTP) and 9090 (gRPC) |
⬇ Download |
funnel-tes-service.template.yaml |
ClusterIP Service for internal gRPC communication between Funnel components |
⬇ Download |
funnel-db-pvc.template.yaml |
PersistentVolumeClaim for the Funnel task database (BoltDB) |
⬇ Download |
funnel-shared-pvc.template.yaml |
PersistentVolumeClaim binding to the Manila NFS share for /mnt/shared |
⬇ Download |
funnel-disk-setup.template.yaml |
DaemonSet that mounts/formats the per-node Cinder volume at /var/funnel-work, handles LUKS encryption, LVM auto-expansion, and NFS keepalive |
⬇ Download |
funnel-disk-monitor.template.yaml |
DaemonSet sidecar that monitors disk usage and triggers LVM volume extension when the fill threshold is reached |
⬇ Download |
Karpenter
| File |
Description |
Download |
karpenter-nodeclass.template.yaml |
OVHcloud NodeClass defining the base node configuration (OS image, private network, SSH key, Cinder volume spec) |
⬇ Download |
nodepool.template.json |
Karpenter NodePool specification (allowed instance types, resource limits, consolidation policy) — rendered as JSON for the OVH Karpenter provider |
⬇ Download |
karpenter-node-overhead.template.yaml |
Ghost DaemonSet that reserves a small amount of CPU and memory on each worker node to account for system processes, ensuring accurate Karpenter scheduling decisions |
⬇ Download |
Manila NFS Storage
| File |
Description |
Download |
manila-storageclass.template.yaml |
StorageClass for the Manila NFS CSI driver |
⬇ Download |
manila-pvc.template.yaml |
PersistentVolumeClaim requesting a Manila NFS share of the configured size |
⬇ Download |
manila-csi-values.template.yaml |
Helm values file for the Manila CSI driver (OpenStack credentials, share type, region) |
⬇ Download |
nfs-ssh-mount.yaml |
Static manifest for manually mounting an NFS share via SSH tunnel (diagnostic/fallback use) |
⬇ Download |
S3 & Secrets
| File |
Description |
Download |
s3-secret.template.yaml |
Kubernetes Secret holding the OVH S3 access key and secret key for use by Funnel and init containers |
⬇ Download |
Note: Template files (.template.yaml, .template.json) contain ${VARIABLE} placeholders and are rendered by envsubst during installation. Do not apply them directly with kubectl apply.
Last Updated: March 28, 2026