v0.26.1 — show auto-generated values on deploy page

- Pre-generate domain + secret field values when deploy page loads,
  so user sees actual domain and masked passwords (with reveal button)
  before deploying. Same values submitted as hidden inputs → saved to app.yaml.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-22 13:42:15 +01:00
parent ad3c84d03a
commit f95f570670
5 changed files with 71 additions and 11 deletions
+7 -1
View File
@@ -254,7 +254,7 @@ func (s *Server) deployHandler(w http.ResponseWriter, r *http.Request, name stri
data["AppPageURL"] = s.cfg.AppPageURL(meta.Slug)
data["UserFields"] = meta.UserFacingFields()
data["AutoFields"] = meta.AutoGeneratedFields()
// Auto-generated field values for already-deployed apps
// Auto-generated field values: existing values for deployed apps, pre-generated for new deploys
autoFieldValues := make(map[string]string)
if alreadyDeployed && appCfg != nil {
for _, f := range meta.AutoGeneratedFields() {
@@ -262,6 +262,12 @@ func (s *Server) deployHandler(w http.ResponseWriter, r *http.Request, name stri
autoFieldValues[f.EnvVar] = val
}
}
} else if !alreadyDeployed {
// Pre-generate values so the user sees (and can note down) domain/passwords before deploying.
// These same values are submitted back in the form and saved to app.yaml.
if preview, err := s.stackMgr.PreviewDeployValues(name); err == nil {
autoFieldValues = preview
}
}
data["AutoFieldValues"] = autoFieldValues
// Storage paths with free space info for deploy dropdown
@@ -230,14 +230,18 @@
{{if .AutoFields}}
<div class="form-section">
<h4>Automatikusan generált értékek</h4>
<p class="form-section-desc">Ezek az értékek automatikusan létrejönnek a telepítéskor.</p>
{{if .AlreadyDeployed}}
<p class="form-section-desc">Ezek az értékek automatikusan jöttek létre a telepítéskor.</p>
{{else}}
<p class="form-section-desc">Ezek az értékek a telepítéssel együtt mentésre kerülnek. Jegyezze fel a szükséges jelszavakat!</p>
{{end}}
{{$autoValues := .AutoFieldValues}}
{{$isDeployed := .AlreadyDeployed}}
{{range .AutoFields}}
{{$val := index $autoValues .EnvVar}}
<div class="form-group form-group-auto">
<label>{{.Label}} <span class="auto-generated-badge">✓ Automatikusan generálva</span></label>
{{if and $isDeployed $val}}
{{if $val}}
{{if eq .Type "secret"}}
<div class="input-with-button">
<input type="password" id="auto-field-{{.EnvVar}}" class="form-control" value="{{$val}}" readonly>
@@ -246,6 +250,9 @@
{{else}}
<input type="text" id="auto-field-{{.EnvVar}}" class="form-control" value="{{$val}}" readonly>
{{end}}
{{if and (not $isDeployed) (eq .Type "secret")}}
<input type="hidden" name="{{.EnvVar}}" value="{{$val}}">
{{end}}
{{end}}
</div>
{{end}}