hyperweb-io / hyperweb-io/starship

improvements: restructure go modules

Open
#229 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
77
Forks
39
PR merge metrics
No merged PRs in 30d

Description

## Overview
Currently the structure is flat which ends up looking like:
```bash
starship/
cmd/
starship/
registry/
faucet/
exposer/
client/
tools/
...
```
The benifit of this structure is:
* Seperate `go.mod` for each of the components
* Each component has its own build system as well as Dockerfile

## Proposal
We should restructure the go modules such that they become part of the same `go.mod` as well. Something like:
```bash
starship/
cmd/
cli/
registry/
faucet/
exposer/
pkg/
registry/
faucet/
exposer/
client/
tools/
go.mod
```
Pros:
* Cleaner structure in the root dir
* Single `go.mod` will be needed (can have seperate ones too)
* Can couple `config` `logging` together as well into one system.

Cons:
* Different versions release wont be easy to do next (currently we dont have differnt versions anyways)
* All the pkgs will be around being http handlers and a microservice instead of packages.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.