Compare commits

..

16 Commits

Author SHA1 Message Date
alexlebens 74d558c005 Merge pull request 'chore(deps): update docker/setup-buildx-action action to v4.1.0' (#284) from renovate/docker-setup-buildx-action-4.x into main
Reviewed-on: #284
2026-05-22 20:39:53 +00:00
alexlebens 72a43df4a7 Merge pull request 'chore(deps): update docker/metadata-action action to v6.1.0' (#283) from renovate/docker-metadata-action-6.x into main
Reviewed-on: #283
2026-05-22 20:39:22 +00:00
alexlebens e504798110 Merge pull request 'chore(deps): update docker/login-action action to v4.2.0' (#282) from renovate/docker-login-action-4.x into main
Reviewed-on: #282
2026-05-22 20:38:24 +00:00
alexlebens f694d60a9b Merge pull request 'chore(deps): update dependency node to v24.16.0' (#281) from renovate/node-24.x into main
Reviewed-on: #281
2026-05-22 20:38:07 +00:00
renovate-bot f6a35cda3f chore(deps): update docker/setup-buildx-action action to v4.1.0
test-build / build (pull_request) Successful in 38s
test-build / guarddog (pull_request) Successful in 3m2s
2026-05-22 20:25:54 +00:00
renovate-bot 2706f536f3 chore(deps): update docker/metadata-action action to v6.1.0
test-build / build (pull_request) Successful in 3m30s
test-build / guarddog (pull_request) Successful in 3m25s
2026-05-22 20:25:29 +00:00
renovate-bot bd2d47a73c chore(deps): update docker/login-action action to v4.2.0
test-build / guarddog (pull_request) Successful in 29s
test-build / build (pull_request) Successful in 3m42s
2026-05-22 20:25:21 +00:00
renovate-bot 2c77198528 chore(deps): update dependency node to v24.16.0
test-build / guarddog (pull_request) Successful in 4m28s
test-build / build (pull_request) Successful in 6m19s
2026-05-22 20:25:13 +00:00
renovate-bot 650f59f430 fix(deps): update dependency astro to v6.3.7
renovate/stability-days Updates have met minimum release age requirement
test-build / guarddog (push) Successful in 3m59s
test-build / build (push) Successful in 6m28s
test-build / guarddog (pull_request) Successful in 8m5s
test-build / build (pull_request) Successful in 11m55s
2026-05-22 20:25:09 +00:00
alexlebens 7565e94cb7 ci: use ubuntu-latest 2026-05-22 15:09:12 -05:00
alexlebens a7ab7b398a feat: add vault restore doc
test-build / build (push) Successful in 1m9s
test-build / guarddog (push) Successful in 7m10s
2026-05-22 14:25:56 -05:00
renovate-bot d73f2639ed chore(deps): update docker/build-push-action action to v7.2.0 2026-05-22 14:25:56 -05:00
renovate-bot 653a240d33 fix(deps): update dependency astro to v6.3.6 2026-05-22 14:25:56 -05:00
renovate-bot 83028c60ad fix(deps): update dependency astro to v6.3.5 2026-05-22 14:25:56 -05:00
renovate-bot 5181da9051 chore(deps): update typescript-eslint monorepo to v8.59.4 2026-05-22 14:25:56 -05:00
semantic-release-bot 6d64cee10e chore(release): 0.34.0 [skip ci]
# [0.34.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.33.1...0.34.0) (2026-05-17)

### Bug Fixes

* **deps:** update astro monorepo ([3162755](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/3162755c527ee8923e47d657921966c379b0de51))

### Features

* add guide for Komodo ([1d5f5e1](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/1d5f5e16e817f716f3efcd09167fe1952091a457))
* highlight links ([3914e3a](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/3914e3aab3de30cdae73e0e1502444d35bc04657))
2026-05-17 01:03:28 +00:00
8 changed files with 173 additions and 41 deletions
+17 -17
View File
@@ -9,7 +9,7 @@ on:
jobs: jobs:
build: build:
runs-on: ubuntu-js runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v6.0.2 uses: actions/checkout@v6.0.2
@@ -19,7 +19,7 @@ jobs:
- name: Set up Node - name: Set up Node
uses: actions/setup-node@v6.4.0 uses: actions/setup-node@v6.4.0
with: with:
node-version: 24.15.0 node-version: 24.16.0
- name: Set up Bun - name: Set up Bun
uses: oven-sh/setup-bun@v2.2.0 uses: oven-sh/setup-bun@v2.2.0
@@ -61,7 +61,7 @@ jobs:
image: true image: true
guarddog: guarddog:
runs-on: ubuntu-js runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v6.0.2 uses: actions/checkout@v6.0.2
@@ -99,7 +99,7 @@ jobs:
semantic-release: semantic-release:
needs: [ build, guarddog ] needs: [ build, guarddog ]
runs-on: ubuntu-js runs-on: ubuntu-latest
outputs: outputs:
new-release-published: ${{ steps.semantic.outputs.new-release-published }} new-release-published: ${{ steps.semantic.outputs.new-release-published }}
new-release-version: ${{ steps.semantic.outputs.new-release-version }} new-release-version: ${{ steps.semantic.outputs.new-release-version }}
@@ -114,7 +114,7 @@ jobs:
- name: Set up Node - name: Set up Node
uses: actions/setup-node@v6.4.0 uses: actions/setup-node@v6.4.0
with: with:
node-version: 24.15.0 node-version: 24.16.0
- name: Set up Bun - name: Set up Bun
uses: oven-sh/setup-bun@v2.2.0 uses: oven-sh/setup-bun@v2.2.0
@@ -134,7 +134,7 @@ jobs:
bun run semantic-release bun run semantic-release
release-harbor: release-harbor:
runs-on: ubuntu-js runs-on: ubuntu-latest
needs: semantic-release needs: semantic-release
if: ${{ needs.semantic-release.outputs.new-release-published == 'true' }} if: ${{ needs.semantic-release.outputs.new-release-published == 'true' }}
steps: steps:
@@ -144,14 +144,14 @@ jobs:
ref: release ref: release
- name: Login to Harbor Registry - name: Login to Harbor Registry
uses: docker/login-action@v4.1.0 uses: docker/login-action@v4.2.0
with: with:
registry: ${{ vars.REGISTRY_HOST }} registry: ${{ vars.REGISTRY_HOST }}
username: ${{ vars.REGISTRY_USER }} username: ${{ vars.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_SECRET }} password: ${{ secrets.REGISTRY_SECRET }}
- name: Login to Docker - name: Login to Docker
uses: docker/login-action@v4.1.0 uses: docker/login-action@v4.2.0
with: with:
registry: ${{ vars.DH_REGISTRY }} registry: ${{ vars.DH_REGISTRY }}
username: ${{ secrets.DH_USERNAME }} username: ${{ secrets.DH_USERNAME }}
@@ -164,7 +164,7 @@ jobs:
- name: Set up Docker Buildx - name: Set up Docker Buildx
id: buildx id: buildx
uses: docker/setup-buildx-action@v4.0.0 uses: docker/setup-buildx-action@v4.1.0
with: with:
driver: kubernetes driver: kubernetes
driver-opts: | driver-opts: |
@@ -179,7 +179,7 @@ jobs:
- name: Extract Metadata - name: Extract Metadata
id: meta id: meta
uses: docker/metadata-action@v6.0.0 uses: docker/metadata-action@v6.1.0
with: with:
images: | images: |
${{ vars.REGISTRY_HOST }}/images/site-documentation ${{ vars.REGISTRY_HOST }}/images/site-documentation
@@ -192,7 +192,7 @@ jobs:
type=semver,pattern={{major}},value=${{ needs.semantic-release.outputs.new-release-version }} type=semver,pattern={{major}},value=${{ needs.semantic-release.outputs.new-release-version }}
- name: Build and Push Image - name: Build and Push Image
uses: docker/build-push-action@v7.1.0 uses: docker/build-push-action@v7.2.0
with: with:
context: . context: .
push: true push: true
@@ -236,7 +236,7 @@ jobs:
image: true image: true
release-gitea: release-gitea:
runs-on: ubuntu-js runs-on: ubuntu-latest
needs: [ semantic-release, release-harbor ] needs: [ semantic-release, release-harbor ]
if: | if: |
always() && always() &&
@@ -248,14 +248,14 @@ jobs:
ref: release ref: release
- name: Login to Gitea Registry - name: Login to Gitea Registry
uses: docker/login-action@v4.1.0 uses: docker/login-action@v4.2.0
with: with:
registry: ${{ vars.REPOSITORY_HOST }} registry: ${{ vars.REPOSITORY_HOST }}
username: ${{ gitea.actor }} username: ${{ gitea.actor }}
password: ${{ secrets.REPOSITORY_TOKEN }} password: ${{ secrets.REPOSITORY_TOKEN }}
- name: Login to Docker - name: Login to Docker
uses: docker/login-action@v4.1.0 uses: docker/login-action@v4.2.0
with: with:
registry: ${{ vars.DH_REGISTRY }} registry: ${{ vars.DH_REGISTRY }}
username: ${{ secrets.DH_USERNAME }} username: ${{ secrets.DH_USERNAME }}
@@ -268,7 +268,7 @@ jobs:
- name: Set up Docker Buildx - name: Set up Docker Buildx
id: buildx id: buildx
uses: docker/setup-buildx-action@v4.0.0 uses: docker/setup-buildx-action@v4.1.0
with: with:
driver: kubernetes driver: kubernetes
driver-opts: | driver-opts: |
@@ -283,7 +283,7 @@ jobs:
- name: Extract Metadata - name: Extract Metadata
id: meta id: meta
uses: docker/metadata-action@v6.0.0 uses: docker/metadata-action@v6.1.0
with: with:
images: | images: |
${{ vars.REPOSITORY_HOST }}/${{ gitea.repository }} ${{ vars.REPOSITORY_HOST }}/${{ gitea.repository }}
@@ -296,7 +296,7 @@ jobs:
type=semver,pattern={{major}},value=${{ needs.semantic-release.outputs.new-release-version }} type=semver,pattern={{major}},value=${{ needs.semantic-release.outputs.new-release-version }}
- name: Build and Push Image - name: Build and Push Image
uses: docker/build-push-action@v7.1.0 uses: docker/build-push-action@v7.2.0
with: with:
context: . context: .
push: true push: true
+3 -3
View File
@@ -14,7 +14,7 @@ on:
jobs: jobs:
build: build:
runs-on: ubuntu-js runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v6.0.2 uses: actions/checkout@v6.0.2
@@ -22,7 +22,7 @@ jobs:
- name: Set up Node - name: Set up Node
uses: actions/setup-node@v6.4.0 uses: actions/setup-node@v6.4.0
with: with:
node-version: 24.15.0 node-version: 24.16.0
- name: Set up Bun - name: Set up Bun
uses: oven-sh/setup-bun@v2.2.0 uses: oven-sh/setup-bun@v2.2.0
@@ -64,7 +64,7 @@ jobs:
image: true image: true
guarddog: guarddog:
runs-on: ubuntu-js runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v6.0.2 uses: actions/checkout@v6.0.2
+13
View File
@@ -1,3 +1,16 @@
# [0.34.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.33.1...0.34.0) (2026-05-17)
### Bug Fixes
* **deps:** update astro monorepo ([3162755](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/3162755c527ee8923e47d657921966c379b0de51))
### Features
* add guide for Komodo ([1d5f5e1](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/1d5f5e16e817f716f3efcd09167fe1952091a457))
* highlight links ([3914e3a](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/3914e3aab3de30cdae73e0e1502444d35bc04657))
## [0.33.1](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.33.0...0.33.1) (2026-05-13) ## [0.33.1](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.33.0...0.33.1) (2026-05-13)
+15 -15
View File
@@ -11,7 +11,7 @@
"@astrojs/starlight": "0.39.2", "@astrojs/starlight": "0.39.2",
"@tailwindcss/postcss": "4.3.0", "@tailwindcss/postcss": "4.3.0",
"@tailwindcss/vite": "4.3.0", "@tailwindcss/vite": "4.3.0",
"astro": "6.3.5", "astro": "6.3.7",
"sanitize-html": "2.17.4", "sanitize-html": "2.17.4",
"sharp": "0.34.5", "sharp": "0.34.5",
"starlight-theme-rapide": "0.5.2", "starlight-theme-rapide": "0.5.2",
@@ -26,7 +26,7 @@
"@semantic-release/release-notes-generator": "14.1.1", "@semantic-release/release-notes-generator": "14.1.1",
"@tailwindcss/forms": "0.5.11", "@tailwindcss/forms": "0.5.11",
"@tailwindcss/typography": "0.5.19", "@tailwindcss/typography": "0.5.19",
"@typescript-eslint/parser": "8.59.3", "@typescript-eslint/parser": "8.59.4",
"eslint": "10.4.0", "eslint": "10.4.0",
"eslint-config-prettier": "10.1.8", "eslint-config-prettier": "10.1.8",
"eslint-plugin-astro": "1.7.0", "eslint-plugin-astro": "1.7.0",
@@ -36,7 +36,7 @@
"semantic-release": "25.0.3", "semantic-release": "25.0.3",
"semantic-release-export-data": "1.2.0", "semantic-release-export-data": "1.2.0",
"typescript": "6.0.3", "typescript": "6.0.3",
"typescript-eslint": "8.59.3", "typescript-eslint": "8.59.4",
}, },
}, },
}, },
@@ -463,25 +463,25 @@
"@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="], "@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="],
"@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.59.3", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.59.3", "@typescript-eslint/type-utils": "8.59.3", "@typescript-eslint/utils": "8.59.3", "@typescript-eslint/visitor-keys": "8.59.3", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.59.3", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-PwFvSKsXGShKGW6n5bZOhGHEcCZXM8HofLK9fNsEwZXzFRjoY+XT1Vsf1zgyXdwTr0ZYz1/2tkZ0DBTT9jZjhw=="], "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.59.4", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.59.4", "@typescript-eslint/type-utils": "8.59.4", "@typescript-eslint/utils": "8.59.4", "@typescript-eslint/visitor-keys": "8.59.4", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.59.4", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-PegsU+XfyJJNjd4+u/k6f9yTyp0lEXXiPopUNobZcIAUJFGICFLN+sP0Rb3JehVmiij1Ph0dFGYqODoRo/2+6A=="],
"@typescript-eslint/parser": ["@typescript-eslint/parser@8.59.3", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.59.3", "@typescript-eslint/types": "8.59.3", "@typescript-eslint/typescript-estree": "8.59.3", "@typescript-eslint/visitor-keys": "8.59.3", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-HPwA+hVkfcriajbNvTmZv4VRauibay+cWArYUYq7u7W7PmGShMxbPxLvrwDme55a6d5alG3nrYfhyJ/G28XlLg=="], "@typescript-eslint/parser": ["@typescript-eslint/parser@8.59.4", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.59.4", "@typescript-eslint/types": "8.59.4", "@typescript-eslint/typescript-estree": "8.59.4", "@typescript-eslint/visitor-keys": "8.59.4", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-zORHqO/tuhxY1zWuTvMUqddRxpiFJ72xVfcNoWpqdLjs6lfPbuQBJuW4pk+49/uBMy7Ssr4bzgjiKmmDB1UbZQ=="],
"@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.59.3", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.59.3", "@typescript-eslint/types": "^8.59.3", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-ECiUWa/KYRGDFUqTNehaRgzDshnJfkTABJxVemHk4ko22gcr0ukloKjWvyQ64g8YCV/UI47kN1dbmjf/GaQYng=="], "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.59.4", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.59.4", "@typescript-eslint/types": "^8.59.4", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-Ly00Vu4oAacfDeHp2Zg85ioNG6l8HG+tN1D7J+xTHSxu9y0awYKJ2zH1rFBn8ZSfuGK+7FxK3Cgl3uAz0aZZLg=="],
"@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.59.3", "", { "dependencies": { "@typescript-eslint/types": "8.59.3", "@typescript-eslint/visitor-keys": "8.59.3" } }, "sha512-t2LvZnoEfzKtnPjgeEu41xw5gxq9mQVfYy4OoZ4Vlt0sk3JwxmhCca/AR7DwOiHrjWgjAj6as4AhRLKSDfvZIA=="], "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.59.4", "", { "dependencies": { "@typescript-eslint/types": "8.59.4", "@typescript-eslint/visitor-keys": "8.59.4" } }, "sha512-mUeR/3H1WrTAddJrwut8OoPjfauaztMQmRwV5fQTUyNVJCLiUXXe4lGEyYIL2oFDpP7UtgbGJXCt72wT0z2S3Q=="],
"@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.59.3", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-PcIJHjmaREXLgIAIzLnSY9VucEzz8FKXsRgFa1DmdGCK/5tJpW03TKJF01Q6VZd1lLdz2sIKPWaDUZN9dp//dw=="], "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.59.4", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-DLCpnKgD4alVxTBSKulK+gU1KCqOgUXfDRDXh2mZgzokQKa/70ax93I2uVO3m/LLvIAtWZIFoiifudmIqAxpMA=="],
"@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.59.3", "", { "dependencies": { "@typescript-eslint/types": "8.59.3", "@typescript-eslint/typescript-estree": "8.59.3", "@typescript-eslint/utils": "8.59.3", "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-g71d8QD8UaiHGvrJwyIS1hCX5r63w6Jll+4VEYhEAHXTDIqX1JgxhTAbEHtKntL9kuc4jRo7/GWw5xfCepSccQ=="], "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.59.4", "", { "dependencies": { "@typescript-eslint/types": "8.59.4", "@typescript-eslint/typescript-estree": "8.59.4", "@typescript-eslint/utils": "8.59.4", "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-uonTuPAAKr9XaBGqJ3LjYTh72zy5DyGesljO9gtmk/eFW0W1fRHjnwVYKB35Lm8d5Q5CluEW3gPHjTvZTmgrfA=="],
"@typescript-eslint/types": ["@typescript-eslint/types@8.59.3", "", {}, "sha512-ePFoH0g4ludssdRFqqDxQePCxU4WQyRa9+XVwjm7yLn0FKhMeoetC+qBEEI1Eyb1pGSDveTIT09Bvw2WhlGayg=="], "@typescript-eslint/types": ["@typescript-eslint/types@8.59.4", "", {}, "sha512-F1o7WJcCq+bc8dwcO/YsSEOudAH8RDtaOhM6wcAQhcUsFhnWQl81JKy48q1hoxAU0qrzM89+31GYh1515Zde3Q=="],
"@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.59.3", "", { "dependencies": { "@typescript-eslint/project-service": "8.59.3", "@typescript-eslint/tsconfig-utils": "8.59.3", "@typescript-eslint/types": "8.59.3", "@typescript-eslint/visitor-keys": "8.59.3", "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-CbRjVRAf7Lr9Kr8RopKcbY45p2VfmmHrm0ygOCYFi7oU8q19m0Fs/6iHS7kNOmwpp+ob07ZVcAqlxUod9lYdmg=="], "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.59.4", "", { "dependencies": { "@typescript-eslint/project-service": "8.59.4", "@typescript-eslint/tsconfig-utils": "8.59.4", "@typescript-eslint/types": "8.59.4", "@typescript-eslint/visitor-keys": "8.59.4", "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-F+RuOmcDXo4+TPdfd/TCLS3m2nw8gE9XXyZLrA3JBfaA5tz9TtdkyD3YJFmPxulyc2cKbEok/CvFE3MgSLWnag=="],
"@typescript-eslint/utils": ["@typescript-eslint/utils@8.59.3", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.59.3", "@typescript-eslint/types": "8.59.3", "@typescript-eslint/typescript-estree": "8.59.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-JAvT14goBzRzzzZyqq3P9BLArIxTtQURUtFgQ/V7FO+eU+Gg6ES+5ymOPP1wRxXcxAYeivCk4uS3jCKWI1K8Zg=="], "@typescript-eslint/utils": ["@typescript-eslint/utils@8.59.4", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.59.4", "@typescript-eslint/types": "8.59.4", "@typescript-eslint/typescript-estree": "8.59.4" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-cYXeNAUsG4lJo5dbc1FcKm+JwIWrj1/UpTORsC6tGMjEZ81DYcvIr9/ueikhMa/Y/gDQYGp+YX9/xQrXje5BJw=="],
"@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.59.3", "", { "dependencies": { "@typescript-eslint/types": "8.59.3", "eslint-visitor-keys": "^5.0.0" } }, "sha512-f1UQF7ggd42YiwI5wGrRaPsa+P0CINBlrkLPmGfpq/u/I/oVtecoEIfFR9ag/oa1sLOsRNZ6xehf6qMZhQGBDg=="], "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.59.4", "", { "dependencies": { "@typescript-eslint/types": "8.59.4", "eslint-visitor-keys": "^5.0.0" } }, "sha512-U3gxVaDVnuZKhSspW/MzMxE1kq7zOdc072FcSNoqA1I9p8HyKbBFfEHoWckBAMgNMph4MamwS5iTVzFmrnt8TQ=="],
"@ungap/structured-clone": ["@ungap/structured-clone@1.3.1", "", {}, "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ=="], "@ungap/structured-clone": ["@ungap/structured-clone@1.3.1", "", {}, "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ=="],
@@ -521,7 +521,7 @@
"astring": ["astring@1.9.0", "", { "bin": { "astring": "bin/astring" } }, "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg=="], "astring": ["astring@1.9.0", "", { "bin": { "astring": "bin/astring" } }, "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg=="],
"astro": ["astro@6.3.5", "", { "dependencies": { "@astrojs/compiler": "^4.0.0", "@astrojs/internal-helpers": "0.9.1", "@astrojs/markdown-remark": "7.1.2", "@astrojs/telemetry": "3.3.2", "@capsizecss/unpack": "^4.0.0", "@clack/prompts": "^1.1.0", "@oslojs/encoding": "^1.1.0", "@rollup/pluginutils": "^5.3.0", "aria-query": "^5.3.2", "axobject-query": "^4.1.0", "ci-info": "^4.4.0", "clsx": "^2.1.1", "common-ancestor-path": "^2.0.0", "cookie": "^1.1.1", "devalue": "^5.6.3", "diff": "^8.0.3", "dset": "^3.1.4", "es-module-lexer": "^2.0.0", "esbuild": "^0.27.3", "flattie": "^1.1.1", "fontace": "~0.4.1", "get-tsconfig": "5.0.0-beta.4", "github-slugger": "^2.0.0", "html-escaper": "3.0.3", "http-cache-semantics": "^4.2.0", "js-yaml": "^4.1.1", "jsonc-parser": "^3.3.1", "magic-string": "^0.30.21", "magicast": "^0.5.2", "mrmime": "^2.0.1", "neotraverse": "^0.6.18", "obug": "^2.1.1", "p-limit": "^7.3.0", "p-queue": "^9.1.0", "package-manager-detector": "^1.6.0", "piccolore": "^0.1.3", "picomatch": "^4.0.4", "rehype": "^13.0.2", "semver": "^7.7.4", "shiki": "^4.0.2", "smol-toml": "^1.6.0", "svgo": "^4.0.1", "tinyclip": "^0.1.12", "tinyexec": "^1.0.4", "tinyglobby": "^0.2.15", "ultrahtml": "^1.6.0", "unifont": "~0.7.4", "unist-util-visit": "^5.1.0", "unstorage": "^1.17.5", "vfile": "^6.0.3", "vite": "^7.3.2", "vitefu": "^1.1.2", "xxhash-wasm": "^1.1.0", "yargs-parser": "^22.0.0", "zod": "^4.3.6" }, "optionalDependencies": { "sharp": "^0.34.0" }, "bin": { "astro": "./bin/astro.mjs" } }, "sha512-gU+4KedkbTuVgz7YoVAN+9Ftnq0GaYwejxK2NbqDzB0M9dWd0f3kXZBuaM9hzbchRFoRAJfJjFtdX9LK6Ir7ZA=="], "astro": ["astro@6.3.7", "", { "dependencies": { "@astrojs/compiler": "^4.0.0", "@astrojs/internal-helpers": "0.9.1", "@astrojs/markdown-remark": "7.1.2", "@astrojs/telemetry": "3.3.2", "@capsizecss/unpack": "^4.0.0", "@clack/prompts": "^1.1.0", "@oslojs/encoding": "^1.1.0", "@rollup/pluginutils": "^5.3.0", "aria-query": "^5.3.2", "axobject-query": "^4.1.0", "ci-info": "^4.4.0", "clsx": "^2.1.1", "common-ancestor-path": "^2.0.0", "cookie": "^1.1.1", "devalue": "^5.6.3", "diff": "^8.0.3", "dset": "^3.1.4", "es-module-lexer": "^2.0.0", "esbuild": "^0.27.3", "flattie": "^1.1.1", "fontace": "~0.4.1", "get-tsconfig": "5.0.0-beta.4", "github-slugger": "^2.0.0", "html-escaper": "3.0.3", "http-cache-semantics": "^4.2.0", "js-yaml": "^4.1.1", "jsonc-parser": "^3.3.1", "magic-string": "^0.30.21", "magicast": "^0.5.2", "mrmime": "^2.0.1", "neotraverse": "^0.6.18", "obug": "^2.1.1", "p-limit": "^7.3.0", "p-queue": "^9.1.0", "package-manager-detector": "^1.6.0", "piccolore": "^0.1.3", "picomatch": "^4.0.4", "rehype": "^13.0.2", "semver": "^7.7.4", "shiki": "^4.0.2", "smol-toml": "^1.6.0", "svgo": "^4.0.1", "tinyclip": "^0.1.12", "tinyexec": "^1.0.4", "tinyglobby": "^0.2.15", "ultrahtml": "^1.6.0", "unifont": "~0.7.4", "unist-util-visit": "^5.1.0", "unstorage": "^1.17.5", "vfile": "^6.0.3", "vite": "^7.3.2", "vitefu": "^1.1.2", "xxhash-wasm": "^1.1.0", "yargs-parser": "^22.0.0", "zod": "^4.3.6" }, "optionalDependencies": { "sharp": "^0.34.0" }, "bin": { "astro": "./bin/astro.mjs" } }, "sha512-zIeDRrI0qNgN1lcCjNqt6/IVCVej7VwSa326cO8uP9BOk1cg4QuffhLnOn2gCgWQr32/wxpSRFfXiLKHglu1Tw=="],
"astro-eslint-parser": ["astro-eslint-parser@1.4.0", "", { "dependencies": { "@astrojs/compiler": "^2.0.0 || ^3.0.0", "@typescript-eslint/scope-manager": "^7.0.0 || ^8.0.0", "@typescript-eslint/types": "^7.0.0 || ^8.0.0", "astrojs-compiler-sync": "^1.0.0", "debug": "^4.3.4", "entities": "^7.0.0", "eslint-scope": "^8.0.1", "eslint-visitor-keys": "^4.0.0", "espree": "^10.0.0", "fast-glob": "^3.3.3", "is-glob": "^4.0.3", "semver": "^7.3.8" } }, "sha512-+QDcgc7e+au6EZ0YjMmRRjNoQo5bDMlaR45aWDoFsuxQTCM9qmCHRoiKJPELgckJ8Wmr7vcfpa9eCDHBFh6G4w=="], "astro-eslint-parser": ["astro-eslint-parser@1.4.0", "", { "dependencies": { "@astrojs/compiler": "^2.0.0 || ^3.0.0", "@typescript-eslint/scope-manager": "^7.0.0 || ^8.0.0", "@typescript-eslint/types": "^7.0.0 || ^8.0.0", "astrojs-compiler-sync": "^1.0.0", "debug": "^4.3.4", "entities": "^7.0.0", "eslint-scope": "^8.0.1", "eslint-visitor-keys": "^4.0.0", "espree": "^10.0.0", "fast-glob": "^3.3.3", "is-glob": "^4.0.3", "semver": "^7.3.8" } }, "sha512-+QDcgc7e+au6EZ0YjMmRRjNoQo5bDMlaR45aWDoFsuxQTCM9qmCHRoiKJPELgckJ8Wmr7vcfpa9eCDHBFh6G4w=="],
@@ -1633,7 +1633,7 @@
"typescript": ["typescript@6.0.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw=="], "typescript": ["typescript@6.0.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw=="],
"typescript-eslint": ["typescript-eslint@8.59.3", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.59.3", "@typescript-eslint/parser": "8.59.3", "@typescript-eslint/typescript-estree": "8.59.3", "@typescript-eslint/utils": "8.59.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-KgusgyDgG4LI8Ih/sWaCtZ06tckLAS5CvT5A4D1Q7bYVoAAyzwiZvE4BmwDHkhRVkvhRBepKeASoFzQetha7Fg=="], "typescript-eslint": ["typescript-eslint@8.59.4", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.59.4", "@typescript-eslint/parser": "8.59.4", "@typescript-eslint/typescript-estree": "8.59.4", "@typescript-eslint/utils": "8.59.4" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-Rw6+44QNFaXtgHSjPy+Kw8hrJniMYzR85E9yLmOLcfZ91/rz+JXQbDTCmc6ccxMPY6K6PgAq26f0JCBfR7LIPQ=="],
"ufo": ["ufo@1.6.4", "", {}, "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA=="], "ufo": ["ufo@1.6.4", "", {}, "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA=="],
+4 -4
View File
@@ -1,7 +1,7 @@
{ {
"name": "site-documentation", "name": "site-documentation",
"type": "module", "type": "module",
"version": "0.33.1", "version": "0.34.0",
"scripts": { "scripts": {
"dev": "astro dev", "dev": "astro dev",
"build": "astro build", "build": "astro build",
@@ -18,7 +18,7 @@
"@astrojs/starlight": "0.39.2", "@astrojs/starlight": "0.39.2",
"@tailwindcss/postcss": "4.3.0", "@tailwindcss/postcss": "4.3.0",
"@tailwindcss/vite": "4.3.0", "@tailwindcss/vite": "4.3.0",
"astro": "6.3.5", "astro": "6.3.7",
"sanitize-html": "2.17.4", "sanitize-html": "2.17.4",
"sharp": "0.34.5", "sharp": "0.34.5",
"starlight-theme-rapide": "0.5.2", "starlight-theme-rapide": "0.5.2",
@@ -33,7 +33,7 @@
"@semantic-release/release-notes-generator": "14.1.1", "@semantic-release/release-notes-generator": "14.1.1",
"@tailwindcss/forms": "0.5.11", "@tailwindcss/forms": "0.5.11",
"@tailwindcss/typography": "0.5.19", "@tailwindcss/typography": "0.5.19",
"@typescript-eslint/parser": "8.59.3", "@typescript-eslint/parser": "8.59.4",
"eslint": "10.4.0", "eslint": "10.4.0",
"eslint-config-prettier": "10.1.8", "eslint-config-prettier": "10.1.8",
"eslint-plugin-astro": "1.7.0", "eslint-plugin-astro": "1.7.0",
@@ -43,6 +43,6 @@
"semantic-release": "25.0.3", "semantic-release": "25.0.3",
"semantic-release-export-data": "1.2.0", "semantic-release-export-data": "1.2.0",
"typescript": "6.0.3", "typescript": "6.0.3",
"typescript-eslint": "8.59.3" "typescript-eslint": "8.59.4"
} }
} }
@@ -2,7 +2,7 @@
title: OpenBao SSH Certificate Authority title: OpenBao SSH Certificate Authority
description: Steps followed to enable using OpenBao as a CA for ssh login description: Steps followed to enable using OpenBao as a CA for ssh login
hero: hero:
tagline: Steps followed for the v1.12.0 upgrade process tagline: Steps followed to enable using OpenBao as a CA for ssh login
image: image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/openbao.webp file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/openbao.webp
--- ---
@@ -2,7 +2,7 @@
title: Using Secret Store CSI with OpenBao title: Using Secret Store CSI with OpenBao
description: Mounting secrets inside pods using Secret Store CSI driver and OpenBao description: Mounting secrets inside pods using Secret Store CSI driver and OpenBao
hero: hero:
tagline: Steps followed to mount the secrets tagline: Mounting secrets inside pods using Secret Store CSI driver and OpenBao
image: image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/openbao.webp file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/openbao.webp
--- ---
@@ -0,0 +1,119 @@
---
title: Restore Vault Snapshot
description: Steps followed to restore a raft snapshot of Vault
hero:
tagline: Steps followed to restore a raft snapshot of Vault
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/vault.webp
---
import { Aside } from '@astrojs/starlight/components';
import { Steps } from '@astrojs/starlight/components';
<Aside type="tip">Reference Vault official documentation [here](https://developer.hashicorp.com/vault/docs/sysadmin/snapshots/restore).</Aside>
This guide assumes the snapshot file has already been retrieved from the backup and the purpose is specifically to recover the secrets in the snapshot. These steps can be modified for a full recovery when initializing a new permanent instance.
Along with the snapshot file the unseal keys and root token must also be retrieved to access the data.
## Steps
<Steps>
1. Create a temp folder to use. Then add a 'snapshot' and 'data' folder inside.
2. Place the '\<name>.snap' file of the snapshot into a 'snapshot' folder.
2. Create a docker compose for running Vault locally using the following example. Place this in the root of the temp folder.
````yaml
services:
vault:
image: hashicorp/vault:latest
container_name: vault
restart: unless-stopped
environment:
VAULT_ADDR: "http://127.0.0.1:8200"
VAULT_API_ADDR: "http://127.0.0.1:8200"
VAULT_CLUSTER_ADDR: "http://127.0.0.1:8201"
VAULT_LOCAL_CONFIG: |
{
"listener": [{
"tcp": {
"address": "0.0.0.0:8200",
"cluster_address": "0.0.0.0:8201",
"tls_disable": 1,
}
}],
"storage": {
"raft": {
"path": "/vault/data"
}
},
"disable_mlock": true,
"default_lease_ttl": "168h",
"max_lease_ttl": "720h",
"ui": true
}
ports:
- "8200:8200"
volumes:
- ./data:/vault/data
- ./snapshot:/vault/snapshot
cap_add:
- IPC_LOCK
command: "vault server -config vault/config/local.json"
````
4. The temp folder should now look like the following.
````
/temp
/snapshot
<name>.snap
/data
````
5. Open a terminal and change directory to the temp folder.
6. Start the docker container.
````bash
docker compose up -d
````
7. Open a shell inside the container.
````bash
docker exec -it vault /bin/sh
````
8. First the current Vault instance must be initialized, unsealed, and authenticated to restore the snapshot. Init the instance now.
````bash
vault operator init
````
The output above will give the unseal keys and the root token. Keep these nearby, but are not necessary to save.
10. Unseal with 3 of the keys by running the following and entering a different key at the prompt each time.
````bash
vault operator unseal
````
11. With Vault unsealed now login with the root token.
````bash
vault login
````
12. Now with an operational Vault it can accept the restore command.
````bash
vault operator raft snapshot restore -force /vault/snapshot/<name>.snap
````
13. The restore will override the previously sealed Vault with the new data. Unseal the restored snapshot with 3 of the snapshot's unseal keys.
````bash
vault operator unseal
````
14. With restored Vault unsealed now login with the root token.
````bash
vault login
````
15. The UI should be available at 'http://127.0.0.1:8200' and can be logged in with the root token.
</Steps>