Compare commits
1 Commits
0.1.0
...
a1b653f53a
| Author | SHA1 | Date | |
|---|---|---|---|
|
a1b653f53a
|
@@ -1,136 +0,0 @@
|
|||||||
name: release-image-gitea
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- 0.*
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-js
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
|
|
||||||
- name: Set up pnpm
|
|
||||||
uses: pnpm/action-setup@v4
|
|
||||||
with:
|
|
||||||
version: 10.x
|
|
||||||
|
|
||||||
- name: Set up Node.js
|
|
||||||
uses: actions/setup-node@v6
|
|
||||||
with:
|
|
||||||
node-version: 24.13.0
|
|
||||||
cache: pnpm
|
|
||||||
|
|
||||||
- name: Install Dependencies
|
|
||||||
run: pnpm install
|
|
||||||
|
|
||||||
# - name: Lint Code
|
|
||||||
# run: pnpm lint
|
|
||||||
|
|
||||||
- name: Build Project
|
|
||||||
run: pnpm build
|
|
||||||
|
|
||||||
release:
|
|
||||||
runs-on: ubuntu-js
|
|
||||||
needs: build
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
|
|
||||||
- name: Login to Registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ${{ vars.REPOSITORY_HOST }}
|
|
||||||
username: ${{ gitea.actor }}
|
|
||||||
password: ${{ secrets.REPOSITORY_TOKEN }}
|
|
||||||
|
|
||||||
- name: Create Kubeconfig
|
|
||||||
run: |
|
|
||||||
mkdir $HOME/.kube
|
|
||||||
echo "${{ secrets.KUBECONFIG_BUILDX }}" > $HOME/.kube/config
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
id: buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
with:
|
|
||||||
driver: kubernetes
|
|
||||||
driver-opts: |
|
|
||||||
namespace=gitea
|
|
||||||
qemu.install=true
|
|
||||||
buildkitd-config-inline: |
|
|
||||||
[registry."docker.io"]
|
|
||||||
mirrors = ["harbor.alexlebens.net/proxy-hub.docker/"]
|
|
||||||
|
|
||||||
- name: Available Platforms
|
|
||||||
run: echo ${{ steps.buildx.outputs.platforms }}
|
|
||||||
|
|
||||||
- name: Extract Metadata
|
|
||||||
id: meta
|
|
||||||
uses: docker/metadata-action@v5
|
|
||||||
with:
|
|
||||||
tags: |
|
|
||||||
type=ref,event=branch
|
|
||||||
type=ref,event=tag
|
|
||||||
type=sha,format=long
|
|
||||||
type=semver,pattern={{version}}
|
|
||||||
type=semver,pattern={{major}}.{{minor}}
|
|
||||||
type=semver,pattern={{major}}
|
|
||||||
images: |
|
|
||||||
${{ vars.REPOSITORY_HOST }}/${{ gitea.repository }}
|
|
||||||
|
|
||||||
- name: Get Version Info
|
|
||||||
id: version
|
|
||||||
run: |
|
|
||||||
echo "version=$(git describe --tags --always)" >> $GITHUB_OUTPUT
|
|
||||||
echo "commit=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
|
|
||||||
if git describe --tags --exact-match HEAD 2>/dev/null; then
|
|
||||||
echo "is_release=true" >> $GITHUB_OUTPUT
|
|
||||||
else
|
|
||||||
echo "is_release=false" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Build and Push Image
|
|
||||||
uses: docker/build-push-action@v6
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
push: true
|
|
||||||
platforms: linux/amd64
|
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
|
||||||
build-args: |
|
|
||||||
VERSION=${{ steps.version.outputs.version }}
|
|
||||||
COMMIT_SHA=${{ steps.version.outputs.commit }}
|
|
||||||
IS_RELEASE=${{ steps.version.outputs.is_release }}
|
|
||||||
file: ./Dockerfile
|
|
||||||
|
|
||||||
- name: ntfy Success
|
|
||||||
uses: niniyas/ntfy-action@master
|
|
||||||
if: success()
|
|
||||||
with:
|
|
||||||
url: '${{ secrets.NTFY_URL }}'
|
|
||||||
topic: '${{ secrets.NTFY_TOPIC }}'
|
|
||||||
title: 'Release Success - Site Documentation'
|
|
||||||
priority: 3
|
|
||||||
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
|
||||||
tags: action,successfully,completed
|
|
||||||
details: 'Image for Site Documentation has been released!'
|
|
||||||
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
|
|
||||||
|
|
||||||
- name: ntfy Failed
|
|
||||||
uses: niniyas/ntfy-action@master
|
|
||||||
if: failure()
|
|
||||||
with:
|
|
||||||
url: '${{ secrets.NTFY_URL }}'
|
|
||||||
topic: '${{ secrets.NTFY_TOPIC }}'
|
|
||||||
title: 'Release Failure - Site Documentation'
|
|
||||||
priority: 4
|
|
||||||
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
|
||||||
tags: action,failed
|
|
||||||
details: 'Image for Site Documentation has failed to be released.'
|
|
||||||
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
|
|
||||||
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/site-documentation/actions?workflow=release-image.yml", "clear": true}]'
|
|
||||||
image: true
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
name: release-image-harbor
|
name: release-image
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@@ -8,39 +8,19 @@ on:
|
|||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
|
||||||
runs-on: ubuntu-js
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
|
|
||||||
- name: Set up pnpm
|
|
||||||
uses: pnpm/action-setup@v4
|
|
||||||
with:
|
|
||||||
version: 10.x
|
|
||||||
|
|
||||||
- name: Set up Node.js
|
|
||||||
uses: actions/setup-node@v6
|
|
||||||
with:
|
|
||||||
node-version: 24.13.0
|
|
||||||
cache: pnpm
|
|
||||||
|
|
||||||
- name: Install Dependencies
|
|
||||||
run: pnpm install
|
|
||||||
|
|
||||||
# - name: Lint Code
|
|
||||||
# run: pnpm lint
|
|
||||||
|
|
||||||
- name: Build Project
|
|
||||||
run: pnpm build
|
|
||||||
|
|
||||||
release:
|
release:
|
||||||
runs-on: ubuntu-js
|
runs-on: ubuntu-js
|
||||||
needs: build
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: Login to Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: ${{ vars.REPOSITORY_HOST }}
|
||||||
|
username: ${{ gitea.actor }}
|
||||||
|
password: ${{ secrets.REPOSITORY_TOKEN }}
|
||||||
|
|
||||||
- name: Login to Registry
|
- name: Login to Registry
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
@@ -75,24 +55,10 @@ jobs:
|
|||||||
tags: |
|
tags: |
|
||||||
type=ref,event=branch
|
type=ref,event=branch
|
||||||
type=ref,event=tag
|
type=ref,event=tag
|
||||||
type=sha,format=long
|
|
||||||
type=semver,pattern={{version}}
|
|
||||||
type=semver,pattern={{major}}.{{minor}}
|
|
||||||
type=semver,pattern={{major}}
|
|
||||||
images: |
|
images: |
|
||||||
|
${{ vars.REPOSITORY_HOST }}/${{ gitea.repository }}
|
||||||
${{ vars.REGISTRY_HOST }}/images/site-documentation
|
${{ vars.REGISTRY_HOST }}/images/site-documentation
|
||||||
|
|
||||||
- name: Get Version Info
|
|
||||||
id: version
|
|
||||||
run: |
|
|
||||||
echo "version=$(git describe --tags --always)" >> $GITHUB_OUTPUT
|
|
||||||
echo "commit=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
|
|
||||||
if git describe --tags --exact-match HEAD 2>/dev/null; then
|
|
||||||
echo "is_release=true" >> $GITHUB_OUTPUT
|
|
||||||
else
|
|
||||||
echo "is_release=false" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Build and Push Image
|
- name: Build and Push Image
|
||||||
uses: docker/build-push-action@v6
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
@@ -101,10 +67,6 @@ jobs:
|
|||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
build-args: |
|
|
||||||
VERSION=${{ steps.version.outputs.version }}
|
|
||||||
COMMIT_SHA=${{ steps.version.outputs.commit }}
|
|
||||||
IS_RELEASE=${{ steps.version.outputs.is_release }}
|
|
||||||
file: ./Dockerfile
|
file: ./Dockerfile
|
||||||
|
|
||||||
- name: ntfy Success
|
- name: ntfy Success
|
||||||
@@ -13,7 +13,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
renovate:
|
renovate:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container: ghcr.io/renovatebot/renovate:43
|
container: ghcr.io/renovatebot/renovate:42
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ jobs:
|
|||||||
- name: Set up Node.js
|
- name: Set up Node.js
|
||||||
uses: actions/setup-node@v6
|
uses: actions/setup-node@v6
|
||||||
with:
|
with:
|
||||||
node-version: 24.13.0
|
node-version: 24.12.0
|
||||||
cache: pnpm
|
cache: pnpm
|
||||||
|
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
ARG REGISTRY=docker.io
|
ARG REGISTRY=docker.io
|
||||||
FROM ${REGISTRY}/node:24.13.0-alpine AS base
|
FROM ${REGISTRY}/node:24.12.0-alpine3.22 AS base
|
||||||
|
|
||||||
|
LABEL version="0.0.7"
|
||||||
|
LABEL description="Astro based documentation website"
|
||||||
|
|
||||||
ENV PNPM_HOME="/pnpm"
|
ENV PNPM_HOME="/pnpm"
|
||||||
ENV PATH="$PNPM_HOME:$PATH"
|
ENV PATH="$PNPM_HOME:$PATH"
|
||||||
@@ -28,8 +31,5 @@ ENV HOST=0.0.0.0
|
|||||||
ENV SITE_URL=https://docs.alexlebens.dev
|
ENV SITE_URL=https://docs.alexlebens.dev
|
||||||
ENV PORT=4321
|
ENV PORT=4321
|
||||||
|
|
||||||
LABEL version="0.1.0"
|
|
||||||
LABEL description="Astro based documentation website"
|
|
||||||
|
|
||||||
EXPOSE $PORT
|
EXPOSE $PORT
|
||||||
CMD ["node", "./dist/server/entry.mjs"]
|
CMD ["node", "./dist/server/entry.mjs"]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Starlight
|
# Starlight Starter Kit: Basics
|
||||||
|
|
||||||
[](https://starlight.astro.build)
|
[](https://starlight.astro.build)
|
||||||
|
|
||||||
@@ -6,6 +6,8 @@
|
|||||||
pnpm create astro@latest -- --template starlight
|
pnpm create astro@latest -- --template starlight
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> 🧑🚀 **Seasoned astronaut?** Delete this file. Have fun!
|
||||||
|
|
||||||
## 🚀 Project Structure
|
## 🚀 Project Structure
|
||||||
|
|
||||||
Inside of your Astro + Starlight project, you'll see the following folders and files:
|
Inside of your Astro + Starlight project, you'll see the following folders and files:
|
||||||
@@ -41,3 +43,7 @@ All commands are run from the root of the project, from a terminal:
|
|||||||
| `pnpm preview` | Preview your build locally, before deploying |
|
| `pnpm preview` | Preview your build locally, before deploying |
|
||||||
| `pnpm astro ...` | Run CLI commands like `astro add`, `astro check` |
|
| `pnpm astro ...` | Run CLI commands like `astro add`, `astro check` |
|
||||||
| `pnpm astro -- --help` | Get help using the Astro CLI |
|
| `pnpm astro -- --help` | Get help using the Astro CLI |
|
||||||
|
|
||||||
|
## 👀 Want to learn more?
|
||||||
|
|
||||||
|
Check out [Starlight’s docs](https://starlight.astro.build/), read [the Astro documentation](https://docs.astro.build), or jump into the [Astro Discord server](https://astro.build/chat).
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { defineConfig } from "astro/config";
|
|||||||
import node from "@astrojs/node";
|
import node from "@astrojs/node";
|
||||||
import tailwindcss from "@tailwindcss/vite";
|
import tailwindcss from "@tailwindcss/vite";
|
||||||
import starlight from "@astrojs/starlight";
|
import starlight from "@astrojs/starlight";
|
||||||
import starlightThemeRapide from 'starlight-theme-rapide'
|
import catppuccin from "@catppuccin/starlight";
|
||||||
|
|
||||||
const getSiteURL = () => {
|
const getSiteURL = () => {
|
||||||
if (process.env.SITE_URL) {
|
if (process.env.SITE_URL) {
|
||||||
@@ -20,33 +20,32 @@ export default defineConfig({
|
|||||||
integrations: [
|
integrations: [
|
||||||
tailwindcss(),
|
tailwindcss(),
|
||||||
starlight({
|
starlight({
|
||||||
title: "Alex Lebens Docs",
|
title: "My Docs",
|
||||||
customCss: [
|
|
||||||
'./src/styles/custom.css',
|
|
||||||
],
|
|
||||||
social: [
|
social: [
|
||||||
{
|
{
|
||||||
icon: "external",
|
icon: "github",
|
||||||
label: "Homepage",
|
label: "GitHub",
|
||||||
href: "https://www.alexlebens.dev",
|
href: "https://github.com/withastro/starlight",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
plugins: [
|
plugins: [
|
||||||
starlightThemeRapide()
|
catppuccin({
|
||||||
|
dark: { flavor: "macchiato", accent: "sapphire" },
|
||||||
|
light: { flavor: "latte", accent: "sky" }
|
||||||
|
})
|
||||||
],
|
],
|
||||||
sidebar: [
|
sidebar: [
|
||||||
|
{
|
||||||
|
label: "Guides",
|
||||||
|
items: [
|
||||||
|
// Each item here is one entry in the navigation menu.
|
||||||
|
{ label: "Example Guide", slug: "guides/example" },
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: "Reference",
|
label: "Reference",
|
||||||
autogenerate: { directory: "reference" },
|
autogenerate: { directory: "reference" },
|
||||||
},
|
},
|
||||||
{
|
|
||||||
label: "Guides",
|
|
||||||
autogenerate: { directory: "guides" },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Applications",
|
|
||||||
autogenerate: { directory: "applications" },
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
|
|||||||
26
package.json
26
package.json
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "site-documentation",
|
"name": "site-documentation",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "0.1.0",
|
"version": "0.0.7",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "astro dev",
|
"dev": "astro dev",
|
||||||
"build": "astro build",
|
"build": "astro build",
|
||||||
@@ -12,27 +12,27 @@
|
|||||||
"astro": "astro"
|
"astro": "astro"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@astrojs/mdx": "^4.3.13",
|
"@astrojs/mdx": "4.3.13",
|
||||||
"@astrojs/node": "^9.5.2",
|
"@astrojs/node": "9.5.2",
|
||||||
"@astrojs/starlight": "^0.37.6",
|
"@astrojs/starlight": "^0.37.1",
|
||||||
|
"@catppuccin/starlight": "1.0.2",
|
||||||
"@tailwindcss/postcss": "^4.1.18",
|
"@tailwindcss/postcss": "^4.1.18",
|
||||||
"@tailwindcss/vite": "^4.1.18",
|
"@tailwindcss/vite": "^4.1.18",
|
||||||
"astro": "^5.17.1",
|
"astro": "5.16.12",
|
||||||
"motion": "^12.33.0",
|
"motion": "^12.23.26",
|
||||||
"sanitize-html": "^2.17.0",
|
"sanitize-html": "^2.17.0",
|
||||||
"sharp": "^0.34.5",
|
"sharp": "^0.34.5",
|
||||||
"starlight-theme-rapide": "^0.5.2",
|
|
||||||
"tailwindcss": "^4.1.18"
|
"tailwindcss": "^4.1.18"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tailwindcss/typography": "^0.5.19",
|
"@tailwindcss/typography": "^0.5.19",
|
||||||
"@typescript-eslint/parser": "^8.54.0",
|
"@typescript-eslint/parser": "8.53.1",
|
||||||
"eslint": "^10.0.0",
|
"eslint": "9.39.2",
|
||||||
"eslint-config-prettier": "^10.1.8",
|
"eslint-config-prettier": "10.1.8",
|
||||||
"eslint-plugin-astro": "^1.5.0",
|
"eslint-plugin-astro": "1.5.0",
|
||||||
"prettier": "^3.8.1",
|
"prettier": "^3.7.4",
|
||||||
"prettier-plugin-astro": "^0.14.1",
|
"prettier-plugin-astro": "^0.14.1",
|
||||||
"prettier-plugin-tailwindcss": "^0.7.2",
|
"prettier-plugin-tailwindcss": "^0.7.2",
|
||||||
"typescript-eslint": "^8.54.0"
|
"typescript-eslint": "8.53.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
1100
pnpm-lock.yaml
generated
1100
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 696 B |
Binary file not shown.
|
Before Width: | Height: | Size: 98 KiB |
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 9.9 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 13 MiB |
BIN
src/assets/houston.webp
Normal file
BIN
src/assets/houston.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 96 KiB |
11
src/content/docs/guides/example.md
Normal file
11
src/content/docs/guides/example.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
title: Example Guide
|
||||||
|
description: A guide in my new Starlight docs site.
|
||||||
|
---
|
||||||
|
|
||||||
|
Guides lead a user through a specific task they want to accomplish, often with a sequence of steps.
|
||||||
|
Writing a good guide requires thinking about what your users are trying to do.
|
||||||
|
|
||||||
|
## Further reading
|
||||||
|
|
||||||
|
- Read [about how-to guides](https://diataxis.fr/how-to-guides/) in the Diátaxis framework
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
---
|
|
||||||
title: Talos Upgrade
|
|
||||||
description: Steps followed for the v1.12.0 upgrade process
|
|
||||||
---
|
|
||||||
|
|
||||||
The upgrade to this version was more extension as there have been migrations to using configuration documents. This required rewriting the configuration document to a series of patches and provide a deterministic generation command for the different host types. In addition there was also a change to storage layout to separate ceph, local-path, and ephemeral storage on the NUC hosts.
|
|
||||||
|
|
||||||
## Preparation
|
|
||||||
|
|
||||||
The NUC hosts are to be wiped since because of the storage reconfiguration. For the RPIs only the first command with proper image was needed. The new configuration format could be applied later. Both the node and the disks have to be removed.
|
|
||||||
|
|
||||||
The following command is used to upgrade the image. This was first to ensure the boot after wipe would still be v1.12.0 to use the updated configuration documents.
|
|
||||||
```bash
|
|
||||||
talosctl upgrade --nodes 10.232.1.23 --image factory.talos.dev/metal-installer/495176274ce8f9e87ed052dbc285c67b2a0ed7c5a6212f5c4d086e1a9a1cf614:v1.12.0
|
|
||||||
```
|
|
||||||
|
|
||||||
Wipe command.
|
|
||||||
```bash
|
|
||||||
talosctl reset --system-labels-to-wipe EPHEMERAL,STATE --reboot -n 10.232.1.23
|
|
||||||
```
|
|
||||||
|
|
||||||
## Remove old references
|
|
||||||
|
|
||||||
Remove the node from the cluster.
|
|
||||||
```bash
|
|
||||||
kubectl delete node talos-9vs-6hh
|
|
||||||
```
|
|
||||||
|
|
||||||
Exec into the rook-ceph-tools container in order to remove the disk from the cluster.
|
|
||||||
```bash
|
|
||||||
kubectl -n rook-ceph exec -it $(kubectl -n rook-ceph get pod -l "app=rook-ceph-tools" -o jsonpath='{.items\[\*].metadata.name}') -- bash
|
|
||||||
```
|
|
||||||
|
|
||||||
Inside the rook-ceph-tools container remove the OSD/disk and the node:
|
|
||||||
```bash
|
|
||||||
ceph osd tree
|
|
||||||
```
|
|
||||||
```bash
|
|
||||||
ceph osd out 0
|
|
||||||
```
|
|
||||||
```bash
|
|
||||||
ceph osd purge 0 --yes-i-really-mean-it
|
|
||||||
```
|
|
||||||
```bash
|
|
||||||
ceph osd crush remove talos-9vs-6hh
|
|
||||||
```
|
|
||||||
|
|
||||||
# Apply new configuration
|
|
||||||
|
|
||||||
The wiped node should now be in maintenance mode and ready to be configured. Use the generate command in the README of the talos-config repo to make the configuration to be supplied.
|
|
||||||
```bash
|
|
||||||
talosctl apply-config -f generated/worker-nuc.yaml -n 10.232.1.23 --insecure
|
|
||||||
```
|
|
||||||
|
|
||||||
Add the required labels if Talos does not add them:
|
|
||||||
```yaml
|
|
||||||
node-role.kubernetes.io/bgp: '65020'
|
|
||||||
node-role.kubernetes.io/local-storage-node: local-storage-node
|
|
||||||
node-role.kubernetes.io/rook-osd-node: rook-osd-node
|
|
||||||
```
|
|
||||||
|
|
||||||
## Verification
|
|
||||||
|
|
||||||
Verify the disks have been created:
|
|
||||||
```bash
|
|
||||||
talosctl get disks -n 10.232.1.23
|
|
||||||
```
|
|
||||||
|
|
||||||
Verify the mount paths and volumes are created:
|
|
||||||
```bash
|
|
||||||
talosctl -n 10.232.1.23 ls /var/mnt
|
|
||||||
```
|
|
||||||
```bash
|
|
||||||
talosctl -n 10.232.1.23 get volumestatuses
|
|
||||||
```
|
|
||||||
@@ -1,30 +1,36 @@
|
|||||||
---
|
---
|
||||||
title: Documentation for my Homelab
|
title: Welcome to Starlight
|
||||||
description: Guides and reference for my homelab infrastructure.
|
description: Get started building your docs site with Starlight.
|
||||||
template: splash
|
template: splash
|
||||||
hero:
|
hero:
|
||||||
tagline: Guides and reference for my homelab infrastructure.
|
tagline: Congrats on setting up a new Starlight project!
|
||||||
image:
|
image:
|
||||||
file: ../../assets/autumn_mountain.png
|
file: ../../assets/houston.webp
|
||||||
actions:
|
actions:
|
||||||
- text: Introduction
|
- text: Example Guide
|
||||||
link: /reference/introduction/
|
link: /guides/example/
|
||||||
icon: right-arrow
|
icon: right-arrow
|
||||||
|
- text: Read the Starlight docs
|
||||||
|
link: https://starlight.astro.build
|
||||||
|
icon: external
|
||||||
|
variant: minimal
|
||||||
---
|
---
|
||||||
|
|
||||||
import { Card, CardGrid, LinkCard } from '@astrojs/starlight/components';
|
import { Card, CardGrid } from '@astrojs/starlight/components';
|
||||||
|
|
||||||
## Hightlights
|
## Next steps
|
||||||
|
|
||||||
<CardGrid stagger>
|
<CardGrid stagger>
|
||||||
<LinkCard
|
<Card title="Update content" icon="pencil">
|
||||||
title="Homepage"
|
Edit `src/content/docs/index.mdx` to see this page change.
|
||||||
description="Visit my homepage to see what I'm up to and learn more about me."
|
</Card>
|
||||||
href="https://www.alexlebens.dev"
|
<Card title="Add new content" icon="add-document">
|
||||||
></LinkCard>
|
Add Markdown or MDX files to `src/content/docs` to create new pages.
|
||||||
<LinkCard
|
</Card>
|
||||||
title="Read the Starlight docs"
|
<Card title="Configure your site" icon="setting">
|
||||||
description="This site is built with Starlight, the Astro documentation theme. Check out the docs to learn more."
|
Edit your `sidebar` and other config in `astro.config.mjs`.
|
||||||
href="https://starlight.astro.build/"
|
</Card>
|
||||||
></LinkCard>
|
<Card title="Read the docs" icon="open-book">
|
||||||
|
Learn more in [the Starlight Docs](https://starlight.astro.build/).
|
||||||
|
</Card>
|
||||||
</CardGrid>
|
</CardGrid>
|
||||||
|
|||||||
11
src/content/docs/reference/example.md
Normal file
11
src/content/docs/reference/example.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
title: Example Reference
|
||||||
|
description: A reference page in my new Starlight docs site.
|
||||||
|
---
|
||||||
|
|
||||||
|
Reference pages are ideal for outlining how things work in terse and clear terms.
|
||||||
|
Less concerned with telling a story or addressing a specific use case, they should give a comprehensive outline of what you're documenting.
|
||||||
|
|
||||||
|
## Further reading
|
||||||
|
|
||||||
|
- Read [about reference](https://diataxis.fr/reference/) in the Diátaxis framework
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
---
|
|
||||||
title: Introduction
|
|
||||||
description: Overiew of the homelab
|
|
||||||
sidebar:
|
|
||||||
order: 1
|
|
||||||
---
|
|
||||||
|
|
||||||
Overview of the homelab.
|
|
||||||
|
|
||||||
# Hardware
|
|
||||||
|
|
||||||
Currently using a mix of RPIs, Intel based NUCs, Synology NAS, and Ubiquity networking.
|
|
||||||
|
|
||||||
# Software
|
|
||||||
|
|
||||||
Kubernetes for the main cluster. Docker managed by Komodo for the single hosts.
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
@import 'tailwindcss';
|
|
||||||
@plugin '@tailwindcss/typography';
|
|
||||||
|
|
||||||
/* Custom colors */
|
|
||||||
@theme {
|
|
||||||
--color-midnight: #0c354d;
|
|
||||||
--color-turquoise: #0da797;
|
|
||||||
--color-steel: #4682b4;
|
|
||||||
--color-bermuda: #7fbab4;
|
|
||||||
--color-desert: #f9deb2;
|
|
||||||
--color-bronze: #9e7f5e;
|
|
||||||
--color-gitea-primary: #609926;
|
|
||||||
--color-gitea-secondary: #4c7a33;
|
|
||||||
}
|
|
||||||
|
|
||||||
@layer starlight, rapide, overrides;
|
|
||||||
|
|
||||||
@layer overrides {
|
|
||||||
:root {
|
|
||||||
--sl-color-accent-high: var(--color-steel);
|
|
||||||
--sl-color-accent-high: var(--color-steel);
|
|
||||||
--sl-color-accent-low: var(--color-bermuda);
|
|
||||||
}
|
|
||||||
|
|
||||||
:root[data-theme='light'] {
|
|
||||||
--sl-color-accent: var(--color-steel);
|
|
||||||
--sl-color-accent-high: var(--color-steel);
|
|
||||||
--sl-color-accent-low: var(--color-turquoise);
|
|
||||||
}
|
|
||||||
|
|
||||||
.site-title:where(.astro-gmuhlsjs) {
|
|
||||||
color: var(--color-turquoise);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,9 +1,7 @@
|
|||||||
/** @type {import('tailwindcss').Config} */
|
/** @type {import('tailwindcss').Config} */
|
||||||
module.exports = {
|
module.exports = {
|
||||||
content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}', '*.{js,ts,jsx,tsx,mdx}'],
|
content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}', '*.{js,ts,jsx,tsx,mdx}'],
|
||||||
darkMode: ['class', '[data-theme="dark"]'],
|
darkMode: 'class',
|
||||||
theme: {
|
theme: {},
|
||||||
extend: {},
|
|
||||||
},
|
|
||||||
plugins: [require('@tailwindcss/typography')],
|
plugins: [require('@tailwindcss/typography')],
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user