Create an external Ceph Cluster for all your Kubernetes clusters.
INSTALL CEPHADM
- Prerequisites:
- 3 VMs, with unused disks
- Python 3, Cephadm is a Python-based utility
| /* | |
| * arena.h — Single-header arena allocator (STB-style) | |
| * | |
| * USAGE | |
| * ----- | |
| * In exactly ONE .c file, before including this header: | |
| * | |
| * #define ARENA_IMPLEMENTATION | |
| * #include "arena.h" | |
| * |
| { | |
| "acls": [ | |
| {"action": "accept", "src": ["*"], "dst": ["*:*"]} | |
| ], | |
| "ssh": [ | |
| {"action": "accept", "src": ["autogroup:member"], "dst": ["autogroup:member"], "users": ["root"]} | |
| ] | |
| } |
| services: | |
| headscale: | |
| image: docker.io/headscale/headscale:stable | |
| restart: unless-stopped | |
| container_name: headscale | |
| read_only: true | |
| tmpfs: | |
| - /var/run/headscale | |
| ports: | |
| - "27896:8080" |
| # =========================================== | |
| # ZSH Hacks - Dreams of Code | |
| # =========================================== | |
| # Add these to your .zshrc file | |
| # =========================================== | |
| # ------------------------------------------- | |
| # 1. Edit Command Buffer | |
| # ------------------------------------------- | |
| # Open the current command in your $EDITOR (e.g., neovim) |
| import { Client } from "@upstash/qstash" | |
| import { NextRequest } from "next/server" | |
| const baseUrl = process.env.NEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URL | |
| ? `https://${process.env.NEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URL}` | |
| : "http://localhost:3000" | |
| interface Step<I> { | |
| create: <O>(action: (prevResult: Awaited<I>) => O) => Step<O> | |
| finally: (action: (prevResult: Awaited<I>) => any) => any |
| // Types for the result object with discriminated union | |
| type Success<T> = { | |
| data: T; | |
| error: null; | |
| }; | |
| type Failure<E> = { | |
| data: null; | |
| error: E; | |
| }; |
A list of CLI generators, starter kits / boilerplates and toolkits to kick start your Next.js apps.
| import { Client } from "@upstash/qstash" | |
| import { NextRequest } from "next/server" | |
| const baseUrl = process.env.NEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URL | |
| ? `https://${process.env.NEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URL}` | |
| : "http://localhost:3000" | |
| interface Step<I> { | |
| create: <O>(action: (prevResult: Awaited<I>) => O) => Step<O> | |
| finally: (action: (prevResult: Awaited<I>) => any) => any |
| Please see https://mattdyson.org/blog/2024/02/using-traefik-with-cloudflare-tunnels for a detailed write-up of this configuration |