Skip to content

Instantly share code, notes, and snippets.

View bossjones's full-sized avatar
💭
Learning every damn thing I can

Malcolm Jones (bossjones/Tony Dark) bossjones

💭
Learning every damn thing I can
View GitHub Profile
@artsparkAI
artsparkAI / cursorrules.html
Last active June 13, 2025 01:29
example of cursorrules (ignore .html extension, just for highlighting)
You are a world-class Staff Engineer in React, Typescript, Next.js and Tailwind CSS. Your role is to generate complete,
functional front-end code based on the user's specifications. Adhere to these guidelines:
<CleanCode>
Don't Repeat Yourself (DRY)
Duplication of code can make code very difficult to maintain. Any change in logic can make the code prone to bugs or can
make the code change difficult. This can be fixed by doing code reuse (DRY Principle).
The DRY principle is stated as "Every piece of knowledge must have a single, unambiguous, authoritative representation
@kleneway
kleneway / gist:bdfbdd82d07ab80dadb9bcfb5c3a5fef
Created April 30, 2024 16:30
JACoB conversational prompt
Act as a remote junior software developer named Jacob who has been tasked with gathering requirements from a client to write up a new GitHub issue for the development team to implement. Jacob is a little bit quirky and funny, and he has a lot of respect and admiration for the client. This specific client is his favorite to work with, and he wants to make sure they have a great experience while also getting all the information needed for the GitHub issue write-up.
Your job is to have a very short, concise, friendly conversation with the client to elicit all the key details needed for the GitHub issue write-up. The issue write-up should allow another developer to fully understand the scope and requirements without needing any additional information.
Engage in the conversation using the following phases:
Phase 1: Introduction
Greet the client in a friendly manner. Explain that you will be asking them a series of questions to understand their requirements for a new software feature or bug fix. Let them know
@Drallas
Drallas / Managing and Troubleshooting.md
Last active May 16, 2025 22:57
Configure Ceph & Troubleshooting

Proxmox High Available cluster with Ceph and Dynamic Routing - Managing and Troubleshooting

Part of collection: Hyper-converged Homelab with Proxmox

This is part 3 focussing on Managing and Troubleshooting Proxmox and Ceph.

See also Part 1 about Setup Networking for a High Available cluster with Ceph, and see Part 2 for how to setup the Proxmox and Ceph Cluster itself.

WIP

@Drallas
Drallas / High Available Pi-hole failover cluster using Keepalived and Orbital Sync.md
Last active July 11, 2025 17:29
High Available Pi-hole failover cluster using Keepalived and Orbital Sync

Build a Proxmox High Available cluster with Ceph

Part of collection: Hyper-converged Homelab with Proxmox

This is part 2 focussing on building the Proxmox Cluster and setting up Ceph.

See also Part 1 about Setup Networking for a High Available cluster with Ceph, and see Part 2 for how to setup the Proxmox and Ceph Cluster itself, and part 3 focussing on Managing and Troubleshooting Proxmox and Ceph.

If everything went well in part 1, setting up Proxmox and Ceph should be 'a walk in the park'!

Build a Hyper-converged Proxmox HA Cluster with Ceph

Part of collection: Hyper-converged Homelab with Proxmox

This is part 1 focussing on the networking part of building a Proxmox High Available cluster with Ceph.

Part 2 focusses on building the Proxmox Cluster and setting up Ceph itself, and part 3 focussing on Managing and Troubleshooting Proxmox and Ceph.

Why

For some time, I was looking for options to build a Hyper-converged (HCI) Homelab, considering options like TrueNAS Scale, SUSE Harvester) among other option.

Hyper-converged High Available Homelab with Proxmox

This is me documenting my journey moving my Homelab from a Qnap NAS and a Single host Proxmox server to a Hyper-converged multi-node Proxmox Cluster.

The reason to document it here is twofold:

  1. Information often it scattered 'all over the place', but never 100% applicable to the setup I have.
  2. To remember 'what the fuck' did I do some months ago.
  3. Writing it for 'a public' forces me to think it all through again and make sure it's correct.

It's written 'first to scratch my own itch' but hopefully it benefits others too, or even better, that others improve upon my implementations. Feel free to comment or share improvements and insights!

Create Erasure Coded CephFS Pools

Part of collection: Hyper-converged Homelab with Proxmox

How to create a Erasure Coded Pool in Ceph and use 'directory pinning' to connect it to the CephFS filesystem.

To use a Erasure Coded Pool with CephFS, a directory inside the CephFS filesystem needs to be connected to a Erasure Coded Pool, this is called 'directory pinning'.


Mount Volumes into Proxmox VMs with Virtio-fs

Part of collection: Hyper-converged Homelab with Proxmox

15-04-2025: Seems Proxmox added this now to the GUI; see Using VirtioFS backed by CephFS for bind mounts how to use it.

Virtio-fs is a shared file system that lets virtual machines access a directory tree on the host. Unlike existing approaches, it is designed to offer local file system semantics and performance. The new virtiofsd-rs Rust daemon Proxmox 8 uses, is receiving the most attention for new feature development.

Performance is very good (while testing, almost the same as on the Proxmox host)

@Erisa
Erisa / node_exporter.sh
Last active May 18, 2025 15:30 — forked from galexrt/node_exporter.sh
Simple Prometheus node_exporter install script (Updated for 1.0.1)
#!/bin/bash
set +x
version="${VERSION:-1.6.1}"
arch="${ARCH:-linux-amd64}"
bin_dir="${BIN_DIR:-/usr/local/bin}"
wget "https://github.com/prometheus/node_exporter/releases/download/v$version/node_exporter-$version.$arch.tar.gz" \
-O /tmp/node_exporter.tar.gz