Compare commits

..

18 Commits

Author SHA1 Message Date
fea5d21530 chore(deps): update dependency prettier to v3.8.2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / guarddog (pull_request) Successful in 42s
test-build / build (pull_request) Successful in 1m29s
2026-04-11 06:02:15 +00:00
d8c19f45c5 feat: add notes
All checks were successful
test-build / guarddog (push) Successful in 19s
test-build / build (push) Successful in 39s
renovate / renovate (push) Successful in 2m17s
2026-04-10 21:18:19 -05:00
ddc7ec3008 fix: wrong source
All checks were successful
test-build / guarddog (push) Successful in 1m1s
test-build / build (push) Successful in 1m13s
release-image / guarddog (push) Successful in 43s
release-image / build (push) Successful in 53s
release-image / semantic-release (push) Successful in 51s
release-image / release-harbor (push) Successful in 8m24s
release-image / release-gitea (push) Successful in 3m19s
renovate / renovate (push) Successful in 1m2s
2026-04-09 19:49:45 -05:00
357eaf37ed feat: remove dep-track
All checks were successful
test-build / guarddog (push) Successful in 39s
test-build / build (push) Successful in 47s
renovate / renovate (push) Successful in 1m22s
2026-04-09 16:33:40 -05:00
b49be7bc09 fix(deps): update dependency astro to v6.1.5
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / build (pull_request) Successful in 1m24s
test-build / guarddog (push) Successful in 46s
test-build / build (push) Successful in 1m7s
test-build / guarddog (pull_request) Successful in 3m26s
renovate / renovate (push) Successful in 39s
2026-04-08 21:16:20 +00:00
320a66c0fc Merge pull request 'chore(deps): update dependency eslint-plugin-astro to v1.7.0' (#220) from renovate/eslint-plugin-astro-1.x into main
All checks were successful
test-build / guarddog (push) Successful in 36s
test-build / build (push) Successful in 1m17s
Reviewed-on: #220
2026-04-08 21:09:26 +00:00
08bba3a2bf chore(deps): update typescript-eslint monorepo to v8.58.1
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / guarddog (pull_request) Successful in 49s
test-build / guarddog (push) Successful in 32s
test-build / build (pull_request) Successful in 1m2s
test-build / build (push) Successful in 52s
2026-04-08 18:02:48 +00:00
bfa7523a2b chore(deps): update dependency eslint-plugin-astro to v1.7.0
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / guarddog (pull_request) Successful in 41s
test-build / build (pull_request) Successful in 1m6s
2026-04-08 06:02:16 +00:00
semantic-release-bot
746f948218 chore(release): 0.22.0 [skip ci]
# [0.22.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.21.0...0.22.0) (2026-04-08)

### Bug Fixes

* **deps:** update dependency @astrojs/starlight to v0.38.3 ([6607a36](6607a36ad4))
* **deps:** update dependency astro to v6.1.4 ([7502589](75025890ef))

### Features

* add more apps ([a1589ee](a1589ee88a))
* add more apps ([c1f7e19](c1f7e193fc))
* add more apps ([3b9ca7e](3b9ca7e76e))
* add more apps ([0d9a1fa](0d9a1fa93d))
* add more apps ([e04b5f0](e04b5f0e06))
* update tsconfig for v8 ([5c4a10a](5c4a10acac))
2026-04-08 02:07:11 +00:00
c56f6a07a4 Merge pull request 'main' (#219) from main into release
All checks were successful
release-image / guarddog (push) Successful in 22s
release-image / build (push) Successful in 53s
release-image / semantic-release (push) Successful in 41s
release-image / release-harbor (push) Successful in 6m50s
release-image / release-gitea (push) Successful in 6m21s
Reviewed-on: #219
2026-04-08 02:05:52 +00:00
a1589ee88a feat: add more apps
All checks were successful
test-build / guarddog (push) Successful in 2m31s
test-build / build (push) Successful in 3m52s
renovate / renovate (push) Successful in 2m32s
2026-04-07 20:45:43 -05:00
c1f7e193fc feat: add more apps
All checks were successful
test-build / build (push) Successful in 4m11s
test-build / guarddog (push) Successful in 4m14s
2026-04-07 20:20:08 -05:00
3b9ca7e76e feat: add more apps
All checks were successful
test-build / guarddog (push) Successful in 6m27s
test-build / build (push) Successful in 16m46s
2026-04-07 19:37:01 -05:00
6607a36ad4 fix(deps): update dependency @astrojs/starlight to v0.38.3
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / guarddog (pull_request) Successful in 3m23s
test-build / build (pull_request) Successful in 6m31s
test-build / guarddog (push) Successful in 7m30s
test-build / build (push) Successful in 11m10s
2026-04-08 00:01:42 +00:00
5c4a10acac feat: update tsconfig for v8
Some checks failed
test-build / guarddog (push) Successful in 2m57s
test-build / build (push) Has been cancelled
renovate / renovate (push) Successful in 1m33s
2026-04-07 18:54:56 -05:00
75025890ef fix(deps): update dependency astro to v6.1.4
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (push) Successful in 1m32s
test-build / guarddog (pull_request) Successful in 2m31s
test-build / guarddog (push) Successful in 1m43s
test-build / build (pull_request) Successful in 6m53s
renovate / renovate (push) Successful in 57s
2026-04-07 15:27:44 +00:00
0d9a1fa93d feat: add more apps
All checks were successful
test-build / guarddog (push) Successful in 46s
test-build / build (push) Successful in 56s
renovate / renovate (push) Successful in 6m33s
2026-04-06 21:27:16 -05:00
e04b5f0e06 feat: add more apps
All checks were successful
test-build / guarddog (push) Successful in 50s
test-build / build (push) Successful in 58s
2026-04-06 20:26:30 -05:00
50 changed files with 507 additions and 70 deletions

View File

@@ -1,3 +1,21 @@
# [0.22.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.21.0...0.22.0) (2026-04-08)
### Bug Fixes
* **deps:** update dependency @astrojs/starlight to v0.38.3 ([6607a36](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/6607a36ad4a6b66719685cc84af2790a210dfc7f))
* **deps:** update dependency astro to v6.1.4 ([7502589](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/75025890ef0577278c44d3678671ca518798b0ec))
### Features
* add more apps ([a1589ee](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/a1589ee88aed1c8e47d906f30b2db7ab78f274a4))
* add more apps ([c1f7e19](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/c1f7e193fc126ff4d94d2209a96fb29254c705fd))
* add more apps ([3b9ca7e](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/3b9ca7e76ea44387ca000a6b039593214891a295))
* add more apps ([0d9a1fa](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/0d9a1fa93d6b98dc6e88879b575769868bae5d57))
* add more apps ([e04b5f0](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/e04b5f0e060fe7e7b6471ff0d7c721db366412f4))
* update tsconfig for v8 ([5c4a10a](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/5c4a10acacb17d775e54f300eb280fb51e098bea))
# [0.21.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.20.0...0.21.0) (2026-04-07)

View File

@@ -1,6 +1,6 @@
# MIT License
Copyright (c) 2025 Alex Lebens
Copyright (c) 2026 Alex Lebens
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -8,10 +8,10 @@
"@astrojs/mdx": "5.0.3",
"@astrojs/node": "10.0.4",
"@astrojs/sitemap": "3.7.2",
"@astrojs/starlight": "0.38.2",
"@astrojs/starlight": "0.38.3",
"@tailwindcss/postcss": "4.2.2",
"@tailwindcss/vite": "4.2.2",
"astro": "6.1.3",
"astro": "6.1.5",
"sanitize-html": "2.17.2",
"sharp": "0.34.5",
"starlight-theme-rapide": "0.5.2",
@@ -26,17 +26,17 @@
"@semantic-release/release-notes-generator": "14.1.0",
"@tailwindcss/forms": "0.5.11",
"@tailwindcss/typography": "0.5.19",
"@typescript-eslint/parser": "8.58.0",
"@typescript-eslint/parser": "8.58.1",
"eslint": "10.2.0",
"eslint-config-prettier": "10.1.8",
"eslint-plugin-astro": "1.6.0",
"prettier": "3.8.1",
"eslint-plugin-astro": "1.7.0",
"prettier": "3.8.2",
"prettier-plugin-astro": "0.14.1",
"prettier-plugin-tailwindcss": "0.7.2",
"semantic-release": "25.0.3",
"semantic-release-export-data": "1.2.0",
"typescript": "6.0.2",
"typescript-eslint": "8.58.0",
"typescript-eslint": "8.58.1",
},
},
},
@@ -65,7 +65,7 @@
"@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=="],
"@astrojs/starlight": ["@astrojs/starlight@0.38.2", "", { "dependencies": { "@astrojs/markdown-remark": "^7.0.0", "@astrojs/mdx": "^5.0.0", "@astrojs/sitemap": "^3.7.1", "@pagefind/default-ui": "^1.3.0", "@types/hast": "^3.0.4", "@types/js-yaml": "^4.0.9", "@types/mdast": "^4.0.4", "astro-expressive-code": "^0.41.6", "bcp-47": "^2.1.0", "hast-util-from-html": "^2.0.1", "hast-util-select": "^6.0.2", "hast-util-to-string": "^3.0.0", "hastscript": "^9.0.0", "i18next": "^23.11.5", "js-yaml": "^4.1.0", "klona": "^2.0.6", "magic-string": "^0.30.17", "mdast-util-directive": "^3.0.0", "mdast-util-to-markdown": "^2.1.0", "mdast-util-to-string": "^4.0.0", "pagefind": "^1.3.0", "rehype": "^13.0.1", "rehype-format": "^5.0.0", "remark-directive": "^3.0.0", "ultrahtml": "^1.6.0", "unified": "^11.0.5", "unist-util-visit": "^5.0.0", "vfile": "^6.0.2" }, "peerDependencies": { "astro": "^6.0.0" } }, "sha512-7AsrvG4EsXUmJT5uqiXJN4oZqKaY0wc/Ip7C6/zGnShHRVoTAA4jxeYIZ3wqbqA6zv4cnp9qk31vB2m2dUcmfg=="],
"@astrojs/starlight": ["@astrojs/starlight@0.38.3", "", { "dependencies": { "@astrojs/markdown-remark": "^7.0.0", "@astrojs/mdx": "^5.0.0", "@astrojs/sitemap": "^3.7.1", "@pagefind/default-ui": "^1.3.0", "@types/hast": "^3.0.4", "@types/js-yaml": "^4.0.9", "@types/mdast": "^4.0.4", "astro-expressive-code": "^0.41.6", "bcp-47": "^2.1.0", "hast-util-from-html": "^2.0.1", "hast-util-select": "^6.0.2", "hast-util-to-string": "^3.0.0", "hastscript": "^9.0.0", "i18next": "^23.11.5", "js-yaml": "^4.1.0", "klona": "^2.0.6", "magic-string": "^0.30.17", "mdast-util-directive": "^3.0.0", "mdast-util-to-markdown": "^2.1.0", "mdast-util-to-string": "^4.0.0", "pagefind": "^1.3.0", "rehype": "^13.0.1", "rehype-format": "^5.0.0", "remark-directive": "^3.0.0", "ultrahtml": "^1.6.0", "unified": "^11.0.5", "unist-util-visit": "^5.0.0", "vfile": "^6.0.2" }, "peerDependencies": { "astro": "^6.0.0" } }, "sha512-kDlJPlUDdQFWYmyFM2yUPo66yws7v067AEK+/rQjjoVyqehL3DabuOJuy6UJFFTFyGbHxYcBms/ITEgdW7tphw=="],
"@astrojs/telemetry": ["@astrojs/telemetry@3.3.0", "", { "dependencies": { "ci-info": "4.4.0", "debug": "4.4.3", "dlv": "1.1.3", "dset": "3.1.4", "is-docker": "3.0.0", "is-wsl": "3.1.1", "which-pm-runs": "1.1.0" } }, "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ=="],
@@ -461,25 +461,25 @@
"@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="],
"@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.58.0", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.58.0", "@typescript-eslint/type-utils": "8.58.0", "@typescript-eslint/utils": "8.58.0", "@typescript-eslint/visitor-keys": "8.58.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.58.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-RLkVSiNuUP1C2ROIWfqX+YcUfLaSnxGE/8M+Y57lopVwg9VTYYfhuz15Yf1IzCKgZj6/rIbYTmJCUSqr76r0Wg=="],
"@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.58.1", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.58.1", "@typescript-eslint/type-utils": "8.58.1", "@typescript-eslint/utils": "8.58.1", "@typescript-eslint/visitor-keys": "8.58.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.58.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-eSkwoemjo76bdXl2MYqtxg51HNwUSkWfODUOQ3PaTLZGh9uIWWFZIjyjaJnex7wXDu+TRx+ATsnSxdN9YWfRTQ=="],
"@typescript-eslint/parser": ["@typescript-eslint/parser@8.58.0", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.58.0", "@typescript-eslint/types": "8.58.0", "@typescript-eslint/typescript-estree": "8.58.0", "@typescript-eslint/visitor-keys": "8.58.0", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-rLoGZIf9afaRBYsPUMtvkDWykwXwUPL60HebR4JgTI8mxfFe2cQTu3AGitANp4b9B2QlVru6WzjgB2IzJKiCSA=="],
"@typescript-eslint/parser": ["@typescript-eslint/parser@8.58.1", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.58.1", "@typescript-eslint/types": "8.58.1", "@typescript-eslint/typescript-estree": "8.58.1", "@typescript-eslint/visitor-keys": "8.58.1", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-gGkiNMPqerb2cJSVcruigx9eHBlLG14fSdPdqMoOcBfh+vvn4iCq2C8MzUB89PrxOXk0y3GZ1yIWb9aOzL93bw=="],
"@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.58.0", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.58.0", "@typescript-eslint/types": "^8.58.0", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-8Q/wBPWLQP1j16NxoPNIKpDZFMaxl7yWIoqXWYeWO+Bbd2mjgvoF0dxP2jKZg5+x49rgKdf7Ck473M8PC3V9lg=="],
"@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.58.1", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.58.1", "@typescript-eslint/types": "^8.58.1", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-gfQ8fk6cxhtptek+/8ZIqw8YrRW5048Gug8Ts5IYcMLCw18iUgrZAEY/D7s4hkI0FxEfGakKuPK/XUMPzPxi5g=="],
"@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.58.0", "", { "dependencies": { "@typescript-eslint/types": "8.58.0", "@typescript-eslint/visitor-keys": "8.58.0" } }, "sha512-W1Lur1oF50FxSnNdGp3Vs6P+yBRSmZiw4IIjEeYxd8UQJwhUF0gDgDD/W/Tgmh73mxgEU3qX0Bzdl/NGuSPEpQ=="],
"@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.58.1", "", { "dependencies": { "@typescript-eslint/types": "8.58.1", "@typescript-eslint/visitor-keys": "8.58.1" } }, "sha512-TPYUEqJK6avLcEjumWsIuTpuYODTTDAtoMdt8ZZa93uWMTX13Nb8L5leSje1NluammvU+oI3QRr5lLXPgihX3w=="],
"@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.58.0", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-doNSZEVJsWEu4htiVC+PR6NpM+pa+a4ClH9INRWOWCUzMst/VA9c4gXq92F8GUD1rwhNvRLkgjfYtFXegXQF7A=="],
"@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.58.1", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-JAr2hOIct2Q+qk3G+8YFfqkqi7sC86uNryT+2i5HzMa2MPjw4qNFvtjnw1IiA1rP7QhNKVe21mSSLaSjwA1Olw=="],
"@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.58.0", "", { "dependencies": { "@typescript-eslint/types": "8.58.0", "@typescript-eslint/typescript-estree": "8.58.0", "@typescript-eslint/utils": "8.58.0", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-aGsCQImkDIqMyx1u4PrVlbi/krmDsQUs4zAcCV6M7yPcPev+RqVlndsJy9kJ8TLihW9TZ0kbDAzctpLn5o+lOg=="],
"@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.58.1", "", { "dependencies": { "@typescript-eslint/types": "8.58.1", "@typescript-eslint/typescript-estree": "8.58.1", "@typescript-eslint/utils": "8.58.1", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-HUFxvTJVroT+0rXVJC7eD5zol6ID+Sn5npVPWoFuHGg9Ncq5Q4EYstqR+UOqaNRFXi5TYkpXXkLhoCHe3G0+7w=="],
"@typescript-eslint/types": ["@typescript-eslint/types@8.58.0", "", {}, "sha512-O9CjxypDT89fbHxRfETNoAnHj/i6IpRK0CvbVN3qibxlLdo5p5hcLmUuCCrHMpxiWSwKyI8mCP7qRNYuOJ0Uww=="],
"@typescript-eslint/types": ["@typescript-eslint/types@8.58.1", "", {}, "sha512-io/dV5Aw5ezwzfPBBWLoT+5QfVtP8O7q4Kftjn5azJ88bYyp/ZMCsyW1lpKK46EXJcaYMZ1JtYj+s/7TdzmQMw=="],
"@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.58.0", "", { "dependencies": { "@typescript-eslint/project-service": "8.58.0", "@typescript-eslint/tsconfig-utils": "8.58.0", "@typescript-eslint/types": "8.58.0", "@typescript-eslint/visitor-keys": "8.58.0", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-7vv5UWbHqew/dvs+D3e1RvLv1v2eeZ9txRHPnEEBUgSNLx5ghdzjHa0sgLWYVKssH+lYmV0JaWdoubo0ncGYLA=="],
"@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.58.1", "", { "dependencies": { "@typescript-eslint/project-service": "8.58.1", "@typescript-eslint/tsconfig-utils": "8.58.1", "@typescript-eslint/types": "8.58.1", "@typescript-eslint/visitor-keys": "8.58.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-w4w7WR7GHOjqqPnvAYbazq+Y5oS68b9CzasGtnd6jIeOIeKUzYzupGTB2T4LTPSv4d+WPeccbxuneTFHYgAAWg=="],
"@typescript-eslint/utils": ["@typescript-eslint/utils@8.58.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.58.0", "@typescript-eslint/types": "8.58.0", "@typescript-eslint/typescript-estree": "8.58.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-RfeSqcFeHMHlAWzt4TBjWOAtoW9lnsAGiP3GbaX9uVgTYYrMbVnGONEfUCiSss+xMHFl+eHZiipmA8WkQ7FuNA=="],
"@typescript-eslint/utils": ["@typescript-eslint/utils@8.58.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.58.1", "@typescript-eslint/types": "8.58.1", "@typescript-eslint/typescript-estree": "8.58.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-Ln8R0tmWC7pTtLOzgJzYTXSCjJ9rDNHAqTaVONF4FEi2qwce8mD9iSOxOpLFFvWp/wBFlew0mjM1L1ihYWfBdQ=="],
"@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.58.0", "", { "dependencies": { "@typescript-eslint/types": "8.58.0", "eslint-visitor-keys": "^5.0.0" } }, "sha512-XJ9UD9+bbDo4a4epraTwG3TsNPeiB9aShrUneAVXy8q4LuwowN+qu89/6ByLMINqvIMeI9H9hOHQtg/ijrYXzQ=="],
"@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.58.1", "", { "dependencies": { "@typescript-eslint/types": "8.58.1", "eslint-visitor-keys": "^5.0.0" } }, "sha512-y+vH7QE8ycjoa0bWciFg7OpFcipUuem1ujhrdLtq1gByKwfbC7bPeKsiny9e0urg93DqwGcHey+bGRKCnF1nZQ=="],
"@ungap/structured-clone": ["@ungap/structured-clone@1.3.0", "", {}, "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g=="],
@@ -519,7 +519,7 @@
"astring": ["astring@1.9.0", "", { "bin": { "astring": "bin/astring" } }, "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg=="],
"astro": ["astro@6.1.3", "", { "dependencies": { "@astrojs/compiler": "^3.0.1", "@astrojs/internal-helpers": "0.8.0", "@astrojs/markdown-remark": "7.1.0", "@astrojs/telemetry": "3.3.0", "@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", "dlv": "^1.1.3", "dset": "^3.1.4", "es-module-lexer": "^2.0.0", "esbuild": "^0.27.3", "flattie": "^1.1.1", "fontace": "~0.4.1", "github-slugger": "^2.0.0", "html-escaper": "3.0.3", "http-cache-semantics": "^4.2.0", "js-yaml": "^4.1.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.3", "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", "tsconfck": "^3.1.6", "ultrahtml": "^1.6.0", "unifont": "~0.7.4", "unist-util-visit": "^5.1.0", "unstorage": "^1.17.4", "vfile": "^6.0.3", "vite": "^7.3.1", "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-FUKbBYOdYYrRNZwDd9I5CVSfR6Nj9aZeNzcjcvh1FgHwR0uXawkYFR3HiGxmdmAB2m8fs0iIkDdsiUfwGeO8qA=="],
"astro": ["astro@6.1.5", "", { "dependencies": { "@astrojs/compiler": "^3.0.1", "@astrojs/internal-helpers": "0.8.0", "@astrojs/markdown-remark": "7.1.0", "@astrojs/telemetry": "3.3.0", "@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", "github-slugger": "^2.0.0", "html-escaper": "3.0.3", "http-cache-semantics": "^4.2.0", "js-yaml": "^4.1.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.3", "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", "tsconfck": "^3.1.6", "ultrahtml": "^1.6.0", "unifont": "~0.7.4", "unist-util-visit": "^5.1.0", "unstorage": "^1.17.4", "vfile": "^6.0.3", "vite": "^7.3.1", "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-AJVw/JlssxUCBFi3Hp4djL8Pt7wUQqStBBawCd8cNGBBM2lBzp/rXGguzt4OcMfW+86fs0hpFwMyopHM2r6d3g=="],
"astro-eslint-parser": ["astro-eslint-parser@1.3.0", "", { "dependencies": { "@astrojs/compiler": "2.13.1", "@typescript-eslint/scope-manager": "8.56.1", "@typescript-eslint/types": "8.56.1", "astrojs-compiler-sync": "1.1.1", "debug": "4.4.3", "entities": "6.0.1", "eslint-scope": "8.4.0", "eslint-visitor-keys": "4.2.1", "espree": "10.4.0", "fast-glob": "3.3.3", "is-glob": "4.0.3", "semver": "7.7.4" } }, "sha512-aOLc/aDR7lTWAHlytEefwn4Y6qs6uMr69DZvUx2A1AOAZsWhGB/paiRWPtVchh9wzMvLeqr+DkbENhVreVr9AQ=="],
@@ -749,7 +749,7 @@
"eslint-config-prettier": ["eslint-config-prettier@10.1.8", "", { "peerDependencies": { "eslint": "10.0.3" }, "bin": { "eslint-config-prettier": "bin/cli.js" } }, "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w=="],
"eslint-plugin-astro": ["eslint-plugin-astro@1.6.0", "", { "dependencies": { "@eslint-community/eslint-utils": "4.9.1", "@jridgewell/sourcemap-codec": "1.5.5", "@typescript-eslint/types": "8.56.1", "astro-eslint-parser": "1.3.0", "eslint-compat-utils": "0.6.5", "globals": "16.5.0", "postcss": "8.5.6", "postcss-selector-parser": "7.1.1" }, "peerDependencies": { "eslint": "10.0.3" } }, "sha512-yGIbLHuj5MOUXa0s4sZ6cVhv6ehb+WLF80tsrGaxMk6VTUExruMzubQDzhOYt8fbR1c9vILCCRSCsKI7M1whig=="],
"eslint-plugin-astro": ["eslint-plugin-astro@1.7.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@jridgewell/sourcemap-codec": "^1.4.14", "@typescript-eslint/types": "^7.7.1 || ^8", "astro-eslint-parser": "^1.3.0", "eslint-compat-utils": "^0.6.0", "globals": "^16.0.0", "postcss": "^8.4.14", "postcss-selector-parser": "^7.0.0" }, "peerDependencies": { "eslint": ">=8.57.0" } }, "sha512-89xpAn528UKCdmyysbg0AHHqi6sqcK89wXnJIpu4F0mFBN03zATEBNK7pRtMfl6gwtMOm5ECXs+Wz5qDHhwTFw=="],
"eslint-scope": ["eslint-scope@9.1.2", "", { "dependencies": { "@types/esrecurse": "4.3.1", "@types/estree": "1.0.8", "esrecurse": "4.3.0", "estraverse": "5.3.0" } }, "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ=="],
@@ -1361,7 +1361,7 @@
"pkg-conf": ["pkg-conf@2.1.0", "", { "dependencies": { "find-up": "^2.0.0", "load-json-file": "^4.0.0" } }, "sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g=="],
"postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="],
"postcss": ["postcss@8.5.8", "", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg=="],
"postcss-nested": ["postcss-nested@6.2.0", "", { "dependencies": { "postcss-selector-parser": "6.1.2" }, "peerDependencies": { "postcss": "8.5.8" } }, "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ=="],
@@ -1369,7 +1369,7 @@
"prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="],
"prettier": ["prettier@3.8.1", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg=="],
"prettier": ["prettier@3.8.2", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-8c3mgTe0ASwWAJK+78dpviD+A8EqhndQPUBpNUIPt6+xWlIigCwfN01lWr9MAede4uqXGTEKeQWTvzb3vjia0Q=="],
"prettier-plugin-astro": ["prettier-plugin-astro@0.14.1", "", { "dependencies": { "@astrojs/compiler": "2.13.1", "prettier": "3.8.1", "sass-formatter": "0.7.9" } }, "sha512-RiBETaaP9veVstE4vUwSIcdATj6dKmXljouXc/DDNwBSPTp8FRkLGDSGFClKsAFeeg+13SB0Z1JZvbD76bigJw=="],
@@ -1625,7 +1625,7 @@
"typescript": ["typescript@6.0.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ=="],
"typescript-eslint": ["typescript-eslint@8.58.0", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.58.0", "@typescript-eslint/parser": "8.58.0", "@typescript-eslint/typescript-estree": "8.58.0", "@typescript-eslint/utils": "8.58.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-e2TQzKfaI85fO+F3QywtX+tCTsu/D3WW5LVU6nz8hTFKFZ8yBJ6mSYRpXqdR3mFjPWmO0eWsTa5f+UpAOe/FMA=="],
"typescript-eslint": ["typescript-eslint@8.58.1", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.58.1", "@typescript-eslint/parser": "8.58.1", "@typescript-eslint/typescript-estree": "8.58.1", "@typescript-eslint/utils": "8.58.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-gf6/oHChByg9HJvhMO1iBexJh12AqqTfnuxscMDOVqfJW3htsdRJI/GfPpHTTcyeB8cSTUY2JcZmVgoyPqcrDg=="],
"ufo": ["ufo@1.6.3", "", {}, "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q=="],
@@ -1729,12 +1729,8 @@
"@actions/http-client/undici": ["undici@6.24.0", "", {}, "sha512-lVLNosgqo5EkGqh5XUDhGfsMSoO8K0BAN0TyJLvwNRSl4xWGZlCVYsAIpa/OpA3TvmnM01GWcoKmc3ZWo5wKKA=="],
"@astrojs/starlight/@astrojs/markdown-remark": ["@astrojs/markdown-remark@7.0.0", "", { "dependencies": { "@astrojs/internal-helpers": "0.8.0", "@astrojs/prism": "4.0.0", "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", "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-jTAXHPy45L7o1ljH4jYV+ShtOHtyQUa1mGp3a5fJp1soX8lInuTJQ6ihmldHzVM4Q7QptU4SzIDIcKbBJO7sXQ=="],
"@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
"@expressive-code/core/postcss": ["postcss@8.5.8", "", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg=="],
"@expressive-code/plugin-shiki/shiki": ["shiki@3.23.0", "", { "dependencies": { "@shikijs/core": "3.23.0", "@shikijs/engine-javascript": "3.23.0", "@shikijs/engine-oniguruma": "3.23.0", "@shikijs/langs": "3.23.0", "@shikijs/themes": "3.23.0", "@shikijs/types": "3.23.0", "@shikijs/vscode-textmate": "10.0.2", "@types/hast": "3.0.4" } }, "sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA=="],
"@pnpm/network.ca-file/graceful-fs": ["graceful-fs@4.2.10", "", {}, "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="],
@@ -1773,8 +1769,6 @@
"@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
"@tailwindcss/postcss/postcss": ["postcss@8.5.8", "", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg=="],
"@types/cacheable-request/@types/node": ["@types/node@25.0.3", "", { "dependencies": { "undici-types": "7.16.0" } }, "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA=="],
"@types/glob/@types/node": ["@types/node@25.0.3", "", { "dependencies": { "undici-types": "7.16.0" } }, "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA=="],
@@ -1825,8 +1819,6 @@
"env-ci/execa": ["execa@8.0.1", "", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" } }, "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg=="],
"eslint-plugin-astro/@typescript-eslint/types": ["@typescript-eslint/types@8.56.1", "", {}, "sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw=="],
"eslint-plugin-astro/postcss-selector-parser": ["postcss-selector-parser@7.1.1", "", { "dependencies": { "cssesc": "3.0.0", "util-deprecate": "1.0.2" } }, "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg=="],
"execa/get-stream": ["get-stream@6.0.1", "", {}, "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="],
@@ -2159,18 +2151,16 @@
"pkg-conf/find-up": ["find-up@2.1.0", "", { "dependencies": { "locate-path": "^2.0.0" } }, "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ=="],
"postcss-nested/postcss": ["postcss@8.5.8", "", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg=="],
"postcss-nested/postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "3.0.0", "util-deprecate": "1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="],
"prettier-plugin-astro/prettier": ["prettier@3.8.1", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg=="],
"read-package-up/read-pkg": ["read-pkg@9.0.1", "", { "dependencies": { "@types/normalize-package-data": "^2.4.3", "normalize-package-data": "^6.0.0", "parse-json": "^8.0.0", "type-fest": "^4.6.0", "unicorn-magic": "^0.1.0" } }, "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA=="],
"read-package-up/type-fest": ["type-fest@4.41.0", "", {}, "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA=="],
"read-pkg/type-fest": ["type-fest@5.4.4", "", { "dependencies": { "tagged-tag": "^1.0.0" } }, "sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw=="],
"sanitize-html/postcss": ["postcss@8.5.8", "", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg=="],
"semantic-release/@semantic-release/error": ["@semantic-release/error@4.0.0", "", {}, "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ=="],
"semantic-release/aggregate-error": ["aggregate-error@5.0.0", "", { "dependencies": { "clean-stack": "^5.2.0", "indent-string": "^5.0.0" } }, "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw=="],
@@ -2195,14 +2185,10 @@
"tsconfck/typescript": ["typescript@5.9.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A=="],
"vite/postcss": ["postcss@8.5.8", "", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg=="],
"vitefu/vite": ["vite@6.4.1", "", { "dependencies": { "esbuild": "0.25.12", "fdir": "6.5.0", "picomatch": "4.0.3", "postcss": "8.5.8", "rollup": "4.59.0", "tinyglobby": "0.2.15" }, "optionalDependencies": { "@types/node": "25.0.3", "fsevents": "2.3.3", "jiti": "2.6.1", "lightningcss": "1.31.1" }, "bin": { "vite": "bin/vite.js" } }, "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g=="],
"wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="],
"@astrojs/starlight/@astrojs/markdown-remark/@astrojs/prism": ["@astrojs/prism@4.0.0", "", { "dependencies": { "prismjs": "^1.30.0" } }, "sha512-NndtNPpxaGinRpRytljGBvYHpTOwHycSZ/c+lQi5cHvkqqrHKWdkPEhImlODBNmbuB+vyQUNUDXyjzt66CihJg=="],
"@expressive-code/plugin-shiki/shiki/@shikijs/core": ["@shikijs/core@3.23.0", "", { "dependencies": { "@shikijs/types": "3.23.0", "@shikijs/vscode-textmate": "10.0.2", "@types/hast": "3.0.4", "hast-util-to-html": "9.0.5" } }, "sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA=="],
"@expressive-code/plugin-shiki/shiki/@shikijs/engine-javascript": ["@shikijs/engine-javascript@3.23.0", "", { "dependencies": { "@shikijs/types": "3.23.0", "@shikijs/vscode-textmate": "10.0.2", "oniguruma-to-es": "4.3.4" } }, "sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA=="],
@@ -2323,8 +2309,6 @@
"vitefu/vite/lightningcss": ["lightningcss@1.31.1", "", { "dependencies": { "detect-libc": "2.1.2" }, "optionalDependencies": { "lightningcss-android-arm64": "1.31.1", "lightningcss-darwin-arm64": "1.31.1", "lightningcss-darwin-x64": "1.31.1", "lightningcss-freebsd-x64": "1.31.1", "lightningcss-linux-arm-gnueabihf": "1.31.1", "lightningcss-linux-arm64-gnu": "1.31.1", "lightningcss-linux-arm64-musl": "1.31.1", "lightningcss-linux-x64-gnu": "1.31.1", "lightningcss-linux-x64-musl": "1.31.1", "lightningcss-win32-arm64-msvc": "1.31.1", "lightningcss-win32-x64-msvc": "1.31.1" } }, "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ=="],
"vitefu/vite/postcss": ["postcss@8.5.8", "", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg=="],
"@semantic-release/github/aggregate-error/clean-stack/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
"@semantic-release/npm/aggregate-error/clean-stack/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],

View File

@@ -1,7 +1,7 @@
{
"name": "site-documentation",
"type": "module",
"version": "0.21.0",
"version": "0.22.0",
"scripts": {
"dev": "astro dev",
"build": "astro build",
@@ -15,10 +15,10 @@
"@astrojs/mdx": "5.0.3",
"@astrojs/node": "10.0.4",
"@astrojs/sitemap": "3.7.2",
"@astrojs/starlight": "0.38.2",
"@astrojs/starlight": "0.38.3",
"@tailwindcss/postcss": "4.2.2",
"@tailwindcss/vite": "4.2.2",
"astro": "6.1.3",
"astro": "6.1.5",
"sanitize-html": "2.17.2",
"sharp": "0.34.5",
"starlight-theme-rapide": "0.5.2",
@@ -33,16 +33,16 @@
"@semantic-release/release-notes-generator": "14.1.0",
"@tailwindcss/forms": "0.5.11",
"@tailwindcss/typography": "0.5.19",
"@typescript-eslint/parser": "8.58.0",
"@typescript-eslint/parser": "8.58.1",
"eslint": "10.2.0",
"eslint-config-prettier": "10.1.8",
"eslint-plugin-astro": "1.6.0",
"prettier": "3.8.1",
"eslint-plugin-astro": "1.7.0",
"prettier": "3.8.2",
"prettier-plugin-astro": "0.14.1",
"prettier-plugin-tailwindcss": "0.7.2",
"semantic-release": "25.0.3",
"semantic-release-export-data": "1.2.0",
"typescript": "6.0.2",
"typescript-eslint": "8.58.0"
"typescript-eslint": "8.58.1"
}
}

View File

@@ -5,7 +5,7 @@
"mergeConfidence:all-badges",
":rebaseStalePrs"
],
"timezone": "US/Central",
"timezone": "America/Chicago",
"labels": [],
"prHourlyLimit": 0,
"prConcurrentLimit": 0,

View File

@@ -13,3 +13,11 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/actual
icon: right-arrow
---
# Purpose
Budgeting and managing finances.
# Notes
Currently unused, need to setup bank integration or some other for of automation.

View File

@@ -13,3 +13,17 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/argocd
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/ffiq2at9b8p34d?orgId=1).</Aside>
# Purpose
Deploying and managing resources within Kubernetes clusters.
# Notes
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.

View File

@@ -13,3 +13,13 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/audiobookshelf
icon: right-arrow
---
# Purpose
Podcasts, Audiobbooks, and Books.
# Notes
Mostly for podcast archiving and listening to audiobooks. Backup for [Grimmory](https://docs.alexlebens.dev/applications/grimmory/) for books, but not primary.
Kind of difficult to manage podcasts though, and the phone apps don't auto download to the phone.

View File

@@ -13,3 +13,17 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/authentik
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [auth.alexlebens.dev](https://auth.alexlebens.dev)</Aside>
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/efiq29z9u4dmob?orgId=1)</Aside>
# Purpose
Single sign on authentication for applications that support OIDC.
# Notes
Available at public, local, and Tailscale endpoints. Apps are configured for their like endppoints.

View File

@@ -13,3 +13,13 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/backrest
icon: right-arrow
---
# Purpose
Backup system for files on the NAS. For size contraint 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.
Mainly just for irreplacable files.

View File

@@ -13,3 +13,11 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/bazarr
icon: right-arrow
---
# Purpose
Downloads subtitles for Sonarr and Radarr managed files.
# Notes
Haven't setup properly or sure if subtitles are being downloaded. Since I don't use subtitles very often I have thought about removing this.

View File

@@ -13,3 +13,17 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/blocky
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an [Grafana Dashboard](https://grafana.alexlebens.net/goto/afiq277mq7mkge?orgId=1)</Aside>
# Purpose
Very fast and declarative config DNS with built in adblocking. 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.

View File

@@ -13,3 +13,15 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/cert-manager
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an [Grafana Dashboard](https://grafana.alexlebens.net/goto/ffiq2il12bwn4b?orgId=1)</Aside>
# Purpose
Manages certificates inside the Kubernetes cluster.
# Notes
Commonly used automatic background service used by other services.

View File

@@ -13,3 +13,17 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/cilium
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has a dedicated [Dashboard with Hubble](https://hubble.alexlebens.net/)</Aside>
# Purpose
Core networking service connecting nodes and pods together. Provides a metal LoadBalancer service.
# Notes
One of the most important apps in cluster. Any updates need special care to ensure success.
Long term goals include migrating the Ingress/Gateway from [Traefik](https://docs.alexlebens.dev/applications/traefik/) to Cilium and using BGP for connecting to the network devices. I've tried this a few times, but networking isn't my strong suit.

View File

@@ -13,3 +13,19 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/cloudnative-pg
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an [Grafana Dashboard](https://grafana.alexlebens.net/goto/cfiq33g3brj0gc?orgId=1)</Aside>
# Purpose
Operator that manages PostgreSQL deployments in cluster.
# Notes
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.
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.

View File

@@ -13,3 +13,17 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/coredns
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an [Grafana Dashboard](https://grafana.alexlebens.net/goto/dfiq3jh1ez0n4a?orgId=1)</Aside>
# Purpose
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.
Deploys as part of the Talos upgrades, but managed by Helm chart for the above custom configuration.

View File

@@ -13,3 +13,13 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/dawarich
icon: right-arrow
---
# Purpose
Alternative to Google Locations, does tracking using an Android app to provide location history.
# Notes
Requires the provided Android app for tracking.
Need to import Google Location history

View File

@@ -1,15 +0,0 @@
---
title: Descheduler
description: Dependency Track is an intelligent Component Analysis platform that allows organizations to identify and reduce risk in the software supply chain.
hero:
tagline: Dependency Track is an intelligent Component Analysis platform that allows organizations to identify and reduce risk in the software supply chain.
image:
file: https://avatars.githubusercontent.com/u/40258585
actions:
- text: Source
link: https://github.com/DependencyTrack/dependency-track
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/dependency-track
icon: right-arrow
---

View File

@@ -13,3 +13,7 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/element-web
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [chat.alexlebens.dev](https://chat.alexlebens.dev)</Aside>

View File

@@ -13,3 +13,7 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/foldergram
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [art.alexlebens.dev](https://art.alexlebens.dev)</Aside>

View File

@@ -13,3 +13,7 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/freshrss
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [rss.alexlebens.dev](https://rss.alexlebens.dev)</Aside>

View File

@@ -13,3 +13,7 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/gitea
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [gitea.alexlebens.dev](https://gitea.alexlebens.dev)</Aside>

View File

@@ -13,3 +13,7 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/karakeep
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [karakeep.alexlebens.dev](https://karakeep.alexlebens.dev)</Aside>

View File

@@ -13,3 +13,7 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/matrix-synapse
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [matrix.alexlebens.dev](https://matrix.alexlebens.dev)</Aside>

View File

@@ -13,3 +13,7 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/outline
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [outline.alexlebens.dev](https://outline.alexlebens.dev)</Aside>

View File

@@ -13,3 +13,7 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/postiz
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [postiz.alexlebens.dev](https://postiz.alexlebens.dev)</Aside>

View File

@@ -13,3 +13,7 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/rybbit
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [rybbit.alexlebens.dev](https://rybbit.alexlebens.dev)</Aside>

View File

@@ -7,7 +7,7 @@ hero:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/searxng.webp
actions:
- text: Source
link: https://github.com/molu8bits/s3bucket_exporter
link: https://github.com/searxng/searxng
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/searxng

View File

@@ -13,3 +13,7 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/site-documentation
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [docs.alexlebens.dev](https://docs.alexlebens.dev)</Aside>

View File

@@ -13,3 +13,7 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/site-profile
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [www.alexlebens.dev](https://www.alexlebens.dev)</Aside>

View File

@@ -0,0 +1,19 @@
---
title: Site Sara Lebens
description: Personal site made with Astro for information about Sara Lebens.
hero:
tagline: Personal site made with Astro for information about Sara Lebens.
image:
file: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/logo-new-round.svg
actions:
- text: Source
link: https://gitea.alexlebens.dev/alexlebens/site-saralebens
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/site-saralebens
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [www.saralebens.com](https://www.saralebens.com)</Aside>

View File

@@ -12,10 +12,10 @@ hero:
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/sonarr
icon: right-arrow
- text: Deployment Chart
- text: Deployment Chart 4K
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/sonarr-4k
icon: right-arrow
- text: Deployment Chart
- text: Deployment Chart Anime
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/sonarr-anime
icon: right-arrow
---

View File

@@ -0,0 +1,15 @@
---
title: Speedtest Exporter
description: Simple Speedtest exporter for Prometheus written in Python using the official CLI from Ookla.
hero:
tagline: Simple Speedtest exporter for Prometheus written in Python using the official CLI from Ookla.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/speedtest.webp
actions:
- text: Source
link: https://github.com/MiguelNdeCarvalho/speedtest-exporter
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/speedtest-exporter
icon: right-arrow
---

View File

@@ -0,0 +1,15 @@
---
title: Stack
description: App of Apps Chart to deploy infrastructure by ArgoCD.
hero:
tagline: App of Apps Chart to deploy infrastructure by ArgoCD.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/argo-cd.webp
actions:
- text: Source
link: https://github.com/argoproj/argo-cd
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/stack
icon: right-arrow
---

View File

@@ -0,0 +1,15 @@
---
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
---

View File

@@ -0,0 +1,15 @@
---
title: Tailscale Operator
description: The easiest, most secure way to use WireGuard and 2FA.
hero:
tagline: The easiest, most secure way to use WireGuard and 2FA.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/tailscale-light.webp
actions:
- text: Source
link: https://github.com/tailscale/tailscale
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/tailscale-operator
icon: right-arrow
---

View File

@@ -0,0 +1,15 @@
---
title: Talos
description: Jobs to automate the maintainance of the underlying OS, Talos Linux.
hero:
tagline: Jobs to automate the maintainance of the underlying OS, Talos Linux.
image:
file: https://raw.githubusercontent.com/siderolabs/docs/3989ed11f0622252d7cee03b3ba3a3052be242d7/public/images/talos.svg
actions:
- text: Source
link: https://github.com/siderolabs/talos
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/talos
icon: right-arrow
---

View File

@@ -0,0 +1,15 @@
---
title: Tdarr
description: Tdarr - Distributed transcode automation using FFmpeg/HandBrake + Audio/Video library analytics + video health checking.
hero:
tagline: Tdarr - Distributed transcode automation using FFmpeg/HandBrake + Audio/Video library analytics + video health checking.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/tdarr.webp
actions:
- text: Source
link: https://github.com/HaveAGitGat/Tdarr
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/tdarr
icon: right-arrow
---

View File

@@ -0,0 +1,15 @@
---
title: Traefik
description: Traefik (pronounced traffic) is a modern HTTP reverse proxy and load balancer that makes deploying microservices easy.
hero:
tagline: Traefik (pronounced traffic) is a modern HTTP reverse proxy and load balancer that makes deploying microservices easy.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/traefik.webp
actions:
- text: Source
link: https://github.com/traefik/traefik
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/traefik
icon: right-arrow
---

View File

@@ -0,0 +1,15 @@
---
title: Tube Archivist
description: Your self hosted YouTube media server.
hero:
tagline: Your self hosted YouTube media server.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/tube-archivist.webp
actions:
- text: Source
link: https://github.com/tubearchivist/tubearchivist
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/tubearchivist
icon: right-arrow
---

View File

@@ -0,0 +1,15 @@
---
title: Unpackerr
description: Extracts downloads for Radarr, Sonarr, Lidarr, Readarr, and/or a Watch folder - Deletes extracted files after import.
hero:
tagline: Extracts downloads for Radarr, Sonarr, Lidarr, Readarr, and/or a Watch folder - Deletes extracted files after import.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/unpackerr.webp
actions:
- text: Source
link: https://github.com/Unpackerr/unpackerr
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/unpackerr
icon: right-arrow
---

View File

@@ -0,0 +1,15 @@
---
title: UnPoller
description: Collect your UniFi controller data and report it to an InfluxDB instance, or export it for Prometheus collection.
hero:
tagline: Collect your UniFi controller data and report it to an InfluxDB instance, or export it for Prometheus collection.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ubiquiti-unifi.webp
actions:
- text: Source
link: https://github.com/unpoller/unpoller
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/unpoller
icon: right-arrow
---

View File

@@ -0,0 +1,15 @@
---
title: Vault
description: A tool for secrets management, encryption as a service, and privileged access management.
hero:
tagline: A tool for secrets management, encryption as a service, and privileged access management.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/hashicorp-vault.webp
actions:
- text: Source
link: https://github.com/hashicorp/vault
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/vault
icon: right-arrow
---

View File

@@ -0,0 +1,19 @@
---
title: Vaultwarden
description: Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs.
hero:
tagline: Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/vaultwarden.webp
actions:
- text: Source
link: https://github.com/dani-garcia/vaultwarden
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/vaultwarden
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [passwords.alexlebens.dev](https://passwords.alexlebens.dev)</Aside>

View File

@@ -0,0 +1,15 @@
---
title: VolSync
description: VolSync asynchronously replicates Kubernetes persistent volumes between clusters using either rsync or rclone. It also supports creating backups of persistent volumes via restic.
hero:
tagline: VolSync asynchronously replicates Kubernetes persistent volumes between clusters using either rsync or rclone. It also supports creating backups of persistent volumes via restic.
image:
file: https://raw.githubusercontent.com/backube/volsync/main/docs/media/volsync.svg?sanitize=true
actions:
- text: Source
link: https://github.com/backube/volsync
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/volsync
icon: right-arrow
---

View File

@@ -0,0 +1,15 @@
---
title: WhoDB
description: A lightweight next-gen data explorer - Postgres, MySQL, SQLite, MongoDB, Redis, MariaDB, Elastic Search, and Clickhouse with Chat interface.
hero:
tagline: A lightweight next-gen data explorer - Postgres, MySQL, SQLite, MongoDB, Redis, MariaDB, Elastic Search, and Clickhouse with Chat interface.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/whodb.webp
actions:
- text: Source
link: https://github.com/clidey/whodb
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/whodb
icon: right-arrow
---

View File

@@ -0,0 +1,15 @@
---
title: Yamtrack
description: A self hosted media tracker.
hero:
tagline: A self hosted media tracker.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/yamtrack.webp
actions:
- text: Source
link: https://github.com/FuzzyGrim/Yamtrack
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/yamtrack
icon: right-arrow
---

View File

@@ -0,0 +1,15 @@
---
title: Yubal
description: Self-hosted YouTube Music downloader. Tags, organizes, and keeps playlists in sync.
hero:
tagline: Self-hosted YouTube Music downloader. Tags, organizes, and keeps playlists in sync.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/yubal.webp
actions:
- text: Source
link: https://github.com/guillevc/yubal
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/yubal
icon: right-arrow
---

View File

@@ -4,7 +4,7 @@ description: Steps followed to enable using Vault as a CA for ssh login
hero:
tagline: Steps followed for the v1.12.0 upgrade process
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/hashicorp-vault-light.webp
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/hashicorp-vault.webp
---
# Setup

View File

@@ -14,14 +14,13 @@
"isolatedModules": true,
"jsx": "preserve",
"incremental": true,
"baseUrl": ".",
"plugins": [
{
"name": "next"
}
],
"paths": {
"@/*": ["src/*"]
"@/*": ["./src/*"]
}
},
"include": [".astro/types.d.ts", "**/*"],