fix(ci): use explicit registry token instead of GITHUB_TOKEN for docker login

This commit is contained in:
2026-03-03 12:54:43 +01:00
parent d82c836fcb
commit 13a484ce59
5 changed files with 166 additions and 20 deletions

View File

@@ -200,7 +200,7 @@ jobs:
- name: 🐳 Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: 🔐 Registry Login
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login git.infra.mintel.me -u "${{ github.actor }}" --password-stdin
run: echo "${{ secrets.REGISTRY_PASS }}" | docker login git.infra.mintel.me -u "${{ secrets.REGISTRY_USER }}" --password-stdin
- name: 🏗️ Build and Push
uses: docker/build-push-action@v5
with:
@@ -381,7 +381,7 @@ jobs:
set -e
docker network create '${{ needs.prepare.outputs.project_name }}-internal' || true
docker volume create 'mintel-me_payload-db-data' || true
echo '${{ secrets.GITHUB_TOKEN }}' | docker login git.infra.mintel.me -u '${{ github.actor }}' --password-stdin
echo '${{ secrets.REGISTRY_PASS }}' | docker login git.infra.mintel.me -u '${{ secrets.REGISTRY_USER }}' --password-stdin
cd $SITE_DIR
docker compose -p '${{ needs.prepare.outputs.project_name }}' --env-file '$ENV_FILE' pull
docker compose -p '${{ needs.prepare.outputs.project_name }}' --env-file '$ENV_FILE' up -d --remove-orphans

View File

@@ -39,7 +39,7 @@
"@mintel/content-engine": "link:../../../at-mintel/packages/content-engine",
"@mintel/estimation-engine": "link:../../../at-mintel/packages/estimation-engine",
"@mintel/meme-generator": "link:../../../at-mintel/packages/meme-generator",
"@mintel/payload-ai": "^1.9.7",
"@mintel/payload-ai": "^1.9.10",
"@mintel/pdf": "link:../../../at-mintel/packages/pdf-library",
"@mintel/thumbnail-generator": "link:../../../at-mintel/packages/thumbnail-generator",
"@next/mdx": "^16.1.6",
@@ -103,6 +103,7 @@
"webpack": "^5.96.1",
"website-scraper": "^6.0.0",
"website-scraper-puppeteer": "^2.0.0",
"xlsx": "^0.18.5",
"zod": "3.22.3"
},
"devDependencies": {
@@ -130,6 +131,7 @@
"eslint-plugin-react-hooks": "^7.0.1",
"mime-types": "^3.0.2",
"postcss": "^8.4.49",
"require-extensions": "^0.0.4",
"tsx": "^4.21.0",
"typescript": "5.9.3",
"typescript-eslint": "^8.54.0"

View File

@@ -48,7 +48,7 @@ export default buildConfig({
CrmInteractions,
Projects,
],
globals: [AiSettings as any],
globals: [/* AiSettings as any */],
email: nodemailerAdapter({
defaultFromAddress: process.env.MAIL_FROM || "info@mintel.me",
defaultFromName: "Mintel.me",
@@ -84,24 +84,24 @@ export default buildConfig({
plugins: [
...(process.env.S3_ENDPOINT
? [
s3Storage({
collections: {
media: {
prefix: `${process.env.S3_PREFIX || "mintel-me"}/media`,
},
s3Storage({
collections: {
media: {
prefix: `${process.env.S3_PREFIX || "mintel-me"}/media`,
},
bucket: process.env.S3_BUCKET || "",
config: {
credentials: {
accessKeyId: process.env.S3_ACCESS_KEY || "",
secretAccessKey: process.env.S3_SECRET_KEY || "",
},
region: process.env.S3_REGION || "fsn1",
endpoint: process.env.S3_ENDPOINT,
forcePathStyle: true,
},
bucket: process.env.S3_BUCKET || "",
config: {
credentials: {
accessKeyId: process.env.S3_ACCESS_KEY || "",
secretAccessKey: process.env.S3_SECRET_KEY || "",
},
}),
]
region: process.env.S3_REGION || "fsn1",
endpoint: process.env.S3_ENDPOINT,
forcePathStyle: true,
},
}),
]
: []),
],
endpoints: [

View File

@@ -93,6 +93,40 @@ export const CrmAccounts: CollectionConfig = {
},
],
},
{
type: "row",
fields: [
{
name: "industry",
type: "text",
admin: {
width: "50%",
description: "Industry or category of this account (e.g. Messebauer, Handwerk).",
},
},
{
name: "websiteStatus",
type: "select",
options: [
{ label: "🟢 Good", value: "gut" },
{ label: "🟡 OK / Average", value: "ok" },
{ label: "🔴 Bad / Old", value: "schlecht" },
{ label: "❓ Unknown", value: "unknown" },
],
admin: {
width: "50%",
description: "Quality assessment of their current website.",
},
},
],
},
{
name: "notes",
type: "textarea",
admin: {
description: "Internal notes and research findings for this account.",
},
},
{
name: "assignedTo",
type: "relationship",

110
pnpm-lock.yaml generated
View File

@@ -312,6 +312,9 @@ importers:
website-scraper-puppeteer:
specifier: ^2.0.0
version: 2.0.0(typescript@5.9.3)(website-scraper@6.0.0)
xlsx:
specifier: ^0.18.5
version: 0.18.5
zod:
specifier: 3.22.3
version: 3.22.3
@@ -388,6 +391,9 @@ importers:
postcss:
specifier: ^8.4.49
version: 8.5.6
require-extensions:
specifier: ^0.0.4
version: 0.0.4
tsx:
specifier: ^4.21.0
version: 4.21.0
@@ -6318,6 +6324,13 @@ packages:
engines: { node: ">=0.4.0" }
hasBin: true
adler-32@1.3.1:
resolution:
{
integrity: sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==,
}
engines: { node: ">=0.8" }
adm-zip@0.5.16:
resolution:
{
@@ -7015,6 +7028,13 @@ packages:
integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==,
}
cfb@1.2.2:
resolution:
{
integrity: sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==,
}
engines: { node: ">=0.8" }
chalk@1.1.3:
resolution:
{
@@ -7282,6 +7302,13 @@ packages:
}
engines: { node: ">=0.10.0" }
codepage@1.15.0:
resolution:
{
integrity: sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==,
}
engines: { node: ">=0.8" }
collapse-white-space@2.1.0:
resolution:
{
@@ -7554,6 +7581,14 @@ packages:
puppeteer:
optional: true
crc-32@1.2.2:
resolution:
{
integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==,
}
engines: { node: ">=0.8" }
hasBin: true
croner@9.1.0:
resolution:
{
@@ -9398,6 +9433,13 @@ packages:
}
engines: { node: ">= 0.6" }
frac@1.1.2:
resolution:
{
integrity: sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==,
}
engines: { node: ">=0.8" }
fraction.js@4.3.7:
resolution:
{
@@ -13563,6 +13605,12 @@ packages:
}
engines: { node: ">=0.10.0" }
require-extensions@0.0.4:
resolution:
{
integrity: sha512-HO/OZ6m6LxbeIibggEeEYwlHK1I/h7ZXtO5qPeJA1iFhIMMTbsAcGge5hf6zAtxeWh/aUobJVcNJnmtYlEi4vg==,
}
require-from-string@2.0.2:
resolution:
{
@@ -14211,6 +14259,13 @@ packages:
}
engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
ssf@0.11.2:
resolution:
{
integrity: sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==,
}
engines: { node: ">=0.8" }
stable-hash@0.0.5:
resolution:
{
@@ -15606,6 +15661,13 @@ packages:
engines: { node: ">= 8" }
hasBin: true
wmf@1.0.2:
resolution:
{
integrity: sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==,
}
engines: { node: ">=0.8" }
word-wrap@1.2.5:
resolution:
{
@@ -15613,6 +15675,13 @@ packages:
}
engines: { node: ">=0.10.0" }
word@0.3.0:
resolution:
{
integrity: sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==,
}
engines: { node: ">=0.8" }
wrap-ansi@6.2.0:
resolution:
{
@@ -15705,6 +15774,14 @@ packages:
}
engines: { node: ">=8" }
xlsx@0.18.5:
resolution:
{
integrity: sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==,
}
engines: { node: ">=0.8" }
hasBin: true
xml-name-validator@5.0.0:
resolution:
{
@@ -20479,6 +20556,8 @@ snapshots:
acorn@8.15.0: {}
adler-32@1.3.1: {}
adm-zip@0.5.16: {}
agent-base@6.0.2:
@@ -20898,6 +20977,11 @@ snapshots:
ccount@2.0.1: {}
cfb@1.2.2:
dependencies:
adler-32: 1.3.1
crc-32: 1.2.2
chalk@1.1.3:
dependencies:
ansi-styles: 2.2.1
@@ -21084,6 +21168,8 @@ snapshots:
cluster-key-slot@1.1.2: {}
codepage@1.15.0: {}
collapse-white-space@2.1.0: {}
color-convert@1.9.3:
@@ -21254,6 +21340,8 @@ snapshots:
- supports-color
- utf-8-validate
crc-32@1.2.2: {}
croner@9.1.0: {}
cross-spawn@7.0.6:
@@ -22614,6 +22702,8 @@ snapshots:
forwarded@0.2.0: {}
frac@1.1.2: {}
fraction.js@4.3.7: {}
fraction.js@5.3.4: {}
@@ -25530,6 +25620,8 @@ snapshots:
require-directory@2.1.1: {}
require-extensions@0.0.4: {}
require-from-string@2.0.2: {}
require-in-the-middle@8.0.1:
@@ -25970,6 +26062,10 @@ snapshots:
srcset@5.0.3: {}
ssf@0.11.2:
dependencies:
frac: 1.1.2
stable-hash@0.0.5: {}
stacktrace-parser@0.1.11:
@@ -27000,8 +27096,12 @@ snapshots:
dependencies:
isexe: 2.0.0
wmf@1.0.2: {}
word-wrap@1.2.5: {}
word@0.3.0: {}
wrap-ansi@6.2.0:
dependencies:
ansi-styles: 4.3.0
@@ -27043,6 +27143,16 @@ snapshots:
xdg-basedir@4.0.0: {}
xlsx@0.18.5:
dependencies:
adler-32: 1.3.1
cfb: 1.2.2
codepage: 1.15.0
crc-32: 1.2.2
ssf: 0.11.2
wmf: 1.0.2
word: 0.3.0
xml-name-validator@5.0.0: {}
xmlchars@2.2.0: {}