Galaxy Infrastructure · Loire Valley

Beyond
Regular
Galaxy
Management

B — Beyond
R — Regular
G — Galaxy
M — Management

Running Galaxy and Pulsar on Kubernetes the way it should be — native K8s jobs, RabbitMQ messaging, zero DinD, production-grade. Built in the Loire Valley, deployed on OVH PCI-DSS Cloud.

Explore the stack View source
🇫🇷
Hosted on OVH Cloud
Cloud souverain · France · GRA9
Architecture

Galaxy jobs.
Kubernetes pods.

A custom queued_kubernetes manager for Pulsar that submits Galaxy jobs as native K8s batch/v1 Jobs via pykube — no Docker socket, no DinD, no privilege escalation.

Each Galaxy job becomes a real Kubernetes Job, scheduled by the cluster, monitored natively, with proper resource limits and a shared RWX NFS PVC for staging.

Galaxy Pulsar FRENCH RabbitMQ Kubernetes Helm NO SOCK
Galaxy
job submitted
RabbitMQ
AMQP / pulsar_ovh
Pulsar
queued_kubernetes manager
K8s API
batch/v1 Job created
job-1
job-2
job-n
CLOUD
Galaxy
RabbitMQ
AMQP · TLS · pulsar_ovh
CLUSTER 1 · management
Pulsar
K8s API
queued_kubernetes
job-1
job-2
job-n
NFS RWX staging
ON-PREM
CLUSTER 2 · compute
Pulsar
K8s API
batch/v1 Jobs
job-1
job-2
job-n
↑ callback · RabbitMQ

What's different

No more Docker socket. No more DinD. Real Kubernetes-native job execution.

01

Native K8s Jobs

Each Galaxy job maps to a real Kubernetes batch/v1 Job. Visible in kubectl, scheduled by the cluster, respecting node selectors and resource quotas.

02

No privileged containers

DinD required a privileged sidecar running dockerd inside a pod. Gone. The Pulsar pod has a standard ServiceAccount with scoped RBAC — nothing more.

03

RabbitMQ messaging

Galaxy publishes to AMQP, Pulsar consumes asynchronously. Job status flows back via MQ callbacks. No polling, no timeouts on long-running bioinformatics jobs.

04

Shared NFS staging

Pulsar and job pods mount the same RWX PVC. Inputs, outputs, scripts — all on shared NFS. No remote transfer overhead between galaxy and compute.

05

Helm-native deployment

Full Helm chart with configurable managers, RBAC, PVC, and Pulsar configuration via values.yaml. Reproducible, versionable, GitOps-ready.

06

Open source contribution

The queued_kubernetes manager is a genuine upstream contribution to galaxyproject/pulsar — autodiscovered, pattern-compliant, ready for PR.

It works
kubectl — coolprojet-pulsar-executions
$ kubectl get jobs -n coolproject-pulsar-system
NAME COMPLETIONS DURATION AGE
pulsar-job-7 1/1 5s 2m
pulsar-job-8 1/1 5s 1m

$ kubectl describe job pulsar-job-8 | grep "Pods Statuses"
Pods Statuses: 0 Active / 1 Succeeded / 0 Failed

# Galaxy job dispatched → RabbitMQ → Pulsar → K8s Job → Succeeded
# End to end. Loire Valley → OVH. May 10 2026.
🦛

PotamLigerien

Loire Valley · brgm.dev