feat: add dashboard-api support to AWS provider#2205
Closed
ya-luotao wants to merge 3 commits intoe2b-dev:mainfrom
Closed
feat: add dashboard-api support to AWS provider#2205ya-luotao wants to merge 3 commits intoe2b-dev:mainfrom
ya-luotao wants to merge 3 commits intoe2b-dev:mainfrom
Conversation
The dashboard-api ECR repository already existed in AWS init but the Nomad job was never wired up. This adds full deployment support, matching the existing GCP pattern. Changes: - Add dashboard_api module to AWS nomad with count-gated deployment - Export dashboard_api_repository_name from AWS init outputs - Thread dashboard_api_count variable through AWS provider layers - Add DASHBOARD_API_COUNT tfvar to AWS Makefile - Refactor job-dashboard-api module: replace logs_proxy_port (object) with logs_collector_address (string) for provider-agnostic consistency - Update GCP caller to match the new module interface - Document DASHBOARD_API_COUNT in self-host.md for both providers Tested on AWS with DASHBOARD_API_COUNT=1 — service starts, registers in Consul, Traefik routes dashboard-api.<domain> correctly, and /health returns 200. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The dashboard-api requires its own migrations (in pkg/dashboard/migrations/) using a separate goose table (_dashboard_migrations). Without these, the dashboard-api fails with "column t.profile_picture_url does not exist". Document this in both self-host.md (GCP + AWS sections) and CLAUDE.md. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Member
|
Hi, thank you for your contribution. We decided we don't want to support the dashboard API, as it's a non-critical part used only for our enterprise deployment and not needed for self-hosting. Thank you for understanding that. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
job-dashboard-apimodule to uselogs_collector_address(string) instead oflogs_proxy_port(object), matching every other job module in the codebaseDASHBOARD_API_COUNTin self-host.md for both GCP and AWSDetails
The dashboard-api ECR repository was created in
iac/provider-aws/init/repositories.tfbut the Nomad job module was never instantiated in the AWS provider. This PR adds the full wiring:iac/modules/job-dashboard-api/variables.tflogs_proxy_portobject withlogs_collector_addressstringiac/modules/job-dashboard-api/main.tflogs_collector_addressdirectlyiac/provider-gcp/nomad/main.tfiac/provider-aws/init/outputs.tfdashboard_api_repository_nameiac/provider-aws/variables.tfdashboard_api_count(default 0)iac/provider-aws/MakefileDASHBOARD_API_COUNTtfvariac/provider-aws/main.tfiac/provider-aws/nomad/variables.tfiac/provider-aws/nomad/main.tfmodule "dashboard_api"blockself-host.mdDisabled by default (
DASHBOARD_API_COUNT=0). Traefik routesdashboard-api.<domain>via Consul catalog service tags at priority 1000. No ALB or DNS changes needed (wildcard DNS already covers it).Test plan
terraform fmt -checkpassesterraform validatepassesDASHBOARD_API_COUNT=1dashboard-api.<domain>correctlycurl https://dashboard-api.<domain>/healthreturns{"message":"Health check successful"}logs_collector_addressrefactor🤖 Generated with Claude Code