Skip to content

chore(infra): describe the Frankfurt service - #256

Merged
aquie00t merged 2 commits into
mainfrom
chore/blueprint-frankfurt-service
Sep 1, 2026
Merged

chore(infra): describe the Frankfurt service#256
aquie00t merged 2 commits into
mainfrom
chore/blueprint-frankfurt-service

Conversation

@aquie00t

@aquie00t aquie00t commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

Summary

Replaces the blueprint with the export of the service that actually serves traffic: tdn-api-frankfurt, in eu-central-1, with api.developernetwork.net attached.

The env list grows from 34 keys to 52. The feed ranking and user interest weights were never declared in the blueprint, and the media moderation settings are new.

Closes the need for #255, which reverted the region on a service that has since been replaced.

Root cause

#254 set region: frankfurt on a service running in Oregon, as a statement of intent. Render does not treat an unreachable region as a no-op — it rejects the blueprint outright, and a rejected blueprint applies nothing, so every other setting in the file stopped syncing too.

The file describes the running service. It is not a request for a different one, and the region line is the last step of a move rather than the first. The move has now happened in the dashboard, so the line is true and this export records it.

The measurement that motivated the move: from Turkey, Frankfurt answers in 88 ms against 266 ms for Ohio and 287 ms for Oregon. SELECT 1 cost 173 ms and a Redis PING 58 ms from the old arrangement, neither of which does any work — the figures were entirely distance, and a ranked feed page pays it about a dozen times.

Tests

Configuration only. Verified by comparing the env key sets: 20 added, and the two below removed.

Before merging anything that turns moderation on

The export shows SIGHTENGINE_API_USER and SIGHTENGINE_API_SECRET are not set on the new service. They are deliberately not added back here — this file records what exists, and adding a sync: false key with no value is how the sync broke last time.

That matters for #253, which makes the moderation service refuse to start when MODERATION_ENABLED is true and the credentials are empty. Either set both values on the service, or set MODERATION_ENABLED=false until they exist. Otherwise merging #253 takes the API down on its first boot.


AI asistan: Claude Opus 5

aquie00t and others added 2 commits September 1, 2026 18:56
The API now runs as tdn-api-frankfurt in eu-central-1, beside the database
and the cache, with api.developernetwork.net pointed at it. This is the
export of that service, so the blueprint describes what exists rather than
what was wanted - the previous attempt asked for a region Render will not
move a service to, and the rejected sync took every other setting with it.

The env list grows by twenty keys. The feed ranking and interest weights
were never in the blueprint at all, and the media moderation ones are new;
declaring them keeps the required configuration visible in one place even
though the values stay in the dashboard.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A2WFyQ3PR2jYvDVk89yZpc
They are missing from the export because they are not set on the service
yet. Declaring them anyway keeps every variable the app reads visible in one
place, and means a sync cannot be the thing that removes them once they are
set. The values stay in the dashboard, as with every other secret here.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A2WFyQ3PR2jYvDVk89yZpc
@aquie00t
aquie00t merged commit 3ff0ec0 into main Sep 1, 2026
10 checks passed
@aquie00t
aquie00t deleted the chore/blueprint-frankfurt-service branch September 1, 2026 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant