Business logic in executables package
- 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
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