GEOSTORE(8)
β¨ GEOSTORE(8) β¨
okay bestie, pull up a chair, because this is geostore from the (8) section of the manual β aka the geo cluster attribute manager π
and she is lowkey the backbone of your GEO cluster's gossip network.
πΈ NAME πΈ
geostore β geo cluster attribute manager π«Ά
π SYNOPSIS π
geostore set [-t ticket] [-s site] [-c config] attribute value
geostore get [-t ticket] [-s site] [-c config] attribute
geostore delete [-t ticket] [-s site] [-c config] attribute
geostore list [-t ticket] [-s site] [-c config]
π DESCRIPTION π
so like, apps running in GEO cluster environments sometimes need more info than just tickets to make their little decisions. the iconic example? the status of data replication. your app is nosy, it wants tea, and geostore is here to serve it ββ¨
geostore is a helper program that manages site attributes. and here's the key detail, bestie β attributes are defined on a per-ticket basis, meaning every ticket can have one or more attributes. it's giving "everyone gets their own locker" energy π
she can:
- set an attribute value βοΈ
- retrieve an attribute π
- delete it ποΈ
the attributes get stored in the CIB status section, which is managed by the pacemaker cib process. and boothd(8) is the one providing transport for attributes to other sites β she's the βοΈ of the operation.
then crm_ticket(8) gets invoked at the target site to actually manage the attributes. teamwork makes the dream work, fr fr π«Ά
π SHORT EXAMPLES π
# geostore set -t ticket-A -s other bigdb-repl-status UPTODATE
# geostore get -t ticket-A -s other bigdb-repl-status
# geostore delete -t ticket-A -s 44.0.0.61 bigdb-repl-status
# geostore list -t ticket-A -s other
β¨ OPTIONS β¨
-tβ the ticket scope of the attribute. this one is required if more than one ticket is configured, so don't come in here ticketless bestie ποΈ-sβ the site address or name where the attribute is gonna be stored or retrieved πΊοΈ- the special value
'other'can be used to specify the other site. obviously, in that case, the booth configuration must have exactly two sites defined. no cap, two, that's the number π―
- the special value
-c configfileβ which configuration to use πΎ- this can be either a full path to a configuration file, or just a short name β and if it's a short name, the directory
/etc/boothand the suffix.confget added on for you. per defaultboothis used, which results in the path/etc/booth/booth.conf. iconic default behaviour, we love a shortcut π
- this can be either a full path to a configuration file, or just a short name β and if it's a short name, the directory
-h,--helpβ gives you a short usage output. when in doubt, ask for help, that's main character energy πββοΈ
π COMMANDS π
setβ sets the attribute to the value βοΈgetβ gets the attribute value and prints it to stdout. but if the attribute doesn't exist? appropriate error message gets printed to stderr. sad girl hours but at least it tells you πdeleteβ deletes the attribute. and bestie, if the attribute doesn't exist, an appropriate error message is printed to stderr. same energy πlistβ lists all attributes and their values stored at the site. full inventory, no crumbs left behind π
β EXIT STATUS β
0β success, we ate, no crumbs π½οΈβ¨1β request failed or bad usage. it's giving "oop" π
π¦ RESOURCES π¦
GitHub: https://github.com/ClusterLabs/booth
π COPYING π
Copyright Β© 2015 Dejan Muhamedagic dmuhamedagic@suse.com
Free use of this software is granted under the terms of the GNU General Public License (GPL) as of version 2 (see COPYING file) or later.
πΈ SEE ALSO πΈ
reminder bestie:-tis required when you've got more than one ticket configured, and'other'only works if your booth config has exactly two sites. don't say I didn't warn you π
and that's the whole page, angel π this was GEOSTORE(8), dated 2026-02-03 β go forth and manage those site attributes, you absolute icon πβ¨
π¦ where this page comes from
- ubuntu resolute: booth 1.2-3ubuntu2 Β· GPL-2.0-or-later
- ubuntu stonking: booth 1.2-3ubuntu2 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms