From b7692fc6588fc690cbbacbff30495c767c8a6d23 Mon Sep 17 00:00:00 2001 From: caballeto Date: Wed, 6 May 2026 00:05:36 +0200 Subject: [PATCH] fix(status_page): return correct devhelmstatus.com domain in page_url The provider was returning .devhelm.page which doesn't resolve; actual public host is .devhelmstatus.com. Co-authored-by: Cursor --- docs/guides/getting-started.md | 2 +- docs/resources/status_page.md | 2 +- internal/provider/datasources/datasources_test.go | 2 +- internal/provider/datasources/negative_datasource_test.go | 2 +- internal/provider/datasources/status_page.go | 2 +- internal/provider/resources/negative_validation_test.go | 2 +- internal/provider/resources/status_page.go | 8 ++++---- internal/provider/resources/status_page_test.go | 2 +- templates/guides/getting-started.md.tmpl | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/guides/getting-started.md b/docs/guides/getting-started.md index cd6f9b1..9230279 100644 --- a/docs/guides/getting-started.md +++ b/docs/guides/getting-started.md @@ -209,7 +209,7 @@ in a browser — your monitor, channel, and policy are now live. ```bash terraform output status_page_url -# https://acme.devhelm.page +# https://acme.devhelmstatus.com ``` ## Where to go next diff --git a/docs/resources/status_page.md b/docs/resources/status_page.md index 2960884..ae0bfe6 100644 --- a/docs/resources/status_page.md +++ b/docs/resources/status_page.md @@ -118,7 +118,7 @@ resource "devhelm_status_page_component" "api" { ### Read-Only - `id` (String) Unique identifier for this status page -- `page_url` (String) Public URL of the status page (https://.devhelm.page) +- `page_url` (String) Public URL of the status page (https://.devhelmstatus.com) ### Nested Schema for `branding` diff --git a/internal/provider/datasources/datasources_test.go b/internal/provider/datasources/datasources_test.go index 351b400..e52c02a 100644 --- a/internal/provider/datasources/datasources_test.go +++ b/internal/provider/datasources/datasources_test.go @@ -301,7 +301,7 @@ func TestMapStatusPageToState_PopulatesAllFieldsAndSyntheticPageURL(t *testing.T // data source constructs it from slug. If we ever change the // hosted-page domain, this assertion is the canary that forces us // to update both the resource and the data source in lockstep. - wantURL := "https://acme.devhelm.page" + wantURL := "https://acme.devhelmstatus.com" if model.PageURL.ValueString() != wantURL { t.Errorf("PageURL: got %q, want %q", model.PageURL.ValueString(), wantURL) } diff --git a/internal/provider/datasources/negative_datasource_test.go b/internal/provider/datasources/negative_datasource_test.go index 3987c8e..479448f 100644 --- a/internal/provider/datasources/negative_datasource_test.go +++ b/internal/provider/datasources/negative_datasource_test.go @@ -248,7 +248,7 @@ func TestMapStatusPageToState_SyntheticPageURLWithSlug(t *testing.T) { } var model StatusPageDataSourceModel mapStatusPageToState(&model, dto) - want := "https://my-company.devhelm.page" + want := "https://my-company.devhelmstatus.com" if model.PageURL.ValueString() != want { t.Errorf("PageURL = %q, want %q", model.PageURL.ValueString(), want) } diff --git a/internal/provider/datasources/status_page.go b/internal/provider/datasources/status_page.go index 2b02716..89cb2f6 100644 --- a/internal/provider/datasources/status_page.go +++ b/internal/provider/datasources/status_page.go @@ -104,5 +104,5 @@ func mapStatusPageToState(model *StatusPageDataSourceModel, p *generated.StatusP model.Visibility = types.StringValue(string(p.Visibility)) model.Enabled = types.BoolValue(p.Enabled) model.IncidentMode = types.StringValue(string(p.IncidentMode)) - model.PageURL = types.StringValue(fmt.Sprintf("https://%s.devhelm.page", p.Slug)) + model.PageURL = types.StringValue(fmt.Sprintf("https://%s.devhelmstatus.com", p.Slug)) } diff --git a/internal/provider/resources/negative_validation_test.go b/internal/provider/resources/negative_validation_test.go index 781c16c..dc56600 100644 --- a/internal/provider/resources/negative_validation_test.go +++ b/internal/provider/resources/negative_validation_test.go @@ -423,7 +423,7 @@ func TestStatusPage_MapToState_SyntheticPageURL(t *testing.T) { } model := &StatusPageResourceModel{} r.mapToState(ctx, model, dto) - want := "https://acme.devhelm.page" + want := "https://acme.devhelmstatus.com" if model.PageURL.ValueString() != want { t.Errorf("PageURL = %q, want %q", model.PageURL.ValueString(), want) } diff --git a/internal/provider/resources/status_page.go b/internal/provider/resources/status_page.go index 07ef127..4039c73 100644 --- a/internal/provider/resources/status_page.go +++ b/internal/provider/resources/status_page.go @@ -159,7 +159,7 @@ func (r *StatusPageResource) Schema(_ context.Context, _ resource.SchemaRequest, }, }, "page_url": schema.StringAttribute{ - Computed: true, Description: "Public URL of the status page (https://.devhelm.page)", + Computed: true, Description: "Public URL of the status page (https://.devhelmstatus.com)", }, "branding": schema.SingleNestedAttribute{ Optional: true, Computed: true, @@ -416,9 +416,9 @@ func (r *StatusPageResource) mapToState(ctx context.Context, model *StatusPageRe model.Branding, d = brandingObjectFromDto(ctx, dto.Branding) diags.Append(d...) // page_url is derived client-side from the slug. The API doesn't return - // it because the host is dictated by the deployment (devhelm.page) and - // would otherwise drift across environments. - model.PageURL = types.StringValue(fmt.Sprintf("https://%s.devhelm.page", dto.Slug)) + // it because the host is dictated by the deployment (devhelmstatus.com) + // and would otherwise drift across environments. + model.PageURL = types.StringValue(fmt.Sprintf("https://%s.devhelmstatus.com", dto.Slug)) return diags } diff --git a/internal/provider/resources/status_page_test.go b/internal/provider/resources/status_page_test.go index 24cfcf3..cb915d1 100644 --- a/internal/provider/resources/status_page_test.go +++ b/internal/provider/resources/status_page_test.go @@ -178,7 +178,7 @@ func TestStatusPage_MapToState_PopulatesEveryField(t *testing.T) { if model.IncidentMode.ValueString() != "AUTOMATIC" { t.Errorf("IncidentMode = %q", model.IncidentMode.ValueString()) } - if model.PageURL.ValueString() != "https://acme.devhelm.page" { + if model.PageURL.ValueString() != "https://acme.devhelmstatus.com" { t.Errorf("PageURL = %q", model.PageURL.ValueString()) } if model.Branding.IsNull() { diff --git a/templates/guides/getting-started.md.tmpl b/templates/guides/getting-started.md.tmpl index cd6f9b1..9230279 100644 --- a/templates/guides/getting-started.md.tmpl +++ b/templates/guides/getting-started.md.tmpl @@ -209,7 +209,7 @@ in a browser — your monitor, channel, and policy are now live. ```bash terraform output status_page_url -# https://acme.devhelm.page +# https://acme.devhelmstatus.com ``` ## Where to go next