From eba1c36e7ca3ce30aaec4c469ec997cdf4d27c04 Mon Sep 17 00:00:00 2001 From: Steven Masley Date: Fri, 20 Jun 2025 13:55:07 -0500 Subject: [PATCH 1/2] chore: template versions without tf values assumed to be empty --- coderd/dynamicparameters/render.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/coderd/dynamicparameters/render.go b/coderd/dynamicparameters/render.go index b6a77c4704225..2ecfb553cd4f2 100644 --- a/coderd/dynamicparameters/render.go +++ b/coderd/dynamicparameters/render.go @@ -2,9 +2,11 @@ package dynamicparameters import ( "context" + "database/sql" "io/fs" "log/slog" "sync" + "time" "github.com/google/uuid" "golang.org/x/sync/errgroup" @@ -105,7 +107,19 @@ func (r *loader) loadData(ctx context.Context, db database.Store) error { if r.terraformValues == nil { values, err := db.GetTemplateVersionTerraformValues(ctx, r.templateVersion.ID) - if err != nil { + if xerrors.Is(err, sql.ErrNoRows) { + // If the row does not exist, return zero values. + // + // Older template versions (prior to dynamic parameters) will be missing + // this row, and we can assume the 'ProvisionerdVersion' "" (unknown). + values = database.TemplateVersionTerraformValue{ + TemplateVersionID: r.templateVersionID, + UpdatedAt: time.Time{}, + CachedPlan: nil, + CachedModuleFiles: uuid.NullUUID{}, + ProvisionerdVersion: "", + } + } else { return xerrors.Errorf("template version terraform values: %w", err) } r.terraformValues = &values From 5eee729c88f659bbe5607407b4fb704b7a4a5507 Mon Sep 17 00:00:00 2001 From: Steven Masley Date: Fri, 20 Jun 2025 14:06:09 -0500 Subject: [PATCH 2/2] fixup --- coderd/dynamicparameters/render.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/coderd/dynamicparameters/render.go b/coderd/dynamicparameters/render.go index 2ecfb553cd4f2..8e7df929505f1 100644 --- a/coderd/dynamicparameters/render.go +++ b/coderd/dynamicparameters/render.go @@ -107,6 +107,10 @@ func (r *loader) loadData(ctx context.Context, db database.Store) error { if r.terraformValues == nil { values, err := db.GetTemplateVersionTerraformValues(ctx, r.templateVersion.ID) + if err != nil && !xerrors.Is(err, sql.ErrNoRows) { + return xerrors.Errorf("template version terraform values: %w", err) + } + if xerrors.Is(err, sql.ErrNoRows) { // If the row does not exist, return zero values. // @@ -119,9 +123,8 @@ func (r *loader) loadData(ctx context.Context, db database.Store) error { CachedModuleFiles: uuid.NullUUID{}, ProvisionerdVersion: "", } - } else { - return xerrors.Errorf("template version terraform values: %w", err) } + r.terraformValues = &values } pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy