aws / aws/eks-anywhere

Business logic in executables package

Open
#224 0 comments 0 reactions 0 assignees View on GitHub
area/cli kind/cleanup stale status/notstarted team/cli
Dominant language
Go
Stars
2.1k
Forks
328
Avg merge
1d 4h
Merged PRs (30d)
9

Description

The `executables` package now contains business logic, when it was supposed to be just a wrapper around the low level operations provided by the binaries
Any other higher level operation should be composed of these low level operations and moved up, either to a higher level client, provider or just a new type/module

More over, the `govc` module has some side effects, specifically it updates some of the vsphere cluster config structs. We should try to avoid this: it makes the code more difficult to understand and debug. Any updates to such structs should be done by the type that owns them. In this case, it seems like the vsphere provider or some other vsphere type/submodule

Contributor guide

Open the contributing guide

Research direction

Start by mapping the executables package and the govc module, then trace how their low-level binary operations are used by higher-level clients or the vsphere provider. Identify which operations are business logic and where govc updates vSphere cluster config structs. Done means higher-level operations and struct updates are owned outside executables and govc, with behavior preserved by the relevant tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
infrastructure
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.