Compare commits
5 Commits
0.32.0
...
c973663733
| Author | SHA1 | Date | |
|---|---|---|---|
|
c973663733
|
|||
| d603565d6e | |||
| 2564c18266 | |||
|
|
720efcec9f | ||
| a4dcf8515d |
@@ -1,3 +1,10 @@
|
||||
# [0.33.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.32.0...0.33.0) (2026-05-13)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* spell check pass ([a4dcf85](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/a4dcf8515da4f3eb81a5b09f7cb719c95d99f804))
|
||||
|
||||
# [0.32.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.31.0...0.32.0) (2026-05-13)
|
||||
|
||||
|
||||
|
||||
26
bun.lock
26
bun.lock
@@ -5,13 +5,13 @@
|
||||
"": {
|
||||
"name": "site-documentation",
|
||||
"dependencies": {
|
||||
"@astrojs/mdx": "5.0.4",
|
||||
"@astrojs/node": "10.1.0",
|
||||
"@astrojs/mdx": "5.0.5",
|
||||
"@astrojs/node": "10.1.1",
|
||||
"@astrojs/sitemap": "3.7.2",
|
||||
"@astrojs/starlight": "0.39.2",
|
||||
"@tailwindcss/postcss": "4.3.0",
|
||||
"@tailwindcss/vite": "4.3.0",
|
||||
"astro": "6.3.1",
|
||||
"astro": "6.3.2",
|
||||
"sanitize-html": "2.17.3",
|
||||
"sharp": "0.34.5",
|
||||
"starlight-theme-rapide": "0.5.2",
|
||||
@@ -53,15 +53,15 @@
|
||||
|
||||
"@astrojs/compiler": ["@astrojs/compiler@2.13.1", "", {}, "sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg=="],
|
||||
|
||||
"@astrojs/internal-helpers": ["@astrojs/internal-helpers@0.9.0", "", { "dependencies": { "picomatch": "^4.0.4" } }, "sha512-GdYkzR26re8izmyYlBqf4z2s7zNngmWLFuxw0UKiPNqHraZGS6GKWIwSHgS22RDlu2ePFJ8bzmpBcUszut/SDg=="],
|
||||
"@astrojs/internal-helpers": ["@astrojs/internal-helpers@0.9.1", "", { "dependencies": { "picomatch": "^4.0.4" } }, "sha512-1pWuARqYom/TzuU3+0ZugsTrKlUydWKuULmDqSMTuonY+9IRDUEGKX/8PXQ1nBxRq3w85uGtd9q9SXfqEldMIQ=="],
|
||||
|
||||
"@astrojs/markdown-remark": ["@astrojs/markdown-remark@7.1.1", "", { "dependencies": { "@astrojs/internal-helpers": "0.9.0", "@astrojs/prism": "4.0.1", "github-slugger": "^2.0.0", "hast-util-from-html": "^2.0.3", "hast-util-to-text": "^4.0.2", "js-yaml": "^4.1.1", "mdast-util-definitions": "^6.0.0", "rehype-raw": "^7.0.0", "rehype-stringify": "^10.0.1", "remark-gfm": "^4.0.1", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.2", "remark-smartypants": "^3.0.2", "retext-smartypants": "^6.2.0", "shiki": "^4.0.0", "smol-toml": "^1.6.0", "unified": "^11.0.5", "unist-util-remove-position": "^5.0.0", "unist-util-visit": "^5.1.0", "unist-util-visit-parents": "^6.0.2", "vfile": "^6.0.3" } }, "sha512-C6e9BnLGlbdv6bV8MYGeHpHxsUHrCrB4OuRLqi5LI7oiBVcBcqfUN06zpwFQdHgV48QCCrMmLpyqBr7VqC+swA=="],
|
||||
"@astrojs/markdown-remark": ["@astrojs/markdown-remark@7.1.2", "", { "dependencies": { "@astrojs/internal-helpers": "0.9.1", "@astrojs/prism": "4.0.2", "github-slugger": "^2.0.0", "hast-util-from-html": "^2.0.3", "hast-util-to-text": "^4.0.2", "js-yaml": "^4.1.1", "mdast-util-definitions": "^6.0.0", "rehype-raw": "^7.0.0", "rehype-stringify": "^10.0.1", "remark-gfm": "^4.0.1", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.2", "remark-smartypants": "^3.0.2", "retext-smartypants": "^6.2.0", "shiki": "^4.0.0", "smol-toml": "^1.6.0", "unified": "^11.0.5", "unist-util-remove-position": "^5.0.0", "unist-util-visit": "^5.1.0", "unist-util-visit-parents": "^6.0.2", "vfile": "^6.0.3" } }, "sha512-caXZ4Dc2St2dW8luEg22GlP0gupLdztCTQE4EzZOxW1pqWXz9mbeJEuHUkgDYcKWW8tjIHkydYDhWLVoxJ327Q=="],
|
||||
|
||||
"@astrojs/mdx": ["@astrojs/mdx@5.0.4", "", { "dependencies": { "@astrojs/markdown-remark": "7.1.1", "@mdx-js/mdx": "^3.1.1", "acorn": "^8.16.0", "es-module-lexer": "^2.0.0", "estree-util-visit": "^2.0.0", "hast-util-to-html": "^9.0.5", "piccolore": "^0.1.3", "rehype-raw": "^7.0.0", "remark-gfm": "^4.0.1", "remark-smartypants": "^3.0.2", "source-map": "^0.7.6", "unist-util-visit": "^5.1.0", "vfile": "^6.0.3" }, "peerDependencies": { "astro": "^6.0.0" } }, "sha512-tSbuuYueNODiFAFaME7pjHY5lOLoxBYJi1cKd6scw9+a4ZO7C7UGdafEoVAQvOV2eO8a6RaHSAJYGVPL1w8BPA=="],
|
||||
"@astrojs/mdx": ["@astrojs/mdx@5.0.5", "", { "dependencies": { "@astrojs/markdown-remark": "7.1.2", "@mdx-js/mdx": "^3.1.1", "acorn": "^8.16.0", "es-module-lexer": "^2.0.0", "estree-util-visit": "^2.0.0", "hast-util-to-html": "^9.0.5", "piccolore": "^0.1.3", "rehype-raw": "^7.0.0", "remark-gfm": "^4.0.1", "remark-smartypants": "^3.0.2", "source-map": "^0.7.6", "unist-util-visit": "^5.1.0", "vfile": "^6.0.3" }, "peerDependencies": { "astro": "^6.0.0" } }, "sha512-liX+FBgTKYihiyPvxxP+7Jb4ofaDwl/H+f8bnmv0VrY4TjEoFYtRP9NCTmtEPkhOH+YJiLV6mD+1wQdeo1Itvg=="],
|
||||
|
||||
"@astrojs/node": ["@astrojs/node@10.1.0", "", { "dependencies": { "@astrojs/internal-helpers": "0.9.0", "send": "^1.2.1", "server-destroy": "^1.0.1" }, "peerDependencies": { "astro": "^6.3.0" } }, "sha512-4/2oqUTQ71UQ8+xX249T4l/d0/YkC5ssOVl4R2yQO7Wg4mOnvsq9Z9iaTkWAyElg3lqZq7XRNCEXCmDNiYcW1A=="],
|
||||
"@astrojs/node": ["@astrojs/node@10.1.1", "", { "dependencies": { "@astrojs/internal-helpers": "0.9.1", "send": "^1.2.1", "server-destroy": "^1.0.1" }, "peerDependencies": { "astro": "^6.3.0" } }, "sha512-kCRbxconkgPpY4vR0GS7exovWEiCbxXLarsp+JeKixyDNf+fKN6v7jXDL8KdQgrzjhy131Kvl+GGGX8jGd8adA=="],
|
||||
|
||||
"@astrojs/prism": ["@astrojs/prism@4.0.1", "", { "dependencies": { "prismjs": "^1.30.0" } }, "sha512-nksZQVjlferuWzhPsBpQ1JE5XuKAf1id1/9Hj4a9KG4+ofrlzxUUwX4YGQF/SuDiuiGKEnzopGOt38F3AnVWsQ=="],
|
||||
"@astrojs/prism": ["@astrojs/prism@4.0.2", "", { "dependencies": { "prismjs": "^1.30.0" } }, "sha512-KTivpmnz6lDsC6o9H4+DNm2SrE/GHzw8cNAvEJwAvUT+eoaEnn/4NtbDNfRRaxaJHdp15gf+tfHAWiXR4wB3BA=="],
|
||||
|
||||
"@astrojs/sitemap": ["@astrojs/sitemap@3.7.2", "", { "dependencies": { "sitemap": "^9.0.0", "stream-replace-string": "^2.0.0", "zod": "^4.3.6" } }, "sha512-PqkzkcZTb5ICiyIR8VoKbIAP/laNRXi5tw616N1Ckk+40oNB8Can1AzVV56lrbC5GKSZFCyJYUVYqVivMisvpA=="],
|
||||
|
||||
@@ -521,7 +521,7 @@
|
||||
|
||||
"astring": ["astring@1.9.0", "", { "bin": { "astring": "bin/astring" } }, "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg=="],
|
||||
|
||||
"astro": ["astro@6.3.1", "", { "dependencies": { "@astrojs/compiler": "^4.0.0", "@astrojs/internal-helpers": "0.9.0", "@astrojs/markdown-remark": "7.1.1", "@astrojs/telemetry": "3.3.2", "@capsizecss/unpack": "^4.0.0", "@clack/prompts": "^1.1.0", "@oslojs/encoding": "^1.1.0", "@rollup/pluginutils": "^5.3.0", "aria-query": "^5.3.2", "axobject-query": "^4.1.0", "ci-info": "^4.4.0", "clsx": "^2.1.1", "common-ancestor-path": "^2.0.0", "cookie": "^1.1.1", "devalue": "^5.6.3", "diff": "^8.0.3", "dset": "^3.1.4", "es-module-lexer": "^2.0.0", "esbuild": "^0.27.3", "flattie": "^1.1.1", "fontace": "~0.4.1", "get-tsconfig": "5.0.0-beta.4", "github-slugger": "^2.0.0", "html-escaper": "3.0.3", "http-cache-semantics": "^4.2.0", "js-yaml": "^4.1.1", "jsonc-parser": "^3.3.1", "magic-string": "^0.30.21", "magicast": "^0.5.2", "mrmime": "^2.0.1", "neotraverse": "^0.6.18", "obug": "^2.1.1", "p-limit": "^7.3.0", "p-queue": "^9.1.0", "package-manager-detector": "^1.6.0", "piccolore": "^0.1.3", "picomatch": "^4.0.4", "rehype": "^13.0.2", "semver": "^7.7.4", "shiki": "^4.0.2", "smol-toml": "^1.6.0", "svgo": "^4.0.1", "tinyclip": "^0.1.12", "tinyexec": "^1.0.4", "tinyglobby": "^0.2.15", "ultrahtml": "^1.6.0", "unifont": "~0.7.4", "unist-util-visit": "^5.1.0", "unstorage": "^1.17.5", "vfile": "^6.0.3", "vite": "^7.3.2", "vitefu": "^1.1.2", "xxhash-wasm": "^1.1.0", "yargs-parser": "^22.0.0", "zod": "^4.3.6" }, "optionalDependencies": { "sharp": "^0.34.0" }, "bin": { "astro": "bin/astro.mjs" } }, "sha512-atz6dmkE3Gu24bDgb7g2RE/BYnKqPYIHd6hTUM1UXvu/i7qNZOKLAqEHvgYpv9PQVcgWsXpk4/OOXZ0E/FzvSQ=="],
|
||||
"astro": ["astro@6.3.2", "", { "dependencies": { "@astrojs/compiler": "^4.0.0", "@astrojs/internal-helpers": "0.9.1", "@astrojs/markdown-remark": "7.1.2", "@astrojs/telemetry": "3.3.2", "@capsizecss/unpack": "^4.0.0", "@clack/prompts": "^1.1.0", "@oslojs/encoding": "^1.1.0", "@rollup/pluginutils": "^5.3.0", "aria-query": "^5.3.2", "axobject-query": "^4.1.0", "ci-info": "^4.4.0", "clsx": "^2.1.1", "common-ancestor-path": "^2.0.0", "cookie": "^1.1.1", "devalue": "^5.6.3", "diff": "^8.0.3", "dset": "^3.1.4", "es-module-lexer": "^2.0.0", "esbuild": "^0.27.3", "flattie": "^1.1.1", "fontace": "~0.4.1", "get-tsconfig": "5.0.0-beta.4", "github-slugger": "^2.0.0", "html-escaper": "3.0.3", "http-cache-semantics": "^4.2.0", "js-yaml": "^4.1.1", "jsonc-parser": "^3.3.1", "magic-string": "^0.30.21", "magicast": "^0.5.2", "mrmime": "^2.0.1", "neotraverse": "^0.6.18", "obug": "^2.1.1", "p-limit": "^7.3.0", "p-queue": "^9.1.0", "package-manager-detector": "^1.6.0", "piccolore": "^0.1.3", "picomatch": "^4.0.4", "rehype": "^13.0.2", "semver": "^7.7.4", "shiki": "^4.0.2", "smol-toml": "^1.6.0", "svgo": "^4.0.1", "tinyclip": "^0.1.12", "tinyexec": "^1.0.4", "tinyglobby": "^0.2.15", "ultrahtml": "^1.6.0", "unifont": "~0.7.4", "unist-util-visit": "^5.1.0", "unstorage": "^1.17.5", "vfile": "^6.0.3", "vite": "^7.3.2", "vitefu": "^1.1.2", "xxhash-wasm": "^1.1.0", "yargs-parser": "^22.0.0", "zod": "^4.3.6" }, "optionalDependencies": { "sharp": "^0.34.0" }, "bin": { "astro": "./bin/astro.mjs" } }, "sha512-Wvl/420m99OjKRH9Q+Vk7JBed8H39n66R61FG2ty0yZjQXBplIIXvJWYXUouMn2U4znfjpYe1HLOA2Rpet6uog=="],
|
||||
|
||||
"astro-eslint-parser": ["astro-eslint-parser@1.4.0", "", { "dependencies": { "@astrojs/compiler": "^2.0.0 || ^3.0.0", "@typescript-eslint/scope-manager": "^7.0.0 || ^8.0.0", "@typescript-eslint/types": "^7.0.0 || ^8.0.0", "astrojs-compiler-sync": "^1.0.0", "debug": "^4.3.4", "entities": "^7.0.0", "eslint-scope": "^8.0.1", "eslint-visitor-keys": "^4.0.0", "espree": "^10.0.0", "fast-glob": "^3.3.3", "is-glob": "^4.0.3", "semver": "^7.3.8" } }, "sha512-+QDcgc7e+au6EZ0YjMmRRjNoQo5bDMlaR45aWDoFsuxQTCM9qmCHRoiKJPELgckJ8Wmr7vcfpa9eCDHBFh6G4w=="],
|
||||
|
||||
@@ -1733,6 +1733,10 @@
|
||||
|
||||
"@actions/http-client/undici": ["undici@6.25.0", "", {}, "sha512-ZgpWDC5gmNiuY9CnLVXEH8rl50xhRCuLNA97fAUnKi8RRuV4E6KG31pDTsLVUKnohJE0I3XDrTeEydAXRw47xg=="],
|
||||
|
||||
"@astrojs/starlight/@astrojs/markdown-remark": ["@astrojs/markdown-remark@7.1.1", "", { "dependencies": { "@astrojs/internal-helpers": "0.9.0", "@astrojs/prism": "4.0.1", "github-slugger": "^2.0.0", "hast-util-from-html": "^2.0.3", "hast-util-to-text": "^4.0.2", "js-yaml": "^4.1.1", "mdast-util-definitions": "^6.0.0", "rehype-raw": "^7.0.0", "rehype-stringify": "^10.0.1", "remark-gfm": "^4.0.1", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.2", "remark-smartypants": "^3.0.2", "retext-smartypants": "^6.2.0", "shiki": "^4.0.0", "smol-toml": "^1.6.0", "unified": "^11.0.5", "unist-util-remove-position": "^5.0.0", "unist-util-visit": "^5.1.0", "unist-util-visit-parents": "^6.0.2", "vfile": "^6.0.3" } }, "sha512-C6e9BnLGlbdv6bV8MYGeHpHxsUHrCrB4OuRLqi5LI7oiBVcBcqfUN06zpwFQdHgV48QCCrMmLpyqBr7VqC+swA=="],
|
||||
|
||||
"@astrojs/starlight/@astrojs/mdx": ["@astrojs/mdx@5.0.4", "", { "dependencies": { "@astrojs/markdown-remark": "7.1.1", "@mdx-js/mdx": "^3.1.1", "acorn": "^8.16.0", "es-module-lexer": "^2.0.0", "estree-util-visit": "^2.0.0", "hast-util-to-html": "^9.0.5", "piccolore": "^0.1.3", "rehype-raw": "^7.0.0", "remark-gfm": "^4.0.1", "remark-smartypants": "^3.0.2", "source-map": "^0.7.6", "unist-util-visit": "^5.1.0", "vfile": "^6.0.3" }, "peerDependencies": { "astro": "^6.0.0" } }, "sha512-tSbuuYueNODiFAFaME7pjHY5lOLoxBYJi1cKd6scw9+a4ZO7C7UGdafEoVAQvOV2eO8a6RaHSAJYGVPL1w8BPA=="],
|
||||
|
||||
"@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
|
||||
|
||||
"@pnpm/network.ca-file/graceful-fs": ["graceful-fs@4.2.10", "", {}, "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="],
|
||||
@@ -2169,6 +2173,10 @@
|
||||
|
||||
"wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="],
|
||||
|
||||
"@astrojs/starlight/@astrojs/markdown-remark/@astrojs/internal-helpers": ["@astrojs/internal-helpers@0.9.0", "", { "dependencies": { "picomatch": "^4.0.4" } }, "sha512-GdYkzR26re8izmyYlBqf4z2s7zNngmWLFuxw0UKiPNqHraZGS6GKWIwSHgS22RDlu2ePFJ8bzmpBcUszut/SDg=="],
|
||||
|
||||
"@astrojs/starlight/@astrojs/markdown-remark/@astrojs/prism": ["@astrojs/prism@4.0.1", "", { "dependencies": { "prismjs": "^1.30.0" } }, "sha512-nksZQVjlferuWzhPsBpQ1JE5XuKAf1id1/9Hj4a9KG4+ofrlzxUUwX4YGQF/SuDiuiGKEnzopGOt38F3AnVWsQ=="],
|
||||
|
||||
"@semantic-release/changelog/fs-extra/jsonfile": ["jsonfile@6.2.1", "", { "dependencies": { "universalify": "^2.0.0" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q=="],
|
||||
|
||||
"@semantic-release/changelog/fs-extra/universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="],
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "site-documentation",
|
||||
"type": "module",
|
||||
"version": "0.32.0",
|
||||
"version": "0.33.0",
|
||||
"scripts": {
|
||||
"dev": "astro dev",
|
||||
"build": "astro build",
|
||||
@@ -12,13 +12,13 @@
|
||||
"astro": "astro"
|
||||
},
|
||||
"dependencies": {
|
||||
"@astrojs/mdx": "5.0.4",
|
||||
"@astrojs/node": "10.1.0",
|
||||
"@astrojs/mdx": "5.0.5",
|
||||
"@astrojs/node": "10.1.1",
|
||||
"@astrojs/sitemap": "3.7.2",
|
||||
"@astrojs/starlight": "0.39.2",
|
||||
"@tailwindcss/postcss": "4.3.0",
|
||||
"@tailwindcss/vite": "4.3.0",
|
||||
"astro": "6.3.1",
|
||||
"astro": "6.3.2",
|
||||
"sanitize-html": "2.17.3",
|
||||
"sharp": "0.34.5",
|
||||
"starlight-theme-rapide": "0.5.2",
|
||||
|
||||
@@ -26,4 +26,4 @@ Deploying and managing resources within Kubernetes clusters.
|
||||
|
||||
Syncs from templates defined in the [infrastructure](https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/manifests/) repo, manifests branch. Deeply integrated with Gitea and the rendered manifests system.
|
||||
|
||||
Also used as a dashboard for resources, mostly for logs and restarting deployments. This is also done in [Headlamp](https://docs.alexlebens.dev/applications/headlamp/), which is the full featured dashboard.
|
||||
Also used as a dashboard for resources, mostly for logs and restarting deployments. This is also done in [Headlamp](https://docs.alexlebens.dev/applications/headlamp/), which is the full-featured dashboard.
|
||||
|
||||
@@ -16,7 +16,7 @@ hero:
|
||||
|
||||
# Purpose
|
||||
|
||||
Podcasts, Audiobbooks, and Books.
|
||||
Podcasts, Audiobooks, and Books.
|
||||
|
||||
# Notes
|
||||
|
||||
|
||||
@@ -26,4 +26,4 @@ Single sign on authentication for applications that support OIDC.
|
||||
|
||||
# Notes
|
||||
|
||||
Available at public, local, and Tailscale endpoints. Apps are configured for their like endppoints.
|
||||
Available at public, local, and Tailscale endpoints. Apps are configured for their like endpoints.
|
||||
|
||||
@@ -16,10 +16,10 @@ hero:
|
||||
|
||||
# Purpose
|
||||
|
||||
Backup system for files on the NAS. For size contraint reasons, does not backup most video content.
|
||||
Backup system for files on the NAS. For size constraint reasons, does not backup most video content.
|
||||
|
||||
# Notes
|
||||
|
||||
Must be manually configured in the app. Has been setup for targets at the remote - PiBox - or the Digital Ocean S3 buckets.
|
||||
Must be manually configured in the app. Has been set up for targets at the remote - PiBox - or the Digital Ocean S3 buckets.
|
||||
|
||||
Mainly just for irreplacable files.
|
||||
Mainly just for irreplaceable files.
|
||||
|
||||
@@ -20,10 +20,10 @@ import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
# Purpose
|
||||
|
||||
Very fast and declarative config DNS with built in adblocking. Used for local domain name configuration as well.
|
||||
Very fast and declarative config DNS with built-in ad blocking. Used for local domain name configuration as well.
|
||||
|
||||
# Notes
|
||||
|
||||
Deployments in cluster, on RaspberryPis, and the PiBox. Cluster and Tailscale use the cluster endpoint, clients use the RaspberyPis, and home network used the PiBox.
|
||||
|
||||
DNS over TLS to Cloudflare servers and somewhat agressive blocking.
|
||||
DNS over TLS to Cloudflare servers and somewhat aggressive blocking.
|
||||
|
||||
@@ -26,6 +26,6 @@ Operator that manages PostgreSQL deployments in cluster.
|
||||
|
||||
A very important application since many core services and applications depend on PostgreSQL databases.
|
||||
|
||||
Backups to the NAS with replication of the base backups to remote and DigialOcean S3 endpoints.
|
||||
Backups to the NAS with replication of the base backups to remote and DigitalOcean S3 endpoints.
|
||||
|
||||
Used in conjunction with [this](https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster) Helm Chart to easily deploy and manage the application PostgreSQL instances.
|
||||
|
||||
@@ -24,6 +24,6 @@ DNS server just for cluster services, such as pod and service routing.
|
||||
|
||||
# Notes
|
||||
|
||||
Upstreams to [Blocky](https://docs.alexlebens.dev/applications/blocky/) for external DNS queries and also to the [Tailscale](https://docs.alexlebens.dev/applications/tailscale-operator/) DNS server for Tailnet access.
|
||||
Upstream to [Blocky](https://docs.alexlebens.dev/applications/blocky/) for external DNS queries and also to the [Tailscale](https://docs.alexlebens.dev/applications/tailscale-operator/) DNS server for Tailnet access.
|
||||
|
||||
Deploys as part of the Talos upgrades, but managed by Helm chart for the above custom configuration.
|
||||
|
||||
@@ -26,7 +26,7 @@ Used for applications that need to store a lot of data, but not over the NFS con
|
||||
|
||||
## Resizing the Prometheus disk
|
||||
|
||||
There is an issue resizing iSCSI disks. The following Github issue has instructions on how to manually resize if a permissions error is thrown.
|
||||
There is an issue resizing iSCSI disks. The following GitHub issue has instructions on how to manually resize if a permissions error is thrown.
|
||||
|
||||
https://github.com/democratic-csi/democratic-csi/issues/491#issuecomment-3778463893
|
||||
|
||||
|
||||
@@ -20,4 +20,4 @@ Automatic service that cleans up local caches of images.
|
||||
|
||||
# Notes
|
||||
|
||||
Removes all non running images. This does cause a startup delay, but [Harbor](https://docs.alexlebens.dev/applications/harbor/) is configured as a generic pull through cache, so pulls for new images should be quick.
|
||||
Removes all non-running images. This does cause a startup delay, but [Harbor](https://docs.alexlebens.dev/applications/harbor/) is configured as a generic pull through cache, so pulls for new images should be quick.
|
||||
|
||||
@@ -20,7 +20,7 @@ import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
# Purpose
|
||||
|
||||
Very useful, decalarative way to make Kubernetes Secrets from an external provider.
|
||||
Very useful, declarative way to make Kubernetes Secrets from an external provider.
|
||||
|
||||
# Notes
|
||||
|
||||
|
||||
@@ -24,4 +24,4 @@ RSS reader for various news sites as well as software releases.
|
||||
|
||||
# Notes
|
||||
|
||||
A little finicky to setup, predates popular use of containers, but still functions quite well. I mostly use it with an Android app.
|
||||
A little finicky to set up, predates popular use of containers, but still functions quite well. I mostly use it with an Android app.
|
||||
|
||||
@@ -20,7 +20,7 @@ import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
# Purpose
|
||||
|
||||
Uptime and down notifications for all endpoints, both local and public.
|
||||
Up time and down notifications for all endpoints, both local and public.
|
||||
|
||||
# Notes
|
||||
|
||||
|
||||
@@ -20,4 +20,4 @@ Plugin used to give devices to pods, specifically tun devices for networking.
|
||||
|
||||
# Notes
|
||||
|
||||
Used by recomendation in [Tailscale Docs](https://docs.siderolabs.com/kubernetes-guides/advanced-guides/device-plugins).
|
||||
Used by recommendation in [Tailscale Docs](https://docs.siderolabs.com/kubernetes-guides/advanced-guides/device-plugins).
|
||||
|
||||
@@ -24,8 +24,8 @@ import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
# Purpose
|
||||
|
||||
Git repoistory for storing all my code.
|
||||
Git repository for storing all my code.
|
||||
|
||||
# Notes
|
||||
|
||||
Primary code repo, repositories set to replicate to a PiBox as well as Github for a layer of backup.
|
||||
Primary code repo, repositories set to replicate to a PiBox as well as GitHub for a layer of backup.
|
||||
|
||||
@@ -24,6 +24,6 @@ Pull through cache and registry for personal images built in Gitea.
|
||||
|
||||
# Notes
|
||||
|
||||
Talos is configured to direct pulls to Docker, Github, and others to Harbor first. Stores these images as a cache to avoid rate limiting, primarily by Docker hub.
|
||||
Talos is configured to direct pulls to Docker, GitHub, and others to Harbor first. Stores these images as a cache to avoid rate limiting, primarily by Docker hub.
|
||||
|
||||
Any of my own images also get stored here to deploy.
|
||||
|
||||
@@ -16,7 +16,7 @@ hero:
|
||||
|
||||
# Purpose
|
||||
|
||||
Local copies of various wikis and other datasets.
|
||||
Local copies of various wikis and other data sets.
|
||||
|
||||
# Notes
|
||||
|
||||
|
||||
@@ -20,6 +20,6 @@ Manages deployments of single nodes hosts with docker compose stacks.
|
||||
|
||||
# Notes
|
||||
|
||||
Manual setup, but follows Gitops with webhook triggered updates from Gitea.
|
||||
Manual setup, but follows Git ops with webhook triggered updates from Gitea.
|
||||
|
||||
Compose files are placed in [infrastructure](https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/hosts) under the hosts dir.
|
||||
|
||||
@@ -16,7 +16,7 @@ hero:
|
||||
|
||||
# Purpose
|
||||
|
||||
Provides higher level grammer and spell checking service.
|
||||
Provides higher level grammar and spell checking service.
|
||||
|
||||
# Notes
|
||||
|
||||
|
||||
@@ -20,6 +20,6 @@ Servarr app that manages the metadata and organization of music.
|
||||
|
||||
# Notes
|
||||
|
||||
Connects to [qbittorrent](https://docs.alexlebens.dev/applications/qbittorrent), [slskd](https://docs.alexlebens.dev/applications/slskd) with support from [prowlarr](https://docs.alexlebens.dev/applications/prowlarr) and [unpackerr](https://docs.alexlebens.dev/applications/unpackerr).
|
||||
Connects to [qbittorrent](https://docs.alexlebens.dev/applications/qbittorrent), [slskd](https://docs.alexlebens.dev/applications/slskd) with support from [Prowlarr](https://docs.alexlebens.dev/applications/prowlarr) and [Unpackerr](https://docs.alexlebens.dev/applications/unpackerr).
|
||||
|
||||
Runs on nightly branch to integrate plugins.
|
||||
|
||||
@@ -16,7 +16,7 @@ hero:
|
||||
|
||||
# Purpose
|
||||
|
||||
Storage for paths on the local node's NVME drive. When high performance, but non redundant storage is required.
|
||||
Storage for paths on the local node's NVME drive. When high performance, but non-redundant storage is required.
|
||||
|
||||
# Notes
|
||||
|
||||
|
||||
@@ -20,12 +20,12 @@ import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
# Purpose
|
||||
|
||||
Collects logs from pods and makes them availabile in Grafana.
|
||||
Collects logs from pods and makes them available in Grafana.
|
||||
|
||||
# Notes
|
||||
|
||||
Uses iSCSI for log storage.
|
||||
|
||||
Generally unused as I inspect most logs in [ArgoCD](https://docs.alexlebens.dev/applications/argo-cd/) or [Headlamp](https://docs.alexlebens.dev/applications/headlamp/). But this does keep them for longer rentention.
|
||||
Generally unused as I inspect most logs in [ArgoCD](https://docs.alexlebens.dev/applications/argo-cd/) or [Headlamp](https://docs.alexlebens.dev/applications/headlamp/). But this does keep them for longer retention
|
||||
|
||||
Maybe someday will integrate AI from [Ollama](https://docs.alexlebens.dev/applications/ollama/) to monitor and report on logs.
|
||||
|
||||
@@ -16,7 +16,7 @@ hero:
|
||||
|
||||
# Purpose
|
||||
|
||||
Core Kubernetes service that provides basic metrics on cpu, memory, and disk that is used by Kubernetes for tooling such as scaling. Also what is seen in [Headlamp](https://docs.alexlebens.dev/applications/headlamp) for live stats.
|
||||
Core Kubernetes service that provides basic metrics on CPU, memory, and disk that is used by Kubernetes for tooling such as scaling. Also, what is seen in [Headlamp](https://docs.alexlebens.dev/applications/headlamp) for live stats.
|
||||
|
||||
# Notes
|
||||
|
||||
|
||||
@@ -24,6 +24,6 @@ Music server that uses the subsonic protocol.
|
||||
|
||||
# Notes
|
||||
|
||||
Chart also deploys a webclient of [Feishin](https://github.com/jeffvli/feishin), but I mostly use the desktop app. On Android I use [Symfonium](https://symfonium.app/).
|
||||
Chart also deploys a web client of [Feishin](https://github.com/jeffvli/feishin), but I mostly use the desktop app. On Android I use [Symfonium](https://symfonium.app/).
|
||||
|
||||
While I can use [Jellyfin](https://docs.alexlebens.dev/applications/jellyfin) for music, I prefer separation for dedicated media types.
|
||||
|
||||
@@ -24,4 +24,4 @@ Notification service based on a Pub/Sub model.
|
||||
|
||||
# Notes
|
||||
|
||||
Very useful service that sends notifications to my phone and is widely addopted by a lot of other apps or has bridging support such as through [apprise](https://github.com/caronc/apprise).
|
||||
Very useful service that sends notifications to my phone and is widely adopted by a lot of other apps or has bridging support such as through [apprise](https://github.com/caronc/apprise).
|
||||
|
||||
@@ -24,4 +24,4 @@ Local AI servers.
|
||||
|
||||
Configured mostly to run the Gemma models.
|
||||
|
||||
Tailscale connction to the desktop GPU for larger model processing.
|
||||
Tailscale connection to the desktop GPU for larger model processing.
|
||||
|
||||
@@ -24,8 +24,8 @@ Secrets manager.
|
||||
|
||||
# Notes
|
||||
|
||||
Retrieved by [External Secrets](https://docs.alexlebens.dev/applications/external-secrets/) for making them availible in cluster.
|
||||
Retrieved by [External Secrets](https://docs.alexlebens.dev/applications/external-secrets/) for making them available in cluster.
|
||||
|
||||
Can store other secrets, but primarily used for cluster secrets.
|
||||
|
||||
And by 'secrets' this means passwords, keys, etc, that are confidential and non public.
|
||||
And by 'secrets' this means passwords, keys, etc, that are confidential and non-public.
|
||||
|
||||
@@ -24,6 +24,6 @@ Automates social media posting.
|
||||
|
||||
# Notes
|
||||
|
||||
So dumb and complex to setup, has hard dependency on [Temporal](https://github.com/temporalio).
|
||||
So dumb and complex to set up, has hard dependency on [Temporal](https://github.com/temporalio).
|
||||
|
||||
Haven't begun to use, but want to connect to automate posting of my blog.
|
||||
|
||||
@@ -20,4 +20,4 @@ Simple service that will ensure a restart of services if their mounted ConfigMap
|
||||
|
||||
# Notes
|
||||
|
||||
Used by a few apps, such as homepage where its entirely configured by ConfigMap.
|
||||
Used by a few apps, such as homepage where it's entirely configured by ConfigMap.
|
||||
|
||||
@@ -22,7 +22,7 @@ import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
# Purpose
|
||||
|
||||
Clustered storage that runs on the SSDs in cluster to provide durable and reliable block and filesystem volumes.
|
||||
Clustered storage that runs on the SSDs in cluster to provide durable and reliable block and file system volumes.
|
||||
|
||||
# Notes
|
||||
|
||||
@@ -30,4 +30,4 @@ Runs [Ceph](https://ceph.io/en/) underneath and managed by Rook pods.
|
||||
|
||||
Ensure this system is healthy before any upgrades and restarts.
|
||||
|
||||
One of the main pressures to increase node count to expand host and disk count of this cluster for more space as well as durabiliy during node outages.
|
||||
One of the main pressures to increase node count to expand host and disk count of this cluster for more space as well as durability during node outages.
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
title: Roundcube
|
||||
description: Roundcube Webmail is a browser-based multilingual IMAP client with an application-like user interface.
|
||||
hero:
|
||||
tagline: Roundcube Webmail is a browser-based multilingual IMAP client with an application-like user interface.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/roundcube.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/roundcube/roundcubemail
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/roundcube
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# Purpose
|
||||
|
||||
Internal client for email.
|
||||
|
||||
# Notes
|
||||
|
||||
Connected to [Stalwart](https://docs.alexlebens.dev/applications/stalwart/).
|
||||
|
||||
Generally unsued as I have not configured any services for sending email.
|
||||
|
||||
This is NOT used for external email, such as gmail.
|
||||
@@ -20,7 +20,7 @@ import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
# Purpose
|
||||
|
||||
Analytics service for my websites.
|
||||
Analytic service for my websites.
|
||||
|
||||
# Notes
|
||||
|
||||
|
||||
@@ -24,4 +24,4 @@ Metrics from the Shelly Plug.
|
||||
|
||||
# Notes
|
||||
|
||||
Can provide historical wattage use of the shelly plug which the entire homelab's electricity passes through.
|
||||
Can provide historical wattage use of the Shelly plug which the entire homelab's electricity passes through.
|
||||
|
||||
@@ -26,7 +26,7 @@ import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
# Purpose
|
||||
|
||||
Manages metadata for tv shows.
|
||||
Manages metadata for TV shows.
|
||||
|
||||
# Notes
|
||||
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
---
|
||||
title: Stalwart
|
||||
description: All-in-one Mail & Collaboration server. Secure, scalable and fluent in every protocol (IMAP, JMAP, SMTP, CalDAV, CardDAV, WebDAV).
|
||||
hero:
|
||||
tagline: All-in-one Mail & Collaboration server. Secure, scalable and fluent in every protocol (IMAP, JMAP, SMTP, CalDAV, CardDAV, WebDAV).
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/stalwart.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/stalwartlabs/mail-server
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/stalwart
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# Purpose
|
||||
|
||||
Email server.
|
||||
|
||||
# Notes
|
||||
|
||||
Configuration seems to be only through UI.
|
||||
|
||||
Not currently used.
|
||||
@@ -20,10 +20,10 @@ import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
# Purpose
|
||||
|
||||
Runs healthchecks on media files.
|
||||
Runs health checks on media files.
|
||||
|
||||
# Notes
|
||||
|
||||
Need to check the error queue, sometimes there are false errors.
|
||||
|
||||
Runs the files through ffmpeg on either cpu or gpu, but gpu generates more false errors.
|
||||
Runs the files through ffmpeg on either CPU or GPU, but GPU generates more false errors.
|
||||
|
||||
@@ -24,4 +24,4 @@ Gateway for the cluster, enables external access of the webpages for both host r
|
||||
|
||||
# Notes
|
||||
|
||||
Really want to swap it out for Cillium's built in Gateway implementation.
|
||||
Really want to swap it out for Cillium's built-in Gateway implementation.
|
||||
|
||||
@@ -16,8 +16,8 @@ hero:
|
||||
|
||||
# Purpose
|
||||
|
||||
Archives Youtube videos.
|
||||
Archives YouTube videos.
|
||||
|
||||
# Notes
|
||||
|
||||
Mostly to ensure I get to keep videos that may be deleted or removed from Youtube. Also for videos I want to save to watch locally.
|
||||
Mostly to ensure I get to keep videos that may be deleted or removed from YouTube. Also for videos I want to save to watch locally.
|
||||
|
||||
@@ -20,7 +20,7 @@ import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
# Purpose
|
||||
|
||||
Geneates metrics from the Ubqituiy network devices.
|
||||
Generates metrics from the Ubiquity network devices.
|
||||
|
||||
# Notes
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@ Secrets manager.
|
||||
|
||||
# Notes
|
||||
|
||||
Retrieved by [External Secrets](https://docs.alexlebens.dev/applications/external-secrets/) for making them availible in cluster.
|
||||
Retrieved by [External Secrets](https://docs.alexlebens.dev/applications/external-secrets/) for making them available in cluster.
|
||||
|
||||
Can store other secrets, but primarily used for cluster secrets.
|
||||
|
||||
And by 'secrets' this means passwords, keys, etc, that are confidential and non public.
|
||||
And by 'secrets' this means passwords, keys, etc, that are confidential and non-public.
|
||||
|
||||
@@ -11,7 +11,7 @@ hero:
|
||||
|
||||
[Reference OpenBao Documentation](https://openbao.org/docs/secrets/ssh/signed-ssh-certificates/)
|
||||
|
||||
I have set the documenation to use my own defaults and configuration. This also assumes a running and active OpenBao instance.
|
||||
I have set the documentation to use my own defaults and configuration. This also assumes a running and active OpenBao instance.
|
||||
|
||||
## Enable the SSH CA
|
||||
|
||||
@@ -103,7 +103,7 @@ alias bao-renew='bao write -field=signed_key ssh-client-signer/sign/alexlebens p
|
||||
|
||||
### View Cert Details
|
||||
|
||||
For troubleshooting purposes or clafification use the follow to inspect the cert.
|
||||
For troubleshooting purposes or clarification use the follow to inspect the cert.
|
||||
```bash
|
||||
ssh-keygen -Lf ~/.ssh/id_rsa_host-cert.pub
|
||||
```
|
||||
@@ -13,7 +13,7 @@ hero:
|
||||
|
||||
import { Card, CardGrid, LinkCard } from '@astrojs/starlight/components';
|
||||
|
||||
## Hightlights
|
||||
## Highlights
|
||||
|
||||
<CardGrid stagger>
|
||||
<LinkCard
|
||||
@@ -30,5 +30,5 @@ import { Card, CardGrid, LinkCard } from '@astrojs/starlight/components';
|
||||
title="Get started with the 3D Printer"
|
||||
description="Guide for setting up OrcaSlicer"
|
||||
href="https://docs.alexlebens.dev/guides/3d-printer/orcaslicer/"
|
||||
></LinkCard>
|
||||
></LinkCard>
|
||||
</CardGrid>
|
||||
|
||||
Reference in New Issue
Block a user