https://github.com/Excoriate/daggerverse
A collection of Dagger modules powered by Dagger.
https://github.com/Excoriate/daggerverse
Last synced: 5 months ago
JSON representation
A collection of Dagger modules powered by Dagger.
- Host: GitHub
- URL: https://github.com/Excoriate/daggerverse
- Owner: Excoriate
- License: mit
- Created: 2024-01-21T08:25:11.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-21T02:52:31.000Z (5 months ago)
- Last Synced: 2024-11-23T06:43:01.312Z (5 months ago)
- Language: Go
- Size: 2.45 MB
- Stars: 11
- Watchers: 2
- Forks: 3
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome-repositories - Excoriate/daggerverse - A collection of Dagger modules powered by Dagger. (Go)
README
##
Daggerverse Modules ๐ฆ
[](https://github.com/Excoriate/daggerverse/actions/workflows/ci-daggy-codegen.yml)[](https://github.com/Excoriate/daggerverse/actions/workflows/ci-mod-module-template.yaml)
| Module | Status | What it does? |
| ---------------------------------------------- | ------ | ------------------------------------------------------------------------------- |
| [Terraform](terraform/README.md) | โ | ๐ Run [Terraform](https://www.terraform.io) commands. |
| [Terratest](terratest/README.md) | โ | ๐งช Run [Terratest](https://terratest.gruntwork.io) commands. |
| [GitLab CICD Vars](gitlab-cicd-vars/README.md) | โ | โ๏ธ Manage GitLab CI/CD variables. |
| [GoReleaser](goreleaser/README.md) | โ | ๐ Wraps [GoReleaser](https://goreleaser.com) functionality as a dagger module. |
| [TFLint](tflint/README.md) | โ | ๐ Run [TFLint](https://github.com/terraform-linters/tflint) commands. |
| [GoTest](gotest/README.md) | โ | ๐ A batteries-included way to run Go Tests (using Go Test, and/or GoTestsum). |
| [Terragrunt](terragrunt/README.md) | โ | ๐ A batteries-included way to run Terragrunt commands. |
| [Gotoolbox](gotoolbox/README.md) | โ | ๐ ๏ธ A toolbox for various Go utilities. |---
## Contributions ๐ค
This is a mono-repo, and each module is a separate Go module. To contribute to a module, first of all read the [contribution guidelines](./CONTRIBUTING.md).
## Tools ๐ ๏ธ
- [Go](https://golang.org)
- [Nix](https://nixos.org) (optional, mostly for maintainers)
- [Just](https://github.com/casey/just) (optional, mostly for maintainers)## Scaffolding ๐งฐ
New modules can be generated using **Daggy**, a [Rust](https://www.rust-lang.org) CLI tool that generates the boilerplate code for a new module. To use Daggy and create a new module, just execute:
### Dagger Module Types
- **Full**: A full-featured module with all the built-in functions and examples.
```bash
just create
```- **Light**: A minimal version of the module with the most important built-in functions.
```bash
just createlight
```### Dagger Module Structure ๐งฑ
#### Module Template (Full)
```text
module-template
โโโ .gitattributes
โโโ .gitignore
โโโ LICENSE
โโโ README.md
โโโ apis.go
โโโ clis.go
โโโ cloud.go
โโโ commands.go
โโโ config.go
โโโ container_base.go
โโโ content.go
โโโ dagger.go
โโโ dagger.json
โโโ envvars.go
โโโ err.go
โโโ examples
โ โโโ go
โ โโโ .gitattributes
โ โโโ .gitignore
โ โโโ dagger.json
โ โโโ go.mod
โ โโโ go.sum
โ โโโ main.go
โ โโโ testdata
โ โโโ common
โ โโโ README.md
โ โโโ test-file.yml
โโโ go.mod
โโโ go.sum
โโโ golang.go
โโโ http.go
โโโ iac_terraform.go
โโโ iac_terragrunt.go
โโโ install.go
โโโ main.go
โโโ server_go.go
โโโ tests
โ โโโ .gitattributes
โ โโโ .gitignore
โ โโโ apis.go
โ โโโ cli.go
โ โโโ cloud.go
โ โโโ container_base.go
โ โโโ dagger.go
โ โโโ dagger.json
โ โโโ err.go
โ โโโ go.mod
โ โโโ go.sum
โ โโโ golang.go
โ โโโ http.go
โ โโโ iac_terraform.go
โ โโโ iac_terragrunt.go
โ โโโ install.go
โ โโโ main.go
โ โโโ server_go.go
โ โโโ testdata
โ โ โโโ apko-presets
โ โ โ โโโ base-alpine.yaml
โ โ โ โโโ base-wolfi.yaml
โ โ โโโ common
โ โ โ โโโ README.md
โ โ โ โโโ test-file.yml
โ โ โโโ golang-server-http
โ โ โ โโโ Dockerfile
โ โ โ โโโ Makefile
โ โ โ โโโ go.mod
โ โ โ โโโ go.sum
โ โ โ โโโ main.go
โ โ โโโ golang
โ โ โโโ main.go
โ โโโ vcs.go
โโโ vcs.go
```#### Module Template (Light)
```text
module-template-light
โโโ .gitattributes
โโโ .gitignore
โโโ LICENSE
โโโ README.md
โโโ apis.go
โโโ commands.go
โโโ config.go
โโโ container_base.go
โโโ content.go
โโโ dagger.json
โโโ err.go
โโโ examples
โ โโโ go
โ โโโ .gitattributes
โ โโโ .gitignore
โ โโโ dagger.json
โ โโโ go.mod
โ โโโ go.sum
โ โโโ main.go
โ โโโ testdata
โ โโโ common
โ โโโ README.md
โ โโโ test-file.yml
โโโ go.mod
โโโ go.sum
โโโ golang.go
โโโ install.go
โโโ main.go
โโโ tests
โโโ .gitattributes
โโโ .gitignore
โโโ apis.go
โโโ container_base.go
โโโ dagger.json
โโโ err.go
โโโ go.mod
โโโ go.sum
โโโ golang.go
โโโ install.go
โโโ main.go
โโโ testdata
โโโ apko-presets
โ โโโ base-alpine.yaml
โ โโโ base-wolfi.yaml
โโโ common
โ โโโ README.md
โ โโโ test-file.yml
โโโ golang-server-http
โ โโโ Dockerfile
โ โโโ Makefile
โ โโโ go.mod
โ โโโ go.sum
โ โโโ main.go
โโโ golang
โโโ main.go
```## Testing and CI ๐งช
Currently, the following checks are executed on each module:
- [x] Run [GolangCI-Lint](https://golangci.com/) on the module, tests, and examples
- [x] Run `dagger call` on the module, tests, and examples
- [x] Run all the tests in the `tests/` Dagger module.
- [x] Run all the recipes in the `examples/go` Dagger module.To run the CI checks locally, just execute:
```bash
just ci
```To run only the tests in your module, just execute:
```bash
just test
```To run only the Go lint checks in your module, just execute:
```bash
just lintall
```