mirror of
https://github.com/coder/coder.git
synced 2025-07-09 11:45:56 +00:00
feat!: drop support for legacy parameters (#7663)
This commit is contained in:
@ -344,7 +344,6 @@ func (r *Runner) update(ctx context.Context, u *proto.UpdateJobRequest) (*proto.
|
||||
|
||||
span.SetAttributes(
|
||||
attribute.Int64("logs_len", int64(len(u.Logs))),
|
||||
attribute.Int64("parameter_schemas_len", int64(len(u.ParameterSchemas))),
|
||||
attribute.Int64("template_variables_len", int64(len(u.TemplateVariables))),
|
||||
attribute.Int64("user_variable_values_len", int64(len(u.UserVariableValues))),
|
||||
attribute.Int64("readme_len", int64(len(u.Readme))),
|
||||
@ -500,7 +499,6 @@ func (r *Runner) do(ctx context.Context) (*proto.CompletedJob, *proto.FailedJob)
|
||||
case *proto.AcquiredJob_TemplateDryRun_:
|
||||
r.logger.Debug(context.Background(), "acquired job is template dry-run",
|
||||
slog.F("workspace_name", jobType.TemplateDryRun.Metadata.WorkspaceName),
|
||||
slog.F("parameters", jobType.TemplateDryRun.ParameterValues),
|
||||
slog.F("rich_parameter_values", jobType.TemplateDryRun.RichParameterValues),
|
||||
slog.F("variable_values", redactVariableValues(jobType.TemplateDryRun.VariableValues)),
|
||||
)
|
||||
@ -509,7 +507,6 @@ func (r *Runner) do(ctx context.Context) (*proto.CompletedJob, *proto.FailedJob)
|
||||
r.logger.Debug(context.Background(), "acquired job is workspace provision",
|
||||
slog.F("workspace_name", jobType.WorkspaceBuild.WorkspaceName),
|
||||
slog.F("state_length", len(jobType.WorkspaceBuild.State)),
|
||||
slog.F("parameters", jobType.WorkspaceBuild.ParameterValues),
|
||||
slog.F("rich_parameter_values", jobType.WorkspaceBuild.RichParameterValues),
|
||||
slog.F("variable_values", redactVariableValues(jobType.WorkspaceBuild.VariableValues)),
|
||||
)
|
||||
@ -617,7 +614,7 @@ func (r *Runner) runTemplateImport(ctx context.Context) (*proto.CompletedJob, *p
|
||||
Stage: "Parsing template parameters",
|
||||
CreatedAt: time.Now().UnixMilli(),
|
||||
})
|
||||
parameterSchemas, templateVariables, err := r.runTemplateImportParse(ctx)
|
||||
templateVariables, err := r.runTemplateImportParse(ctx)
|
||||
if err != nil {
|
||||
return nil, r.failedJobf("run parse: %s", err)
|
||||
}
|
||||
@ -626,7 +623,6 @@ func (r *Runner) runTemplateImport(ctx context.Context) (*proto.CompletedJob, *p
|
||||
// to store in database and filter valid ones.
|
||||
updateResponse, err := r.update(ctx, &proto.UpdateJobRequest{
|
||||
JobId: r.job.JobId,
|
||||
ParameterSchemas: parameterSchemas,
|
||||
TemplateVariables: templateVariables,
|
||||
UserVariableValues: r.job.GetTemplateImport().GetUserVariableValues(),
|
||||
})
|
||||
@ -634,17 +630,6 @@ func (r *Runner) runTemplateImport(ctx context.Context) (*proto.CompletedJob, *p
|
||||
return nil, r.failedJobf("update job: %s", err)
|
||||
}
|
||||
|
||||
valueByName := map[string]*sdkproto.ParameterValue{}
|
||||
for _, parameterValue := range updateResponse.ParameterValues {
|
||||
valueByName[parameterValue.Name] = parameterValue
|
||||
}
|
||||
for _, parameterSchema := range parameterSchemas {
|
||||
_, ok := valueByName[parameterSchema.Name]
|
||||
if !ok {
|
||||
return nil, r.failedJobf("%s: %s", missingParameterErrorText, parameterSchema.Name)
|
||||
}
|
||||
}
|
||||
|
||||
// Determine persistent resources
|
||||
r.queueLog(ctx, &proto.Log{
|
||||
Source: proto.LogSource_PROVISIONER_DAEMON,
|
||||
@ -652,7 +637,7 @@ func (r *Runner) runTemplateImport(ctx context.Context) (*proto.CompletedJob, *p
|
||||
Stage: "Detecting persistent resources",
|
||||
CreatedAt: time.Now().UnixMilli(),
|
||||
})
|
||||
startProvision, err := r.runTemplateImportProvision(ctx, updateResponse.ParameterValues, updateResponse.VariableValues, &sdkproto.Provision_Metadata{
|
||||
startProvision, err := r.runTemplateImportProvision(ctx, updateResponse.VariableValues, &sdkproto.Provision_Metadata{
|
||||
CoderUrl: r.job.GetTemplateImport().Metadata.CoderUrl,
|
||||
WorkspaceTransition: sdkproto.WorkspaceTransition_START,
|
||||
})
|
||||
@ -667,7 +652,7 @@ func (r *Runner) runTemplateImport(ctx context.Context) (*proto.CompletedJob, *p
|
||||
Stage: "Detecting ephemeral resources",
|
||||
CreatedAt: time.Now().UnixMilli(),
|
||||
})
|
||||
stopProvision, err := r.runTemplateImportProvision(ctx, updateResponse.ParameterValues, updateResponse.VariableValues, &sdkproto.Provision_Metadata{
|
||||
stopProvision, err := r.runTemplateImportProvision(ctx, updateResponse.VariableValues, &sdkproto.Provision_Metadata{
|
||||
CoderUrl: r.job.GetTemplateImport().Metadata.CoderUrl,
|
||||
WorkspaceTransition: sdkproto.WorkspaceTransition_STOP,
|
||||
})
|
||||
@ -689,7 +674,7 @@ func (r *Runner) runTemplateImport(ctx context.Context) (*proto.CompletedJob, *p
|
||||
}
|
||||
|
||||
// Parses template variables and parameter schemas from source.
|
||||
func (r *Runner) runTemplateImportParse(ctx context.Context) ([]*sdkproto.ParameterSchema, []*sdkproto.TemplateVariable, error) {
|
||||
func (r *Runner) runTemplateImportParse(ctx context.Context) ([]*sdkproto.TemplateVariable, error) {
|
||||
ctx, span := r.startTrace(ctx, tracing.FuncName())
|
||||
defer span.End()
|
||||
|
||||
@ -697,13 +682,13 @@ func (r *Runner) runTemplateImportParse(ctx context.Context) ([]*sdkproto.Parame
|
||||
Directory: r.workDirectory,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, nil, xerrors.Errorf("parse source: %w", err)
|
||||
return nil, xerrors.Errorf("parse source: %w", err)
|
||||
}
|
||||
defer stream.Close()
|
||||
for {
|
||||
msg, err := stream.Recv()
|
||||
if err != nil {
|
||||
return nil, nil, xerrors.Errorf("recv parse source: %w", err)
|
||||
return nil, xerrors.Errorf("recv parse source: %w", err)
|
||||
}
|
||||
switch msgType := msg.Type.(type) {
|
||||
case *sdkproto.Parse_Response_Log:
|
||||
@ -721,13 +706,12 @@ func (r *Runner) runTemplateImportParse(ctx context.Context) ([]*sdkproto.Parame
|
||||
})
|
||||
case *sdkproto.Parse_Response_Complete:
|
||||
r.logger.Info(context.Background(), "parse complete",
|
||||
slog.F("parameter_schemas", msgType.Complete.ParameterSchemas),
|
||||
slog.F("template_variables", msgType.Complete.TemplateVariables),
|
||||
)
|
||||
|
||||
return msgType.Complete.ParameterSchemas, msgType.Complete.TemplateVariables, nil
|
||||
return msgType.Complete.TemplateVariables, nil
|
||||
default:
|
||||
return nil, nil, xerrors.Errorf("invalid message type %q received from provisioner",
|
||||
return nil, xerrors.Errorf("invalid message type %q received from provisioner",
|
||||
reflect.TypeOf(msg.Type).String())
|
||||
}
|
||||
}
|
||||
@ -742,13 +726,13 @@ type templateImportProvision struct {
|
||||
// Performs a dry-run provision when importing a template.
|
||||
// This is used to detect resources that would be provisioned for a workspace in various states.
|
||||
// It doesn't define values for rich parameters as they're unknown during template import.
|
||||
func (r *Runner) runTemplateImportProvision(ctx context.Context, values []*sdkproto.ParameterValue, variableValues []*sdkproto.VariableValue, metadata *sdkproto.Provision_Metadata) (*templateImportProvision, error) {
|
||||
return r.runTemplateImportProvisionWithRichParameters(ctx, values, variableValues, nil, metadata)
|
||||
func (r *Runner) runTemplateImportProvision(ctx context.Context, variableValues []*sdkproto.VariableValue, metadata *sdkproto.Provision_Metadata) (*templateImportProvision, error) {
|
||||
return r.runTemplateImportProvisionWithRichParameters(ctx, variableValues, nil, metadata)
|
||||
}
|
||||
|
||||
// Performs a dry-run provision with provided rich parameters.
|
||||
// This is used to detect resources that would be provisioned for a workspace in various states.
|
||||
func (r *Runner) runTemplateImportProvisionWithRichParameters(ctx context.Context, values []*sdkproto.ParameterValue, variableValues []*sdkproto.VariableValue, richParameterValues []*sdkproto.RichParameterValue, metadata *sdkproto.Provision_Metadata) (*templateImportProvision, error) {
|
||||
func (r *Runner) runTemplateImportProvisionWithRichParameters(ctx context.Context, variableValues []*sdkproto.VariableValue, richParameterValues []*sdkproto.RichParameterValue, metadata *sdkproto.Provision_Metadata) (*templateImportProvision, error) {
|
||||
ctx, span := r.startTrace(ctx, tracing.FuncName())
|
||||
defer span.End()
|
||||
|
||||
@ -785,7 +769,6 @@ func (r *Runner) runTemplateImportProvisionWithRichParameters(ctx context.Contex
|
||||
Directory: r.workDirectory,
|
||||
Metadata: metadata,
|
||||
},
|
||||
ParameterValues: values,
|
||||
RichParameterValues: richParameterValues,
|
||||
VariableValues: variableValues,
|
||||
},
|
||||
@ -874,7 +857,6 @@ func (r *Runner) runTemplateDryRun(ctx context.Context) (*proto.CompletedJob, *p
|
||||
|
||||
// Run the template import provision task since it's already a dry run.
|
||||
provision, err := r.runTemplateImportProvisionWithRichParameters(ctx,
|
||||
r.job.GetTemplateDryRun().GetParameterValues(),
|
||||
r.job.GetTemplateDryRun().GetVariableValues(),
|
||||
r.job.GetTemplateDryRun().GetRichParameterValues(),
|
||||
metadata,
|
||||
@ -1052,7 +1034,6 @@ func (r *Runner) runWorkspaceBuild(ctx context.Context) (*proto.CompletedJob, *p
|
||||
Type: &sdkproto.Provision_Request_Plan{
|
||||
Plan: &sdkproto.Provision_Plan{
|
||||
Config: config,
|
||||
ParameterValues: r.job.GetWorkspaceBuild().ParameterValues,
|
||||
RichParameterValues: r.job.GetWorkspaceBuild().RichParameterValues,
|
||||
VariableValues: r.job.GetWorkspaceBuild().VariableValues,
|
||||
GitAuthProviders: r.job.GetWorkspaceBuild().GitAuthProviders,
|
||||
|
Reference in New Issue
Block a user