Skip to content

Support engines that don't accept secrets and resources or explicitly error #358

@iwahbe

Description

@iwahbe

Hello!

  • Vote on this issue by adding a 👍 reaction
  • If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)

Issue details

The RPC framework sends a Configure request where the engine can declare that it doesn't support receiving secrets or resources. To comply with the gRPC protocol, we should either:

  • Store these values and appropriately not send resource values and secret values to the engine, or
  • Error on old engines when these flags are not set

Affected area/feature

func (p *provider) Configure(ctx context.Context, req *rpc.ConfigureRequest) (*rpc.ConfigureResponse, error) {
ctx = p.ctx(ctx, "")
argMap, err := p.getMap(req.GetArgs())
if err != nil {
return nil, err
}
err = p.client.Configure(ctx, ConfigureRequest{
Variables: req.GetVariables(),
Args: argMap,
})
if err != nil {
return nil, err
}
return &rpc.ConfigureResponse{
AcceptSecrets: true,
SupportsPreview: true,
AcceptResources: true,
AcceptOutputs: true,
}, nil
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions