diff --git a/.woodpecker/pr.yml b/.woodpecker/pr.yml index fcb310a..8417b0d 100644 --- a/.woodpecker/pr.yml +++ b/.woodpecker/pr.yml @@ -3,25 +3,25 @@ when: steps: - name: install - image: node:24-slim + image: node:24-slim@sha256:a81a03dd965b4052269a57fac857004022b522a4bf06e7a739e25e18bce45af2 depends_on: [] commands: - npm ci - name: lint - image: node:24-slim + image: node:24-slim@sha256:a81a03dd965b4052269a57fac857004022b522a4bf06e7a739e25e18bce45af2 depends_on: [install] commands: - npm run lint - name: test - image: node:24-slim + image: node:24-slim@sha256:a81a03dd965b4052269a57fac857004022b522a4bf06e7a739e25e18bce45af2 depends_on: [install] commands: - npm run test - name: e2e - image: mcr.microsoft.com/playwright:v1.58.2-noble + image: mcr.microsoft.com/playwright:v1.58.2-noble@sha256:6446946a1d9fd62d9ae501312a2d76a43ee688542b21622056a372959b65d63d depends_on: [install] commands: - ./scripts/gen-dev-cert.sh @@ -30,7 +30,7 @@ steps: NODE_TLS_REJECT_UNAUTHORIZED: "0" - name: docker-build - image: woodpeckerci/plugin-kaniko + image: woodpeckerci/plugin-kaniko@sha256:b88802ba66af95ee28a8ffde08715631ec2892e024b2c74e90e19f73a5c2c602 depends_on: [] settings: repo: ${CI_REPO_OWNER}/${CI_REPO_NAME} diff --git a/.woodpecker/push.yml b/.woodpecker/push.yml index f7c588e..919392d 100644 --- a/.woodpecker/push.yml +++ b/.woodpecker/push.yml @@ -4,7 +4,7 @@ when: steps: - name: release - image: alpine + image: alpine@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659 commands: - apk add --no-cache git - ./scripts/release.sh @@ -13,7 +13,7 @@ steps: from_secret: gitea_repo_token - name: docker - image: woodpeckerci/plugin-kaniko + image: woodpeckerci/plugin-kaniko@sha256:b88802ba66af95ee28a8ffde08715631ec2892e024b2c74e90e19f73a5c2c602 depends_on: [release] settings: repo: ${CI_REPO_OWNER}/${CI_REPO_NAME} @@ -25,7 +25,7 @@ steps: cleanup: true - name: helm - image: alpine/helm + image: alpine/helm@sha256:b5c85b997d83e89d9e8ff9215a14b03864274143981af45eb3fe729cdf782c73 depends_on: [release] environment: GITEA_REGISTRY_TOKEN: diff --git a/Dockerfile b/Dockerfile index 37e2324..fc51f2f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:24-slim AS builder +FROM node:24-slim@sha256:a81a03dd965b4052269a57fac857004022b522a4bf06e7a739e25e18bce45af2 AS builder WORKDIR /app @@ -9,7 +9,7 @@ COPY . . RUN npm run build # Run stage -FROM node:24-slim AS runner +FROM node:24-slim@sha256:a81a03dd965b4052269a57fac857004022b522a4bf06e7a739e25e18bce45af2 AS runner # Run as non-root user (node user exists in official image) USER node diff --git a/helm/kestrelos/values.yaml b/helm/kestrelos/values.yaml index a9ac41e..f6854ba 100644 --- a/helm/kestrelos/values.yaml +++ b/helm/kestrelos/values.yaml @@ -2,7 +2,7 @@ replicaCount: 1 image: repository: git.keligrubb.com/keligrubb/kestrelos - tag: 1.0.1 + tag: 1.0.1@sha256:91fef785c828c3db910e8f8fd02693a94c5bf693d3bce91fbf7a2d5ba71f7fab pullPolicy: IfNotPresent service: diff --git a/package-lock.json b/package-lock.json index e253560..24951c8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "kestrelos", - "version": "0.3.0", + "version": "1.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "kestrelos", - "version": "0.3.0", + "version": "1.0.1", "hasInstallScript": true, "dependencies": { "@nuxt/icon": "^2.2.1", @@ -27,15 +27,15 @@ "ws": "^8.18.0" }, "devDependencies": { - "@iconify-json/tabler": "^1.2.26", - "@nuxt/eslint": "^1.15.0", - "@nuxt/test-utils": "^4.0.0", - "@playwright/test": "^1.58.2", - "@vitest/coverage-v8": "^4.0.0", - "@vue/test-utils": "^2.4.0", - "eslint": "^9.0.0", - "happy-dom": "^20.6.1", - "vitest": "^4.0.0" + "@iconify-json/tabler": "1.2.26", + "@nuxt/eslint": "1.15.1", + "@nuxt/test-utils": "4.0.0", + "@playwright/test": "1.58.2", + "@vitest/coverage-v8": "4.0.18", + "@vue/test-utils": "2.4.6", + "eslint": "9.39.2", + "happy-dom": "20.6.1", + "vitest": "4.0.18" } }, "node_modules/@alloc/quick-lru": { @@ -6935,17 +6935,6 @@ "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", "license": "MIT" }, - "node_modules/commander": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", - "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=18" - } - }, "node_modules/comment-parser": { "version": "1.4.5", "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.5.tgz", @@ -7179,23 +7168,6 @@ "node": ">= 8" } }, - "node_modules/crossws": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.4.4.tgz", - "integrity": "sha512-w6c4OdpRNnudVmcgr7brb/+/HmYjMQvYToO/oTrprTwxRUiom3LYWU1PMWuD006okbUWpII1Ea9/+kwpUfmyRg==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "peerDependencies": { - "srvx": ">=0.7.1" - }, - "peerDependenciesMeta": { - "srvx": { - "optional": true - } - } - }, "node_modules/css-declaration-sorter": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.3.1.tgz", @@ -8472,9 +8444,9 @@ } }, "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz", + "integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==", "devOptional": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index adedf0e..927da8e 100644 --- a/package.json +++ b/package.json @@ -37,15 +37,15 @@ "ws": "^8.18.0" }, "devDependencies": { - "@iconify-json/tabler": "^1.2.26", - "@nuxt/eslint": "^1.15.0", - "@nuxt/test-utils": "^4.0.0", - "@playwright/test": "^1.58.2", - "@vitest/coverage-v8": "^4.0.0", - "@vue/test-utils": "^2.4.0", - "eslint": "^9.0.0", - "happy-dom": "^20.6.1", - "vitest": "^4.0.0" + "@iconify-json/tabler": "1.2.26", + "@nuxt/eslint": "1.15.1", + "@nuxt/test-utils": "4.0.0", + "@playwright/test": "1.58.2", + "@vitest/coverage-v8": "4.0.18", + "@vue/test-utils": "2.4.6", + "eslint": "9.39.2", + "happy-dom": "20.6.1", + "vitest": "4.0.18" }, "overrides": { "tar": "^7.5.7"