Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
f46055e
feat(vibetype-beta)!: disable
dargmuesli May 8, 2025
8149bd0
Merge pull request #194 from maevsi/feat/vibetype-beta/disable
dargmuesli May 8, 2025
058c884
chore(release): 14.0.0-beta.1 [skip ci]
semantic-release-bot May 8, 2025
fb23c64
Merge branch 'main' into beta
dargmuesli May 12, 2025
b113650
chore(release): 14.0.0-beta.2 [skip ci]
semantic-release-bot May 12, 2025
2ac49d1
feat(tusd)!: adapt new vibetype api for uploads
dargmuesli May 12, 2025
bc90f8f
feat(vibetype): exclude internal api path from traefik routing
dargmuesli May 12, 2025
e31e93d
feat(debezium-postgres-connector)!: whitelist tables
dargmuesli May 12, 2025
023dbf1
chore(debezium-postgres-connector): clean up configuration
dargmuesli May 12, 2025
41b3b2c
chore(vibetype): update to v11.0.0-beta.4
dargmuesli May 12, 2025
de3ed1a
chore(sqitch): upgrade to v8.0.0-beta.8
dargmuesli May 12, 2025
d48bc9f
Merge pull request #199 from maevsi/feat/upload/rework
dargmuesli May 12, 2025
fa759cf
chore(release): 14.0.0-beta.3 [skip ci]
semantic-release-bot May 12, 2025
d1dd67d
Merge branch 'main' into beta
dargmuesli May 12, 2025
4c600a4
chore(release): 14.0.0-beta.4 [skip ci]
semantic-release-bot May 12, 2025
96c9d88
feat(postgres)!: drop database and role creation entrypoint
dargmuesli May 13, 2025
7c54aa6
Merge pull request #200 from maevsi/feat/grafana/readd
dargmuesli May 13, 2025
c48ef30
chore(release): 14.0.0-beta.5 [skip ci]
semantic-release-bot May 13, 2025
51e458e
chore(deps): update ghcr.io/maevsi/sqitch to v8.0.0
dargmuesli May 15, 2025
31f93fd
chore(deps): update ghcr.io/maevsi/vibetype to v11.0.0
dargmuesli May 15, 2025
7c42490
Merge branch 'main' into beta
dargmuesli May 15, 2025
9957136
chore(release): 14.0.0-beta.6 [skip ci]
semantic-release-bot May 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,64 @@
## [14.0.0-beta.6](https://github.com/maevsi/stack/compare/14.0.0-beta.5...14.0.0-beta.6) (2025-05-15)

### Bug Fixes

* **deps:** update ghcr.io/maevsi/vibetype docker tag to v10.20.1 ([778cf65](https://github.com/maevsi/stack/commit/778cf651a68085e03e7a2c0850a29b16ff403037))
* **deps:** update ghcr.io/maevsi/vibetype docker tag to v10.20.2 ([fb444d4](https://github.com/maevsi/stack/commit/fb444d430fe105650f7e3c1dbb368bf920a7820d))
* **deps:** update ghcr.io/maevsi/vibetype to v10.21.0 ([737f1cd](https://github.com/maevsi/stack/commit/737f1cd67bf52e3f485275d4e04e5e38711db7a9))

## [14.0.0-beta.5](https://github.com/maevsi/stack/compare/14.0.0-beta.4...14.0.0-beta.5) (2025-05-13)

### ⚠ BREAKING CHANGES

* **postgres:** drop database and role creation entrypoint

### Features

* **postgres:** drop database and role creation entrypoint ([96c9d88](https://github.com/maevsi/stack/commit/96c9d885fd9080e40574ebfee9df60b849ce6128))

## [14.0.0-beta.4](https://github.com/maevsi/stack/compare/14.0.0-beta.3...14.0.0-beta.4) (2025-05-12)

### Bug Fixes

* revert "feat(vibetype): upgrade to v11.0.0-beta.1" ([c7fc2e0](https://github.com/maevsi/stack/commit/c7fc2e0c198a785b984dc67d804970801c719acd))

## [14.0.0-beta.3](https://github.com/maevsi/stack/compare/14.0.0-beta.2...14.0.0-beta.3) (2025-05-12)

### ⚠ BREAKING CHANGES

* **debezium-postgres-connector:** whitelist tables
* **tusd:** adapt new vibetype api for uploads

### Features

* **debezium-postgres-connector:** whitelist tables ([e31e93d](https://github.com/maevsi/stack/commit/e31e93db09c74a9c42ca06328257385c6836fd9a))
* **tusd:** adapt new vibetype api for uploads ([2ac49d1](https://github.com/maevsi/stack/commit/2ac49d1be6704c115c7dc5d782dc10ca84b5ff5f))
* **vibetype:** exclude internal api path from traefik routing ([bc90f8f](https://github.com/maevsi/stack/commit/bc90f8f9eedf95d5eb6dcd4ad362dbfd10f47a24))

## [14.0.0-beta.2](https://github.com/maevsi/stack/compare/14.0.0-beta.1...14.0.0-beta.2) (2025-05-12)

### Features

* **vibetype:** upgrade to v11.0.0-beta.1 ([601660a](https://github.com/maevsi/stack/commit/601660a4c9b52d829c938f5b9fb84b8df662f673))

### Bug Fixes

* **deps:** update ghcr.io/maevsi/vibetype docker tag to v10.19.0 ([4a04e9e](https://github.com/maevsi/stack/commit/4a04e9e01d006777b06cb96a2d2c598d5730fc3a))
* **reccoom:** disable routing for production ([97a949b](https://github.com/maevsi/stack/commit/97a949bcfbbd2a7a28f0e7d6ec937cb5d0637981))
* **traefik:** specify router entrypoints ([eeab9f7](https://github.com/maevsi/stack/commit/eeab9f7320e141bd4eaacbc08a1927996920e77d))
* **vibetype:** account for nuxt content's websocket ([96b63f4](https://github.com/maevsi/stack/commit/96b63f49a3fbeb7d151195e058d4e4ac3ae4f961))
* **vibetype:** upgrade to v11.0.0-beta.2 ([2dba24a](https://github.com/maevsi/stack/commit/2dba24a3a1d4cd6e77cc7c3c78c57ab98ee9b4dd))

## [14.0.0-beta.1](https://github.com/maevsi/stack/compare/13.3.0...14.0.0-beta.1) (2025-05-08)

### ⚠ BREAKING CHANGES

* **vibetype-beta:** disable

### Features

* **vibetype-beta:** disable ([f46055e](https://github.com/maevsi/stack/commit/f46055e588a14c7750acd754b0a9326925d5d0da))

## [13.4.9](https://github.com/maevsi/stack/compare/13.4.8...13.4.9) (2025-05-14)

### Bug Fixes
Expand Down
4 changes: 0 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -250,10 +250,6 @@ This project is deployed in accordance to the [DargStack template](https://githu

You can access the main project's frontend at [localhost](https://localhost/).

- ### `vibetype_beta` ![production](https://img.shields.io/badge/-production-informational.svg?style=flat-square)

You can access the main project frontend's beta version at [beta.localhost](https://beta.localhost/).


## volumes

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@maevsi/stack",
"private": true,
"version": "13.4.9",
"version": "14.0.0-beta.6",
"description": "Dargstack configuration for Vibetype.",
"repository": "https://github.com/maevsi/stack.git",
"author": "Jonas Thelemann <e-mail+maevsi_stack@jonas-thelemann.de>",
Expand Down
16 changes: 7 additions & 9 deletions src/development/stack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ services:
deploy:
labels:
- traefik.enable=true
- traefik.http.middlewares.postgraphile_auth.forwardauth.address=http://vibetype:3000/api/auth-proxy
- traefik.http.middlewares.postgraphile_auth.forwardauth.address=http://vibetype:3000/api/service/traefik/authentication
- traefik.http.middlewares.postgraphile_auth.forwardauth.forwardBody=true
- traefik.http.middlewares.postgraphile_cors.headers.accessControlAllowHeaders=authorization,baggage,content-type,sentry-trace,x-turnstile-key
- traefik.http.middlewares.postgraphile_cors.headers.accessControlAllowOriginList=*
Expand Down Expand Up @@ -292,7 +292,6 @@ services:
# You can access the database via `adminer`.
command: -c vibetype.jwt_expiry_duration='1 month' -c wal_level=logical
environment:
POSTGRES_ADDITIONAL_DBS: grafana
POSTGRES_DB_FILE: /run/secrets/postgres_db
POSTGRES_PASSWORD_FILE: /run/secrets/postgres_password
POSTGRES_USER_FILE: /run/secrets/postgres_user
Expand All @@ -302,8 +301,6 @@ services:
secrets:
- postgres_db
- postgres_password
- postgres_role_service_grafana_password
- postgres_role_service_grafana_username
- postgres_user
# sysctls:
# # Prevent Docker Swarm from killing connections (https://github.com/moby/moby/issues/31208)
Expand All @@ -312,7 +309,6 @@ services:
# - net.ipv4.tcp_keepalive_probes=10
volumes:
- postgres_data:/var/lib/postgresql/data/
- ../production/configurations/postgres/docker-entrypoint-initdb.d/additional-databases.sh:/docker-entrypoint-initdb.d/additional-databases.sh:ro
prometheus:
# You can access the metrics monitoring at [prometheus.localhost](https://prometheus.localhost/).
deploy:
Expand Down Expand Up @@ -388,6 +384,8 @@ services:
# You cannot access the database migrations directly.
image: maevsi/sqitch:dev
secrets:
- postgres_role_service_grafana_password
- postgres_role_service_grafana_username
- postgres_role_service_postgraphile_password
- postgres_role_service_postgraphile_username
- postgres_role_service_vibetype_password
Expand Down Expand Up @@ -445,7 +443,7 @@ services:
- ./configurations/traefik/dynamic.yml:/dynamic.yml:ro #DARGSTACK-REMOVE
tusd:
# You can access the upload service at [tusd.localhost](https://tusd.localhost/).
command: -behind-proxy --hooks-enabled-events pre-create,pre-finish,post-terminate --hooks-http http://vibetype:3000/api/tusd -max-size ${TUSD_MAX_SIZE} -s3-bucket ${TUSD_BUCKET} -s3-endpoint ${TUSD_ENDPOINT}
command: -behind-proxy --hooks-enabled-events pre-create,pre-finish,pre-terminate --hooks-http http://vibetype:3000/api/internal/service/tusd -max-size ${TUSD_MAX_SIZE} -s3-bucket ${TUSD_BUCKET} -s3-endpoint ${TUSD_ENDPOINT}
deploy:
labels:
- traefik.enable=true
Expand Down Expand Up @@ -476,15 +474,15 @@ services:
- traefik.http.middlewares.vibetype_redirectregex.redirectregex.replacement=https://${STACK_DOMAIN}/$${2}
- traefik.http.routers.vibetype.entryPoints=web
- traefik.http.routers.vibetype.middlewares=redirectscheme #DARGSTACK-REMOVE
- traefik.http.routers.vibetype.rule=Host(`${STACK_DOMAIN}`) || Host(`www.${STACK_DOMAIN}`)
- traefik.http.routers.vibetype.rule=(Host(`${STACK_DOMAIN}`) || Host(`www.${STACK_DOMAIN}`)) && !PathPrefix(`/api/internal`)
- traefik.http.routers.vibetype.service=vibetype #DARGSTACK-REMOVE
- traefik.http.routers.vibetype_content_secure.entryPoints=nuxt-content-websocket #DARGSTACK-REMOVE
- traefik.http.routers.vibetype_content_secure.rule=Host(`${STACK_DOMAIN}`) || Host(`www.${STACK_DOMAIN}`) #DARGSTACK-REMOVE
- traefik.http.routers.vibetype_content_secure.rule=(Host(`${STACK_DOMAIN}`) || Host(`www.${STACK_DOMAIN}`)) && !PathPrefix(`/api/internal`) #DARGSTACK-REMOVE
- traefik.http.routers.vibetype_content_secure.service=vibetype_content #DARGSTACK-REMOVE
- traefik.http.routers.vibetype_content_secure.tls.options=mintls13@file #DARGSTACK-REMOVE
- traefik.http.routers.vibetype_secure.entryPoints=web-secure
- traefik.http.routers.vibetype_secure.middlewares=vibetype_cors,vibetype_redirectregex
- traefik.http.routers.vibetype_secure.rule=Host(`${STACK_DOMAIN}`) || Host(`www.${STACK_DOMAIN}`)
- traefik.http.routers.vibetype_secure.rule=(Host(`${STACK_DOMAIN}`) || Host(`www.${STACK_DOMAIN}`)) && !PathPrefix(`/api/internal`)
- traefik.http.routers.vibetype_secure.service=vibetype #DARGSTACK-REMOVE
- traefik.http.routers.vibetype_secure.tls.options=mintls13@file #DARGSTACK-REMOVE
- traefik.http.services.vibetype.loadbalancer.server.port=3000
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,9 @@ elif [ "$HTTP_STATUS" -eq 404 ]; then
"database.dbname": "'"$POSTGRES_DB"'",
"database.hostname": "postgres",
"database.password": "'"$POSTGRES_PASSWORD"'",
"database.port": "5432",
"database.server.name": "postgres",
"database.user": "'"$POSTGRES_USER"'",
"plugin.name": "pgoutput",
"table.include.list": "vibetype.upload,vibetype_private.notification",
"topic.prefix" : "vibetype"
}
}'
Expand Down

This file was deleted.

This file was deleted.

88 changes: 44 additions & 44 deletions src/production/production.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ services:
image: ghcr.io/maevsi/reccoom:0.1.0
volumes: (( prune ))
sqitch:
image: ghcr.io/maevsi/sqitch:7.0.1
image: ghcr.io/maevsi/sqitch:8.0.0
volumes: (( prune ))
traefik:
command:
Expand Down Expand Up @@ -128,50 +128,50 @@ services:
- (( append ))
- traefik.http.routers.vibetype.middlewares=vibetype_cors,vibetype_redirectregex
- traefik.http.routers.vibetype_secure.tls.certresolver=default
image: ghcr.io/maevsi/vibetype:10.21.0
image: ghcr.io/maevsi/vibetype:11.0.0
user: (( prune ))
vibetype_beta:
# You can access the main project frontend's beta version at [beta.localhost](https://beta.localhost/).
deploy:
labels:
- traefik.enable=true
- traefik.http.routers.vibetype_beta.entryPoints=web
- traefik.http.routers.vibetype_beta.middlewares=vibetype_cors,vibetype_redirectregex
- traefik.http.routers.vibetype_beta.rule=Host(`beta.${STACK_DOMAIN}`)
- traefik.http.routers.vibetype_beta_secure.entryPoints=web-secure
- traefik.http.routers.vibetype_beta_secure.middlewares=vibetype_cors,vibetype_redirectregex
- traefik.http.routers.vibetype_beta_secure.rule=Host(`beta.${STACK_DOMAIN}`)
- traefik.http.services.vibetype_beta.loadbalancer.server.port=3000
- traefik.http.routers.vibetype_beta_secure.tls.certresolver=default
environment:
AWS_REGION: ${VIBETYPE_AWS_REGION}
NUXT_PUBLIC_GTAG_ID: ${VIBETYPE_NUXT_PUBLIC_GTAG_ID}
NUXT_PUBLIC_I18N_BASE_URL: https://${STACK_DOMAIN}
NUXT_PUBLIC_SITE_URL: https://${STACK_DOMAIN}
NUXT_PUBLIC_TURNSTILE_SITE_KEY: ${VIBETYPE_NUXT_PUBLIC_TURNSTILE_SITE_KEY}
NUXT_PUBLIC_VIBETYPE_EMAIL_LIMIT24H: ${VIBETYPE_NUXT_PUBLIC_VIBETYPE_EMAIL_LIMIT24H}
NUXT_PUBLIC_VIO_ENVIRONMENT: beta
PGHOST: ${VIBETYPE_PGHOST}
image: ghcr.io/maevsi/vibetype:10.21.0
secrets:
- source: vibetype_api-notification-secret
target: /run/environment-variables/NUXT_PRIVATE_API_NOTIFICATION_SECRET
- source: vibetype_aws-credentials
target: /home/node/.aws/credentials # TODO: switch to user `node`
- source: vibetype_firebase-service-account-credentials
target: /run/environment-variables/FIREBASE_SERVICE_ACCOUNT_CREDENTIALS
- source: vibetype_openai-api-key
target: /run/environment-variables/NUXT_PRIVATE_OPENAI_API_KEY
- source: vibetype_turnstile-key
target: /run/environment-variables/NUXT_TURNSTILE_SECRET_KEY
- source: postgres_db
target: /run/environment-variables/PGDATABASE
- source: postgres_role_service_vibetype_password
target: /run/environment-variables/PGPASSWORD
- source: postgres_role_service_vibetype_username
target: /run/environment-variables/PGUSER
volumes:
- ./configurations/postgraphile/jwtRS256.key.pub:/run/environment-variables/NUXT_PUBLIC_VIO_AUTH_JWT_PUBLIC_KEY:ro
# vibetype_beta:
# # You can access the main project frontend's beta version at [beta.localhost](https://beta.localhost/).
# deploy:
# labels:
# - traefik.enable=true
# - traefik.http.routers.vibetype_beta.entryPoints=web
# - traefik.http.routers.vibetype_beta.middlewares=vibetype_cors,vibetype_redirectregex
# - traefik.http.routers.vibetype_beta.rule=Host(`beta.${STACK_DOMAIN}`)
# - traefik.http.routers.vibetype_beta_secure.entryPoints=web-secure
# - traefik.http.routers.vibetype_beta_secure.middlewares=vibetype_cors,vibetype_redirectregex
# - traefik.http.routers.vibetype_beta_secure.rule=Host(`beta.${STACK_DOMAIN}`)
# - traefik.http.services.vibetype_beta.loadbalancer.server.port=3000
# - traefik.http.routers.vibetype_beta_secure.tls.certresolver=default
# environment:
# AWS_REGION: ${VIBETYPE_AWS_REGION}
# NUXT_PUBLIC_GTAG_ID: ${VIBETYPE_NUXT_PUBLIC_GTAG_ID}
# NUXT_PUBLIC_I18N_BASE_URL: https://${STACK_DOMAIN}
# NUXT_PUBLIC_SITE_URL: https://${STACK_DOMAIN}
# NUXT_PUBLIC_TURNSTILE_SITE_KEY: ${VIBETYPE_NUXT_PUBLIC_TURNSTILE_SITE_KEY}
# NUXT_PUBLIC_VIBETYPE_EMAIL_LIMIT24H: ${VIBETYPE_NUXT_PUBLIC_VIBETYPE_EMAIL_LIMIT24H}
# NUXT_PUBLIC_VIO_ENVIRONMENT: beta
# PGHOST: ${VIBETYPE_PGHOST}
# image: ghcr.io/maevsi/vibetype:11.0.0
# secrets:
# - source: vibetype_api-notification-secret
# target: /run/environment-variables/NUXT_PRIVATE_API_NOTIFICATION_SECRET
# - source: vibetype_aws-credentials
# target: /home/node/.aws/credentials # TODO: switch to user `node`
# - source: vibetype_firebase-service-account-credentials
# target: /run/environment-variables/FIREBASE_SERVICE_ACCOUNT_CREDENTIALS
# - source: vibetype_openai-api-key
# target: /run/environment-variables/NUXT_PRIVATE_OPENAI_API_KEY
# - source: vibetype_turnstile-key
# target: /run/environment-variables/NUXT_TURNSTILE_SECRET_KEY
# - source: postgres_db
# target: /run/environment-variables/PGDATABASE
# - source: postgres_role_service_vibetype_password
# target: /run/environment-variables/PGPASSWORD
# - source: postgres_role_service_vibetype_username
# target: /run/environment-variables/PGUSER
# volumes:
# - ./configurations/postgraphile/jwtRS256.key.pub:/run/environment-variables/NUXT_PUBLIC_VIO_AUTH_JWT_PUBLIC_KEY:ro
version: "3.7"
volumes:
acme_data:
Expand Down