Skip to content

Excoriate/daggerverse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

Daggerverse Modules 📦

🏗️ CI CodeGen DaggyCI module-template 🧹

Module Status What it does?
Terraform 🌍 Run Terraform commands.
Terratest 🧪 Run Terratest commands.
GitLab CICD Vars ⚙️ Manage GitLab CI/CD variables.
GoReleaser 🚀 Wraps GoReleaser functionality as a dagger module.
TFLint 🔍 Run TFLint commands.
GoTest 🔋 A batteries-included way to run Go Tests (using Go Test, and/or GoTestsum).
Terragrunt 🔋 A batteries-included way to run Terragrunt commands.
Gotoolbox 🛠️ 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.

Tools 🛠️

  • Go
  • Nix (optional, mostly for maintainers)
  • Just (optional, mostly for maintainers)

Scaffolding 🧰

New modules can be generated using Daggy, a Rust 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.
just create <module-name>
  • Light: A minimal version of the module with the most important built-in functions.
just createlight <module-name>

Dagger Module Structure 🧱

Module Template (Full)

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)

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:

  • Run GolangCI-Lint on the module, tests, and examples
  • Run dagger call on the module, tests, and examples
  • Run all the tests in the tests/ Dagger module.
  • Run all the recipes in the examples/go Dagger module.

To run the CI checks locally, just execute:

just ci <module-name>

To run only the tests in your module, just execute:

just test <module-name>

To run only the Go lint checks in your module, just execute:

just lintall <module-name>

About

A collection of Dagger modules powered by Dagger.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •