Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2b5800e

Browse files
committed
fix
1 parent 25f2330 commit 2b5800e

File tree

7 files changed

+31
-11
lines changed

7 files changed

+31
-11
lines changed

coderd/database/dbmem/dbmem.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9315,6 +9315,7 @@ func (q *FakeQuerier) InsertTemplateVersionTerraformValuesByJobID(_ context.Cont
93159315
row := database.TemplateVersionTerraformValue{
93169316
TemplateVersionID: templateVersion.ID,
93179317
CachedPlan: arg.CachedPlan,
9318+
CachedModuleFiles: arg.CachedModuleFiles,
93189319
UpdatedAt: arg.UpdatedAt,
93199320
}
93209321
q.templateVersionTerraformValues = append(q.templateVersionTerraformValues, row)

coderd/database/queries.sql.go

Lines changed: 13 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries/templateversionterraformvalues.sql

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,13 @@ INSERT INTO
1111
template_version_terraform_values (
1212
template_version_id,
1313
cached_plan,
14+
cached_module_files,
1415
updated_at
1516
)
1617
VALUES
1718
(
1819
(select id from template_versions where job_id = @job_id),
1920
@cached_plan,
21+
@cached_module_files,
2022
@updated_at
2123
);

coderd/provisionerdserver/provisionerdserver.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1437,7 +1437,7 @@ func (s *server) CompleteJob(ctx context.Context, completed *proto.CompletedJob)
14371437
hashBytes := sha256.Sum256(moduleFilesTar)
14381438
hash := hex.EncodeToString(hashBytes[:])
14391439
// nolint:gocritic // Requires system privileges
1440-
_, err := s.Database.InsertFile(dbauthz.AsSystemRestricted(ctx), database.InsertFileParams{
1440+
file, err := s.Database.InsertFile(dbauthz.AsSystemRestricted(ctx), database.InsertFileParams{
14411441
ID: uuid.New(),
14421442
Hash: hash,
14431443
CreatedBy: uuid.Nil, // TODO
@@ -1450,10 +1450,10 @@ func (s *server) CompleteJob(ctx context.Context, completed *proto.CompletedJob)
14501450
}
14511451

14521452
err = s.Database.InsertTemplateVersionTerraformValuesByJobID(ctx, database.InsertTemplateVersionTerraformValuesByJobIDParams{
1453-
JobID: jobID,
1454-
UpdatedAt: now,
1455-
CachedPlan: jobType.TemplateImport.Plan,
1456-
// CachedModules: jobType.TemplateImport.ModuleFiles,
1453+
JobID: jobID,
1454+
UpdatedAt: now,
1455+
CachedPlan: jobType.TemplateImport.Plan,
1456+
CachedModuleFiles: uuid.NullUUID{Valid: true, UUID: file.ID},
14571457
})
14581458
if err != nil {
14591459
return nil, xerrors.Errorf("insert template version terraform data: %w", err)

provisioner/terraform/executor.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,13 +307,19 @@ func (e *executor) plan(ctx, killCtx context.Context, env, vars []string, logr l
307307

308308
graphTimings.ingest(createGraphTimingsEvent(timingGraphComplete))
309309

310+
moduleFiles, err := getModulesArchive(e.workdir)
311+
if err != nil {
312+
return nil, err
313+
}
314+
310315
return &proto.PlanComplete{
311316
Parameters: state.Parameters,
312317
Resources: state.Resources,
313318
ExternalAuthProviders: state.ExternalAuthProviders,
314319
Timings: append(e.timings.aggregate(), graphTimings.aggregate()...),
315320
Presets: state.Presets,
316321
Plan: plan,
322+
ModuleFiles: moduleFiles,
317323
}, nil
318324
}
319325

provisioner/terraform/modules.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ func getModulesArchive(workdir string) ([]byte, error) {
8484
return nil
8585
}
8686
empty = false
87-
archivePath, found := strings.CutPrefix(filePath, modulesDir+"/")
87+
archivePath, found := strings.CutPrefix(filePath, workdir+"/")
8888
if !found {
8989
return xerrors.Errorf("walked invalid file path: %q", filePath)
9090
}

provisionerd/runner/runner.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -595,6 +595,7 @@ func (r *Runner) runTemplateImport(ctx context.Context) (*proto.CompletedJob, *p
595595
StopModules: stopProvision.Modules,
596596
Presets: startProvision.Presets,
597597
Plan: startProvision.Plan,
598+
ModuleFiles: startProvision.ModuleFiles,
598599
},
599600
},
600601
}, nil
@@ -657,6 +658,7 @@ type templateImportProvision struct {
657658
Modules []*sdkproto.Module
658659
Presets []*sdkproto.Preset
659660
Plan json.RawMessage
661+
ModuleFiles []byte
660662
}
661663

662664
// Performs a dry-run provision when importing a template.
@@ -751,6 +753,7 @@ func (r *Runner) runTemplateImportProvisionWithRichParameters(
751753
Modules: c.Modules,
752754
Presets: c.Presets,
753755
Plan: c.Plan,
756+
ModuleFiles: c.ModuleFiles,
754757
}, nil
755758
default:
756759
return nil, xerrors.Errorf("invalid message type %q received from provisioner",

0 commit comments

Comments
 (0)