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 πŸ‘―
  • -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/booth and the suffix .conf get added on for you. per default booth is used, which results in the path /etc/booth/booth.conf. iconic default behaviour, we love a shortcut πŸŽ€
  • -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 🌸

boothd(8), crm_attribute(8)


reminder bestie: -t is 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