mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-09-08 11:17:17 +02:00
- Add `server.config_upstream_url` default in `roles/web-app-bluesky/config/main.yml` to define upstream for /config (defaults to https://ip.bsky.app/config). - Introduce front-proxy injection `extra_locations.conf.j2` that: - proxies `/config` to the upstream, - sets SNI and correct Host header, - normalizes CORS headers for same-origin consumption. - Wire the proxy injection only for the Web domain in `roles/web-app-bluesky/tasks/main.yml` via `proxy_extra_configuration`. - Force fresh social-app checkout and patch `src/state/geolocation.tsx` to `const BAPP_CONFIG_URL = '/config'` in `roles/web-app-bluesky/tasks/02_social_app.yml`; notify `docker compose build` and `up`. - Tidy and re-group PDS env in `roles/web-app-bluesky/templates/env.j2` (no functional change). - Add vars in `roles/web-app-bluesky/vars/main.yml`: - `BLUESKY_FRONT_PROXY_CONTENT` (renders the extra locations), - `BLUESKY_CONFIG_UPSTREAM_URL` (reads `server.config_upstream_url`). Security/Scope: - Only affects the Bluesky web frontend (same-origin `/config`); PDS/API and AppView remain unchanged. Refs: - Conversation: https://chatgpt.com/share/68b8dd3a-2100-800f-959e-1495f6320aab
49 lines
2.5 KiB
YAML
49 lines
2.5 KiB
YAML
# General
|
|
application_id: "web-app-bluesky"
|
|
|
|
## Bluesky
|
|
|
|
## Social App
|
|
BLUESKY_SOCIAL_APP_DIR: "{{ docker_compose.directories.services }}/social-app"
|
|
|
|
# This should be removed when the following issue is closed:
|
|
# https://github.com/bluesky-social/pds/issues/52
|
|
|
|
## PDS
|
|
BLUESKY_PDSADMIN_DIR: "{{ [ docker_compose.directories.volumes, 'pdsadmin' ] | path_join }}"
|
|
BLUESKY_PDSADMIN_FILE: "{{ [ BLUESKY_PDSADMIN_DIR, 'pdsadmin' ] | path_join }}"
|
|
BLUESKY_PDSADMIN_TMP_TAR: "/tmp/pdsadmin.tar.gz"
|
|
BLUESKY_PDS_IMAGE: "{{ applications | get_app_conf(application_id, 'docker.services.pds.image') }}"
|
|
BLUESKY_PDS_VERSION: "{{ applications | get_app_conf(application_id, 'docker.services.pds.version') }}"
|
|
BLUESKY_PDS_DATA_VOLUME: "{{ applications | get_app_conf(application_id, 'docker.volumes.pds_data') }}"
|
|
BLUESKY_PDS_DATA_DIR: "/opt/pds"
|
|
BLUESKY_PDS_BLOBSTORE_LOCATION: "{{ [ BLUESKY_PDS_DATA_DIR, 'blocks' ] | path_join }}"
|
|
|
|
## Web
|
|
BLUESKY_WEB_ENABLED: "{{ applications | get_app_conf(application_id, 'docker.services.web.enabled') }}"
|
|
BLUESKY_WEB_DOMAIN: "{{ domains[application_id].web }}"
|
|
BLUESKY_WEB_PORT: "{{ ports.localhost.http['web-app-bluesky_web'] }}"
|
|
|
|
## View
|
|
BLUESKY_VIEW_ENABLED: "{{ applications | get_app_conf(application_id, 'docker.services.view.enabled') }}"
|
|
BLUESKY_VIEW_DOMAIN: "{{ domains[application_id].view if BLUESKY_VIEW_ENABLED else 'api.bsky.app' }}"
|
|
BLUESKY_VIEW_URL: "{{ WEB_PROTOCOL }}://{{ BLUESKY_VIEW_DOMAIN }}"
|
|
BLUESKY_VIEW_DID: "did:web:{{ BLUESKY_VIEW_DOMAIN }}"
|
|
BLUESKY_VIEW_PORT: "{{ ports.localhost.http['web-app-bluesky_view'] | default(8053) }}"
|
|
|
|
## Server
|
|
BLUESKY_API_DOMAIN: "{{ domains[application_id].api }}"
|
|
BLUESKY_API_PORT: "{{ ports.localhost.http['web-app-bluesky_api'] }}"
|
|
|
|
## Credentials
|
|
BLUESKY_JWT_SECRET: "{{ applications | get_app_conf(application_id, 'credentials.jwt_secret') }}"
|
|
BLUESKY_ROTATION_KEY: "{{ applications | get_app_conf(application_id, 'credentials.plc_rotation_key_k256_private_key_hex') }}"
|
|
|
|
## Admin
|
|
BLUESKY_ADMIN_EMAIL: "{{ users.administrator.email }}"
|
|
BLUESKY_ADMIN_PASSWORD: "{{ users.administrator.password }}"
|
|
|
|
# Front proxy
|
|
BLUESKY_FRONT_PROXY_CONTENT: "{{ lookup('template', 'extra_locations.conf.j2') }}"
|
|
BLUESKY_CONFIG_UPSTREAM_URL: "{{ applications | get_app_conf(application_id, 'server.config_upstream_url') }}"
|