Skyline¶
There are various customizations you can do to tailor the deployment of OpenStack Skyline. You can find those below.
General Parameters¶
conf.gunicorn
Type: string
Description:
import multiprocessing bind = \"unix:/var/lib/skyline/skyline.sock\" workers = (1 + multiprocessing.cpu_count()) // 2 worker_class = \"uvicorn.workers.UvicornWorker\" timeout = 300 keepalive = 5 reuse_port = False proc_name = \"skyline\" log_level = \"info\" disable_redirect_access_to_syslog = True access_logfile = \"-\" error_logfile = \"-\"conf.nginx.default_language
Type: string
Description:
“en”
conf.nginx.worker_processes
Type: string
Description:
nil
conf.skyline.default.access_log_file
Type: string
Description:
“/dev/stdout”
conf.skyline.default.debug
Type: bool
Description:
true
conf.skyline.default.error_log_file
Type: string
Description:
“/dev/stdout”
conf.skyline.default.log_dir
Type: string
Description:
“/var/log”
conf.skyline.default.log_file
Type: string
Description:
“/dev/stdout”
conf.skyline.openstack.default_region
Type: string
Description:
“RegionOne”
conf.skyline.openstack.interface_type
Type: string
Description:
“internal”
dependencies.dynamic.common.local_image_registry.jobs[0]
Type: string
Description:
“skyline-image-repo-sync”
dependencies.dynamic.common.local_image_registry.services[0].endpoint
Type: string
Description:
“node”
dependencies.dynamic.common.local_image_registry.services[0].service
Type: string
Description:
“local_image_registry”
dependencies.static.db_init.services[0].endpoint
Type: string
Description:
“internal”
dependencies.static.db_init.services[0].service
Type: string
Description:
“oslo_db”
dependencies.static.db_sync.jobs[0]
Type: string
Description:
“skyline-db-init”
dependencies.static.db_sync.services[0].endpoint
Type: string
Description:
“internal”
dependencies.static.db_sync.services[0].service
Type: string
Description:
“oslo_db”
dependencies.static.ks_user.services[0].endpoint
Type: string
Description:
“internal”
dependencies.static.ks_user.services[0].service
Type: string
Description:
“identity”
dependencies.static.skyline.jobs[0]
Type: string
Description:
“skyline-db-sync”
dependencies.static.skyline.jobs[1]
Type: string
Description:
“skyline-ks-user”
dependencies.static.skyline.services[0].endpoint
Type: string
Description:
“internal”
dependencies.static.skyline.services[0].service
Type: string
Description:
“oslo_db”
dependencies.static.skyline.services[1].endpoint
Type: string
Description:
“internal”
dependencies.static.skyline.services[1].service
Type: string
Description:
“identity”
endpoints.cluster_domain_suffix
Type: string
Description:
“cluster.local”
endpoints.identity.auth.admin.password
Type: string
Description:
“password”
endpoints.identity.auth.admin.project_domain_name
Type: string
Description:
“default”
endpoints.identity.auth.admin.project_name
Type: string
Description:
“admin”
endpoints.identity.auth.admin.region_name
Type: string
Description:
“RegionOne”
endpoints.identity.auth.admin.user_domain_name
Type: string
Description:
“default”
endpoints.identity.auth.admin.username
Type: string
Description:
“admin”
endpoints.identity.auth.skyline.password
Type: string
Description:
“password”
endpoints.identity.auth.skyline.project_domain_name
Type: string
Description:
“default”
endpoints.identity.auth.skyline.project_name
Type: string
Description:
“admin”
endpoints.identity.auth.skyline.region_name
Type: string
Description:
“RegionOne”
endpoints.identity.auth.skyline.role
Type: string
Description:
“admin”
endpoints.identity.auth.skyline.user_domain_name
Type: string
Description:
“default”
endpoints.identity.auth.skyline.username
Type: string
Description:
“skyline”
endpoints.identity.host_fqdn_override.default
Type: string
Description:
nil
endpoints.identity.hosts.default
Type: string
Description:
“keystone”
endpoints.identity.hosts.internal
Type: string
Description:
“keystone-api”
endpoints.identity.name
Type: string
Description:
“keystone”
endpoints.identity.path.default
Type: string
Description:
“/v3”
endpoints.identity.port.api.default
Type: int
Description:
80
endpoints.identity.port.api.internal
Type: int
Description:
5000
endpoints.identity.scheme.default
Type: string
Description:
“http”
endpoints.oci_image_registry.auth.enabled
Type: bool
Description:
false
endpoints.oci_image_registry.auth.skyline.password
Type: string
Description:
“password”
endpoints.oci_image_registry.auth.skyline.username
Type: string
Description:
“skyline”
endpoints.oci_image_registry.host_fqdn_override.default
Type: string
Description:
nil
endpoints.oci_image_registry.hosts.default
Type: string
Description:
“localhost”
endpoints.oci_image_registry.name
Type: string
Description:
“oci-image-registry”
endpoints.oci_image_registry.namespace
Type: string
Description:
“oci-image-registry”
endpoints.oci_image_registry.port.registry.default
Type: string
Description:
nil
endpoints.oslo_db.auth.admin.password
Type: string
Description:
“password”
endpoints.oslo_db.auth.admin.username
Type: string
Description:
“root”
endpoints.oslo_db.auth.skyline.password
Type: string
Description:
“password”
endpoints.oslo_db.auth.skyline.username
Type: string
Description:
“skyline”
endpoints.oslo_db.host_fqdn_override.default
Type: string
Description:
nil
endpoints.oslo_db.hosts.default
Type: string
Description:
“mariadb”
endpoints.oslo_db.path
Type: string
Description:
“/skyline”
endpoints.oslo_db.port.mysql.default
Type: int
Description:
3306
endpoints.oslo_db.scheme
Type: string
Description:
“mysql+pymysql”
endpoints.skyline.host_fqdn_override.default
Type: string
Description:
nil
endpoints.skyline.hosts.default
Type: string
Description:
“skyline-api”
endpoints.skyline.hosts.public
Type: string
Description:
“skyline”
endpoints.skyline.name
Type: string
Description:
“skyline”
endpoints.skyline.port.api.default
Type: int
Description:
9999
endpoints.skyline.port.api.public
Type: int
Description:
80
endpoints.skyline.scheme.default
Type: string
Description:
“http”
endpoints.skyline.scheme.service
Type: string
Description:
“http”
extraObjects
Type: object
Description: Extra K8s manifests to deploy. Either a list or a map of manifests. # Note: Supports use of custom Helm templates # Note: Helm replaces (instead of merging) list values when several values # files are combined, so if you need to define extraObjects in more than one # overrides file, use the map form and make sure the keys are unique across # those files. With the list form only the last file takes effect.
{}
identity.openrc.exclude_vars
Type: list
Description:
[]
identity.openrc.extra_vars
Type: list
Description:
[]
images.local_registry.active
Type: bool
Description:
false
images.local_registry.exclude[0]
Type: string
Description:
“dep_check”
images.local_registry.exclude[1]
Type: string
Description:
“image_repo_sync”
images.pull_policy
Type: string
Description:
“IfNotPresent”
images.tags.db_init
Type: string
Description:
“quay.io/airshipit/openstack-client:2026.2-ubuntu_resolute”
images.tags.dep_check
Type: string
Description:
“quay.io/airshipit/kubernetes-entrypoint:latest-ubuntu_noble”
images.tags.ks_user
Type: string
Description:
“quay.io/airshipit/openstack-client:2026.2-ubuntu_resolute”
images.tags.skyline
Type: string
Description:
“quay.io/airshipit/skyline:2026.2-ubuntu_resolute”
images.tags.skyline_db_sync
Type: string
Description:
“quay.io/airshipit/skyline:2026.2-ubuntu_resolute”
images.tags.skyline_nginx
Type: string
Description:
“quay.io/airshipit/skyline:2026.2-ubuntu_resolute”
labels.job.node_selector_key
Type: string
Description:
“openstack-control-plane”
labels.job.node_selector_value
Type: string
Description:
“enabled”
labels.skyline.node_selector_key
Type: string
Description:
“openstack-control-plane”
labels.skyline.node_selector_value
Type: string
Description:
“enabled”
manifests.certificates
Type: bool
Description:
false
manifests.configmap_bin
Type: bool
Description:
true
manifests.configmap_etc
Type: bool
Description:
true
manifests.deployment
Type: bool
Description:
true
manifests.job_db_drop
Type: bool
Description:
false
manifests.job_db_init
Type: bool
Description:
false
manifests.job_db_sync
Type: bool
Description:
true
manifests.job_ks_user
Type: bool
Description:
true
manifests.mariadb_db
Type: bool
Description: Render the MariaDB Database/User/Grant/Connection custom resources # reconciled by the mariadb chart’s db controller, instead of running the # db-init job. Mutually exclusive with job_db_init.
true
manifests.secret_db
Type: bool
Description:
true
manifests.secret_keystone
Type: bool
Description:
true
manifests.secret_registry
Type: bool
Description:
true
manifests.service
Type: bool
Description:
true
mariadb_db.api_group
Type: string
Description: API group of the MariaDB custom resources this chart renders when # manifests.mariadb_db is enabled. Either group works: the resources are # the same, only who reconciles them differs. # mariadb.osh.openstack.org – the mariadb chart’s own db controller # (manifests.deployment_db_controller) # k8s.mariadb.com – the upstream mariadb-operator, which must # then be deployed separately # With k8s.mariadb.com and tls.oslo_db enabled, use mariadb-operator 0.37.0 # or newer. User.spec.require was added in that release, so older operators # drop it and create accounts without REQUIRE X509.
“mariadb.osh.openstack.org”
mariadb_db.mariadb_ref
Type: string
Description: Name of the MariaDB resource the Database, User, Grant and Connection # attach to through mariaDbRef. When empty it is the oslo_db default host, # which only works if the MariaDB resource shares its name with the service # clients connect through. Set it when they differ, such as a MariaDB named # mariadb served by a mariadb-primary service.
“”
mariadb_db.password_secret
Type: object
Description: Secret holding the password of the skyline database account. # The User and Connection resources read it from here.
{“create”:true,”key”:”password”,”name”:”skyline-db-password”}
mariadb_db.password_secret.create
Type: bool
Description: Render the secret from endpoints.oslo_db.auth.skyline.password. Set # to false to use a secret that already exists. The service config is # still rendered from endpoints.oslo_db.auth.skyline.password, so the # secret must hold the same password.
true
network.skyline.external_policy_local
Type: bool
Description:
false
network.skyline.node_port.enabled
Type: bool
Description:
false
network.skyline.node_port.port
Type: int
Description:
30779
pod.lifecycle.upgrades.deployments.pod_replacement_strategy
Type: string
Description:
“RollingUpdate”
pod.lifecycle.upgrades.deployments.revision_history
Type: int
Description:
3
pod.lifecycle.upgrades.deployments.rolling_update.max_surge
Type: int
Description:
1
pod.lifecycle.upgrades.deployments.rolling_update.max_unavailable
Type: int
Description:
1
pod.mounts.skyline.init_container
Type: string
Description:
nil
pod.mounts.skyline.skyline.volumeMounts
Type: string
Description:
nil
pod.mounts.skyline.skyline.volumes
Type: string
Description:
nil
pod.replicas.skyline
Type: int
Description:
1
pod.resources.enabled
Type: bool
Description:
false
pod.resources.jobs.db_init.limits.memory
Type: string
Description:
“1024Mi”
pod.resources.jobs.db_init.requests.cpu
Type: string
Description:
“100m”
pod.resources.jobs.db_init.requests.memory
Type: string
Description:
“128Mi”
pod.resources.jobs.db_sync.limits.memory
Type: string
Description:
“1024Mi”
pod.resources.jobs.db_sync.requests.cpu
Type: string
Description:
“100m”
pod.resources.jobs.db_sync.requests.memory
Type: string
Description:
“128Mi”
pod.resources.skyline.limits.memory
Type: string
Description:
“1024Mi”
pod.resources.skyline.requests.cpu
Type: string
Description:
“100m”
pod.resources.skyline.requests.memory
Type: string
Description:
“128Mi”
pod.security_context.skyline.container.db_sync.readOnlyRootFilesystem
Type: bool
Description:
true
pod.security_context.skyline.container.skyline.readOnlyRootFilesystem
Type: bool
Description:
false
pod.security_context.skyline.pod.runAsUser
Type: int
Description:
0
pod.tolerations.skyline.enabled
Type: bool
Description:
false
pod.tolerations.skyline.tolerations[0].effect
Type: string
Description:
“NoSchedule”
pod.tolerations.skyline.tolerations[0].key
Type: string
Description:
“node-role.kubernetes.io/control-plane”
pod.tolerations.skyline.tolerations[0].operator
Type: string
Description:
“Exists”
release_group
Type: string
Description:
nil
secrets.identity.admin
Type: string
Description:
“skyline-keystone-admin”
secrets.identity.skyline
Type: string
Description:
“skyline-keystone-user”
secrets.oci_image_registry.skyline
Type: string
Description:
“skyline-oci-image-registry”
secrets.oslo_db.admin
Type: string
Description:
“skyline-db-admin”
secrets.oslo_db.skyline
Type: string
Description:
“skyline-db-user”
secrets.tls.client.skyline
Type: string
Description:
“skyline-client”
secrets.tls.skyline.skyline.internal
Type: string
Description:
“skyline-tls-internal”
secrets.tls.skyline.skyline.public
Type: string
Description:
“skyline-tls-public”
tls.identity
Type: bool
Description:
false
tls.oslo_db
Type: bool
Description:
false