Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita9f1a6b

Browse files
authored
fix: revert fix: persist terraform modules during template import (#17665) (#17734)
This reverts commitae3d90b.
1 parentae3d90b commita9f1a6b

File tree

27 files changed

+229
-587
lines changed

27 files changed

+229
-587
lines changed

‎.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ site/stats/
5050
*.tfplan
5151
*.lock.hcl
5252
.terraform/
53-
!provisioner/terraform/testdata/modules-source-caching/.terraform/
5453

5554
**/.coderv2/*
5655
**/__debug_bin

‎cli/testdata/coder_provisioner_list_--output_json.golden

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"last_seen_at": "====[timestamp]=====",
88
"name": "test",
99
"version": "v0.0.0-devel",
10-
"api_version": "1.5",
10+
"api_version": "1.4",
1111
"provisioners": [
1212
"echo"
1313
],

‎coderd/database/dbauthz/dbauthz.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,21 @@ import (
1212
"time"
1313

1414
"github.com/google/uuid"
15-
"github.com/open-policy-agent/opa/topdown"
1615
"golang.org/x/xerrors"
1716

17+
"github.com/open-policy-agent/opa/topdown"
18+
1819
"cdr.dev/slog"
1920

21+
"github.com/coder/coder/v2/coderd/prebuilds"
22+
"github.com/coder/coder/v2/coderd/rbac/policy"
23+
"github.com/coder/coder/v2/coderd/rbac/rolestore"
24+
2025
"github.com/coder/coder/v2/coderd/database"
2126
"github.com/coder/coder/v2/coderd/database/dbtime"
2227
"github.com/coder/coder/v2/coderd/httpapi/httpapiconstraints"
2328
"github.com/coder/coder/v2/coderd/httpmw/loggermw"
24-
"github.com/coder/coder/v2/coderd/prebuilds"
2529
"github.com/coder/coder/v2/coderd/rbac"
26-
"github.com/coder/coder/v2/coderd/rbac/policy"
27-
"github.com/coder/coder/v2/coderd/rbac/rolestore"
2830
"github.com/coder/coder/v2/coderd/util/slice"
2931
"github.com/coder/coder/v2/provisionersdk"
3032
)
@@ -345,7 +347,6 @@ var (
345347
rbac.ResourceNotificationPreference.Type: {policy.ActionCreate,policy.ActionUpdate,policy.ActionDelete},
346348
rbac.ResourceNotificationTemplate.Type: {policy.ActionCreate,policy.ActionUpdate,policy.ActionDelete},
347349
rbac.ResourceCryptoKey.Type: {policy.ActionCreate,policy.ActionUpdate,policy.ActionDelete},
348-
rbac.ResourceFile.Type: {policy.ActionCreate,policy.ActionRead},
349350
}),
350351
Org:map[string][]rbac.Permission{},
351352
User: []rbac.Permission{},

‎coderd/database/dbgen/dbgen.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -999,10 +999,9 @@ func TemplateVersionTerraformValues(t testing.TB, db database.Store, orig databa
999999
t.Helper()
10001000

10011001
params:= database.InsertTemplateVersionTerraformValuesByJobIDParams{
1002-
JobID:takeFirst(orig.JobID,uuid.New()),
1003-
CachedPlan:takeFirstSlice(orig.CachedPlan, []byte("{}")),
1004-
CachedModuleFiles:orig.CachedModuleFiles,
1005-
UpdatedAt:takeFirst(orig.UpdatedAt,dbtime.Now()),
1002+
JobID:takeFirst(orig.JobID,uuid.New()),
1003+
CachedPlan:takeFirstSlice(orig.CachedPlan, []byte("{}")),
1004+
UpdatedAt:takeFirst(orig.UpdatedAt,dbtime.Now()),
10061005
}
10071006

10081007
err:=db.InsertTemplateVersionTerraformValuesByJobID(genCtx,params)

‎coderd/database/dbmem/dbmem.go

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

‎coderd/database/dump.sql

Lines changed: 1 addition & 5 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/foreign_key_constraint.go

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/migrations/000320_terraform_cached_modules.down.sql

Lines changed: 0 additions & 1 deletion
This file was deleted.

‎coderd/database/migrations/000320_terraform_cached_modules.up.sql

Lines changed: 0 additions & 1 deletion
This file was deleted.

‎coderd/database/models.go

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/queries.sql.go

Lines changed: 7 additions & 20 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/queries/templateversionterraformvalues.sql

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,11 @@ INSERT INTO
1111
template_version_terraform_values (
1212
template_version_id,
1313
cached_plan,
14-
cached_module_files,
1514
updated_at
1615
)
1716
VALUES
1817
(
1918
(select idfrom template_versionswhere job_id= @job_id),
2019
@cached_plan,
21-
@cached_module_files,
2220
@updated_at
2321
);

‎coderd/provisionerdserver/provisionerdserver.go

Lines changed: 5 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ package provisionerdserver
22

33
import (
44
"context"
5-
"crypto/sha256"
65
"database/sql"
7-
"encoding/hex"
86
"encoding/json"
97
"errors"
108
"fmt"
@@ -52,10 +50,6 @@ import (
5250
sdkproto"github.com/coder/coder/v2/provisionersdk/proto"
5351
)
5452

55-
const (
56-
tarMimeType="application/x-tar"
57-
)
58-
5953
const (
6054
// DefaultAcquireJobLongPollDur is the time the (deprecated) AcquireJob rpc waits to try to obtain a job before
6155
// canceling and returning an empty job.
@@ -1432,59 +1426,11 @@ func (s *server) CompleteJob(ctx context.Context, completed *proto.CompletedJob)
14321426
returnnil,xerrors.Errorf("update template version external auth providers: %w",err)
14331427
}
14341428

1435-
plan:=jobType.TemplateImport.Plan
1436-
moduleFiles:=jobType.TemplateImport.ModuleFiles
1437-
// If there is a plan, or a module files archive we need to insert a
1438-
// template_version_terraform_values row.
1439-
iflen(plan)>0||len(moduleFiles)>0 {
1440-
// ...but the plan and the module files archive are both optional! So
1441-
// we need to fallback to a valid JSON object if the plan was omitted.
1442-
iflen(plan)==0 {
1443-
plan= []byte("{}")
1444-
}
1445-
1446-
// ...and we only want to insert a files row if an archive was provided.
1447-
varfileID uuid.NullUUID
1448-
iflen(moduleFiles)>0 {
1449-
hashBytes:=sha256.Sum256(moduleFiles)
1450-
hash:=hex.EncodeToString(hashBytes[:])
1451-
1452-
// nolint:gocritic // Requires reading "system" files
1453-
file,err:=s.Database.GetFileByHashAndCreator(dbauthz.AsSystemRestricted(ctx), database.GetFileByHashAndCreatorParams{Hash:hash,CreatedBy:uuid.Nil})
1454-
switch {
1455-
caseerr==nil:
1456-
// This set of modules is already cached, which means we can reuse them
1457-
fileID= uuid.NullUUID{
1458-
Valid:true,
1459-
UUID:file.ID,
1460-
}
1461-
case!xerrors.Is(err,sql.ErrNoRows):
1462-
returnnil,xerrors.Errorf("check for cached modules: %w",err)
1463-
default:
1464-
// nolint:gocritic // Requires creating a "system" file
1465-
file,err=s.Database.InsertFile(dbauthz.AsSystemRestricted(ctx), database.InsertFileParams{
1466-
ID:uuid.New(),
1467-
Hash:hash,
1468-
CreatedBy:uuid.Nil,
1469-
CreatedAt:dbtime.Now(),
1470-
Mimetype:tarMimeType,
1471-
Data:moduleFiles,
1472-
})
1473-
iferr!=nil {
1474-
returnnil,xerrors.Errorf("insert template version terraform modules: %w",err)
1475-
}
1476-
fileID= uuid.NullUUID{
1477-
Valid:true,
1478-
UUID:file.ID,
1479-
}
1480-
}
1481-
}
1482-
1483-
err=s.Database.InsertTemplateVersionTerraformValuesByJobID(ctx, database.InsertTemplateVersionTerraformValuesByJobIDParams{
1484-
JobID:jobID,
1485-
UpdatedAt:now,
1486-
CachedPlan:plan,
1487-
CachedModuleFiles:fileID,
1429+
iflen(jobType.TemplateImport.Plan)>0 {
1430+
err:=s.Database.InsertTemplateVersionTerraformValuesByJobID(ctx, database.InsertTemplateVersionTerraformValuesByJobIDParams{
1431+
JobID:jobID,
1432+
CachedPlan:jobType.TemplateImport.Plan,
1433+
UpdatedAt:now,
14881434
})
14891435
iferr!=nil {
14901436
returnnil,xerrors.Errorf("insert template version terraform data: %w",err)

‎provisioner/echo/serve.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,7 @@ var (
5252
PlanComplete= []*proto.Response{{
5353
Type:&proto.Response_Plan{
5454
Plan:&proto.PlanComplete{
55-
Plan: []byte("{}"),
56-
ModuleFiles: []byte{},
55+
Plan: []byte("{}"),
5756
},
5857
},
5958
}}
@@ -250,7 +249,6 @@ func TarWithOptions(ctx context.Context, logger slog.Logger, responses *Response
250249
Parameters:resp.GetApply().GetParameters(),
251250
ExternalAuthProviders:resp.GetApply().GetExternalAuthProviders(),
252251
Plan: []byte("{}"),
253-
ModuleFiles: []byte{},
254252
}},
255253
})
256254
}

‎provisioner/terraform/executor.go

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -307,20 +307,13 @@ 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-
iferr!=nil {
312-
// TODO: we probably want to persist this error or make it louder eventually
313-
e.logger.Warn(ctx,"failed to archive terraform modules",slog.Error(err))
314-
}
315-
316310
return&proto.PlanComplete{
317311
Parameters:state.Parameters,
318312
Resources:state.Resources,
319313
ExternalAuthProviders:state.ExternalAuthProviders,
320314
Timings:append(e.timings.aggregate(),graphTimings.aggregate()...),
321315
Presets:state.Presets,
322316
Plan:plan,
323-
ModuleFiles:moduleFiles,
324317
},nil
325318
}
326319

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp