a20c600c86
Ship Harbor/Hub push with latest+version tags, deploy to openstack.devops.org.ru, and show the package version badge in Help → About.
246 lines
5.4 KiB
YAML
246 lines
5.4 KiB
YAML
## Default values for openstack-api-simulator.
|
|
## Image: https://hub.docker.com/r/inecs/openstack-api-simulator
|
|
|
|
replicaCount: 1
|
|
|
|
image:
|
|
repository: inecs/openstack-api-simulator
|
|
pullPolicy: IfNotPresent
|
|
# Overrides the image tag whose default is the chart appVersion.
|
|
tag: "0.1.1"
|
|
|
|
imagePullSecrets: []
|
|
nameOverride: ""
|
|
fullnameOverride: ""
|
|
|
|
serviceAccount:
|
|
create: true
|
|
annotations: {}
|
|
name: ""
|
|
|
|
podAnnotations: {}
|
|
podLabels: {}
|
|
|
|
podSecurityContext:
|
|
fsGroup: 10001
|
|
|
|
securityContext:
|
|
runAsNonRoot: true
|
|
runAsUser: 10001
|
|
runAsGroup: 10001
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop: ["ALL"]
|
|
readOnlyRootFilesystem: true
|
|
|
|
## Internal simulator Service (FastAPI on 8080). Clients should use gateway.
|
|
service:
|
|
type: ClusterIP
|
|
port: 8080
|
|
|
|
## Nginx api-gateway — OpenStack default ports (same as docker-compose).
|
|
## Sets X-OpenStack-Service / X-Forwarded-Port so path roots do not collide.
|
|
gateway:
|
|
enabled: true
|
|
image:
|
|
repository: nginx
|
|
tag: "1.28.0-alpine"
|
|
pullPolicy: IfNotPresent
|
|
replicaCount: 1
|
|
service:
|
|
type: ClusterIP
|
|
# Published OpenStack API ports (name → port). Keep in sync with docs/ports.md.
|
|
ports:
|
|
- name: keystone
|
|
port: 5000
|
|
- name: nova
|
|
port: 8774
|
|
- name: neutron
|
|
port: 9696
|
|
- name: glance
|
|
port: 9292
|
|
- name: cinder
|
|
port: 8776
|
|
- name: placement
|
|
port: 8003
|
|
- name: heat
|
|
port: 8004
|
|
- name: heat-cfn
|
|
port: 8000
|
|
- name: swift
|
|
port: 8080
|
|
- name: ironic
|
|
port: 6385
|
|
- name: octavia
|
|
port: 9876
|
|
- name: barbican
|
|
port: 9311
|
|
- name: manila
|
|
port: 8786
|
|
- name: designate
|
|
port: 9001
|
|
- name: magnum
|
|
port: 9511
|
|
- name: zun
|
|
port: 9517
|
|
- name: trove
|
|
port: 8779
|
|
- name: mistral
|
|
port: 8989
|
|
- name: aodh
|
|
port: 8042
|
|
- name: cloudkitty
|
|
port: 8889
|
|
- name: freezer
|
|
port: 9090
|
|
- name: blazar
|
|
port: 1234
|
|
- name: vitrage
|
|
port: 8999
|
|
- name: masakari
|
|
port: 15868
|
|
- name: tacker
|
|
port: 9890
|
|
- name: adjutant
|
|
port: 5050
|
|
- name: watcher
|
|
port: 9322
|
|
- name: zaqar
|
|
port: 8888
|
|
- name: http
|
|
port: 80
|
|
resources:
|
|
requests:
|
|
cpu: 50m
|
|
memory: 64Mi
|
|
limits:
|
|
memory: 256Mi
|
|
|
|
## Application environment (non-secret).
|
|
config:
|
|
logLevel: INFO
|
|
# OpenStack contract packs live under contracts/openstack/<series>/.
|
|
# Optional override for active series at cold start (yoga|antelope|caracal|dalmatian).
|
|
openstackSeries: dalmatian
|
|
requestIdHeader: X-Request-ID
|
|
|
|
## Secrets. Prefer existingSecret in production.
|
|
secret:
|
|
# Create a Secret from the values below when existingSecret is empty.
|
|
create: true
|
|
existingSecret: ""
|
|
# Keys expected in an existing secret (when existingSecret is set):
|
|
# DATABASE_URL, TICKET_SIGNING_KEY
|
|
ticketSigningKey: "change-me-to-a-long-random-secret"
|
|
# Used only when postgresql.enabled=true and databaseUrl is empty.
|
|
databaseUrl: ""
|
|
|
|
## Bundled PostgreSQL (official image — same major as docker-compose.release.yml).
|
|
postgresql:
|
|
enabled: true
|
|
image:
|
|
repository: postgres
|
|
tag: "17.5-bookworm"
|
|
pullPolicy: IfNotPresent
|
|
auth:
|
|
username: openstack
|
|
password: openstack
|
|
database: openstack_simulator
|
|
persistence:
|
|
enabled: true
|
|
size: 8Gi
|
|
storageClass: ""
|
|
resources:
|
|
requests:
|
|
cpu: 50m
|
|
memory: 128Mi
|
|
limits:
|
|
memory: 512Mi
|
|
|
|
## External database when postgresql.enabled=false.
|
|
externalDatabase:
|
|
host: ""
|
|
port: 5432
|
|
user: openstack
|
|
password: ""
|
|
database: openstack_simulator
|
|
existingSecret: ""
|
|
existingSecretPasswordKey: database-password
|
|
|
|
## Database migrations.
|
|
## Default: idempotent initContainer on the Deployment (recommended).
|
|
migrate:
|
|
enabled: true
|
|
asJob: false
|
|
backoffLimit: 20
|
|
activeDeadlineSeconds: 600
|
|
resources: {}
|
|
|
|
## Optional post-install seed Job (lab data).
|
|
## Profiles: minimal | demo (demo ≈ 1000 servers + full topology)
|
|
seed:
|
|
enabled: false
|
|
profile: minimal
|
|
backoffLimit: 3
|
|
resources: {}
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 100m
|
|
memory: 256Mi
|
|
limits:
|
|
cpu: "1"
|
|
memory: 1Gi
|
|
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health/live
|
|
port: http
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 10
|
|
timeoutSeconds: 3
|
|
failureThreshold: 3
|
|
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /health/ready
|
|
port: http
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 10
|
|
timeoutSeconds: 3
|
|
failureThreshold: 8
|
|
|
|
nodeSelector: {}
|
|
tolerations: []
|
|
affinity: {}
|
|
|
|
## Ingress + TLS via cert-manager (Let's Encrypt).
|
|
## Backend is the api-gateway Keystone/UI port (5000) when gateway.enabled.
|
|
ingress:
|
|
enabled: false
|
|
className: nginx
|
|
annotations: {}
|
|
hosts:
|
|
- host: os-sim.example.com
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
tls:
|
|
- secretName: openstack-api-simulator-tls
|
|
hosts:
|
|
- os-sim.example.com
|
|
|
|
## cert-manager ClusterIssuers for Let's Encrypt.
|
|
## Requires cert-manager already installed in the cluster.
|
|
certManager:
|
|
enabled: false
|
|
createClusterIssuer: true
|
|
email: admin@example.com
|
|
issuerName: letsencrypt-prod
|
|
server: https://acme-v02.api.letsencrypt.org/directory
|
|
createStagingIssuer: true
|
|
stagingIssuerName: letsencrypt-staging
|
|
stagingServer: https://acme-staging-v02.api.letsencrypt.org/directory
|
|
useStaging: false
|
|
solverIngressClassName: ""
|