A Go library with multiple packages to be shared by services.
- This library is designed to be a replacement of the old Go library:
cultureamp/glamplify
.- Creating a glamplify V2 is not easier than creating a new repo.
- But having a new repo can allow us using both libraries together for a while so we don’t have to do the migration at the beginning.
- It's created as a public repository.
- We won't put packages that can't be public in at this stage. Although we might do that in the future.
- Make this repo internal is not that easy due to the way we config BuildKite.
- Too much effort for the library users update their config and get the private packages.
- This repo will only have one go.mod so we can't version control them separately.
- There is no package registry like npm for Go. Can't really do version control separately.
- Create
cultureamp/ca-go
as a public repo - Start to move some packages from the shims repo here. e.g.
/ref
. Keep usingglamplify
for existing packages. - Start to move packages from
glamplify
to here. Stop usingglamplify
when all packages are migrated. - Make this repo internal.
To work on ca-go
, you'll need a working Go installation. The project currently
targets Go 1.17.
You can use VSCode Remote
Containers to get
up-and-running quickly. A basic configuration is defined in the .devcontainer/
directory. This works locally and via GitHub
Codespaces.
Locally:
- Clone
ca-go
and open the directory in VSCode. - A prompt should appear on the bottom-right of the editor, offering to start a Remote Containers session. Click Reopen in Container.
- If a prompt didn't appear, open the Command Palette (i.e. Cmd + Shift + P) and select Remote-Containers: Open Folder in Container...
Codespaces:
- Click the Code button above the source listing on the repository homepage.
- Click New codespace.