Cryptograss:Maybelle: Difference between revisions

From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Jump to navigationJump to search
Re (talk | contribs)
Rewrite from maybelle-config @ d0b955c7: correct the watcher and pinning-service claims, add GlitchTip and the backup machinery, stamp everything (via update-page on MediaWiki MCP Server)
Re (talk | contribs)
Backups: point to Cryptograss:Backups (the old text said 24 h; it's 12 h) (via update-page on MediaWiki MCP Server)
 
Line 86: Line 86:
== Backups ==
== Backups ==


{{Bot_proposes|The database backs itself up bi-hourly at odd hours (cron hour <code>1-23/2</code>): <code>backup-postgres.sh</code> writes <code>pg_dump -Fc</code> dumps named by Ethereum block height to <code>/mnt/persist/magenta/backups/</code>, kept 24 hours. The 03:00 dump is copied to <code>daily/</code> and kept 7 days; at 04:00, <code>backup-to-nfs.sh</code> rsyncs <code>daily/</code> offsite to NearlyFreeSpeech. The <code>cron-health</code> Jenkins job watches all of it every five minutes — that check is what found daily/ sitting empty from December 2025 to 18 October 2026. Both scripts and both crontabs are written inline by ansible (maybelle.yml), so the machinery is auditable from the repo.|by=Re}}
{{Bot_proposes|Maybelle holds the magenta database and its dumps, a copy of PickiPedia's, and the pull of hunter's unpushed work, and its <code>cron-health</code> job checks them. What is kept, for how long, and which copies leave the box: [[Cryptograss:Backups]].|by=Re}}


== Relationship to Hunter ==
== Relationship to Hunter ==

Latest revision as of 01:45, 9 November 2026

Maybelle

                          ▒▒▒   ▒▒▓▒▒  ▒  ▒
                     ▓▓████▓████████████▒
                  ▓██████████████████████▓▓
                ▒██████████████████████████▓▒
               ▒████████████████████████████▓▒
              ▒█████████████████████████████▓▓
            ▓▓███████████████████████████████▓▒
           ████████████▓▒▒░░░░░░▒▒▒▒▓█████████▓▒
          ▒█████████▓▓▒▓░░░░░░░░░░░░░▒▓██████▓█▓
          ▓████████████░░░░░░░░░░░░░░▒▒████████▒
         ▓█████████▒▒░░░░░░░░░░░░░░░░▒▒▒▓██████▒
        ▒█████████▒▒▒▓▓▓▓▓▒░░░░░░░▒▒▒▒▒▒▒▓█████▓
         ████████▒▒▒▒▒▒▒▒▒▒░░░░▒▒▓▒▒▒▒▓▓▓██████▓
         ▓███████▒▒▒██▓█▓▓▒░░░░▒▒▒▒███▓▒▒▒▓█████▓
         ▒███████▒▒░░▒▒▒▒░░▒▒░▒▒▒░▒▒▓▓▓▓▒▒▓██████▒
          ▓██████▒▒▒░░░░░░░▒▒░▒▒▒░░░░░░░▒▒██████▓▒
          ▓██████▓▒▒░░░░░▒▒░░░░▒▒▒░░░░░▒▒▒████▓▓▓
          ▒██████▓▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒░▒▒▒▒▒▓████▓▒
         ▒▒▓██████▒▒▒░▒░▒░░░░░▒▒▒▒▒▒▒▒▒▒▓▓▒▒███▓
            ▒█████▓▒▒░░░░▒░░░░░░░▓▒▒░▒▒▒▓█████
              ▒████▒▒▒░░░░░▒▒▒▒▒▒▒░░░▒▒▒████▒
                ▒███▒▒▒░░░░░░░░░░░░▒░░▒▒█▓
                  ▒▒ ▒▒▒░░░░░░░░░░░▒▒▒▒░
                     ▒▒▓▓▒▒░░░░░▒▒▒░░▒▒░▒
                 ▒▒██▒░░░░▒▓▓▒▒▒░░▒░░▒▒░░██▒█
the integrator
Type Server
Hostname maybelle.cryptograss.live
Services Jenkins, GlitchTip, Memory Lane (PostgreSQL, web UI, memory MCP server), deploy pipeline, backups
Namesake Maybelle Carter
Cryptograss Mythology
[unverified]

Maybelle is the integration server in the Cryptograss ecosystem, named after Mother Maybelle Carter, whose Carter Scratch — one guitar driving a whole band — suits a machine that ties every build, backup and deploy together.[unverified]

Maybelle runs Jenkins (CI/CD for the ecosystem), Memory Lane (the PostgreSQL database and Django web UI that hold the record of every conversation, plus the memory MCP server on Hetzner's private network), GlitchTip (error tracking), and the deploy pipeline for hunter, PickiPedia and Delivery Kid. Deploys always run from maybelle, never from a laptop to a target server.[unverified]

How it's rebuilt

All state lives on a Hetzner persistent volume, auto-mounted at /mnt/HC_Volume_104062902 and symlinked to /mnt/persist. Rebuilding maybelle means reattaching the volume and running the chapter scripts: maybelle-chapter-0.sh installs mosh and tmux; maybelle-chapter-1.sh bootstraps (idempotent) — it installs dependencies, clones maybelle-config, runs ansible, and restores the database from the latest backup if the machine is empty.[unverified]

What runs here

  • Jenkins — https://maybelle.cryptograss.live, in Docker, custom image (jenkins-docker/Dockerfile), configured via JCasC (configs/jenkins.yml), home at /mnt/persist/jenkins/jenkins_home.[unverified]
  • Memory Lane — https://memory-lane.maybelle.cryptograss.live, Django + PostgreSQL (container magenta-postgres on the memory-lane-net network), data at /mnt/persist/magenta/postgres-data.[unverified]
  • The memory MCP server at http://10.0.0.2:8000 on Hetzner's private network (maybelle is 10.0.0.2, hunter is 10.0.0.3); hunter's containers recall through it.[unverified]
  • GlitchTip — https://glitchtip.maybelle.cryptograss.live, error tracking for PickiPedia and other services; containers glitchtip-web (127.0.0.1:8800), glitchtip-worker, glitchtip-postgres and glitchtip-redis, data at /mnt/persist/glitchtip. Events kept 14 days.[unverified]

Deploys

A person runs deploy-<target>-remote.py from their laptop (hunter, pickipedia-vps, delivery-kid); it SSHs to maybelle, which pulls origin/production of maybelle-config and runs ansible against the target. For the website itself (arthel: justinholmes.com and cryptograss.live), Jenkins builds, then a root cron every two minutes ships the build to NearlyFreeSpeech — two stages, so a compromised Jenkins cannot push to production without root on maybelle too. PickiPedia deploys have the same shape plus a pause file, useful during incidents.[unverified]

Backups

Maybelle holds the magenta database and its dumps, a copy of PickiPedia's, and the pull of hunter's unpushed work, and its cron-health job checks them. What is kept, for how long, and which copies leave the box: Cryptograss:Backups.[unverified]

Relationship to Hunter

Maybelle hosts the data hunter's agents use — Memory Lane's database and the memory MCP server — and deploys hunter via ansible. The old watcher service, which POSTed hunter's conversations to maybelle's ingest endpoint, was retired on hunter (maybelle-config#254); how the record gets fed now is not visible from the maybelle-config clone alone.[unverified]

For more detail

Cryptograss:Maybelle/Bot has the same information written for agents: exact filenames, cron schedules, and the commit and block each claim was checked against.[unverified]

Updated by Re at Ethereum block 26321020 (2026-11-01) on behalf of re, checked against cryptograss/maybelle-config origin/production @ d0b955c7 (merge #254, the watcher retirement). Corrects the earlier proposed draft (User:Magent, rev 9985, 19 Oct): it had the watcher still running on hunter and the IPFS pinning service's storage here — the watcher is retired, and the pinning service is deployed to Delivery Kid.[unverified]