Compare commits
1 Commits
0.1.4
...
4038117273
| Author | SHA1 | Date | |
|---|---|---|---|
|
4038117273
|
@@ -50,38 +50,3 @@ jobs:
|
|||||||
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
|
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=test-build.yaml", "clear": true}]'
|
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/site-documentation/actions?workflow=test-build.yaml", "clear": true}]'
|
||||||
image: true
|
image: true
|
||||||
|
|
||||||
guarddog:
|
|
||||||
runs-on: ubuntu-js
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
|
|
||||||
- name: Set up Python
|
|
||||||
uses: actions/setup-python@v6
|
|
||||||
with:
|
|
||||||
python-version: '3.12'
|
|
||||||
|
|
||||||
- name: Install GuardDog
|
|
||||||
run: |
|
|
||||||
python3 -m pip install --upgrade pip
|
|
||||||
python3 -m pip install guarddog
|
|
||||||
|
|
||||||
- name: Run GuardDog
|
|
||||||
run: |
|
|
||||||
guarddog npm scan ./
|
|
||||||
|
|
||||||
- name: ntfy Failed
|
|
||||||
uses: niniyas/ntfy-action@master
|
|
||||||
if: failure()
|
|
||||||
with:
|
|
||||||
url: '${{ secrets.NTFY_URL }}'
|
|
||||||
topic: '${{ secrets.NTFY_TOPIC }}'
|
|
||||||
title: 'Security Failure - Site Documentation'
|
|
||||||
priority: 4
|
|
||||||
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
|
||||||
tags: action,failed
|
|
||||||
details: 'Guarddog scan failed for Site Documentation'
|
|
||||||
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=test-build.yaml", "clear": true}]'
|
|
||||||
image: true
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
ARG REGISTRY=docker.io
|
ARG REGISTRY=docker.io
|
||||||
FROM ${REGISTRY}/node:24.13.1-alpine AS base
|
FROM ${REGISTRY}/node:24.13.0-alpine AS base
|
||||||
|
|
||||||
ENV PNPM_HOME="/pnpm"
|
ENV PNPM_HOME="/pnpm"
|
||||||
ENV PATH="$PNPM_HOME:$PATH"
|
ENV PATH="$PNPM_HOME:$PATH"
|
||||||
@@ -28,7 +28,7 @@ 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.4"
|
LABEL version="0.1.0"
|
||||||
LABEL description="Astro based documentation website"
|
LABEL description="Astro based documentation website"
|
||||||
|
|
||||||
EXPOSE $PORT
|
EXPOSE $PORT
|
||||||
|
|||||||
22
package.json
22
package.json
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "site-documentation",
|
"name": "site-documentation",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "0.1.4",
|
"version": "0.1.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "astro dev",
|
"dev": "astro dev",
|
||||||
"build": "astro build",
|
"build": "astro build",
|
||||||
@@ -13,26 +13,26 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@astrojs/mdx": "^4.3.13",
|
"@astrojs/mdx": "^4.3.13",
|
||||||
"@astrojs/node": "^9.5.4",
|
"@astrojs/node": "^9.5.2",
|
||||||
"@astrojs/starlight": "^0.37.6",
|
"@astrojs/starlight": "^0.37.6",
|
||||||
"@tailwindcss/postcss": "^4.2.0",
|
"@tailwindcss/postcss": "^4.1.18",
|
||||||
"@tailwindcss/vite": "^4.2.0",
|
"@tailwindcss/vite": "^4.1.18",
|
||||||
"astro": "^5.17.3",
|
"astro": "^5.17.1",
|
||||||
"motion": "^12.34.2",
|
"motion": "^12.33.0",
|
||||||
"sanitize-html": "^2.17.1",
|
"sanitize-html": "^2.17.0",
|
||||||
"sharp": "^0.34.5",
|
"sharp": "^0.34.5",
|
||||||
"starlight-theme-rapide": "^0.5.2",
|
"starlight-theme-rapide": "^0.5.2",
|
||||||
"tailwindcss": "^4.2.0"
|
"tailwindcss": "^4.1.18"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tailwindcss/typography": "^0.5.19",
|
"@tailwindcss/typography": "^0.5.19",
|
||||||
"@typescript-eslint/parser": "^8.56.0",
|
"@typescript-eslint/parser": "^8.54.0",
|
||||||
"eslint": "^10.0.0",
|
"eslint": "^10.0.0",
|
||||||
"eslint-config-prettier": "^10.1.8",
|
"eslint-config-prettier": "^10.1.8",
|
||||||
"eslint-plugin-astro": "^1.6.0",
|
"eslint-plugin-astro": "^1.5.0",
|
||||||
"prettier": "^3.8.1",
|
"prettier": "^3.8.1",
|
||||||
"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.56.0"
|
"typescript-eslint": "^8.54.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
920
pnpm-lock.yaml
generated
920
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -1,68 +0,0 @@
|
|||||||
---
|
|
||||||
title: Talos Upgrade
|
|
||||||
description: Steps followed for the standard upgrade process
|
|
||||||
---
|
|
||||||
|
|
||||||
This is the standard upgrade process for Talos. Relatively simple, just verify, run commands, and verify.
|
|
||||||
|
|
||||||
## Health Check
|
|
||||||
|
|
||||||
### Etcd
|
|
||||||
|
|
||||||
Check status of etcd, ensure there is a leader and there are no errors.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
talosctl -n 10.232.1.11,10.232.1.12,10.232.1.13 etcd status
|
|
||||||
```
|
|
||||||
|
|
||||||
### Ceph
|
|
||||||
|
|
||||||
Check if ceph is healthy:
|
|
||||||
|
|
||||||
Either browse to the [webpage](https://ceph.alexlebens.net/#/dashboard), or run the following commands on the tools container
|
|
||||||
|
|
||||||
```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 check the status:
|
|
||||||
```bash
|
|
||||||
ceph status
|
|
||||||
```
|
|
||||||
|
|
||||||
### Cloudnative-PG
|
|
||||||
|
|
||||||
Check the status of the Cloudnative-PG clusters to ensure they are all healthy. There is potential data loss if a worker node has a failure or the local volume isn't reattached.
|
|
||||||
|
|
||||||
[Dashboard](https://grafana.alexlebens.net/d/cloudnative-pg/cloudnativepg)
|
|
||||||
|
|
||||||
### Garage
|
|
||||||
|
|
||||||
Check the status of the Garage cluster to ensure there is no data loss of the local S3 store. This will result in data loss of short term WALs if this cluster fails
|
|
||||||
|
|
||||||
[Dashboard](https://garage-webui.alexlebens.net/)
|
|
||||||
|
|
||||||
## Upgrade
|
|
||||||
|
|
||||||
Reference the [config repo](https://gitea.alexlebens.dev/alexlebens/talos-config/src/branch/main) for the exact commands, links to the factory page, and update the image versions. Each type has its own image string.
|
|
||||||
|
|
||||||
As an example to upgrade a NUC node:
|
|
||||||
```bash
|
|
||||||
talosctl upgrade --nodes 10.232.1.23 --image factory.talos.dev/metal-installer/495176274ce8f9e87ed052dbc285c67b2a0ed7c5a6212f5c4d086e1a9a1cf614:v1.12.0
|
|
||||||
```
|
|
||||||
|
|
||||||
# Apply new configuration
|
|
||||||
|
|
||||||
Use the generate command in the README of the talos-config repo to make the configuration to be supplied.
|
|
||||||
|
|
||||||
As an example to apply that generated config to a NUC node:
|
|
||||||
```bash
|
|
||||||
talosctl apply-config -f generated/worker-nuc.yaml -n 10.232.1.23
|
|
||||||
```
|
|
||||||
|
|
||||||
## Verification
|
|
||||||
|
|
||||||
Verify all is health on the dashboard:
|
|
||||||
```bash
|
|
||||||
talosctl -n 10.232.1.23 dashboard
|
|
||||||
```
|
|
||||||
Reference in New Issue
Block a user