v0.27.0 — user-configurable app subdomains
Users can now customize the subdomain for each app during deployment instead of using a fixed value. The deploy page shows an editable text input with the default pre-filled and the base domain as a suffix. New "subdomain" deploy field type with DNS-safe format validation, reserved name blocklist, and uniqueness check across deployed stacks. Locked after deploy — changing requires Remove + Redeploy. Backward compatible: InjectMissingFields() auto-fills SUBDOMAIN from .felhom.yml defaults for existing deployed apps on next sync/restart. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -130,7 +130,8 @@ The app catalog lives in a separate Git repository. The controller:
|
||||
|
||||
1. Customer sees app card with "Telepites" button
|
||||
2. Deploy page pre-generates and **displays** all auto-values before the user clicks deploy:
|
||||
- `domain` fields: shown as readonly text input with the customer's configured domain
|
||||
- `domain` fields: shown as readonly text input with the customer's configured base domain
|
||||
- `subdomain` fields: editable text input pre-filled with the default from `.felhom.yml`, shown with `.base-domain` suffix. Validated for DNS-safe format, reserved names, and uniqueness across deployed stacks. Locked after deploy — changing requires Remove + Redeploy
|
||||
- `secret` fields: pre-generated and shown as masked password inputs with a "Megjelenítés" reveal button — user can see/copy all DB passwords and keys before deploying
|
||||
- User-configurable inputs (admin password, language, storage path) remain editable
|
||||
- Section header prompts the user to note down any passwords they need
|
||||
@@ -180,6 +181,7 @@ When app templates are updated (e.g., a new `APP_KEY` secret is added to `.felho
|
||||
- For each deployed stack, compares `.felhom.yml` `deploy_fields` against `app.yaml` env vars
|
||||
- Missing `secret` fields: auto-generated using the field's generator spec (`password:N`, `hex:N`, `base64key:N`)
|
||||
- Missing `domain` fields: filled with the customer's configured domain
|
||||
- Missing `subdomain` fields: filled with the field's default value or the `.felhom.yml` `subdomain:` metadata
|
||||
- Other field types (e.g., `text`, `select`): logged as warning for manual configuration
|
||||
- Locked fields are added to the locked list automatically
|
||||
|
||||
|
||||
Reference in New Issue
Block a user