{"id":16554500,"url":"https://github.com/tkphd/bramble-config","last_synced_at":"2026-05-16T08:04:36.116Z","repository":{"id":148157459,"uuid":"120527391","full_name":"tkphd/bramble-config","owner":"tkphd","description":"Configuration files for a Bramble (RPi3 cluster)","archived":false,"fork":false,"pushed_at":"2020-06-16T14:58:02.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-08T12:53:22.570Z","etag":null,"topics":["ansible-playbooks","bramble","configuration-files","parallel-computing","raspberry-pi-3","raspberry-pi-cluster"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tkphd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-02-06T21:48:46.000Z","updated_at":"2018-02-06T23:37:18.000Z","dependencies_parsed_at":"2023-05-19T08:15:33.932Z","dependency_job_id":null,"html_url":"https://github.com/tkphd/bramble-config","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tkphd/bramble-config","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkphd%2Fbramble-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkphd%2Fbramble-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkphd%2Fbramble-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkphd%2Fbramble-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tkphd","download_url":"https://codeload.github.com/tkphd/bramble-config/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkphd%2Fbramble-config/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274416427,"owners_count":25280949,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-10T02:00:12.551Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible-playbooks","bramble","configuration-files","parallel-computing","raspberry-pi-3","raspberry-pi-cluster"],"created_at":"2024-10-11T19:51:36.987Z","updated_at":"2026-05-16T08:04:31.086Z","avatar_url":"https://github.com/tkphd.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"```\n      .                               .      .;\n    .'                              .'      .;'\n   ;-.    .;.::..-.    . ,';.,';.  ;-.     .;  .-.\n  ;   ;   .;   ;   :   ;;  ;;  ;; ;   ;   :: .;.-'\n.'`::'`-.;'    `:::'-'';  ;;  ';.'`::'`-_;;_.-`:::'\n                     _;        `-'\n```\n\nConfiguration files to generate a [bramble][brm], or\ncluster of [Raspberry Pi 3][rpi] single-board computers\nrunning [Raspbian][rsp] and managed using [Ansible][ans].\n\n## *Caveat Emptor*\n\nEach computer in the bramble has a 4-core [CPU][cpu] at\n1.2 GHz, 1 GB RAM, a micro SD slot for boot media, four\nUSB 2.0 ports, 100 Mbit Ethernet, and WiFi. Creating a\ncluster is instructive and useful for IT infrastructure\ntesting, especially [queuing system][slr], [file system][zfs],\nand [container][sin] research.\n\nIt is ***not*** intended to perform useful computational tasks.\nThere are [better][mms] [tools][hpc] for that.\n\n## Layout\n\nThe files contained in this repository will be most useful to you\nif your bramble contains at least three [nodes][nod], for example:\n\n####  `head`\nThe primary point of contact between your Bramble and the outside\nnetwork, this node serves administrative duties, only. Configured\nwith an 8 GB microSD card and 16 GB USB stick.\n\n#### `data`\nThe primary point of contact for network data stores, this node\nserves data and database duties, only. Configured with an 8 GB\nmicroSD card and 64 GB USB stick.\n\n#### `r1n1`\nThe first node (`n1`) on the first rack (`r1`) serves computational\nduties, as well as light data service for other nodes on its rack\nwhen a distributed filesystem (*e.g.*, [Lustre][lst]) is installed.\nConfigured with an 8 GB microSD card and 16 GB USB stick.\n\n#### `r1nX`\nThe balance of nodes on the first rack (`r1`) serve computational duty,\nonly. Configured with an 8 GB microSD card and 16 GB USB stick.\n\n### Interconnect\nTo reduce latency, the nodes have wired Ethernet connections to a Gigabit\nswitch. This switch is not connected to a DHCP server, so static IP\naddresses are assigned on `192.168.3.100/24`. The translation from name\nto IP is `100 + 10*rack + node`. So, for example, `r1n1` is `192.168.3.111`,\n`r1n4` is `192.168.3.114`; `head`, or `r0n1`, is `192.168.3.101`, and\n`data` is `192.168.3.102`. For convenience, and software updates, WiFi\nis also enabled on all nodes. A more representative configuration for\na HPC cluster would funnel traffic through `head`, or a router at\n`192.168.3.1`, but this introduces unnecessary complications to the setup.\nThis is, after all, meant to be fun :-)\n\n[![Public Domain](https://i.creativecommons.org/p/mark/1.0/80x15.png)][cc0]\n\n[ans]: https://www.ansible.com/\n[brm]: https://www.jeffgeerling.com/blog/2015/how-build-your-own-raspberry-pi-cluster-bramble\n[cc0]: https://creativecommons.org/publicdomain/zero/1.0/\n[cpu]: https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2837/README.md\n[hpc]: https://github.com/usnistgov/hiperc\n[lst]: http://lustre.org/\n[mms]: https://github.com/mesoscale/mmsp\n[nod]: https://www.cise.ufl.edu/research/ParallelPatterns/glossary.htm#glossary:node\n[rpi]: https://www.raspberrypi.org/products/raspberry-pi-3-model-b/\n[rsp]: https://raspbian.org/\n[sin]: http://singularity.lbl.gov/\n[slr]: https://slurm.schedmd.com/\n[zfs]: http://zfsonlinux.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftkphd%2Fbramble-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftkphd%2Fbramble-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftkphd%2Fbramble-config/lists"}