OpenStack Barbican key manager

Barbican stores the keys and certificates that other OpenStack services depend on. This page covers the decisions, build sequence, effort drivers and handover for a self-hosted deployment.

On this page

When your team needs the OpenStack Barbican key manager

Barbican is the OpenStack service for storing and retrieving secrets, including symmetric keys, asymmetric keys, certificates and passphrases, so that other services do not hold that material themselves. Teams usually implement it when a private cloud must encrypt block volumes, issue TLS certificates for load balancers, or keep key material under the organization's own control instead of inside each consuming service. If your team is weighing those needs, Barbican is the component to plan before the first encrypted volume or HTTPS listener goes live.

Barbican is a self-hosted service that runs inside your infrastructure, alongside Keystone for authentication and its own database and secret store back end. Nothing about it requires an external key service, but your team owns its availability, backups and access policy. Two OpenStack services depend on it directly. Cinder uses Barbican to hold the encryption keys for encrypted volume types, and Octavia uses it to retrieve TLS certificates and private keys for load balancer listeners. If Barbican is unavailable or misconfigured, those workflows fail, so its placement in the control plane deserves the same design attention as Keystone and the database.

Before you commit, confirm which of these dependencies apply to your cloud. Ask whether you need encrypted Cinder volume types, whether Octavia will terminate TLS on tenant load balancers, and whether any workload needs keys that operators cannot read. Each answer changes how you configure access policy, which roles can create and read secrets, and whether you need a hardware or external secret store back end. Also check which Barbican release matches your chosen OpenStack release, since the supported back ends and policy defaults can differ between versions.

This implementation does not make your cloud compliant on its own. Barbican gives you controls and evidence that an independent auditor or certification body may assess against a framework your organization follows, and DeployOpen prepares those systems and records but does not issue audit reports or certifications. Plan for what the operating model requires: key rotation procedures, backup and restore of the secret store, logging of secret access, and an owner who can respond when a certificate expires or a key is lost. Those operational duties are where most unplanned work appears after go-live.

What the OpenStack Barbican key manager does in a cloud

Barbican sits between your workloads and the cryptographic material they depend on. Its functions connect through one question: who may read which secret, and where is that secret held. The cards below cover the functions most often in scope, along with the decisions and checks each one requires.

Storing keys and certificates as secrets

Barbican holds keys, certificates and other sensitive values as named secrets, and returns them to authorized callers through its REST API rather than through configuration files. The main decision is what belongs in Barbican and what stays in your own PKI or vault. Confirm the secret types, metadata fields and API operations supported in the Barbican release you deploy, and decide how application teams will retrieve secrets without copying them onto hosts.

Serving encrypted Cinder volumes

Cinder can request encryption keys from Barbican so that volume data is encrypted at rest, with the key held outside the storage back end. The design work is in key ownership, rotation and recovery: losing access to a key means losing the volume data it protects. Confirm the encryption providers and key handling behavior documented for your Cinder and Barbican versions, and test volume creation, attach, migration and deletion before production use.

Supplying Octavia TLS certificates

Octavia load balancers can terminate TLS using certificates stored in Barbican, so certificate material stays in one managed location instead of being uploaded to each listener. Plan certificate renewal and the process for replacing a certificate on live listeners, since expiry is a common cause of outages. Confirm the certificate formats and listener options supported by the Octavia and Barbican releases you run, and test renewal in a non-production environment.

Using secret store back ends

Barbican delegates the actual storage of secret material to a configured secret store back end, and the choice of back end determines where key material physically resides and how it is protected. Teams often need to decide between a software-based store and a hardware security module or an external vault, depending on compliance needs. Confirm which back ends your release supports, their configuration requirements, and how a back end change or failover is handled for existing secrets.

Enforcing access policy through Keystone identities

Barbican uses the Keystone identity of each caller to decide which secrets and containers that caller may read, create or delete. Access policy is therefore only as strong as the projects, roles and group mappings in Keystone, so identity design and secret design must be done together. Review the default policy file for your release, confirm how secret ACLs are set, and test that users in one project cannot read another project's secrets.

How the OpenStack Barbican key manager serves Cinder and Octavia

The encrypted volume path starts when a user creates a volume from a volume type that has encryption enabled. The Cinder API accepts the request and hands it to the volume service, which asks Barbican to create a symmetric key secret, or uses an existing key if the request names one. Both sides authenticate through Keystone: the user's token authorizes the original request, and the Cinder service user's credentials authorize the internal calls. Cinder records only the secret identifier in its database and in the volume's encryption metadata, so the key material stays in Barbican. The key is requested again at attach time, because the compute host needs it to open the encrypted device. Confirm this sequence in your release before you design around it.

A TLS listener follows a similar pattern with different ownership. The certificate, private key and any intermediate chain are stored in Barbican as a secret container, and the listener request refers to that container by its identifier. Octavia's controller services use their Keystone service credentials to read the container when they build or reconfigure the amphora, then push the material into the load balancer instance over its management path. The Octavia database keeps references to the secret, not a copy of the private key. Ask your team to confirm how the release handles certificate rotation, whether an updated container is picked up automatically or needs a listener update, and which secret formats it accepts.

Responsibility for this flow is split across three owners, and the gaps tend to sit between them. Barbican enforces access through secret ACLs and project roles, but it does not decide which keys should exist or when they should rotate. Cinder and Octavia decide when to request and read secrets, but the operator chooses the key manager backend, the service user roles and the retention rules. Loss of the Barbican database or its crypto backend can make encrypted volumes unreadable and break listeners, so backup and restore of Barbican need the same planning as the workloads that depend on it. Name one owner for each of these decisions before the build starts.

Treat the flow described above as a working hypothesis until you have run it in your own release and configuration. Check the Cinder and Octavia configuration references for the key manager and certificate settings that apply to your version, and confirm the Barbican version you run. Then test the path end to end in a non-production project: create an encrypted volume, attach it, inspect the secret ACLs granted to the service users, and remove one service user's access to confirm that attach fails in the expected way. Repeat the TLS test with a rotated certificate. Record the results so your change board can reproduce them after each upgrade.

Barbican configuration decisions and when each option fits

This table compares the decisions that shape a Barbican build, from the release and deployment tool to the secret store, key ownership, consuming services and project access. Read each row for the condition that makes an option fit and the commitment it creates for your team. The main takeaway is that the release and deployment tool choice constrains everything after it, so settle it first.

DecisionWhen the option fitsWhat it commits the team to
Release and deployment tool: Kolla-AnsibleTeams that want OpenStack services run as Docker containers managed with Ansible, and that already operate Docker and Ansible skills.Container image handling, Ansible inventory and globals maintenance, and upgrade runs under the Kolla-Ansible workflow for the chosen release.
Release and deployment tool: OpenStack-AnsibleTeams that prefer LXC containers or bare metal service placement and have Ansible experience with that layout.Ownership of LXC or bare metal host layout, Ansible playbook maintenance and upgrade runs specific to this deployment tool.
Release target: 2026.1 Gazpacho (SLURP)New deployments that need a long support runway and a planned skip-level upgrade path between SLURP releases.Tracking the SLURP upgrade sequence and validating Barbican's configuration against the 2026.1 deployment guides before go-live.
Release target: 2025.1 Epoxy or 2025.2 FlamingoExisting clouds already on these maintained series that are not ready to move to 2026.1.Planning a further upgrade before these series leave maintenance, and confirming the Barbican settings for the series in use.
Secret store back endSites that need a back end matching their existing key custody, such as a hardware security module or a supported software store, as confirmed in the release documentation.Integration and testing of the back end plugin, its credentials and availability, and separate operations for that system.
Key ownership modelOrganizations that need to control key material and its lifecycle directly, with clear separation between cloud operators and security owners.Documented roles for key creation, rotation and recovery, plus evidence of who holds administrative rights over the store.
Consuming services: Octavia TLS and Cinder encryptionClouds that terminate TLS in Octavia or encrypt Cinder volumes with keys held in Barbican.Coordinated configuration across Barbican, Octavia and Cinder, and testing of certificate renewal and volume key access.
Access per project: ACL grantsMulti-tenant clouds where each project should read only its own secrets.Maintaining per-project ACLs and policy files, and reviewing grants as projects and users change.

Choosing a secret store back end and where key material lives

The first decision in a Barbican deployment is where secret and key material physically sits and which back end holds it. Barbican is a front end that stores secrets, keys and certificates through a pluggable secret store back end, so this choice determines who can read key material, how it is backed up, and how it is recovered after a failure. Treat the back end as a design decision with compliance and operational consequences, not as a default to accept during installation. There are two broad positions. In software-based storage inside the cloud, the encrypted secret material lives in a database or storage service that your OpenStack control plane operates, typically protected by a master key that the cloud itself can reach. This keeps the operational footprint small and fits the rest of your infrastructure, but operators with sufficient access to the control plane, its database or its configuration may be able to reach key material. In externally held key material, a hardware security module or an external key service holds the master keys, and Barbican requests cryptographic operations from it. That separates key custody from cloud administration, at the cost of an additional system to size, connect, monitor and keep available.

Each position changes backup and recovery. With in-cloud storage, backups of the Barbican database must be treated as sensitive, because a copy of the encrypted secrets plus access to the master key material is equivalent to access to the secrets. Restores have to recover the database and the key wrapping configuration together, and you should rehearse that restore on a separate environment. With externally held keys, losing the external key service can make secrets unreadable even when the database is intact, so backup planning must cover the external system, its own disaster recovery and the credentials Barbican uses to reach it. Ask the vendor or the project which backup procedure the chosen back end requires and whether key material can be exported. Before committing, list the back ends your OpenStack release supports and check each one against the Barbican documentation for that release. Do not assume a back end is available because it appears in a general list. Confirm with the project or your vendor which back ends the release includes, which versions of any external hardware module or key service it works with, and which features such as key rotation, encryption of stored secrets and high availability each one supports. Record the answers in the design document, because they constrain the Keystone roles and the audit trail covered in the access policy section.

Rolling out the OpenStack Barbican key manager in sequence

This sequence takes Barbican from a confirmed release to a key manager that Cinder and Octavia use in production. Each stage closes with a handover output, so the platform, security and service teams know what is ready before the next stage begins.

  1. Confirm the release and deployment tool

    The platform lead and the security owner choose the OpenStack release that matches the rest of the cloud and confirm the deployment tool, such as Kolla-Ansible, which the OpenStack 2026.1 deployment guides cover. Check the release status on the OpenStack releases site, since maintained and SLURP status change over time. Output: a written release and tool decision, with the Barbican version pinned in the deployment inventory and the upgrade path noted for later.

  2. Set up identity and service accounts in Keystone

    The identity team creates the Barbican service user, the service project and the role assignments in Keystone, following the access policy agreed with the security team. Keep administrator, operator and consumer roles separate so that Cinder and Octavia can request secrets without broad read rights. Confirm the endpoint catalog entry resolves from every controller. Output: a Keystone account and role map signed off by security, with a list of which service accounts may read which secrets.

  3. Deploy the Barbican API and workers

    The platform engineers deploy the Barbican API service and its worker processes through the chosen deployment tool, on the controller hosts or in the containers that tool manages. They set the database connection, the message queue settings and the TLS settings for the API endpoint. They then run a health request against the API and confirm the workers pick up queued tasks. Output: a running API endpoint in the catalog, a passing health check and a deployment record listing hosts, versions and configuration files.

  4. Configure the secret store back end

    The platform team configures the secret store back end that holds encrypted secret material, following the Barbican documentation for the chosen release and the key custody decision made with security. Decide where master key material is kept, who may rotate it and how backups of the store are protected. Test that a secret can be created, read and deleted end to end. Output: a documented back end configuration, a key custody record and a test log showing a full secret lifecycle.

  5. Enable consumers for Cinder and Octavia

    The cloud team turns on encryption for the Cinder volume types that use Barbican for keys, and configures Octavia to read TLS certificate material from Barbican for listeners that need it. Each consumer uses its own service account and scope from the Keystone stage. Confirm in the service logs that Cinder and Octavia make successful Barbican requests under the expected identity. Output: a change record for each consumer that lists the volume types and load balancer configurations depending on Barbican.

  6. Migrate or re-create existing secrets

    The team inventories secrets and certificates that already exist elsewhere, such as files on hosts, a previous key manager or certificate exports, and decides for each item whether to migrate it or issue a new one. Material moves only through an approved, logged process. Where the original key cannot be exported safely, the item is re-created. Each owner signs off, and old copies are removed on a schedule the owner agrees to. Output: a secret inventory showing owner, source, method and sign-off status for every item.

  7. Verify with test secrets, volumes and listeners

    Before production workloads depend on Barbican, the test team creates test secrets, an encrypted test volume and a test TLS listener, then checks each against the access policy. They confirm that a user without the right role cannot read a test secret, that the volume attaches and keeps its data after a restart, and that the listener presents the expected certificate. They also test a restore of the secret store backup. Output: a signed test report and a go or no-go decision recorded by the service owner and the security lead.

What drives OpenStack Barbican implementation effort and cost

This table lists the factors that raise or lower the effort of a Barbican rollout, with a way to keep each one contained. Cost follows from the written scope, so use the driver column to see which items your own environment will push up. No figures are given here; ask for a quote built from the scope you agree in writing.

DriverWhy it changes effort or costHow to keep it down
Number of consuming servicesEach service that stores or retrieves secrets (Cinder encryption, Octavia TLS, Nova, custom applications) needs its own configuration, testing and access checks.Agree the consuming services in the written scope, and defer additional consumers to a later phase with its own sign-off.
Existing encrypted volumes and certificatesSecrets already in use must be inventoried, re-imported or re-issued, and tested against running volumes and load balancers before cutover.Run an inventory early, classify what must move now versus what can be re-issued, and limit migration to named resources.
Key custody modelChoosing between software-held keys in the secret store and keys held in an HSM or external key service changes the design, the operating procedures and the number of parties involved.Decide custody before the build starts. Confirm with your security team and your key management vendor which custody model your policy accepts.
Integration with existing PKI or HSM servicesConnecting to an enterprise certificate authority or hardware security module adds interface work, network paths, credentials and failure testing.Name the PKI or HSM services in scope, confirm supported plugins and versions with the vendor, and test one integration at a time.
Release upgrade pathBarbican moves with the OpenStack release cycle. Running on a release that is near end of its maintained period, or skipping releases without a plan, adds upgrade and retest work.Target a SLURP release where possible, confirm the current maintained releases on the OpenStack releases site, and schedule upgrades as a planned item with its own test cycle.
Number of tenants and access rulesEach project, role and access policy on secrets must be designed, mapped to identity groups and verified, and every extra tenant multiplies the test cases.Start with a small set of roles mapped to existing identity groups, and add tenant-specific rules only when a named owner requests them.
Secret store back end and backup scopeThe chosen back end and the backup approach determine how keys are protected, restored and rotated, which adds design and recovery testing.Pick one supported back end for the first phase, document the backup and restore procedure, and include a restore test in the scope.

Access policy and key lifecycle to settle before go-live

Settle project-level access before any production secret is stored in Barbican, because the access model is much harder to change once Cinder volumes and Octavia listeners depend on it. Barbican checks each request against the caller's Keystone token, project and roles, and applies its policy rules to secrets, containers and their access control lists. Decide which roles may create, read, update and delete secrets in each project, and document that mapping. Role names and default policy rules can change between OpenStack releases, so confirm them against the Barbican policy documentation for the release you will run, then test each role with a non-administrative account before go-live.

Keep ownership and consumer access as separate decisions. The project that creates a secret owns it and can manage its access control list. A consumer such as a Cinder back end, an Octavia controller or an application service account needs read access that is granted explicitly, usually by naming the consuming user or project in the secret's access control list. Avoid granting read access to whole projects when a single service user will do. Ask the team to produce a list of every secret, its owner and each consumer, and to justify any entry that allows broad reads. This list becomes the baseline for the access review you will run after handover.

Define how certificates are renewed before they expire. Barbican stores certificate material and can carry expiration metadata, but confirm whether your release enforces expiry or only records it, because that determines whether an expired certificate can still be served. Updating a secret in Barbican does not automatically reconfigure every listener that uses it. Confirm with your Octavia documentation and test the reload path in a staging environment. Set a renewal lead time, a named owner for each certificate, and a rotation procedure that creates the new secret, switches the listener and then retires the old secret only after traffic is confirmed healthy.

Plan deletion and retirement as a dependency exercise. Deleting a secret that serves as a Cinder volume encryption key can leave encrypted volumes unreadable, and a deleted key cannot be recovered from Barbican alone. Before any deletion, inventory the volumes, images and listeners that reference the key, and confirm that a recoverable copy exists in the secret store back end's own backup process. Disable or stop using a key in a controlled window before removing it, and agree on who approves each deletion. Ask your team to confirm how the configured back end handles key material on deletion, since this varies with the back end you choose.

After handover, the client team owns the runbook. It should cover the key creation and naming standard, the access control list review cadence, a dashboard or report of upcoming certificate expiries, the rotation calendar, the restore test for the secret store back end, the response steps for a suspected key compromise, and a policy check after each OpenStack upgrade. DeployOpen can prepare the configuration, documentation and evidence for these controls, but independent auditors and certification bodies decide whether the controls meet any compliance requirement. Ask any assessor which evidence they expect before the runbook is finalized.

How the OpenStack Barbican key manager connects to the rest of the cloud

Barbican sits between identity, block storage, load balancing and certificate authorities, so a fault or change in one service often shows up in the others. The cards below follow the connections that matter most during design: who may request secrets, which services read them, where the encrypted data physically sits, and which external trust chains must be confirmed in your environment.

Keystone for identity and access

Keystone authenticates every request that reaches Barbican, and project membership and roles decide which secrets a caller can read or create. Map federated users from your directory through Keystone mapping rules so that group membership translates into the roles your Barbican access policy expects. Check that those roles exist in every region, that the service users for Cinder and Octavia hold only the access they need, and how token lifetimes affect automated certificate renewals.

Cinder for encrypted volumes

Cinder asks Barbican to create and hold the keys used to encrypt volume data, so creating or attaching an encrypted volume depends on Barbican being reachable. Plan the encrypted volume types with your Cinder team and decide which projects may use them. Verify that the Cinder service user can reach Barbican, that key creation and deletion are logged, and what happens to existing volumes if the key manager is unavailable during maintenance. Confirm the encryption options supported by your release.

Octavia for TLS termination

Octavia loads TLS certificates for listeners from Barbican, so the certificate and key secrets must exist in the correct project before a listener is created. Decide who may upload certificates, how a renewal replaces the stored secret, and whether intermediate chains are stored with the leaf certificate. Verify that the Octavia service account can read the secrets, test a listener update after a renewal, and confirm the secret container format your Octavia release expects.

Ceph-backed volume storage

When volumes live on Ceph block devices, Ceph stores the encrypted bytes while Barbican continues to hold the key secrets. Losing a key secret means losing access to the data even when the Ceph cluster is healthy, so the two systems must be recovered together. Check that Barbican's database and secret store are backed up on a schedule that matches your Ceph pools, and test restoring a volume and its key as one exercise. Confirm the Ceph release and Cinder driver combination in your environment.

Corporate CAs and external key systems

Barbican can front keys and certificates that are held elsewhere. Your corporate certificate authority or an external key system, such as a hardware security module or a managed key service, may need to issue certificates or hold master keys, and the Barbican back end configuration decides how that link works. Treat this as a per-deployment decision. Ask which back ends are available in your release, who owns the trust chain, how revocation is handled, and what the failover path is when the external system is unreachable.

Questions teams ask before hiring help for OpenStack Barbican

What determines the cost of hiring help for Barbican?

Scope is the main driver. The number of secret store back ends, the number of consuming services (encrypted Cinder volumes, Octavia TLS certificates and application secrets) and the volume of existing keys or certificates to migrate all change the effort.

One-time work includes design, deployment, integration, access policy, testing and knowledge transfer. Recurring costs include your own infrastructure, any hardware or cloud key service you choose to use, and any support retainer you add afterwards. Ask for a quote that separates these lines and lists each back end and consumer in scope. A quote follows from written scope, and DeployOpen does not publish a price list.

How long does a Barbican implementation usually take?

Duration depends on scope, not on the Barbican package alone. The main factors are how many consumers need secrets, whether a hardware or cloud key service is the back end, how many keys or certificates must be imported or reissued, and how many approval gates your change process requires.

Testing against Cinder volume types and Octavia listeners takes longer when those services already run in production. Teams with a fixed deadline should agree on a phased scope, with a first phase covering one back end and one consumer. The written scope fixes deliverables and timelines before work starts, so ask for a phase plan with dated milestones.

What does our team need to provide during a Barbican engagement?

Expect to supply four inputs: identity, network, change windows and subject matter owners.

  • Identity: who administers secrets, which Keystone projects and roles consume them, and how directory groups map to those roles.
  • Network: reachability between Barbican, Keystone, its database, the secret store back end and any external key service, plus DNS and certificate trust.
  • Change windows: time for cutover work where encrypted Cinder volumes or Octavia certificate handling changes.
  • Subject matter owners: people who decide security policy, application access and platform changes within agreed timeframes.

Unavailable owners are a common cause of delay, so name them in the written scope.

Can our in-house team implement Barbican without a partner?

Yes, if your team already runs OpenStack control plane services, has operated a key or secret service, and can staff the work alongside production duties. Check for Keystone administration, database and message queue operations, certificate lifecycle management and the security policy behind key custody.

The hardest parts are usually design decisions: which back end holds key material, how access policy maps to projects, how keys rotate, and how backups and disaster recovery cover key material without weakening custody. A partner can suit a team that lacks one of these skills or must finish before a deadline. Compare an internal estimate with a written scope before you decide.

Is hiring help for Barbican a one-time project or an ongoing cost?

Usually both. The initial build is a project with fixed deliverables. Afterwards, Barbican needs routine operation: patching within your OpenStack release cycle, key and certificate rotation, backup restore testing, access reviews and upgrades when you move between releases.

Your team can keep those tasks, or you can move them to a DeployOpen retainer for ongoing support, upgrades and testing, which is scoped separately. Ask for a quote that shows the build as its own line and the recurring operations with the tasks each one covers and how often they are billed. Upgrades between SLURP releases are supported, so plan them with your OpenStack upgrade path in mind.

What does the Barbican work cover, and what does it leave out?

The engagement typically covers planning the secret store and access model, deploying Barbican in infrastructure you control, integrating consumers such as encrypted Cinder volumes and Octavia TLS certificates, documenting operations and handing over. Testing covers functional checks of secret creation, retrieval and policy, plus failure and restore tests where the scope agrees to them.

It does not cover issuing certificates from a public authority or running a key service you have not chosen. DeployOpen prepares systems, controls and evidence for compliance assessments, but independent auditors and certification bodies issue reports. Confirm every exclusion in the written scope before work starts.

What breaks most often in a Barbican deployment?

Most problems sit at the boundaries between services: Keystone authentication and token validation, network paths to the secret store back end, and access policy that denies a consuming service read access to a secret.

Encrypted Cinder volumes fail when the key reference is missing or the consuming project lacks permission, which usually appears as failed volume creation or attachment. Octavia listeners fail to retrieve certificates when container references are wrong or the amphora cannot reach Barbican. Test each consumer with a test secret before cutover, confirm back end health and key material backups, and log authorization denials so access policy changes stay visible.

Which checks should we run before accepting a Barbican deployment?

Acceptance should prove that secrets behave correctly under your policy, not only that services start. Check secret creation, retrieval and deletion for each secret type under each project role. Confirm access control by testing that a user outside the allowed project is denied.

Run an encrypted Cinder volume create, attach and restore test, and an Octavia listener test that fetches its TLS container. Verify the back end, the rotation procedure and a restore of key material in a separate environment. Record results and the owners who signed off, because auditors may ask for this record as evidence.

How DeployOpen works on this

DeployOpen plans, implements, hardens, documents and supports OpenStack Barbican key manager inside infrastructure you control, including your cloud accounts, data centers or air-gapped networks. Each engagement starts from a written scope that sets out which Barbican use cases, secret store back ends and integrations are covered before any build work begins.

How we scope

  • Written scope lists which Barbican use cases are covered, such as certificates, keys, or encrypted Cinder volumes.
  • Scope records the secret store back end, its location and the OpenStack release the deployment targets.
  • Access policy, Keystone roles and the Octavia or Cinder consumers that will read secrets are defined up front.

How we build

  • Barbican is deployed on the chosen OpenStack release, with the Kolla-Ansible or OpenStack-Ansible method agreed in scope.
  • Secret store back ends and their encryption settings are configured and tested against the consuming services.
  • Each consumer integration, including Cinder encryption and Octavia TLS certificate retrieval, is verified end to end before handover.

How we hand over

  • Handover includes runbooks for secret creation, rotation, access grants and recovery of the key store.
  • Documentation records configuration, policy files and test results so your team can reproduce the deployment.
  • Your engineers run a walkthrough of operational procedures and receive the written deliverables listed in the scope.

How we support

  • Ongoing support, upgrades and continuous testing are available as a retainer after handover.
  • Upgrade planning follows the OpenStack release cadence, and Barbican changes are checked against your release target.
  • Confirm with us in the quote which support hours, response processes and testing cadence are included in the retainer.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.