Files
openstack-api-simulator/helm/openstack-api-simulator
Sergey Antropoff d096ad4d10 Initial commit: stateful OpenStack API laboratory simulator.
Ship Keystone auth, multi-service handlers (Yoga→Dalmatian), Compose/Helm
packaging, API contract packs, and pytest/Pulumi coverage labs.
2026-07-18 04:26:48 +03:00
..

Language / Язык: English | Русский

Helm chart: openstack-api-simulator

Deploys the published runtime image inecs/openstack-api-simulator with bundled PostgreSQL, migrations, optional seed Job, multi-port nginx api-gateway, Ingress, and cert-manager Let's Encrypt ClusterIssuer resources.

Full guide: docs/kubernetes.md.

Quick install

Prerequisites: Kubernetes, Helm 3, ingress-nginx (or compatible), cert-manager (for TLS example).

helm upgrade --install os-sim ./helm/openstack-api-simulator \
  -n openstack-sim --create-namespace \
  -f ./helm/openstack-api-simulator/values-ingress-example.yaml \
  --set certManager.email=you@example.com \
  --set ingress.hosts[0].host=os-sim.example.com \
  --set ingress.tls[0].hosts[0]=os-sim.example.com \
  --set secret.ticketSigningKey="$(openssl rand -hex 32)" \
  --set postgresql.auth.password="$(openssl rand -hex 16)"

Point DNS at the Ingress controller, wait for Certificate Ready, then open https://os-sim.example.com/.

Minimal ClusterIP + port-forward:

helm upgrade --install os-sim ./helm/openstack-api-simulator \
  -n openstack-sim --create-namespace \
  --set secret.ticketSigningKey="$(openssl rand -hex 32)" \
  --set seed.enabled=true --set seed.profile=minimal

kubectl -n openstack-sim port-forward \
  svc/os-sim-openstack-api-simulator-gateway \
  5000:5000 8774:8774 9696:9696 9292:9292 8776:8776

Values overview

Key Default Meaning
image.repository inecs/openstack-api-simulator Hub image
image.tag chart appVersion Image tag
gateway.enabled true Multi-port nginx OpenStack gateway
gateway.service.ports 5000, 8774, 9696, … Published API ports
postgresql.enabled true Bundle official PostgreSQL StatefulSet
migrate.enabled true Schema migrate initContainer
seed.enabled false Post-install seed Job
seed.profile minimal minimal or demo
ingress.enabled false Expose Keystone/UI via Ingress
certManager.enabled false Annotate Ingress + optional ClusterIssuers

See values.yaml and values-ingress-example.yaml.

Chart layout

helm/openstack-api-simulator/
  Chart.yaml
  values.yaml
  values-ingress-example.yaml
  templates/
    deployment.yaml          # simulator (FastAPI :8080)
    gateway-deployment.yaml  # nginx multi-port gateway
    gateway-service.yaml
    gateway-configmap.yaml
    postgresql-statefulset.yaml
    migrate-job.yaml / initContainer
    seed-job.yaml
    ingress.yaml
    clusterissuer.yaml
    secret.yaml
    NOTES.txt

Validate locally:

helm lint ./helm/openstack-api-simulator
helm template os-sim ./helm/openstack-api-simulator --set secret.ticketSigningKey=test

Integration suites

Hypervisor-lab / API coverage tests (pulumi-tests/) run via Docker Compose, not this chart. Deploy the simulator with Helm, then point host-side or CI runners at the gateway Service (port-forward or LoadBalancer). See docs/hypervisor-lab.md.