Skip to content

Commit

Permalink
feat(cli): support default values inferred from job name (#21)
Browse files Browse the repository at this point in the history
CLI should support default values inferred from job names while creating new. This can be done inside plugins but Optimus needs to pass it first as the RPC argument.

Signed-off-by: Kush Sharma <[email protected]>
  • Loading branch information
kushsharma authored Jul 2, 2021
1 parent 57a3c9f commit d11711f
Show file tree
Hide file tree
Showing 9 changed files with 325 additions and 295 deletions.
204 changes: 107 additions & 97 deletions api/proto/odpf/optimus/hook_plugin.pb.go

Large diffs are not rendered by default.

402 changes: 206 additions & 196 deletions api/proto/odpf/optimus/task_plugin.pb.go

Large diffs are not rendered by default.

8 changes: 6 additions & 2 deletions cmd/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,9 @@ this effects runtime dependencies and template macros`,
return jobInput, err
}

taskQuesResponse, err := executionTask.GetTaskQuestions(context.TODO(), models.GetTaskQuestionsRequest{})
taskQuesResponse, err := executionTask.GetTaskQuestions(context.TODO(), models.GetTaskQuestionsRequest{
JobName: jobInput.Name,
})
if err != nil {
return jobInput, err
}
Expand Down Expand Up @@ -378,7 +380,9 @@ func createHookSurvey(jobSpec models.JobSpec, hookRepo models.HookRepo) (models.
return emptyJobSpec, err
}

taskQuesResponse, err := executionHook.GetHookQuestions(context.TODO(), models.GetHookQuestionsRequest{})
taskQuesResponse, err := executionHook.GetHookQuestions(context.TODO(), models.GetHookQuestionsRequest{
JobName: jobSpec.Name,
})
if err != nil {
return emptyJobSpec, err
}
Expand Down
1 change: 1 addition & 0 deletions models/hook.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ type GetHookSchemaResponse struct {
}

type GetHookQuestionsRequest struct {
JobName string
PluginOptions
}

Expand Down
1 change: 1 addition & 0 deletions models/task.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ func (ans PluginAnswers) Get(name string) (PluginAnswer, bool) {
}

type GetTaskQuestionsRequest struct {
JobName string
PluginOptions
}

Expand Down
1 change: 1 addition & 0 deletions plugin/hook/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ func (m *GRPCClient) GetHookSchema(ctx context.Context, _ models.GetHookSchemaRe

func (m *GRPCClient) GetHookQuestions(ctx context.Context, request models.GetHookQuestionsRequest) (models.GetHookQuestionsResponse, error) {
resp, err := m.client.GetHookQuestions(ctx, &pb.GetHookQuestions_Request{
JobName: request.JobName,
Options: &pb.PluginOptions{DryRun: request.DryRun},
})
if err != nil {
Expand Down
1 change: 1 addition & 0 deletions plugin/hook/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ func (s *GRPCServer) GetHookSchema(ctx context.Context, req *pb.GetHookSchema_Re

func (s *GRPCServer) GetHookQuestions(ctx context.Context, req *pb.GetHookQuestions_Request) (*pb.GetHookQuestions_Response, error) {
resp, err := s.Impl.GetHookQuestions(ctx, models.GetHookQuestionsRequest{
JobName: req.JobName,
PluginOptions: models.PluginOptions{DryRun: req.Options.DryRun},
})
if err != nil {
Expand Down
1 change: 1 addition & 0 deletions plugin/task/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ func (m *GRPCClient) GetTaskSchema(ctx context.Context, _ models.GetTaskSchemaRe

func (m *GRPCClient) GetTaskQuestions(ctx context.Context, request models.GetTaskQuestionsRequest) (models.GetTaskQuestionsResponse, error) {
resp, err := m.client.GetTaskQuestions(ctx, &pb.GetTaskQuestions_Request{
JobName: request.JobName,
Options: &pb.PluginOptions{DryRun: request.DryRun},
})
if err != nil {
Expand Down
1 change: 1 addition & 0 deletions plugin/task/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ func (s *GRPCServer) GetTaskSchema(ctx context.Context, req *pb.GetTaskSchema_Re

func (s *GRPCServer) GetTaskQuestions(ctx context.Context, req *pb.GetTaskQuestions_Request) (*pb.GetTaskQuestions_Response, error) {
resp, err := s.Impl.GetTaskQuestions(ctx, models.GetTaskQuestionsRequest{
JobName: req.JobName,
PluginOptions: models.PluginOptions{DryRun: req.Options.DryRun},
})
if err != nil {
Expand Down

0 comments on commit d11711f

Please sign in to comment.