container-sync-realms.conf(5)
π container-sync-realms.conf(5) β the OpenStack Swift container sync realms config, explained by your fave β¨
okay so bestie, this is the manual page for container-sync-realms.conf, which lives under OpenStack Swift. Pull up a chair, grab a boba, we're doing config files today π
πΈ NAME πΈ
container-sync-realms.conf β the configuration file for the OpenStack Swift container sync realms π
π¦ SYNOPSIS π¦
container-sync-realms.conf
β¨ DESCRIPTION β¨
So this is the config file the Object storage Swift uses to do container-to-container synchronization. Basically, this file is how you set up clusters to allow and accept sync requests to and from other clusters. In it, you tell Swift where to sync your container to, plus a secret synchronization key to keep things on lock π
Want more info on container-to-container sync? It's all at:
https://docs.openstack.org/swift/latest/overview_container_sync.html
The file follows python-pastedeploy syntax. It's split into sections, and sections are wrapped in square brackets. Each section holds some key/value parameters, and we'll get into those below.
Any line that starts with a # symbol? Ignored. Trashed. Not the vibe. π
More on the python-pastedeploy config format here:
https://docs.pylonsproject.org/projects/pastedeploy/en/latest/#config-format
π GLOBAL SECTION π
This one is marked by the section named [DEFAULT]. Here's what's allowed in there:
mtime_check_intervalβ how many seconds pass between checks of this config file's modified time to see if it changed and needs reloading. The default value is300. β°
π REALM SECTIONS π
Every section name here is the name of a sync realm, like [realm1]. A sync realm is a set of clusters that agreed to let each other do container syncing. Realm names are treated as case insensitive, no cap. Here's what's allowed inside:
cluster_clustername1β any value in the realm section whose name begins withcluster_indicates the name and endpoint of a cluster, and external users will use it in their container'sX-Container-Sync-Tometadata header values, formatted like"realm_name/cluster_name/container_name". The Realm and cluster names are considered case insensitive. π«cluster_clustername2β same deal, bestie: any value in the realm section whose name begins withcluster_indicates the name and endpoint of a cluster, and external users use it in their container'sX-Container-Sync-Tometadata header values, formatted like"realm_name/cluster_name/container_name". The Realm and cluster names are considered case insensitive.
The endpoint is what the container sync daemon uses when it sends requests out to that cluster. Big heads-up: this endpoint must be reachable by all container servers, because that's where the container sync daemon actually runs π«Ά Also note the endpoint ends with /v1/, and after that the container sync daemon adds the account/container/obj name.
keyβ this is the overall cluster-to-cluster key, used together with the external users' key that they set on their containers'X-Container-Sync-Keymetadata header values. These keys sign every request the container sync daemon makes, and they validate every incoming container sync request. πkey2β optional! An additional key that incoming requests get checked against. This is so you can rotate keys if you want: you move the existing key over tokey2and make a newkeyvalue. So slick π§
π EXAMPLE π
[DEFAULT]
mtime_check_interval = 300
[realm1]
key = realm1key
key2 = realm1key2
cluster_clustername1 = https://host1/v1/
cluster_clustername2 = https://host2/v1/
[realm2]
key = realm2key
key2 = realm2key2
cluster_clustername3 = https://host3/v1/
cluster_clustername4 = https://host4/v1/
π DOCUMENTATION π
Want the deep dive? More in-depth docs about swift-container-sync and about OpenStack Swift as a whole live at:
https://docs.openstack.org/swift/latest/overview_container_sync.html
and
https://docs.openstack.org/swift/latest/
β SEE ALSO β
heads up bestie: this page is from OpenStack Swift, running on the Linux platform, and this version is dated 10/09/2017 β that's the container-sync-realms.conf(5) page, periodt. Go forth and sync responsibly π
β¨
π¦ where this page comes from
- nixos 26.05: python3.13-swift 2.37.1
- nixos 26.05: python3.14-swift 2.37.1
- nixpkgs unstable: python3.13-swift 2.38.3
- nixpkgs unstable: python3.14-swift 2.38.3
- ubuntu noble: swift-container 2.33.0-0ubuntu1 Β· Apache-2
- ubuntu noble: swift-container 2.33.0-0ubuntu1.1 Β· Apache-2
- ubuntu questing: swift-container 2.36.0-0ubuntu1
- ubuntu questing: swift-container 2.36.0-0ubuntu1.1
- ubuntu resolute: swift-container 2.37.1-0ubuntu2 Β· Apache-2
- ubuntu resolute: swift-container 2.37.1-0ubuntu2.1 Β· Apache-2
- ubuntu stonking: swift-container 2.38.2-0ubuntu1 Β· Apache-2
- Copyright (c) 2010-2017 OpenStack Foundation
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms