https://github.com/daytonaio/go-devcontainer
The base devcontainer for Daytona Go projects
https://github.com/daytonaio/go-devcontainer
Last synced: about 2 months ago
JSON representation
The base devcontainer for Daytona Go projects
- Host: GitHub
- URL: https://github.com/daytonaio/go-devcontainer
- Owner: daytonaio
- License: mit
- Created: 2024-03-13T21:22:20.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-23T09:50:23.000Z (9 months ago)
- Last Synced: 2025-02-13T13:55:44.233Z (8 months ago)
- Language: Dockerfile
- Size: 20.5 KB
- Stars: 3
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# go-devcontainer
The base devcontainer for Daytona Go projectsBasically this pulls out the devcontainer from `daytonaio/daytona` into its own repo and sets up a devcontainer prebuild GitHub action. This has a couple advantages.
1. Its prebuilt and a from scratch env goes from launching in ~5m to >1m (depending on network)
1. Its can be re-used across Daytona and all the plugins. So the resources usage for folks that develop plugins will drop since its shared.
1. Centralized also means common versions and only one place to update. Bumping go version for example.You can use it with:
```
"image": "ghcr.io/daytonaio/go-devcontainer:main"
```
Which will track the main branch of the repo. In the case that we want more stable environments. You can push a tag to the repo and it will automatically built a release version that can be used with (given the tag v0.0.1 as an example).
```
"image": "ghcr.io/daytonaio/go-devcontainer:0.0.1"
# or
"image": "ghcr.io/daytonaio/go-devcontainer:0.0"
# or
"image": "ghcr.io/daytonaio/go-devcontainer:0"
```When you use `major` or `major.minor` as an image tag, these will be updated on subsequent tags. It will follow semver'ish versioning.
* The safest is to pin to a specific `major.minor.patch`.
* If you're ok with bugfixes you can pin to `major.minor`.
* If don't mind changes so long as the the devcontainer interface (features, user, etc) doesn't change you can pin to `major`.