├── .shellcheckrc ├── terragrunt ├── devenv.nix ├── .gitignore ├── tests │ ├── .gitignore │ ├── testdata │ │ ├── terraform │ │ │ └── tf-module-1 │ │ │ │ ├── locals.tf │ │ │ │ ├── versions.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── main.tf │ │ │ │ ├── variables.tf │ │ │ │ └── .terraform.lock.hcl │ │ ├── golang │ │ │ └── main.go │ │ ├── terragrunt │ │ │ ├── modules │ │ │ │ └── random-string │ │ │ │ │ ├── locals.tf │ │ │ │ │ ├── outputs.tf │ │ │ │ │ ├── main.tf │ │ │ │ │ ├── versions.tf │ │ │ │ │ ├── variables.tf │ │ │ │ │ └── .terraform.lock.hcl │ │ │ ├── terragrunt.hcl │ │ │ └── .terraform.lock.hcl │ │ ├── common │ │ │ ├── README.md │ │ │ └── test-file.yml │ │ └── golang-server-http │ │ │ ├── go.mod │ │ │ ├── Dockerfile │ │ │ └── Makefile │ ├── .gitattributes │ └── dagger.json ├── examples │ └── go │ │ ├── .gitignore │ │ ├── testdata │ │ ├── terraform │ │ │ └── tf-module-1 │ │ │ │ ├── locals.tf │ │ │ │ ├── versions.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── main.tf │ │ │ │ ├── variables.tf │ │ │ │ └── .terraform.lock.hcl │ │ ├── terragrunt │ │ │ ├── modules │ │ │ │ └── random-string │ │ │ │ │ ├── locals.tf │ │ │ │ │ ├── outputs.tf │ │ │ │ │ ├── main.tf │ │ │ │ │ ├── versions.tf │ │ │ │ │ ├── variables.tf │ │ │ │ │ └── .terraform.lock.hcl │ │ │ ├── terragrunt.hcl │ │ │ └── .terraform.lock.hcl │ │ └── common │ │ │ ├── README.md │ │ │ └── test-file.yml │ │ ├── .gitattributes │ │ └── dagger.json ├── .gitattributes ├── dagger.json ├── terragrunt_types.go ├── defaults.go ├── config.go └── commands.go ├── .gitattributes ├── gotest ├── tests │ ├── testdata │ │ ├── golang │ │ │ ├── go.mod │ │ │ ├── main.go │ │ │ ├── main_test.go │ │ │ └── .goreleaser.yaml │ │ ├── common │ │ │ ├── README.md │ │ │ └── test-file.yml │ │ ├── golang-server-http │ │ │ ├── go.mod │ │ │ ├── Dockerfile │ │ │ └── Makefile │ │ └── apko-presets │ │ │ └── base-wolfi.yaml │ ├── .gitignore │ ├── .gitattributes │ └── dagger.json ├── .gitignore ├── examples │ └── go │ │ ├── .gitignore │ │ ├── testdata │ │ ├── golang │ │ │ └── main.go │ │ ├── common │ │ │ ├── README.md │ │ │ └── test-file.yml │ │ ├── golang-server-http │ │ │ ├── go.mod │ │ │ ├── Dockerfile │ │ │ └── Makefile │ │ └── apko-presets │ │ │ └── base-wolfi.yaml │ │ ├── .gitattributes │ │ └── dagger.json ├── .gitattributes ├── dagger.json └── commands.go ├── gotoolbox ├── tests │ ├── testdata │ │ ├── gotoolbox │ │ │ ├── go.mod │ │ │ ├── main.go │ │ │ ├── main_test.go │ │ │ └── .goreleaser.yaml │ │ ├── common │ │ │ ├── README.md │ │ │ └── test-file.yml │ │ ├── golang │ │ │ └── main.go │ │ └── golang-server-http │ │ │ ├── go.mod │ │ │ ├── Dockerfile │ │ │ ├── Makefile │ │ │ └── my-data │ │ │ └── data.yml │ ├── .gitignore │ ├── .gitattributes │ └── dagger.json ├── .gitignore ├── examples │ └── go │ │ ├── .gitignore │ │ ├── .gitattributes │ │ ├── testdata │ │ └── common │ │ │ ├── README.md │ │ │ └── test-file.yml │ │ └── dagger.json ├── .gitattributes ├── dagger.json ├── config.go └── install.go ├── tflinter ├── .gitignore ├── tests │ ├── .gitignore │ ├── testdata │ │ ├── golang │ │ │ └── main.go │ │ ├── common │ │ │ ├── README.md │ │ │ └── test-file.yml │ │ ├── golang-server-http │ │ │ ├── go.mod │ │ │ ├── Dockerfile │ │ │ └── Makefile │ │ └── apko-presets │ │ │ └── base-wolfi.yaml │ ├── .gitattributes │ └── dagger.json ├── examples │ └── go │ │ ├── .gitignore │ │ ├── testdata │ │ ├── golang │ │ │ └── main.go │ │ ├── common │ │ │ ├── README.md │ │ │ └── test-file.yml │ │ ├── golang-server-http │ │ │ ├── go.mod │ │ │ ├── Dockerfile │ │ │ └── Makefile │ │ └── apko-presets │ │ │ └── base-wolfi.yaml │ │ ├── .gitattributes │ │ └── dagger.json ├── .gitattributes ├── dagger.json ├── config.go └── commands.go ├── dagindag ├── dagger │ ├── .gitignore │ └── .gitattributes └── dagger.json ├── docs └── logo │ ├── daggerverse-logo.png │ └── daggerverse-logo-nobackground.png ├── gopkgpublisher ├── .gitignore ├── tests │ ├── .gitignore │ ├── testdata │ │ ├── golang │ │ │ └── main.go │ │ ├── common │ │ │ ├── README.md │ │ │ └── test-file.yml │ │ ├── golang-server-http │ │ │ ├── go.mod │ │ │ ├── Dockerfile │ │ │ └── Makefile │ │ └── apko-presets │ │ │ └── base-wolfi.yaml │ ├── .gitattributes │ └── dagger.json ├── examples │ └── go │ │ ├── .gitignore │ │ ├── testdata │ │ ├── golang │ │ │ └── main.go │ │ ├── common │ │ │ ├── README.md │ │ │ └── test-file.yml │ │ ├── golang-server-http │ │ │ ├── go.mod │ │ │ ├── Dockerfile │ │ │ └── Makefile │ │ └── apko-presets │ │ │ └── base-wolfi.yaml │ │ ├── .gitattributes │ │ └── dagger.json ├── .gitattributes ├── dagger.json ├── config.go ├── commands.go └── container_base.go ├── module-template ├── .gitignore ├── tests │ ├── .gitignore │ ├── testdata │ │ ├── golang │ │ │ └── main.go │ │ ├── common │ │ │ ├── README.md │ │ │ └── test-file.yml │ │ ├── golang-server-http │ │ │ ├── go.mod │ │ │ ├── Dockerfile │ │ │ └── Makefile │ │ └── apko-presets │ │ │ └── base-wolfi.yaml │ ├── .gitattributes │ └── dagger.json ├── examples │ └── go │ │ ├── .gitignore │ │ ├── .gitattributes │ │ ├── testdata │ │ └── common │ │ │ ├── README.md │ │ │ └── test-file.yml │ │ └── dagger.json ├── .gitattributes ├── dagger.json ├── config.go ├── commands.go └── clis.go ├── .daggerx ├── daggy │ ├── dagger │ │ ├── .gitignore │ │ ├── .gitattributes │ │ └── main.go │ ├── dagger.json │ ├── Cargo.toml │ └── src │ │ ├── dagger_commands.rs │ │ ├── naming.rs │ │ ├── git.rs │ │ ├── github_actions.rs │ │ ├── args.rs │ │ ├── command_utils.rs │ │ ├── git_test.rs │ │ ├── dagger_utils.rs │ │ ├── main.rs │ │ └── readme_and_docs.rs └── templates │ ├── mod-full │ ├── tests │ │ └── testdata │ │ │ ├── golang │ │ │ └── main.go │ │ │ ├── common │ │ │ ├── README.md │ │ │ └── test-file.yml │ │ │ ├── golang-server-http │ │ │ ├── go.mod │ │ │ ├── Dockerfile │ │ │ └── Makefile │ │ │ └── apko-presets │ │ │ └── base-wolfi.yaml │ ├── examples │ │ └── go │ │ │ └── testdata │ │ │ └── common │ │ │ ├── README.md │ │ │ └── test-file.yml │ └── module │ │ ├── config.go.tmpl │ │ └── commands.go.tmpl │ └── mod-light │ ├── tests │ └── testdata │ │ ├── golang │ │ └── main.go │ │ ├── common │ │ ├── README.md │ │ └── test-file.yml │ │ ├── golang-server-http │ │ ├── go.mod │ │ ├── Dockerfile │ │ └── Makefile │ │ └── apko-presets │ │ └── base-wolfi.yaml │ ├── examples │ └── go │ │ └── testdata │ │ ├── golang │ │ └── main.go │ │ ├── common │ │ ├── README.md │ │ └── test-file.yml │ │ ├── golang-server-http │ │ ├── go.mod │ │ ├── Dockerfile │ │ └── Makefile │ │ └── apko-presets │ │ └── base-wolfi.yaml │ └── module │ ├── config.go.tmpl │ └── commands.go.tmpl ├── aws-tag-inspector ├── .gitignore ├── tests │ ├── .gitignore │ ├── testdata │ │ ├── golang │ │ │ └── main.go │ │ ├── common │ │ │ ├── README.md │ │ │ └── test-file.yml │ │ ├── golang-server-http │ │ │ ├── go.mod │ │ │ ├── Dockerfile │ │ │ └── Makefile │ │ └── apko-presets │ │ │ └── base-wolfi.yaml │ ├── .gitattributes │ └── dagger.json ├── examples │ └── go │ │ ├── .gitignore │ │ ├── testdata │ │ ├── golang │ │ │ └── main.go │ │ ├── common │ │ │ ├── README.md │ │ │ └── test-file.yml │ │ ├── golang-server-http │ │ │ ├── go.mod │ │ │ ├── Dockerfile │ │ │ └── Makefile │ │ └── apko-presets │ │ │ └── base-wolfi.yaml │ │ ├── .gitattributes │ │ └── dagger.json ├── .gitattributes ├── dagger.json └── config.go ├── module-template-light ├── .gitignore ├── tests │ ├── .gitignore │ ├── testdata │ │ ├── golang │ │ │ └── main.go │ │ ├── common │ │ │ ├── README.md │ │ │ └── test-file.yml │ │ ├── golang-server-http │ │ │ ├── go.mod │ │ │ ├── Dockerfile │ │ │ └── Makefile │ │ └── apko-presets │ │ │ └── base-wolfi.yaml │ ├── .gitattributes │ └── dagger.json ├── examples │ └── go │ │ ├── .gitignore │ │ ├── .gitattributes │ │ ├── testdata │ │ └── common │ │ │ ├── README.md │ │ │ └── test-file.yml │ │ └── dagger.json ├── .gitattributes ├── dagger.json ├── config.go └── commands.go ├── gitlab-cicd-vars ├── dagger │ ├── .gitignore │ └── .gitattributes └── dagger.json ├── .markdownlint.yaml ├── .idea ├── vcs.xml ├── .gitignore ├── GitLink.xml ├── modules.xml └── daggerverse.iml ├── go.work ├── .markdownlintignore ├── .github ├── dependabot.yml ├── CODEOWNERS ├── workflows │ ├── labels-assigner.yml │ ├── lock-threads.yml │ ├── issue-comment-created.yml │ └── yaml-linter.excluded ├── auto-comment.yml ├── no-response.yml ├── config.yml ├── PULL_REQUEST_TEMPLATE.md ├── stale.yml ├── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md └── settings.yml ├── .envrc ├── .editorconfig ├── .markdown-link-check.json ├── treefmt.toml ├── .yamlfmt.yml ├── LICENSE ├── .gitignore └── .yamllint.yml /.shellcheckrc: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /terragrunt/devenv.nix: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | -------------------------------------------------------------------------------- /gotest/tests/testdata/golang/go.mod: -------------------------------------------------------------------------------- 1 | module gotoolbox-test-module 2 | 3 | go 1.22.5 4 | -------------------------------------------------------------------------------- /gotoolbox/tests/testdata/gotoolbox/go.mod: -------------------------------------------------------------------------------- 1 | module gotoolbox-test-module 2 | 3 | go 1.22.5 4 | -------------------------------------------------------------------------------- /gotest/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /gotoolbox/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /terragrunt/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /tflinter/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /dagindag/dagger/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /docs/logo/daggerverse-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Excoriate/daggerverse/HEAD/docs/logo/daggerverse-logo.png -------------------------------------------------------------------------------- /gopkgpublisher/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /gotest/tests/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /gotoolbox/tests/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /module-template/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /terragrunt/tests/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /tflinter/tests/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /.daggerx/daggy/dagger/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /aws-tag-inspector/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /gopkgpublisher/tests/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /gotest/examples/go/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /gotoolbox/examples/go/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /module-template-light/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /module-template/tests/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /tflinter/examples/go/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /aws-tag-inspector/tests/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /gitlab-cicd-vars/dagger/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /gopkgpublisher/examples/go/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /terragrunt/examples/go/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /aws-tag-inspector/examples/go/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /module-template-light/tests/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /module-template/examples/go/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /dagindag/dagger.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dagindag", 3 | "engineVersion": "v0.14.0", 4 | "sdk": "go", 5 | "source": "dagger" 6 | } 7 | -------------------------------------------------------------------------------- /module-template-light/examples/go/.gitignore: -------------------------------------------------------------------------------- 1 | /dagger.gen.go 2 | /internal/dagger 3 | /internal/querybuilder 4 | /internal/telemetry 5 | -------------------------------------------------------------------------------- /docs/logo/daggerverse-logo-nobackground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Excoriate/daggerverse/HEAD/docs/logo/daggerverse-logo-nobackground.png -------------------------------------------------------------------------------- /.daggerx/daggy/dagger.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "modexample", 3 | "engineVersion": "v0.14.0", 4 | "sdk": "go", 5 | "source": "dagger" 6 | } 7 | -------------------------------------------------------------------------------- /terragrunt/tests/testdata/terraform/tf-module-1/locals.tf: -------------------------------------------------------------------------------- 1 | locals { 2 | string_length = var.string_length < 8 ? 8 : var.string_length 3 | } 4 | -------------------------------------------------------------------------------- /gitlab-cicd-vars/dagger.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gitlab-cicd-vars", 3 | "engineVersion": "v0.14.0", 4 | "sdk": "go", 5 | "source": "dagger" 6 | } 7 | -------------------------------------------------------------------------------- /terragrunt/examples/go/testdata/terraform/tf-module-1/locals.tf: -------------------------------------------------------------------------------- 1 | locals { 2 | string_length = var.string_length < 8 ? 8 : var.string_length 3 | } 4 | -------------------------------------------------------------------------------- /gotest/examples/go/testdata/golang/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | func main() { 8 | fmt.Println("Hello, Dagger!") 9 | } 10 | -------------------------------------------------------------------------------- /terragrunt/tests/testdata/golang/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | func main() { 8 | fmt.Println("Hello, Dagger!") 9 | } 10 | -------------------------------------------------------------------------------- /tflinter/tests/testdata/golang/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | func main() { 8 | fmt.Println("Hello, Dagger!") 9 | } 10 | -------------------------------------------------------------------------------- /.markdownlint.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | {default: true, MD003: {style: atx}, MD007: {indent: 4}, no-hard-tabs: false, no-inline-html: false, whitespace: false, line-length: false} 3 | -------------------------------------------------------------------------------- /aws-tag-inspector/tests/testdata/golang/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | func main() { 8 | fmt.Println("Hello, Dagger!") 9 | } 10 | -------------------------------------------------------------------------------- /gopkgpublisher/tests/testdata/golang/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | func main() { 8 | fmt.Println("Hello, Dagger!") 9 | } 10 | -------------------------------------------------------------------------------- /module-template/tests/testdata/golang/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | func main() { 8 | fmt.Println("Hello, Dagger!") 9 | } 10 | -------------------------------------------------------------------------------- /tflinter/examples/go/testdata/golang/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | func main() { 8 | fmt.Println("Hello, Dagger!") 9 | } 10 | -------------------------------------------------------------------------------- /gopkgpublisher/examples/go/testdata/golang/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | func main() { 8 | fmt.Println("Hello, Dagger!") 9 | } 10 | -------------------------------------------------------------------------------- /module-template-light/tests/testdata/golang/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | func main() { 8 | fmt.Println("Hello, Dagger!") 9 | } 10 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-full/tests/testdata/golang/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | func main() { 8 | fmt.Println("Hello, Dagger!") 9 | } 10 | -------------------------------------------------------------------------------- /aws-tag-inspector/examples/go/testdata/golang/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | func main() { 8 | fmt.Println("Hello, Dagger!") 9 | } 10 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-light/tests/testdata/golang/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | func main() { 8 | fmt.Println("Hello, Dagger!") 9 | } 10 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-light/examples/go/testdata/golang/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | func main() { 8 | fmt.Println("Hello, Dagger!") 9 | } 10 | -------------------------------------------------------------------------------- /terragrunt/tests/testdata/terragrunt/modules/random-string/locals.tf: -------------------------------------------------------------------------------- 1 | locals { 2 | # Ensure string length is at least 8 characters 3 | string_length = max(var.string_length, 8) 4 | } 5 | -------------------------------------------------------------------------------- /gotest/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /terragrunt/examples/go/testdata/terragrunt/modules/random-string/locals.tf: -------------------------------------------------------------------------------- 1 | locals { 2 | # Ensure string length is at least 8 characters 3 | string_length = max(var.string_length, 8) 4 | } 5 | -------------------------------------------------------------------------------- /gotest/tests/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /gotoolbox/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /terragrunt/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /terragrunt/tests/testdata/terragrunt/modules/random-string/outputs.tf: -------------------------------------------------------------------------------- 1 | output "random_string" { 2 | description = "The generated random string" 3 | value = random_string.this.result 4 | } 5 | -------------------------------------------------------------------------------- /tflinter/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /aws-tag-inspector/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /dagindag/dagger/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /gopkgpublisher/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /gotoolbox/tests/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /module-template/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /terragrunt/examples/go/testdata/terragrunt/modules/random-string/outputs.tf: -------------------------------------------------------------------------------- 1 | output "random_string" { 2 | description = "The generated random string" 3 | value = random_string.this.result 4 | } 5 | -------------------------------------------------------------------------------- /terragrunt/tests/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /tflinter/tests/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /.daggerx/daggy/dagger/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /go.work: -------------------------------------------------------------------------------- 1 | go 1.23.3 2 | 3 | use ( 4 | ./aws-tag-inspector 5 | ./module-template 6 | ./module-template-light 7 | ./terragrunt 8 | ./gotoolbox 9 | ./gotest 10 | ./tflinter 11 | ) 12 | -------------------------------------------------------------------------------- /gopkgpublisher/tests/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /gotest/examples/go/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /gotoolbox/examples/go/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /module-template-light/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /module-template/tests/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /terragrunt/examples/go/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /tflinter/examples/go/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /aws-tag-inspector/tests/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /gitlab-cicd-vars/dagger/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /gopkgpublisher/examples/go/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /module-template-light/tests/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /module-template/examples/go/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /aws-tag-inspector/examples/go/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Editor-based HTTP Client requests 5 | /httpRequests/ 6 | # Datasource local storage ignored files 7 | /dataSources/ 8 | /dataSources.local.xml 9 | -------------------------------------------------------------------------------- /module-template-light/examples/go/.gitattributes: -------------------------------------------------------------------------------- 1 | /dagger.gen.go linguist-generated 2 | /internal/dagger/** linguist-generated 3 | /internal/querybuilder/** linguist-generated 4 | /internal/telemetry/** linguist-generated 5 | -------------------------------------------------------------------------------- /terragrunt/tests/testdata/terragrunt/modules/random-string/main.tf: -------------------------------------------------------------------------------- 1 | resource "random_string" "this" { 2 | length = local.string_length 3 | special = var.include_special_characters 4 | upper = var.include_uppercase 5 | } 6 | -------------------------------------------------------------------------------- /terragrunt/examples/go/testdata/terragrunt/modules/random-string/main.tf: -------------------------------------------------------------------------------- 1 | resource "random_string" "this" { 2 | length = local.string_length 3 | special = var.include_special_characters 4 | upper = var.include_uppercase 5 | } 6 | -------------------------------------------------------------------------------- /.markdownlintignore: -------------------------------------------------------------------------------- 1 | .github/PULL_REQUEST_TEMPLATE.md 2 | docs/contribution_guidelines.md 3 | docs/contribution_guidelines.md 4 | docs/contribution_guidelines.md 5 | .github/ISSUE_TEMPLATE/**.md 6 | CONTRIBUTING.md 7 | CHANGELOG.md 8 | README.md 9 | -------------------------------------------------------------------------------- /.idea/GitLink.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /terragrunt/tests/testdata/terraform/tf-module-1/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0.0, < 2.0.0" 3 | 4 | required_providers { 5 | random = { 6 | source = "hashicorp/random" 7 | version = "~> 3.5.1" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /terragrunt/examples/go/testdata/terraform/tf-module-1/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0.0, < 2.0.0" 3 | 4 | required_providers { 5 | random = { 6 | source = "hashicorp/random" 7 | version = "~> 3.5.1" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /terragrunt/tests/testdata/terragrunt/modules/random-string/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0.0, < 2.0.0" 3 | 4 | required_providers { 5 | random = { 6 | source = "hashicorp/random" 7 | version = "~> 3.5.1" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /terragrunt/examples/go/testdata/terragrunt/modules/random-string/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0.0, < 2.0.0" 3 | 4 | required_providers { 5 | random = { 6 | source = "hashicorp/random" 7 | version = "~> 3.5.1" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /gotest/dagger.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gotest", 3 | "engineVersion": "v0.14.0", 4 | "sdk": "go", 5 | "exclude": [ 6 | "../.direnv", 7 | "../.devenv", 8 | "../.vscode", 9 | "../.idea", 10 | "../.trunk", 11 | "../go.work", 12 | "../go.work.sum" 13 | ], 14 | "source": "." 15 | } 16 | -------------------------------------------------------------------------------- /gotoolbox/dagger.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gotoolbox", 3 | "engineVersion": "v0.14.0", 4 | "sdk": "go", 5 | "exclude": [ 6 | "../.direnv", 7 | "../.devenv", 8 | "../.vscode", 9 | "../.idea", 10 | "../.trunk", 11 | "../go.work", 12 | "../go.work.sum" 13 | ], 14 | "source": "." 15 | } 16 | -------------------------------------------------------------------------------- /terragrunt/dagger.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "terragrunt", 3 | "engineVersion": "v0.14.0", 4 | "sdk": "go", 5 | "exclude": [ 6 | "../.direnv", 7 | "../.devenv", 8 | "../.vscode", 9 | "../.idea", 10 | "../.trunk", 11 | "../go.work", 12 | "../go.work.sum" 13 | ], 14 | "source": "." 15 | } 16 | -------------------------------------------------------------------------------- /tflinter/dagger.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tflinter", 3 | "engineVersion": "v0.14.0", 4 | "sdk": "go", 5 | "exclude": [ 6 | "../.direnv", 7 | "../.devenv", 8 | "../.vscode", 9 | "../.idea", 10 | "../.trunk", 11 | "../go.work", 12 | "../go.work.sum" 13 | ], 14 | "source": "." 15 | } 16 | -------------------------------------------------------------------------------- /gopkgpublisher/dagger.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gopkgpublisher", 3 | "engineVersion": "v0.14.0", 4 | "sdk": "go", 5 | "exclude": [ 6 | "../.direnv", 7 | "../.devenv", 8 | "../.vscode", 9 | "../.idea", 10 | "../.trunk", 11 | "../go.work", 12 | "../go.work.sum" 13 | ], 14 | "source": "." 15 | } 16 | -------------------------------------------------------------------------------- /module-template/dagger.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "module-template", 3 | "engineVersion": "v0.14.0", 4 | "sdk": "go", 5 | "exclude": [ 6 | "../.direnv", 7 | "../.devenv", 8 | "../.vscode", 9 | "../.idea", 10 | "../.trunk", 11 | "../go.work", 12 | "../go.work.sum" 13 | ], 14 | "source": "." 15 | } 16 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 2 3 | updates: 4 | - package-ecosystem: gomod 5 | directory: / 6 | schedule: 7 | interval: daily 8 | time: 11:00 9 | open-pull-requests-limit: 10 10 | ignore: 11 | - dependency-name: github.com/pterm/pterm 12 | - dependency-name: github.com/spf13/cobra 13 | -------------------------------------------------------------------------------- /gotest/tests/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /gotoolbox/tests/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /module-template-light/dagger.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "module-template-light", 3 | "engineVersion": "v0.14.0", 4 | "sdk": "go", 5 | "exclude": [ 6 | "../.direnv", 7 | "../.devenv", 8 | "../.vscode", 9 | "../.idea", 10 | "../.trunk", 11 | "../go.work", 12 | "../go.work.sum" 13 | ], 14 | "source": "." 15 | } 16 | -------------------------------------------------------------------------------- /tflinter/tests/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /gopkgpublisher/tests/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /gotest/examples/go/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /terragrunt/tests/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /tflinter/examples/go/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /aws-tag-inspector/tests/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /gotoolbox/examples/go/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /module-template/tests/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /terragrunt/examples/go/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /aws-tag-inspector/examples/go/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /gopkgpublisher/examples/go/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /module-template-light/tests/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /module-template/examples/go/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-full/tests/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-light/tests/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /module-template-light/examples/go/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /terragrunt/tests/testdata/terraform/tf-module-1/outputs.tf: -------------------------------------------------------------------------------- 1 | output "random_string_1" { 2 | description = "The first generated random string" 3 | value = random_string.random_string_1.result 4 | } 5 | 6 | output "random_string_2" { 7 | description = "The second generated random string" 8 | value = random_string.random_string_2.result 9 | } 10 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-full/examples/go/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-light/examples/go/testdata/common/README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This 4 | files 5 | are 6 | used 7 | for 8 | testing 9 | purposes, 10 | they 11 | are 12 | used 13 | to 14 | test 15 | the 16 | apis-data 17 | functionality 18 | as 19 | part 20 | of 21 | the [Dagger](https://dagger.io) 22 | modules 23 | managed 24 | by 25 | this 26 | mono-repo. 27 | -------------------------------------------------------------------------------- /terragrunt/examples/go/testdata/terraform/tf-module-1/outputs.tf: -------------------------------------------------------------------------------- 1 | output "random_string_1" { 2 | description = "The first generated random string" 3 | value = random_string.random_string_1.result 4 | } 5 | 6 | output "random_string_2" { 7 | description = "The second generated random string" 8 | value = random_string.random_string_2.result 9 | } 10 | -------------------------------------------------------------------------------- /aws-tag-inspector/dagger.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "aws-tag-inspector", 3 | "engineVersion": "v0.14.0", 4 | "sdk": "go", 5 | "exclude": [ 6 | "../.direnv", 7 | "../.devenv", 8 | "../.vscode", 9 | "../.idea", 10 | "../.trunk", 11 | "../go.work", 12 | "../go.work.sum", 13 | "tests", 14 | "examples/go" 15 | ], 16 | "source": "." 17 | } 18 | -------------------------------------------------------------------------------- /gotoolbox/config.go: -------------------------------------------------------------------------------- 1 | // Package main provides utility functions for working with Docker containers. 2 | // 3 | // This package includes constants and a function for getting the Docker-in-Docker image. 4 | // 5 | // Copyright: Excoriate 6 | // License: Apache-2.0 7 | package main 8 | 9 | const ( 10 | defaultContainerVersion = "1.23.0-alpine3.20" 11 | defaultContainerImage = "golang" 12 | ) 13 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # CODEOWNERS file indicates code owners for certain files 2 | # 3 | # Code owners will automatically be added as a reviewer for PRs that touch 4 | # the owned files. 5 | # 6 | 7 | # Default owners for everything in the repo 8 | # 9 | # Unless a later match takes precedence, these owners will be requested for 10 | # review when someone opens a pull request. 11 | 12 | * @Excoriate 13 | -------------------------------------------------------------------------------- /gotoolbox/tests/dagger.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tests", 3 | "engineVersion": "v0.14.0", 4 | "sdk": "go", 5 | "exclude": [ 6 | "../../.direnv", 7 | "../../.devenv", 8 | "../../go.work", 9 | "../../go.work.sum" 10 | ], 11 | "dependencies": [ 12 | { 13 | "name": "gotoolbox", 14 | "source": "..", 15 | "pin": "" 16 | } 17 | ], 18 | "source": "." 19 | } 20 | -------------------------------------------------------------------------------- /.daggerx/daggy/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "daggy" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | clap = { version = "4.5.7", features = ["derive"] } 8 | serde = { version = "1.0.203", features = ["derive"] } 9 | regex = "1.10.5" 10 | serde_json = "1.0.121" 11 | pathdiff = "0.2.1" 12 | walkdir = "2.3.3" 13 | similar = "2.2.1" 14 | prettytable-rs = "0.10.0" 15 | diffy = "0.3" 16 | -------------------------------------------------------------------------------- /module-template/tests/dagger.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tests", 3 | "engineVersion": "v0.14.0", 4 | "sdk": "go", 5 | "exclude": [ 6 | "../../.direnv", 7 | "../../.devenv", 8 | "../../go.work", 9 | "../../go.work.sum" 10 | ], 11 | "dependencies": [ 12 | { 13 | "name": "module-template", 14 | "source": "..", 15 | "pin": "" 16 | } 17 | ], 18 | "source": "." 19 | } 20 | -------------------------------------------------------------------------------- /gopkgpublisher/config.go: -------------------------------------------------------------------------------- 1 | // Package main provides utility functions for working with Docker containers. 2 | // 3 | // This package includes constants and a function for getting the Docker-in-Docker image. 4 | // 5 | // Copyright: Excoriate 6 | // License: Apache-2.0 7 | package main 8 | 9 | const ( 10 | configPresetAlpinePath = "config/presets/base-alpine.yaml" 11 | defaultGoVersion = "1.22.8-r0" 12 | ) 13 | -------------------------------------------------------------------------------- /gotoolbox/examples/go/dagger.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "go", 3 | "engineVersion": "v0.14.0", 4 | "sdk": "go", 5 | "exclude": [ 6 | "../../../.direnv", 7 | "../../../.devenv", 8 | "../../../go.work", 9 | "../../../go.work.sum" 10 | ], 11 | "dependencies": [ 12 | { 13 | "name": "gotoolbox", 14 | "source": "../..", 15 | "pin": "" 16 | } 17 | ], 18 | "source": "." 19 | } 20 | -------------------------------------------------------------------------------- /module-template/examples/go/dagger.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "go", 3 | "engineVersion": "v0.14.0", 4 | "sdk": "go", 5 | "exclude": [ 6 | "../../../.direnv", 7 | "../../../.devenv", 8 | "../../../go.work", 9 | "../../../go.work.sum" 10 | ], 11 | "dependencies": [ 12 | { 13 | "name": "module-template", 14 | "source": "../..", 15 | "pin": "" 16 | } 17 | ], 18 | "source": "." 19 | } 20 | -------------------------------------------------------------------------------- /terragrunt/tests/testdata/terraform/tf-module-1/main.tf: -------------------------------------------------------------------------------- 1 | provider "random" {} 2 | 3 | resource "random_string" "random_string_1" { 4 | length = local.string_length 5 | special = var.include_special_characters 6 | upper = var.include_uppercase 7 | } 8 | 9 | resource "random_string" "random_string_2" { 10 | length = local.string_length 11 | special = var.include_special_characters 12 | upper = var.include_uppercase 13 | } 14 | -------------------------------------------------------------------------------- /.github/workflows/labels-assigner.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: Assign labels on PR 3 | on: 4 | pull_request_target: 5 | types: [opened, labeled, unlabeled, synchronize] 6 | permissions: 7 | contents: read 8 | pull-requests: write 9 | jobs: 10 | labeler: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/labeler@v5 14 | with: 15 | repo-token: ${{ secrets.GITHUB_TOKEN }} 16 | sync-labels: true 17 | -------------------------------------------------------------------------------- /terragrunt/examples/go/testdata/terraform/tf-module-1/main.tf: -------------------------------------------------------------------------------- 1 | provider "random" {} 2 | 3 | resource "random_string" "random_string_1" { 4 | length = local.string_length 5 | special = var.include_special_characters 6 | upper = var.include_uppercase 7 | } 8 | 9 | resource "random_string" "random_string_2" { 10 | length = local.string_length 11 | special = var.include_special_characters 12 | upper = var.include_uppercase 13 | } 14 | -------------------------------------------------------------------------------- /terragrunt/terragrunt_types.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | // TgConfigSetAsEnvVar represents a configuration set as an environment variable. 4 | // EnvVarKey is the key of the environment variable. 5 | // EnvVarValue is the value of the environment variable. 6 | // LogOptionValue is an optional value for logging purposes. 7 | type TgConfigSetAsEnvVar struct { 8 | EnvVarKey string 9 | EnvVarValue string 10 | LogOptionValue interface{} 11 | } 12 | -------------------------------------------------------------------------------- /terragrunt/tests/testdata/terragrunt/terragrunt.hcl: -------------------------------------------------------------------------------- 1 | terraform { 2 | source = "modules/random-string" 3 | } 4 | 5 | generate "provider" { 6 | path = "provider.tf" 7 | if_exists = "overwrite_terragrunt" 8 | contents = < Result<(), Error> { 5 | let output = Command::new("dagger") 6 | .arg("develop") 7 | .current_dir(dir) 8 | .stdout(Stdio::inherit()) 9 | .stderr(Stdio::inherit()) 10 | .output()?; 11 | 12 | if !output.status.success() { 13 | return Err(Error::new( 14 | ErrorKind::Other, 15 | format!("dagger develop failed in directory: {}", dir), 16 | )); 17 | } 18 | 19 | Ok(()) 20 | } 21 | -------------------------------------------------------------------------------- /.markdown-link-check.json: -------------------------------------------------------------------------------- 1 | { 2 | "aliveStatusCodes": [200, 206, 999, 400], 3 | "fallbackRetryDelay": "30s", 4 | "ignorePatterns": [ 5 | { 6 | "pattern": "^#" 7 | }, 8 | { 9 | "pattern": "^Taskfile.yml" 10 | }, 11 | { 12 | "pattern": "^https://github.com/Excoriate/daggerverse/compare/" 13 | }, 14 | { 15 | "pattern": "^https://github.com/Excoriate/daggerverse/commit/" 16 | }, 17 | { 18 | "pattern": "^.github/workflows/" 19 | }, 20 | { 21 | "pattern": "^docs/templates/" 22 | } 23 | ], 24 | "retryCount": 5, 25 | "retryOn429": true, 26 | "timeout": "20s" 27 | } 28 | -------------------------------------------------------------------------------- /.idea/daggerverse.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | -------------------------------------------------------------------------------- /gotest/tests/testdata/golang-server-http/go.mod: -------------------------------------------------------------------------------- 1 | module goolang-test-service 2 | 3 | go 1.22.5 4 | 5 | require github.com/labstack/echo/v4 v4.12.0 6 | 7 | require ( 8 | github.com/golang-jwt/jwt v3.2.2+incompatible // indirect 9 | github.com/labstack/gommon v0.4.2 // indirect 10 | github.com/mattn/go-colorable v0.1.13 // indirect 11 | github.com/mattn/go-isatty v0.0.20 // indirect 12 | github.com/valyala/bytebufferpool v1.0.0 // indirect 13 | github.com/valyala/fasttemplate v1.2.2 // indirect 14 | golang.org/x/crypto v0.22.0 // indirect 15 | golang.org/x/net v0.24.0 // indirect 16 | golang.org/x/sys v0.19.0 // indirect 17 | golang.org/x/text v0.14.0 // indirect 18 | golang.org/x/time v0.5.0 // indirect 19 | ) 20 | -------------------------------------------------------------------------------- /tflinter/tests/testdata/golang-server-http/go.mod: -------------------------------------------------------------------------------- 1 | module goolang-test-service 2 | 3 | go 1.22.5 4 | 5 | require github.com/labstack/echo/v4 v4.12.0 6 | 7 | require ( 8 | github.com/golang-jwt/jwt v3.2.2+incompatible // indirect 9 | github.com/labstack/gommon v0.4.2 // indirect 10 | github.com/mattn/go-colorable v0.1.13 // indirect 11 | github.com/mattn/go-isatty v0.0.20 // indirect 12 | github.com/valyala/bytebufferpool v1.0.0 // indirect 13 | github.com/valyala/fasttemplate v1.2.2 // indirect 14 | golang.org/x/crypto v0.22.0 // indirect 15 | golang.org/x/net v0.24.0 // indirect 16 | golang.org/x/sys v0.19.0 // indirect 17 | golang.org/x/text v0.14.0 // indirect 18 | golang.org/x/time v0.5.0 // indirect 19 | ) 20 | -------------------------------------------------------------------------------- /treefmt.toml: -------------------------------------------------------------------------------- 1 | exclude_patterns = ["*/internal/*", "dagger.gen.go"] 2 | 3 | check_before_format = true 4 | 5 | [formatter] 6 | # Specify formatters with their includes 7 | [formatter.gofmt] 8 | command = "gofmt" 9 | includes = ["*.go"] 10 | 11 | [formatter.rustfmt] 12 | command = "rustfmt" 13 | includes = ["*.rs"] 14 | 15 | [formatter.alejandra] 16 | command = "alejandra" 17 | includes = ["*.nix"] 18 | 19 | [formatter.prettier] 20 | command = "prettier --write" 21 | include = ["**/*.{js,jsx,ts,tsx,json,md,markdown,yaml,yml}"] 22 | 23 | [formatter.terraform-fmt] 24 | command = "terraform fmt -" 25 | include = ["**/*.tf"] 26 | 27 | [formatter.terragrunt-fmt] 28 | command = "terragrunt hclfmt" 29 | include = ["**/*.hcl"] 30 | -------------------------------------------------------------------------------- /gopkgpublisher/tests/testdata/golang-server-http/go.mod: -------------------------------------------------------------------------------- 1 | module goolang-test-service 2 | 3 | go 1.22.5 4 | 5 | require github.com/labstack/echo/v4 v4.12.0 6 | 7 | require ( 8 | github.com/golang-jwt/jwt v3.2.2+incompatible // indirect 9 | github.com/labstack/gommon v0.4.2 // indirect 10 | github.com/mattn/go-colorable v0.1.13 // indirect 11 | github.com/mattn/go-isatty v0.0.20 // indirect 12 | github.com/valyala/bytebufferpool v1.0.0 // indirect 13 | github.com/valyala/fasttemplate v1.2.2 // indirect 14 | golang.org/x/crypto v0.22.0 // indirect 15 | golang.org/x/net v0.24.0 // indirect 16 | golang.org/x/sys v0.19.0 // indirect 17 | golang.org/x/text v0.14.0 // indirect 18 | golang.org/x/time v0.5.0 // indirect 19 | ) 20 | -------------------------------------------------------------------------------- /gotest/examples/go/testdata/golang-server-http/go.mod: -------------------------------------------------------------------------------- 1 | module goolang-test-service 2 | 3 | go 1.22.5 4 | 5 | require github.com/labstack/echo/v4 v4.12.0 6 | 7 | require ( 8 | github.com/golang-jwt/jwt v3.2.2+incompatible // indirect 9 | github.com/labstack/gommon v0.4.2 // indirect 10 | github.com/mattn/go-colorable v0.1.13 // indirect 11 | github.com/mattn/go-isatty v0.0.20 // indirect 12 | github.com/valyala/bytebufferpool v1.0.0 // indirect 13 | github.com/valyala/fasttemplate v1.2.2 // indirect 14 | golang.org/x/crypto v0.22.0 // indirect 15 | golang.org/x/net v0.24.0 // indirect 16 | golang.org/x/sys v0.19.0 // indirect 17 | golang.org/x/text v0.14.0 // indirect 18 | golang.org/x/time v0.5.0 // indirect 19 | ) 20 | -------------------------------------------------------------------------------- /gotoolbox/tests/testdata/golang-server-http/go.mod: -------------------------------------------------------------------------------- 1 | module gotoolbox-test-service 2 | 3 | go 1.22.5 4 | 5 | require github.com/labstack/echo/v4 v4.12.0 6 | 7 | require ( 8 | github.com/golang-jwt/jwt v3.2.2+incompatible // indirect 9 | github.com/labstack/gommon v0.4.2 // indirect 10 | github.com/mattn/go-colorable v0.1.13 // indirect 11 | github.com/mattn/go-isatty v0.0.20 // indirect 12 | github.com/valyala/bytebufferpool v1.0.0 // indirect 13 | github.com/valyala/fasttemplate v1.2.2 // indirect 14 | golang.org/x/crypto v0.22.0 // indirect 15 | golang.org/x/net v0.24.0 // indirect 16 | golang.org/x/sys v0.19.0 // indirect 17 | golang.org/x/text v0.14.0 // indirect 18 | golang.org/x/time v0.5.0 // indirect 19 | ) 20 | -------------------------------------------------------------------------------- /terragrunt/tests/testdata/golang-server-http/go.mod: -------------------------------------------------------------------------------- 1 | module goolang-test-service 2 | 3 | go 1.22.5 4 | 5 | require github.com/labstack/echo/v4 v4.12.0 6 | 7 | require ( 8 | github.com/golang-jwt/jwt v3.2.2+incompatible // indirect 9 | github.com/labstack/gommon v0.4.2 // indirect 10 | github.com/mattn/go-colorable v0.1.13 // indirect 11 | github.com/mattn/go-isatty v0.0.20 // indirect 12 | github.com/valyala/bytebufferpool v1.0.0 // indirect 13 | github.com/valyala/fasttemplate v1.2.2 // indirect 14 | golang.org/x/crypto v0.22.0 // indirect 15 | golang.org/x/net v0.24.0 // indirect 16 | golang.org/x/sys v0.19.0 // indirect 17 | golang.org/x/text v0.14.0 // indirect 18 | golang.org/x/time v0.5.0 // indirect 19 | ) 20 | -------------------------------------------------------------------------------- /terragrunt/tests/testdata/terragrunt/modules/random-string/variables.tf: -------------------------------------------------------------------------------- 1 | variable "string_length" { 2 | description = "The length of the random string to generate" 3 | type = number 4 | default = 16 5 | 6 | validation { 7 | condition = var.string_length > 0 8 | error_message = "String length must be greater than 0." 9 | } 10 | } 11 | 12 | variable "include_special_characters" { 13 | description = "Whether to include special characters in the random string" 14 | type = bool 15 | default = true 16 | } 17 | 18 | variable "include_uppercase" { 19 | description = "Whether to include uppercase letters in the random string" 20 | type = bool 21 | default = true 22 | } 23 | -------------------------------------------------------------------------------- /tflinter/examples/go/testdata/golang-server-http/go.mod: -------------------------------------------------------------------------------- 1 | module goolang-test-service 2 | 3 | go 1.22.5 4 | 5 | require github.com/labstack/echo/v4 v4.12.0 6 | 7 | require ( 8 | github.com/golang-jwt/jwt v3.2.2+incompatible // indirect 9 | github.com/labstack/gommon v0.4.2 // indirect 10 | github.com/mattn/go-colorable v0.1.13 // indirect 11 | github.com/mattn/go-isatty v0.0.20 // indirect 12 | github.com/valyala/bytebufferpool v1.0.0 // indirect 13 | github.com/valyala/fasttemplate v1.2.2 // indirect 14 | golang.org/x/crypto v0.22.0 // indirect 15 | golang.org/x/net v0.24.0 // indirect 16 | golang.org/x/sys v0.19.0 // indirect 17 | golang.org/x/text v0.14.0 // indirect 18 | golang.org/x/time v0.5.0 // indirect 19 | ) 20 | -------------------------------------------------------------------------------- /aws-tag-inspector/tests/testdata/golang-server-http/go.mod: -------------------------------------------------------------------------------- 1 | module goolang-test-service 2 | 3 | go 1.22.5 4 | 5 | require github.com/labstack/echo/v4 v4.12.0 6 | 7 | require ( 8 | github.com/golang-jwt/jwt v3.2.2+incompatible // indirect 9 | github.com/labstack/gommon v0.4.2 // indirect 10 | github.com/mattn/go-colorable v0.1.13 // indirect 11 | github.com/mattn/go-isatty v0.0.20 // indirect 12 | github.com/valyala/bytebufferpool v1.0.0 // indirect 13 | github.com/valyala/fasttemplate v1.2.2 // indirect 14 | golang.org/x/crypto v0.22.0 // indirect 15 | golang.org/x/net v0.24.0 // indirect 16 | golang.org/x/sys v0.19.0 // indirect 17 | golang.org/x/text v0.14.0 // indirect 18 | golang.org/x/time v0.5.0 // indirect 19 | ) 20 | -------------------------------------------------------------------------------- /module-template/tests/testdata/golang-server-http/go.mod: -------------------------------------------------------------------------------- 1 | module goolang-test-service 2 | 3 | go 1.22.5 4 | 5 | require github.com/labstack/echo/v4 v4.12.0 6 | 7 | require ( 8 | github.com/golang-jwt/jwt v3.2.2+incompatible // indirect 9 | github.com/labstack/gommon v0.4.2 // indirect 10 | github.com/mattn/go-colorable v0.1.13 // indirect 11 | github.com/mattn/go-isatty v0.0.20 // indirect 12 | github.com/valyala/bytebufferpool v1.0.0 // indirect 13 | github.com/valyala/fasttemplate v1.2.2 // indirect 14 | golang.org/x/crypto v0.22.0 // indirect 15 | golang.org/x/net v0.24.0 // indirect 16 | golang.org/x/sys v0.19.0 // indirect 17 | golang.org/x/text v0.14.0 // indirect 18 | golang.org/x/time v0.5.0 // indirect 19 | ) 20 | -------------------------------------------------------------------------------- /terragrunt/examples/go/testdata/terragrunt/modules/random-string/variables.tf: -------------------------------------------------------------------------------- 1 | variable "string_length" { 2 | description = "The length of the random string to generate" 3 | type = number 4 | default = 16 5 | 6 | validation { 7 | condition = var.string_length > 0 8 | error_message = "String length must be greater than 0." 9 | } 10 | } 11 | 12 | variable "include_special_characters" { 13 | description = "Whether to include special characters in the random string" 14 | type = bool 15 | default = true 16 | } 17 | 18 | variable "include_uppercase" { 19 | description = "Whether to include uppercase letters in the random string" 20 | type = bool 21 | default = true 22 | } 23 | -------------------------------------------------------------------------------- /aws-tag-inspector/examples/go/testdata/golang-server-http/go.mod: -------------------------------------------------------------------------------- 1 | module goolang-test-service 2 | 3 | go 1.22.5 4 | 5 | require github.com/labstack/echo/v4 v4.12.0 6 | 7 | require ( 8 | github.com/golang-jwt/jwt v3.2.2+incompatible // indirect 9 | github.com/labstack/gommon v0.4.2 // indirect 10 | github.com/mattn/go-colorable v0.1.13 // indirect 11 | github.com/mattn/go-isatty v0.0.20 // indirect 12 | github.com/valyala/bytebufferpool v1.0.0 // indirect 13 | github.com/valyala/fasttemplate v1.2.2 // indirect 14 | golang.org/x/crypto v0.22.0 // indirect 15 | golang.org/x/net v0.24.0 // indirect 16 | golang.org/x/sys v0.19.0 // indirect 17 | golang.org/x/text v0.14.0 // indirect 18 | golang.org/x/time v0.5.0 // indirect 19 | ) 20 | -------------------------------------------------------------------------------- /gopkgpublisher/examples/go/testdata/golang-server-http/go.mod: -------------------------------------------------------------------------------- 1 | module goolang-test-service 2 | 3 | go 1.22.5 4 | 5 | require github.com/labstack/echo/v4 v4.12.0 6 | 7 | require ( 8 | github.com/golang-jwt/jwt v3.2.2+incompatible // indirect 9 | github.com/labstack/gommon v0.4.2 // indirect 10 | github.com/mattn/go-colorable v0.1.13 // indirect 11 | github.com/mattn/go-isatty v0.0.20 // indirect 12 | github.com/valyala/bytebufferpool v1.0.0 // indirect 13 | github.com/valyala/fasttemplate v1.2.2 // indirect 14 | golang.org/x/crypto v0.22.0 // indirect 15 | golang.org/x/net v0.24.0 // indirect 16 | golang.org/x/sys v0.19.0 // indirect 17 | golang.org/x/text v0.14.0 // indirect 18 | golang.org/x/time v0.5.0 // indirect 19 | ) 20 | -------------------------------------------------------------------------------- /gotest/tests/testdata/golang/main_test.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "bytes" 5 | "fmt" 6 | "testing" 7 | ) 8 | 9 | func TestFibonacci(t *testing.T) { 10 | tests := []struct { 11 | n int 12 | expected string 13 | }{ 14 | {n: -1, expected: "Please provide a positive integer.\n"}, 15 | {n: 0, expected: "Please provide a positive integer.\n"}, 16 | {n: 1, expected: "0 \n"}, 17 | {n: 2, expected: "0 1 \n"}, 18 | {n: 5, expected: "0 1 1 2 3 \n"}, 19 | } 20 | 21 | for _, tt := range tests { 22 | t.Run(fmt.Sprintf("n=%d", tt.n), func(t *testing.T) { 23 | var buf bytes.Buffer 24 | fmt.Print(buf.String()) 25 | 26 | fibSeries := fibonacci(tt.n) 27 | fmt.Println(fibSeries) 28 | }) 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /module-template-light/tests/testdata/golang-server-http/go.mod: -------------------------------------------------------------------------------- 1 | module goolang-test-service 2 | 3 | go 1.22.5 4 | 5 | require github.com/labstack/echo/v4 v4.12.0 6 | 7 | require ( 8 | github.com/golang-jwt/jwt v3.2.2+incompatible // indirect 9 | github.com/labstack/gommon v0.4.2 // indirect 10 | github.com/mattn/go-colorable v0.1.13 // indirect 11 | github.com/mattn/go-isatty v0.0.20 // indirect 12 | github.com/valyala/bytebufferpool v1.0.0 // indirect 13 | github.com/valyala/fasttemplate v1.2.2 // indirect 14 | golang.org/x/crypto v0.22.0 // indirect 15 | golang.org/x/net v0.24.0 // indirect 16 | golang.org/x/sys v0.19.0 // indirect 17 | golang.org/x/text v0.14.0 // indirect 18 | golang.org/x/time v0.5.0 // indirect 19 | ) 20 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-full/tests/testdata/golang-server-http/go.mod: -------------------------------------------------------------------------------- 1 | module goolang-test-service 2 | 3 | go 1.22.5 4 | 5 | require github.com/labstack/echo/v4 v4.12.0 6 | 7 | require ( 8 | github.com/golang-jwt/jwt v3.2.2+incompatible // indirect 9 | github.com/labstack/gommon v0.4.2 // indirect 10 | github.com/mattn/go-colorable v0.1.13 // indirect 11 | github.com/mattn/go-isatty v0.0.20 // indirect 12 | github.com/valyala/bytebufferpool v1.0.0 // indirect 13 | github.com/valyala/fasttemplate v1.2.2 // indirect 14 | golang.org/x/crypto v0.22.0 // indirect 15 | golang.org/x/net v0.24.0 // indirect 16 | golang.org/x/sys v0.19.0 // indirect 17 | golang.org/x/text v0.14.0 // indirect 18 | golang.org/x/time v0.5.0 // indirect 19 | ) 20 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-light/tests/testdata/golang-server-http/go.mod: -------------------------------------------------------------------------------- 1 | module goolang-test-service 2 | 3 | go 1.22.5 4 | 5 | require github.com/labstack/echo/v4 v4.12.0 6 | 7 | require ( 8 | github.com/golang-jwt/jwt v3.2.2+incompatible // indirect 9 | github.com/labstack/gommon v0.4.2 // indirect 10 | github.com/mattn/go-colorable v0.1.13 // indirect 11 | github.com/mattn/go-isatty v0.0.20 // indirect 12 | github.com/valyala/bytebufferpool v1.0.0 // indirect 13 | github.com/valyala/fasttemplate v1.2.2 // indirect 14 | golang.org/x/crypto v0.22.0 // indirect 15 | golang.org/x/net v0.24.0 // indirect 16 | golang.org/x/sys v0.19.0 // indirect 17 | golang.org/x/text v0.14.0 // indirect 18 | golang.org/x/time v0.5.0 // indirect 19 | ) 20 | -------------------------------------------------------------------------------- /.github/auto-comment.yml: -------------------------------------------------------------------------------- 1 | --- 2 | pullRequestOpened: |- 3 | :wave: Thanks for creating a PR! 4 | Before we can merge this PR, please make sure that all the following items have been 5 | checked off. If any of the checklist items are not applicable, please leave them but 6 | write a little note why. 7 | - [ ] Wrote tests 8 | - [ ] Check the CONTRIBUTING guide for other ways to contribute 9 | - [ ] Linked to Github issue with discussion and accepted design OR link to spec that 10 | describes this work. 11 | - [ ] Updated relevant documentation (`docs/`) and code comments 12 | - [ ] Re-reviewed `Files changed` in the Github PR explorer 13 | - [ ] Applied Appropriate Labels 14 | Thank you for your contribution! :rocket: 15 | -------------------------------------------------------------------------------- /gotoolbox/tests/testdata/gotoolbox/main_test.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "bytes" 5 | "fmt" 6 | "testing" 7 | ) 8 | 9 | func TestFibonacci(t *testing.T) { 10 | tests := []struct { 11 | n int 12 | expected string 13 | }{ 14 | {n: -1, expected: "Please provide a positive integer.\n"}, 15 | {n: 0, expected: "Please provide a positive integer.\n"}, 16 | {n: 1, expected: "0 \n"}, 17 | {n: 2, expected: "0 1 \n"}, 18 | {n: 5, expected: "0 1 1 2 3 \n"}, 19 | } 20 | 21 | for _, tt := range tests { 22 | t.Run(fmt.Sprintf("n=%d", tt.n), func(t *testing.T) { 23 | var buf bytes.Buffer 24 | fmt.Print(buf.String()) 25 | 26 | fibSeries := fibonacci(tt.n) 27 | fmt.Println(fibSeries) 28 | }) 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-light/examples/go/testdata/golang-server-http/go.mod: -------------------------------------------------------------------------------- 1 | module goolang-test-service 2 | 3 | go 1.22.5 4 | 5 | require github.com/labstack/echo/v4 v4.12.0 6 | 7 | require ( 8 | github.com/golang-jwt/jwt v3.2.2+incompatible // indirect 9 | github.com/labstack/gommon v0.4.2 // indirect 10 | github.com/mattn/go-colorable v0.1.13 // indirect 11 | github.com/mattn/go-isatty v0.0.20 // indirect 12 | github.com/valyala/bytebufferpool v1.0.0 // indirect 13 | github.com/valyala/fasttemplate v1.2.2 // indirect 14 | golang.org/x/crypto v0.22.0 // indirect 15 | golang.org/x/net v0.24.0 // indirect 16 | golang.org/x/sys v0.19.0 // indirect 17 | golang.org/x/text v0.14.0 // indirect 18 | golang.org/x/time v0.5.0 // indirect 19 | ) 20 | -------------------------------------------------------------------------------- /.daggerx/daggy/src/naming.rs: -------------------------------------------------------------------------------- 1 | pub fn capitalize_module_name(module_name: &str) -> String { 2 | let mut chars = module_name.chars(); 3 | match chars.next() { 4 | None => String::new(), 5 | Some(first) => first.to_uppercase().collect::() + chars.as_str(), 6 | } 7 | } 8 | 9 | pub fn to_camel_case(s: &str) -> String { 10 | s.split('-') 11 | .enumerate() 12 | .map(|(i, part)| { 13 | if i == 0 { 14 | part.to_lowercase() 15 | } else { 16 | capitalize_module_name(part) 17 | } 18 | }) 19 | .collect() 20 | } 21 | 22 | pub fn to_pascal_case(s: &str) -> String { 23 | s.split('-').map(capitalize_module_name).collect() 24 | } 25 | -------------------------------------------------------------------------------- /gotest/tests/testdata/golang-server-http/Dockerfile: -------------------------------------------------------------------------------- 1 | # Build stage 2 | FROM golang:1.23-alpine AS builder 3 | 4 | # Set working directory 5 | WORKDIR /app 6 | 7 | # Copy go mod and sum files 8 | COPY go.mod go.sum ./ 9 | 10 | # Download all dependencies 11 | RUN go mod download 12 | 13 | # Copy the source code 14 | COPY . . 15 | 16 | # Build the application 17 | RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gotoolbox-service . 18 | 19 | # Final stage 20 | FROM alpine:3.14 21 | 22 | # Set working directory 23 | WORKDIR /root/ 24 | 25 | # Copy the binary from builder 26 | COPY --from=builder /app/gotoolbox-service . 27 | 28 | # Expose port 8080 29 | EXPOSE 8080 30 | 31 | # Command to run the executable 32 | CMD ["./gotoolbox-service"] 33 | -------------------------------------------------------------------------------- /.daggerx/daggy/src/git.rs: -------------------------------------------------------------------------------- 1 | use std::io::Error; 2 | use std::path::{Path, PathBuf}; 3 | use std::process::Command; 4 | 5 | pub fn find_git_root() -> Result { 6 | find_git_root_from_path(&std::env::current_dir()?) 7 | } 8 | 9 | pub fn find_git_root_from_path(start_path: &Path) -> Result { 10 | let output = Command::new("git") 11 | .current_dir(start_path) 12 | .args(&["rev-parse", "--show-toplevel"]) 13 | .output()?; 14 | 15 | if output.status.success() { 16 | Ok(String::from_utf8_lossy(&output.stdout).trim().to_string()) 17 | } else { 18 | Err(Error::new( 19 | std::io::ErrorKind::Other, 20 | "Not in a git repository", 21 | )) 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /gotest/examples/go/testdata/golang-server-http/Dockerfile: -------------------------------------------------------------------------------- 1 | # Build stage 2 | FROM golang:1.23-alpine AS builder 3 | 4 | # Set working directory 5 | WORKDIR /app 6 | 7 | # Copy go mod and sum files 8 | COPY go.mod go.sum ./ 9 | 10 | # Download all dependencies 11 | RUN go mod download 12 | 13 | # Copy the source code 14 | COPY . . 15 | 16 | # Build the application 17 | RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gotoolbox-service . 18 | 19 | # Final stage 20 | FROM alpine:3.14 21 | 22 | # Set working directory 23 | WORKDIR /root/ 24 | 25 | # Copy the binary from builder 26 | COPY --from=builder /app/gotoolbox-service . 27 | 28 | # Expose port 8080 29 | EXPOSE 8080 30 | 31 | # Command to run the executable 32 | CMD ["./gotoolbox-service"] 33 | -------------------------------------------------------------------------------- /gotoolbox/tests/testdata/golang-server-http/Dockerfile: -------------------------------------------------------------------------------- 1 | # Build stage 2 | FROM golang:1.23-alpine AS builder 3 | 4 | # Set working directory 5 | WORKDIR /app 6 | 7 | # Copy go mod and sum files 8 | COPY go.mod go.sum ./ 9 | 10 | # Download all dependencies 11 | RUN go mod download 12 | 13 | # Copy the source code 14 | COPY . . 15 | 16 | # Build the application 17 | RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gotoolbox-service . 18 | 19 | # Final stage 20 | FROM alpine:3.14 21 | 22 | # Set working directory 23 | WORKDIR /root/ 24 | 25 | # Copy the binary from builder 26 | COPY --from=builder /app/gotoolbox-service . 27 | 28 | # Expose port 8080 29 | EXPOSE 8080 30 | 31 | # Command to run the executable 32 | CMD ["./gotoolbox-service"] 33 | -------------------------------------------------------------------------------- /terragrunt/tests/testdata/golang-server-http/Dockerfile: -------------------------------------------------------------------------------- 1 | # Build stage 2 | FROM golang:1.23-alpine AS builder 3 | 4 | # Set working directory 5 | WORKDIR /app 6 | 7 | # Copy go mod and sum files 8 | COPY go.mod go.sum ./ 9 | 10 | # Download all dependencies 11 | RUN go mod download 12 | 13 | # Copy the source code 14 | COPY . . 15 | 16 | # Build the application 17 | RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gotoolbox-service . 18 | 19 | # Final stage 20 | FROM alpine:3.14 21 | 22 | # Set working directory 23 | WORKDIR /root/ 24 | 25 | # Copy the binary from builder 26 | COPY --from=builder /app/gotoolbox-service . 27 | 28 | # Expose port 8080 29 | EXPOSE 8080 30 | 31 | # Command to run the executable 32 | CMD ["./gotoolbox-service"] 33 | -------------------------------------------------------------------------------- /tflinter/tests/testdata/golang-server-http/Dockerfile: -------------------------------------------------------------------------------- 1 | # Build stage 2 | FROM golang:1.23-alpine AS builder 3 | 4 | # Set working directory 5 | WORKDIR /app 6 | 7 | # Copy go mod and sum files 8 | COPY go.mod go.sum ./ 9 | 10 | # Download all dependencies 11 | RUN go mod download 12 | 13 | # Copy the source code 14 | COPY . . 15 | 16 | # Build the application 17 | RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gotoolbox-service . 18 | 19 | # Final stage 20 | FROM alpine:3.14 21 | 22 | # Set working directory 23 | WORKDIR /root/ 24 | 25 | # Copy the binary from builder 26 | COPY --from=builder /app/gotoolbox-service . 27 | 28 | # Expose port 8080 29 | EXPOSE 8080 30 | 31 | # Command to run the executable 32 | CMD ["./gotoolbox-service"] 33 | -------------------------------------------------------------------------------- /aws-tag-inspector/tests/testdata/golang-server-http/Dockerfile: -------------------------------------------------------------------------------- 1 | # Build stage 2 | FROM golang:1.23-alpine AS builder 3 | 4 | # Set working directory 5 | WORKDIR /app 6 | 7 | # Copy go mod and sum files 8 | COPY go.mod go.sum ./ 9 | 10 | # Download all dependencies 11 | RUN go mod download 12 | 13 | # Copy the source code 14 | COPY . . 15 | 16 | # Build the application 17 | RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gotoolbox-service . 18 | 19 | # Final stage 20 | FROM alpine:3.14 21 | 22 | # Set working directory 23 | WORKDIR /root/ 24 | 25 | # Copy the binary from builder 26 | COPY --from=builder /app/gotoolbox-service . 27 | 28 | # Expose port 8080 29 | EXPOSE 8080 30 | 31 | # Command to run the executable 32 | CMD ["./gotoolbox-service"] 33 | -------------------------------------------------------------------------------- /gopkgpublisher/tests/testdata/golang-server-http/Dockerfile: -------------------------------------------------------------------------------- 1 | # Build stage 2 | FROM golang:1.23-alpine AS builder 3 | 4 | # Set working directory 5 | WORKDIR /app 6 | 7 | # Copy go mod and sum files 8 | COPY go.mod go.sum ./ 9 | 10 | # Download all dependencies 11 | RUN go mod download 12 | 13 | # Copy the source code 14 | COPY . . 15 | 16 | # Build the application 17 | RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gotoolbox-service . 18 | 19 | # Final stage 20 | FROM alpine:3.14 21 | 22 | # Set working directory 23 | WORKDIR /root/ 24 | 25 | # Copy the binary from builder 26 | COPY --from=builder /app/gotoolbox-service . 27 | 28 | # Expose port 8080 29 | EXPOSE 8080 30 | 31 | # Command to run the executable 32 | CMD ["./gotoolbox-service"] 33 | -------------------------------------------------------------------------------- /module-template/tests/testdata/golang-server-http/Dockerfile: -------------------------------------------------------------------------------- 1 | # Build stage 2 | FROM golang:1.23-alpine AS builder 3 | 4 | # Set working directory 5 | WORKDIR /app 6 | 7 | # Copy go mod and sum files 8 | COPY go.mod go.sum ./ 9 | 10 | # Download all dependencies 11 | RUN go mod download 12 | 13 | # Copy the source code 14 | COPY . . 15 | 16 | # Build the application 17 | RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gotoolbox-service . 18 | 19 | # Final stage 20 | FROM alpine:3.14 21 | 22 | # Set working directory 23 | WORKDIR /root/ 24 | 25 | # Copy the binary from builder 26 | COPY --from=builder /app/gotoolbox-service . 27 | 28 | # Expose port 8080 29 | EXPOSE 8080 30 | 31 | # Command to run the executable 32 | CMD ["./gotoolbox-service"] 33 | -------------------------------------------------------------------------------- /tflinter/examples/go/testdata/golang-server-http/Dockerfile: -------------------------------------------------------------------------------- 1 | # Build stage 2 | FROM golang:1.23-alpine AS builder 3 | 4 | # Set working directory 5 | WORKDIR /app 6 | 7 | # Copy go mod and sum files 8 | COPY go.mod go.sum ./ 9 | 10 | # Download all dependencies 11 | RUN go mod download 12 | 13 | # Copy the source code 14 | COPY . . 15 | 16 | # Build the application 17 | RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gotoolbox-service . 18 | 19 | # Final stage 20 | FROM alpine:3.14 21 | 22 | # Set working directory 23 | WORKDIR /root/ 24 | 25 | # Copy the binary from builder 26 | COPY --from=builder /app/gotoolbox-service . 27 | 28 | # Expose port 8080 29 | EXPOSE 8080 30 | 31 | # Command to run the executable 32 | CMD ["./gotoolbox-service"] 33 | -------------------------------------------------------------------------------- /gopkgpublisher/examples/go/testdata/golang-server-http/Dockerfile: -------------------------------------------------------------------------------- 1 | # Build stage 2 | FROM golang:1.23-alpine AS builder 3 | 4 | # Set working directory 5 | WORKDIR /app 6 | 7 | # Copy go mod and sum files 8 | COPY go.mod go.sum ./ 9 | 10 | # Download all dependencies 11 | RUN go mod download 12 | 13 | # Copy the source code 14 | COPY . . 15 | 16 | # Build the application 17 | RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gotoolbox-service . 18 | 19 | # Final stage 20 | FROM alpine:3.14 21 | 22 | # Set working directory 23 | WORKDIR /root/ 24 | 25 | # Copy the binary from builder 26 | COPY --from=builder /app/gotoolbox-service . 27 | 28 | # Expose port 8080 29 | EXPOSE 8080 30 | 31 | # Command to run the executable 32 | CMD ["./gotoolbox-service"] 33 | -------------------------------------------------------------------------------- /module-template-light/tests/testdata/golang-server-http/Dockerfile: -------------------------------------------------------------------------------- 1 | # Build stage 2 | FROM golang:1.23-alpine AS builder 3 | 4 | # Set working directory 5 | WORKDIR /app 6 | 7 | # Copy go mod and sum files 8 | COPY go.mod go.sum ./ 9 | 10 | # Download all dependencies 11 | RUN go mod download 12 | 13 | # Copy the source code 14 | COPY . . 15 | 16 | # Build the application 17 | RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gotoolbox-service . 18 | 19 | # Final stage 20 | FROM alpine:3.14 21 | 22 | # Set working directory 23 | WORKDIR /root/ 24 | 25 | # Copy the binary from builder 26 | COPY --from=builder /app/gotoolbox-service . 27 | 28 | # Expose port 8080 29 | EXPOSE 8080 30 | 31 | # Command to run the executable 32 | CMD ["./gotoolbox-service"] 33 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-full/tests/testdata/golang-server-http/Dockerfile: -------------------------------------------------------------------------------- 1 | # Build stage 2 | FROM golang:1.23-alpine AS builder 3 | 4 | # Set working directory 5 | WORKDIR /app 6 | 7 | # Copy go mod and sum files 8 | COPY go.mod go.sum ./ 9 | 10 | # Download all dependencies 11 | RUN go mod download 12 | 13 | # Copy the source code 14 | COPY . . 15 | 16 | # Build the application 17 | RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gotoolbox-service . 18 | 19 | # Final stage 20 | FROM alpine:3.14 21 | 22 | # Set working directory 23 | WORKDIR /root/ 24 | 25 | # Copy the binary from builder 26 | COPY --from=builder /app/gotoolbox-service . 27 | 28 | # Expose port 8080 29 | EXPOSE 8080 30 | 31 | # Command to run the executable 32 | CMD ["./gotoolbox-service"] 33 | -------------------------------------------------------------------------------- /aws-tag-inspector/examples/go/testdata/golang-server-http/Dockerfile: -------------------------------------------------------------------------------- 1 | # Build stage 2 | FROM golang:1.23-alpine AS builder 3 | 4 | # Set working directory 5 | WORKDIR /app 6 | 7 | # Copy go mod and sum files 8 | COPY go.mod go.sum ./ 9 | 10 | # Download all dependencies 11 | RUN go mod download 12 | 13 | # Copy the source code 14 | COPY . . 15 | 16 | # Build the application 17 | RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gotoolbox-service . 18 | 19 | # Final stage 20 | FROM alpine:3.14 21 | 22 | # Set working directory 23 | WORKDIR /root/ 24 | 25 | # Copy the binary from builder 26 | COPY --from=builder /app/gotoolbox-service . 27 | 28 | # Expose port 8080 29 | EXPOSE 8080 30 | 31 | # Command to run the executable 32 | CMD ["./gotoolbox-service"] 33 | -------------------------------------------------------------------------------- /gotoolbox/install.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | // WithGitInAlpineContainer installs Git in the golang/alpine container. 4 | // 5 | // It installs Git in the golang/alpine container. 6 | func (m *Gotoolbox) WithGitInAlpineContainer() *Gotoolbox { 7 | m.Ctr = m.Ctr. 8 | WithExec([]string{"apk", "add", "git"}) 9 | 10 | return m 11 | } 12 | 13 | // WithUtilitiesInAlpineContainer installs common utilities in the golang/alpine container. 14 | // 15 | // It installs utilities such as curl, wget, and others that are commonly used. 16 | func (m *Gotoolbox) WithUtilitiesInAlpineContainer() *Gotoolbox { 17 | m.Ctr = m.Ctr. 18 | WithExec([]string{"apk", "update"}). 19 | WithExec([]string{"apk", "add", "curl", "wget", "bash", "jq", "vim", "unzip", "yq"}) 20 | 21 | return m 22 | } 23 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-light/tests/testdata/golang-server-http/Dockerfile: -------------------------------------------------------------------------------- 1 | # Build stage 2 | FROM golang:1.23-alpine AS builder 3 | 4 | # Set working directory 5 | WORKDIR /app 6 | 7 | # Copy go mod and sum files 8 | COPY go.mod go.sum ./ 9 | 10 | # Download all dependencies 11 | RUN go mod download 12 | 13 | # Copy the source code 14 | COPY . . 15 | 16 | # Build the application 17 | RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gotoolbox-service . 18 | 19 | # Final stage 20 | FROM alpine:3.14 21 | 22 | # Set working directory 23 | WORKDIR /root/ 24 | 25 | # Copy the binary from builder 26 | COPY --from=builder /app/gotoolbox-service . 27 | 28 | # Expose port 8080 29 | EXPOSE 8080 30 | 31 | # Command to run the executable 32 | CMD ["./gotoolbox-service"] 33 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-light/examples/go/testdata/golang-server-http/Dockerfile: -------------------------------------------------------------------------------- 1 | # Build stage 2 | FROM golang:1.23-alpine AS builder 3 | 4 | # Set working directory 5 | WORKDIR /app 6 | 7 | # Copy go mod and sum files 8 | COPY go.mod go.sum ./ 9 | 10 | # Download all dependencies 11 | RUN go mod download 12 | 13 | # Copy the source code 14 | COPY . . 15 | 16 | # Build the application 17 | RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gotoolbox-service . 18 | 19 | # Final stage 20 | FROM alpine:3.14 21 | 22 | # Set working directory 23 | WORKDIR /root/ 24 | 25 | # Copy the binary from builder 26 | COPY --from=builder /app/gotoolbox-service . 27 | 28 | # Expose port 8080 29 | EXPOSE 8080 30 | 31 | # Command to run the executable 32 | CMD ["./gotoolbox-service"] 33 | -------------------------------------------------------------------------------- /.github/no-response.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Configuration for probot-no-response - https://github.com/probot/no-response 3 | 4 | # Number of days of inactivity before an Issue is closed for lack of response 5 | daysUntilClose: 30 6 | # Label requiring a response 7 | responseRequiredLabel: more-information-needed 8 | # Comment to post when closing an Issue for lack of response. Set to `false` to disable 9 | closeComment: >- 10 | This issue has been automatically closed because there has been no response to our request for more information from the 11 | original author. With only the information that is currently in the issue, we don't have enough information to take action. 12 | Please feel free to reach out if you have or find the answers we need so that we can investigate further. Thank you! 13 | -------------------------------------------------------------------------------- /.daggerx/daggy/src/github_actions.rs: -------------------------------------------------------------------------------- 1 | use crate::configuration::NewDaggerModule; 2 | use crate::templating::process_template_content; 3 | use std::fs; 4 | use std::io::Error; 5 | 6 | pub fn generate_github_actions_workflow(module_cfg: &NewDaggerModule) -> Result<(), Error> { 7 | println!("Generating GitHub Actions workflow 🚀: {}", module_cfg.name); 8 | fs::create_dir_all(&module_cfg.github_actions_workflow_path)?; 9 | let template_path = ".daggerx/templates/github/workflows/mod-template-ci.yaml.tmpl"; 10 | let output_path = &module_cfg.github_actions_workflow; 11 | 12 | let template_content = fs::read_to_string(template_path)?; 13 | let new_content = process_template_content(&template_content, module_cfg); 14 | fs::write(output_path, new_content)?; 15 | 16 | Ok(()) 17 | } 18 | -------------------------------------------------------------------------------- /.github/config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Configuration for new-issue-welcome - https://github.com/behaviorbot/new-issue-welcome 3 | # Comment to be posted to on first time issues 4 | newIssueWelcomeComment: > 5 | Thanks for opening your first issue here! 👍 Be sure to follow the issue template. # magic___^_^___line 6 | # Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome 7 | # Comment to be posted to on PRs from first time contributors in your repository 8 | newPRWelcomeComment: > 9 | Thanks for opening this pull request! 👍 Please check out our contributing guidelines. # magic___^_^___line 10 | # Configuration for first-pr-merge - https://github.com/behaviorbot/first-pr-merge 11 | # Comment to be posted to on pull requests merged by a first time user 12 | firstPRMergeComment: >- 13 | Congrats on merging your first pull request! 🎉 We here at `Create Go App` are proud of you. 14 | -------------------------------------------------------------------------------- /terragrunt/defaults.go: -------------------------------------------------------------------------------- 1 | // Package main provides utility functions for working with Docker containers. 2 | // 3 | // This package includes constants and a function for getting the Docker-in-Docker image. 4 | // 5 | // Copyright: Excoriate 6 | // License: Apache-2.0 7 | package main 8 | 9 | // DefaultBinaryVersion represents the default version for a binary. 10 | type DefaultBinaryVersion string 11 | 12 | // ContainerImage represents a container image. 13 | type ContainerImage string 14 | 15 | const ( 16 | // OpenTofuDefaultVersion specifies the default version for OpenTofu. 17 | OpenTofuDefaultVersion DefaultBinaryVersion = "1.8.2" 18 | // TerragruntDefaultVersion specifies the default version for Terragrunt. 19 | TerragruntDefaultVersion DefaultBinaryVersion = "0.68.1" 20 | // TerraformDefaultVersion specifies the default version for Terraform. 21 | TerraformDefaultVersion DefaultBinaryVersion = "1.9.5" 22 | ) 23 | -------------------------------------------------------------------------------- /terragrunt/config.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | // Tool represents the entrypoint to use when executing the command. 4 | type Tool string 5 | 6 | const ( 7 | // TerragruntTool specifies the tool for Terragrunt. 8 | TerragruntTool Tool = "terragrunt" 9 | // TerraformTool specifies the tool for Terraform. 10 | TerraformTool Tool = "terraform" 11 | // OpentofuTool specifies the tool for Opentofu. 12 | OpentofuTool Tool = "opentofu" 13 | ) 14 | 15 | // IsValidIACTool validates the IaC tool. 16 | func IsValidIACTool(tool string) error { 17 | validTools := []Tool{TerragruntTool, TerraformTool, OpentofuTool} 18 | isValidTool := false 19 | 20 | for _, valid := range validTools { 21 | if tool == string(valid) { 22 | isValidTool = true 23 | 24 | break 25 | } 26 | } 27 | 28 | if !isValidTool { 29 | return WrapErrorf(nil, "invalid tool: %s. Must be one of: %v", tool, validTools) 30 | } 31 | 32 | return nil 33 | } 34 | -------------------------------------------------------------------------------- /gotest/tests/testdata/apko-presets/base-wolfi.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | contents: 3 | repositories: ['https://packages.wolfi.dev/os'] 4 | keyring: 5 | - https://packages.wolfi.dev/os/wolfi-signing.rsa.pub # Only the URL 6 | packages: [wolfi-base, ca-certificates, bash, curl] 7 | archs: [amd64, arm64] 8 | accounts: 9 | groups: 10 | - groupname: terragrunt 11 | gid: 1000 12 | users: 13 | - username: terragrunt 14 | uid: 1000 15 | gid: 1000 16 | run-as: terragrunt 17 | entrypoint: 18 | command: /bin/bash 19 | environment: 20 | TZ: UTC 21 | annotations: 22 | title: Base Wolfi for Terragrunt 23 | description: A minimal Wolfi base image built with APKO for Terragrunt, optimized for security and performance. 24 | version: 1.1.0 25 | vendor: github.com/Excoriate - Alex Torres 26 | licenses: Apache-2.0 27 | url: https://github.com/Excoriate/daggerverse 28 | source: https://github.com/Excoriate/daggerverse 29 | -------------------------------------------------------------------------------- /tflinter/tests/testdata/apko-presets/base-wolfi.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | contents: 3 | repositories: ['https://packages.wolfi.dev/os'] 4 | keyring: 5 | - https://packages.wolfi.dev/os/wolfi-signing.rsa.pub # Only the URL 6 | packages: [wolfi-base, ca-certificates, bash, curl] 7 | archs: [amd64, arm64] 8 | accounts: 9 | groups: 10 | - groupname: terragrunt 11 | gid: 1000 12 | users: 13 | - username: terragrunt 14 | uid: 1000 15 | gid: 1000 16 | run-as: terragrunt 17 | entrypoint: 18 | command: /bin/bash 19 | environment: 20 | TZ: UTC 21 | annotations: 22 | title: Base Wolfi for Terragrunt 23 | description: A minimal Wolfi base image built with APKO for Terragrunt, optimized for security and performance. 24 | version: 1.1.0 25 | vendor: github.com/Excoriate - Alex Torres 26 | licenses: Apache-2.0 27 | url: https://github.com/Excoriate/daggerverse 28 | source: https://github.com/Excoriate/daggerverse 29 | -------------------------------------------------------------------------------- /gotest/examples/go/testdata/apko-presets/base-wolfi.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | contents: 3 | repositories: ['https://packages.wolfi.dev/os'] 4 | keyring: 5 | - https://packages.wolfi.dev/os/wolfi-signing.rsa.pub # Only the URL 6 | packages: [wolfi-base, ca-certificates, bash, curl] 7 | archs: [amd64, arm64] 8 | accounts: 9 | groups: 10 | - groupname: terragrunt 11 | gid: 1000 12 | users: 13 | - username: terragrunt 14 | uid: 1000 15 | gid: 1000 16 | run-as: terragrunt 17 | entrypoint: 18 | command: /bin/bash 19 | environment: 20 | TZ: UTC 21 | annotations: 22 | title: Base Wolfi for Terragrunt 23 | description: A minimal Wolfi base image built with APKO for Terragrunt, optimized for security and performance. 24 | version: 1.1.0 25 | vendor: github.com/Excoriate - Alex Torres 26 | licenses: Apache-2.0 27 | url: https://github.com/Excoriate/daggerverse 28 | source: https://github.com/Excoriate/daggerverse 29 | -------------------------------------------------------------------------------- /aws-tag-inspector/tests/testdata/apko-presets/base-wolfi.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | contents: 3 | repositories: ['https://packages.wolfi.dev/os'] 4 | keyring: 5 | - https://packages.wolfi.dev/os/wolfi-signing.rsa.pub # Only the URL 6 | packages: [wolfi-base, ca-certificates, bash, curl] 7 | archs: [amd64, arm64] 8 | accounts: 9 | groups: 10 | - groupname: terragrunt 11 | gid: 1000 12 | users: 13 | - username: terragrunt 14 | uid: 1000 15 | gid: 1000 16 | run-as: terragrunt 17 | entrypoint: 18 | command: /bin/bash 19 | environment: 20 | TZ: UTC 21 | annotations: 22 | title: Base Wolfi for Terragrunt 23 | description: A minimal Wolfi base image built with APKO for Terragrunt, optimized for security and performance. 24 | version: 1.1.0 25 | vendor: github.com/Excoriate - Alex Torres 26 | licenses: Apache-2.0 27 | url: https://github.com/Excoriate/daggerverse 28 | source: https://github.com/Excoriate/daggerverse 29 | -------------------------------------------------------------------------------- /gopkgpublisher/tests/testdata/apko-presets/base-wolfi.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | contents: 3 | repositories: ['https://packages.wolfi.dev/os'] 4 | keyring: 5 | - https://packages.wolfi.dev/os/wolfi-signing.rsa.pub # Only the URL 6 | packages: [wolfi-base, ca-certificates, bash, curl] 7 | archs: [amd64, arm64] 8 | accounts: 9 | groups: 10 | - groupname: terragrunt 11 | gid: 1000 12 | users: 13 | - username: terragrunt 14 | uid: 1000 15 | gid: 1000 16 | run-as: terragrunt 17 | entrypoint: 18 | command: /bin/bash 19 | environment: 20 | TZ: UTC 21 | annotations: 22 | title: Base Wolfi for Terragrunt 23 | description: A minimal Wolfi base image built with APKO for Terragrunt, optimized for security and performance. 24 | version: 1.1.0 25 | vendor: github.com/Excoriate - Alex Torres 26 | licenses: Apache-2.0 27 | url: https://github.com/Excoriate/daggerverse 28 | source: https://github.com/Excoriate/daggerverse 29 | -------------------------------------------------------------------------------- /module-template/tests/testdata/apko-presets/base-wolfi.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | contents: 3 | repositories: ['https://packages.wolfi.dev/os'] 4 | keyring: 5 | - https://packages.wolfi.dev/os/wolfi-signing.rsa.pub # Only the URL 6 | packages: [wolfi-base, ca-certificates, bash, curl] 7 | archs: [amd64, arm64] 8 | accounts: 9 | groups: 10 | - groupname: terragrunt 11 | gid: 1000 12 | users: 13 | - username: terragrunt 14 | uid: 1000 15 | gid: 1000 16 | run-as: terragrunt 17 | entrypoint: 18 | command: /bin/bash 19 | environment: 20 | TZ: UTC 21 | annotations: 22 | title: Base Wolfi for Terragrunt 23 | description: A minimal Wolfi base image built with APKO for Terragrunt, optimized for security and performance. 24 | version: 1.1.0 25 | vendor: github.com/Excoriate - Alex Torres 26 | licenses: Apache-2.0 27 | url: https://github.com/Excoriate/daggerverse 28 | source: https://github.com/Excoriate/daggerverse 29 | -------------------------------------------------------------------------------- /tflinter/examples/go/testdata/apko-presets/base-wolfi.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | contents: 3 | repositories: ['https://packages.wolfi.dev/os'] 4 | keyring: 5 | - https://packages.wolfi.dev/os/wolfi-signing.rsa.pub # Only the URL 6 | packages: [wolfi-base, ca-certificates, bash, curl] 7 | archs: [amd64, arm64] 8 | accounts: 9 | groups: 10 | - groupname: terragrunt 11 | gid: 1000 12 | users: 13 | - username: terragrunt 14 | uid: 1000 15 | gid: 1000 16 | run-as: terragrunt 17 | entrypoint: 18 | command: /bin/bash 19 | environment: 20 | TZ: UTC 21 | annotations: 22 | title: Base Wolfi for Terragrunt 23 | description: A minimal Wolfi base image built with APKO for Terragrunt, optimized for security and performance. 24 | version: 1.1.0 25 | vendor: github.com/Excoriate - Alex Torres 26 | licenses: Apache-2.0 27 | url: https://github.com/Excoriate/daggerverse 28 | source: https://github.com/Excoriate/daggerverse 29 | -------------------------------------------------------------------------------- /aws-tag-inspector/examples/go/testdata/apko-presets/base-wolfi.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | contents: 3 | repositories: ['https://packages.wolfi.dev/os'] 4 | keyring: 5 | - https://packages.wolfi.dev/os/wolfi-signing.rsa.pub # Only the URL 6 | packages: [wolfi-base, ca-certificates, bash, curl] 7 | archs: [amd64, arm64] 8 | accounts: 9 | groups: 10 | - groupname: terragrunt 11 | gid: 1000 12 | users: 13 | - username: terragrunt 14 | uid: 1000 15 | gid: 1000 16 | run-as: terragrunt 17 | entrypoint: 18 | command: /bin/bash 19 | environment: 20 | TZ: UTC 21 | annotations: 22 | title: Base Wolfi for Terragrunt 23 | description: A minimal Wolfi base image built with APKO for Terragrunt, optimized for security and performance. 24 | version: 1.1.0 25 | vendor: github.com/Excoriate - Alex Torres 26 | licenses: Apache-2.0 27 | url: https://github.com/Excoriate/daggerverse 28 | source: https://github.com/Excoriate/daggerverse 29 | -------------------------------------------------------------------------------- /gopkgpublisher/examples/go/testdata/apko-presets/base-wolfi.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | contents: 3 | repositories: ['https://packages.wolfi.dev/os'] 4 | keyring: 5 | - https://packages.wolfi.dev/os/wolfi-signing.rsa.pub # Only the URL 6 | packages: [wolfi-base, ca-certificates, bash, curl] 7 | archs: [amd64, arm64] 8 | accounts: 9 | groups: 10 | - groupname: terragrunt 11 | gid: 1000 12 | users: 13 | - username: terragrunt 14 | uid: 1000 15 | gid: 1000 16 | run-as: terragrunt 17 | entrypoint: 18 | command: /bin/bash 19 | environment: 20 | TZ: UTC 21 | annotations: 22 | title: Base Wolfi for Terragrunt 23 | description: A minimal Wolfi base image built with APKO for Terragrunt, optimized for security and performance. 24 | version: 1.1.0 25 | vendor: github.com/Excoriate - Alex Torres 26 | licenses: Apache-2.0 27 | url: https://github.com/Excoriate/daggerverse 28 | source: https://github.com/Excoriate/daggerverse 29 | -------------------------------------------------------------------------------- /module-template-light/tests/testdata/apko-presets/base-wolfi.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | contents: 3 | repositories: ['https://packages.wolfi.dev/os'] 4 | keyring: 5 | - https://packages.wolfi.dev/os/wolfi-signing.rsa.pub # Only the URL 6 | packages: [wolfi-base, ca-certificates, bash, curl] 7 | archs: [amd64, arm64] 8 | accounts: 9 | groups: 10 | - groupname: terragrunt 11 | gid: 1000 12 | users: 13 | - username: terragrunt 14 | uid: 1000 15 | gid: 1000 16 | run-as: terragrunt 17 | entrypoint: 18 | command: /bin/bash 19 | environment: 20 | TZ: UTC 21 | annotations: 22 | title: Base Wolfi for Terragrunt 23 | description: A minimal Wolfi base image built with APKO for Terragrunt, optimized for security and performance. 24 | version: 1.1.0 25 | vendor: github.com/Excoriate - Alex Torres 26 | licenses: Apache-2.0 27 | url: https://github.com/Excoriate/daggerverse 28 | source: https://github.com/Excoriate/daggerverse 29 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-full/tests/testdata/apko-presets/base-wolfi.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | contents: 3 | repositories: ['https://packages.wolfi.dev/os'] 4 | keyring: 5 | - https://packages.wolfi.dev/os/wolfi-signing.rsa.pub # Only the URL 6 | packages: [wolfi-base, ca-certificates, bash, curl] 7 | archs: [amd64, arm64] 8 | accounts: 9 | groups: 10 | - groupname: terragrunt 11 | gid: 1000 12 | users: 13 | - username: terragrunt 14 | uid: 1000 15 | gid: 1000 16 | run-as: terragrunt 17 | entrypoint: 18 | command: /bin/bash 19 | environment: 20 | TZ: UTC 21 | annotations: 22 | title: Base Wolfi for Terragrunt 23 | description: A minimal Wolfi base image built with APKO for Terragrunt, optimized for security and performance. 24 | version: 1.1.0 25 | vendor: github.com/Excoriate - Alex Torres 26 | licenses: Apache-2.0 27 | url: https://github.com/Excoriate/daggerverse 28 | source: https://github.com/Excoriate/daggerverse 29 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-light/tests/testdata/apko-presets/base-wolfi.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | contents: 3 | repositories: ['https://packages.wolfi.dev/os'] 4 | keyring: 5 | - https://packages.wolfi.dev/os/wolfi-signing.rsa.pub # Only the URL 6 | packages: [wolfi-base, ca-certificates, bash, curl] 7 | archs: [amd64, arm64] 8 | accounts: 9 | groups: 10 | - groupname: terragrunt 11 | gid: 1000 12 | users: 13 | - username: terragrunt 14 | uid: 1000 15 | gid: 1000 16 | run-as: terragrunt 17 | entrypoint: 18 | command: /bin/bash 19 | environment: 20 | TZ: UTC 21 | annotations: 22 | title: Base Wolfi for Terragrunt 23 | description: A minimal Wolfi base image built with APKO for Terragrunt, optimized for security and performance. 24 | version: 1.1.0 25 | vendor: github.com/Excoriate - Alex Torres 26 | licenses: Apache-2.0 27 | url: https://github.com/Excoriate/daggerverse 28 | source: https://github.com/Excoriate/daggerverse 29 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-light/examples/go/testdata/apko-presets/base-wolfi.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | contents: 3 | repositories: ['https://packages.wolfi.dev/os'] 4 | keyring: 5 | - https://packages.wolfi.dev/os/wolfi-signing.rsa.pub # Only the URL 6 | packages: [wolfi-base, ca-certificates, bash, curl] 7 | archs: [amd64, arm64] 8 | accounts: 9 | groups: 10 | - groupname: terragrunt 11 | gid: 1000 12 | users: 13 | - username: terragrunt 14 | uid: 1000 15 | gid: 1000 16 | run-as: terragrunt 17 | entrypoint: 18 | command: /bin/bash 19 | environment: 20 | TZ: UTC 21 | annotations: 22 | title: Base Wolfi for Terragrunt 23 | description: A minimal Wolfi base image built with APKO for Terragrunt, optimized for security and performance. 24 | version: 1.1.0 25 | vendor: github.com/Excoriate - Alex Torres 26 | licenses: Apache-2.0 27 | url: https://github.com/Excoriate/daggerverse 28 | source: https://github.com/Excoriate/daggerverse 29 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## 🎯 What 2 | 3 | Provide a concise description of the changes: 4 | 5 | - ❓ What changes have you made? (High-level overview) 6 | - 🎉 What does it mean to the user? (In plain English) 7 | 8 | Example: 9 | 10 | - 🚀 Upgraded Terraform AWS provider to v3.0.0. 11 | - 🎉 This means users can now use new features and improvements from the latest AWS Provider. 12 | 13 | ## 🤔 Why 14 | 15 | Explain why the changes are necessary: 16 | 17 | - 💡 Why were these changes made? 18 | - 🎯 What's the benefit? 19 | 20 | Example: 21 | 22 | - 💡 We made this upgrade to take advantage of performance improvements and new features in the latest version. 23 | - 🎯 This will allow us to provision infrastructure more efficiently, and utilize new AWS services and features. 24 | 25 | ## 📚 References 26 | 27 | Link any supporting context or documentation: 28 | 29 | - 🔗 Github issues, documentation, helpful links. 30 | - ✅ Use `closes #123`, if this PR closes a GitHub issue `#123` 31 | -------------------------------------------------------------------------------- /.daggerx/daggy/src/args.rs: -------------------------------------------------------------------------------- 1 | use clap::Parser; 2 | 3 | #[derive(Parser, Debug)] 4 | #[command(author, version, about, long_about = None)] 5 | /// Command line arguments for the application. 6 | pub struct Args { 7 | /// The task to perform (e.g., "create", "sync", "inspect", "develop"). 8 | #[arg(short, long)] 9 | pub task: String, 10 | 11 | /// The name of the module to operate on. Optional. 12 | #[arg(short, long)] 13 | pub module: Option, 14 | 15 | /// The type of the module (e.g., "full", "light"). Optional. 16 | #[arg(short, long)] 17 | pub module_type: Option, 18 | 19 | /// Flag to indicate a dry run. Optional. 20 | #[arg(short, long)] 21 | pub dry_run: Option, 22 | 23 | /// The type of inspection to perform (default is "all"). 24 | #[arg(long, default_value = "all")] 25 | pub inspect_type: String, 26 | 27 | /// Flag to indicate a detailed view. Optional. 28 | #[arg(long)] 29 | pub detailed: Option, 30 | } 31 | -------------------------------------------------------------------------------- /.yamlfmt.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Comprehensive yamlfmt configuration 3 | formatter: 4 | type: basic 5 | indent: 2 6 | line_ending: lf 7 | include_document_start: true 8 | retain_line_breaks: true 9 | retain_line_breaks_single: true 10 | max_line_length: 120 11 | trim_trailing_whitespace: true 12 | eof_newline: true 13 | pad_line_comments: 2 14 | disallow_anchors: false 15 | 16 | # Global configuration 17 | line_ending: lf 18 | continue_on_error: false 19 | doublestar: true 20 | 21 | # Path handling 22 | include: 23 | - '**/*.yml' 24 | - '**/*.yaml' 25 | exclude: 26 | - .git/** 27 | - .github/ISSUE_TEMPLATE/** 28 | - node_modules/** 29 | - dist/** 30 | - vendor/** 31 | - target/** 32 | - .direnv/** 33 | - .terraform/** 34 | - .terragrunt-cache/** 35 | - .devenv/** 36 | - '**/.goreleaser.yaml' 37 | - '.github/workflows/*.yml' 38 | - tests/testdata/** # Added to exclude test data 39 | - '**/testdata/**' # Also exclude any testdata directories at any level 40 | 41 | gitignore_excludes: true 42 | -------------------------------------------------------------------------------- /.github/stale.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Number of days of inactivity before an issue becomes stale 3 | daysUntilStale: 10 4 | # Number of days of inactivity before a stale issue is closed 5 | daysUntilClose: 3 6 | # Issues with these labels will never be considered stale 7 | exemptLabels: 8 | - pinned 9 | - security 10 | # Label to use when marking an issue as stale 11 | staleLabel: wontfix 12 | # Comment to post when marking an issue as stale. Set to `false` to disable 13 | markComment: > 14 | 👋 Hello. Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward? # magic___^_^___line 15 | > This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further 16 | activity occurs. # magic___^_^___line Thank you for your contributions. # magic___^_^___line 17 | # Comment to post when closing a stale Issue or Pull Request. Set to `false` to disable 18 | closeComment: >- 19 | ⚡️ This issue has been automatically closed because it has not had recent activity. 20 | -------------------------------------------------------------------------------- /terragrunt/commands.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | 6 | "github.com/Excoriate/daggerverse/terragrunt/internal/dagger" 7 | ) 8 | 9 | // OpenTerminal returns a terminal 10 | // 11 | // It returns a terminal for the container. 12 | // Arguments: 13 | // - None. 14 | // Returns: 15 | // - *Terminal: The terminal for the container. 16 | func (m *Terragrunt) OpenTerminal() *dagger.Container { 17 | return m.Ctr.Terminal() 18 | } 19 | 20 | // RunShell runs a shell command in the container. 21 | // 22 | // It runs a shell command in the container and returns the output. 23 | // Arguments: 24 | // - cmd: The command to run in the container. 25 | // Returns: 26 | // - string: The output of the command. 27 | // - error: An error if the command fails. 28 | func (m *Terragrunt) RunShell(cmd string) (string, error) { 29 | out, err := m.Ctr.WithoutEntrypoint().WithExec([]string{"sh", "-c", cmd}).Stdout(context.Background()) 30 | if err != nil { 31 | return "", WrapErrorf(err, "failed to run shell command: %s", cmd) 32 | } 33 | 34 | return out, nil 35 | } 36 | -------------------------------------------------------------------------------- /gotest/commands.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | 6 | "github.com/Excoriate/daggerverse/gotest/internal/dagger" 7 | ) 8 | 9 | // OpenTerminal returns a terminal 10 | // 11 | // It returns a terminal for the container. 12 | // Arguments: 13 | // - None. 14 | // Returns: 15 | // - *Terminal: The terminal for the container. 16 | func (m *Gotest) OpenTerminal() *dagger.Container { 17 | return m.Ctr.Terminal() 18 | } 19 | 20 | // RunShell runs a shell command in the container. 21 | // 22 | // It runs a shell command in the container and returns the output. 23 | // Arguments: 24 | // - cmd: The command to run in the container. 25 | // Returns: 26 | // - string: The output of the command. 27 | // - error: An error if the command fails. 28 | func (m *Gotest) RunShell(cmd string) (string, error) { 29 | out, err := m. 30 | Ctr. 31 | WithoutEntrypoint(). 32 | WithExec([]string{"sh", "-c", cmd}). 33 | Stdout(context.Background()) 34 | 35 | if err != nil { 36 | return "", WrapErrorf(err, "failed to run shell command: %s", cmd) 37 | } 38 | 39 | return out, nil 40 | } 41 | -------------------------------------------------------------------------------- /.github/workflows/lock-threads.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: Lock Threads 3 | on: 4 | schedule: 5 | - cron: 50 1 * * * 6 | jobs: 7 | lock: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: dessant/lock-threads@v4 11 | with: 12 | github-token: ${{ github.token }} 13 | issue-lock-comment: > 14 | I'm going to lock this issue because it has been closed for _30 days_ 15 | ⏳. This helps our maintainers find and focus 16 | on the active issues. # magic___^_^___line If you have found a problem 17 | that seems similar to this, please open 18 | a new issue and complete the issue template so we can capture all the 19 | details necessary to investigate further. 20 | issue-lock-inactive-days: '30' 21 | pr-lock-comment: > 22 | I'm going to lock this pull request because it has been closed for _30 23 | days_ ⏳. This helps our maintainers find 24 | and focus on the active contributions. # magic___^_^___line 25 | pr-lock-inactive-days: '30' 26 | -------------------------------------------------------------------------------- /tflinter/commands.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | 6 | "github.com/Excoriate/daggerverse/tflinter/internal/dagger" 7 | ) 8 | 9 | // OpenTerminal returns a terminal 10 | // 11 | // It returns a terminal for the container. 12 | // Arguments: 13 | // - None. 14 | // Returns: 15 | // - *Terminal: The terminal for the container. 16 | func (m *Tflinter) OpenTerminal() *dagger.Container { 17 | return m.Ctr.Terminal() 18 | } 19 | 20 | // RunShell runs a shell command in the container. 21 | // 22 | // It runs a shell command in the container and returns the output. 23 | // Arguments: 24 | // - cmd: The command to run in the container. 25 | // Returns: 26 | // - string: The output of the command. 27 | // - error: An error if the command fails. 28 | func (m *Tflinter) RunShell(cmd string) (string, error) { 29 | out, err := m. 30 | Ctr. 31 | WithoutEntrypoint(). 32 | WithExec([]string{"sh", "-c", cmd}). 33 | Stdout(context.Background()) 34 | 35 | if err != nil { 36 | return "", WrapErrorf(err, "failed to run shell command: %s", cmd) 37 | } 38 | 39 | return out, nil 40 | } 41 | -------------------------------------------------------------------------------- /gopkgpublisher/commands.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | 6 | "github.com/Excoriate/daggerverse/gopkgpublisher/internal/dagger" 7 | ) 8 | 9 | // OpenTerminal returns a terminal 10 | // 11 | // It returns a terminal for the container. 12 | // Arguments: 13 | // - None. 14 | // Returns: 15 | // - *Terminal: The terminal for the container. 16 | func (m *Gopkgpublisher) OpenTerminal() *dagger.Container { 17 | return m.Ctr.Terminal() 18 | } 19 | 20 | // RunShell runs a shell command in the container. 21 | // 22 | // It runs a shell command in the container and returns the output. 23 | // Arguments: 24 | // - cmd: The command to run in the container. 25 | // Returns: 26 | // - string: The output of the command. 27 | // - error: An error if the command fails. 28 | func (m *Gopkgpublisher) RunShell(cmd string) (string, error) { 29 | out, err := m. 30 | Ctr. 31 | WithoutEntrypoint(). 32 | WithExec([]string{"sh", "-c", cmd}). 33 | Stdout(context.Background()) 34 | 35 | if err != nil { 36 | return "", WrapErrorf(err, "failed to run shell command: %s", cmd) 37 | } 38 | 39 | return out, nil 40 | } 41 | -------------------------------------------------------------------------------- /module-template-light/commands.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | 6 | "github.com/Excoriate/daggerverse/module-template-light/internal/dagger" 7 | ) 8 | 9 | // OpenTerminal returns a terminal 10 | // 11 | // It returns a terminal for the container. 12 | // Arguments: 13 | // - None. 14 | // Returns: 15 | // - *Terminal: The terminal for the container. 16 | func (m *ModuleTemplateLight) OpenTerminal() *dagger.Container { 17 | return m.Ctr.Terminal() 18 | } 19 | 20 | // RunShell runs a shell command in the container. 21 | // 22 | // It runs a shell command in the container and returns the output. 23 | // Arguments: 24 | // - cmd: The command to run in the container. 25 | // Returns: 26 | // - string: The output of the command. 27 | // - error: An error if the command fails. 28 | func (m *ModuleTemplateLight) RunShell(cmd string) (string, error) { 29 | out, err := m. 30 | Ctr. 31 | WithoutEntrypoint(). 32 | WithExec([]string{"sh", "-c", cmd}). 33 | Stdout(context.Background()) 34 | 35 | if err != nil { 36 | return "", WrapErrorf(err, "failed to run shell command: %s", cmd) 37 | } 38 | 39 | return out, nil 40 | } 41 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Quartz Technology 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-light/module/commands.go.tmpl: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | 6 | "github.com/Excoriate/daggerverse/{{.module_name_pkg}}/internal/dagger" 7 | ) 8 | 9 | // OpenTerminal returns a terminal 10 | // 11 | // It returns a terminal for the container. 12 | // Arguments: 13 | // - None. 14 | // Returns: 15 | // - *Terminal: The terminal for the container. 16 | func (m *{{.module_name}}) OpenTerminal() *dagger.Container { 17 | return m.Ctr.Terminal() 18 | } 19 | 20 | // RunShell runs a shell command in the container. 21 | // 22 | // It runs a shell command in the container and returns the output. 23 | // Arguments: 24 | // - cmd: The command to run in the container. 25 | // Returns: 26 | // - string: The output of the command. 27 | // - error: An error if the command fails. 28 | func (m *{{.module_name}}) RunShell(cmd string) (string, error) { 29 | out, err := m. 30 | Ctr. 31 | WithoutEntrypoint(). 32 | WithExec([]string{"sh", "-c", cmd}). 33 | Stdout(context.Background()) 34 | 35 | if err != nil { 36 | return "", WrapErrorf(err, "failed to run shell command: %s", cmd) 37 | } 38 | 39 | return out, nil 40 | } 41 | -------------------------------------------------------------------------------- /gotest/tests/testdata/golang-server-http/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for gotoolbox-service 2 | 3 | # Go parameters 4 | GOCMD=go 5 | GOBUILD=$(GOCMD) build 6 | GORUN=$(GOCMD) run 7 | GOCLEAN=$(GOCMD) clean 8 | GOTEST=$(GOCMD) test 9 | GOGET=$(GOCMD) get 10 | 11 | # Main package path 12 | MAIN_PACKAGE=. 13 | 14 | # Binary name 15 | BINARY_NAME=gotoolbox-service 16 | 17 | all: build 18 | 19 | build: 20 | $(GOBUILD) -o $(BINARY_NAME) -v $(MAIN_PACKAGE) 21 | 22 | run: 23 | $(GORUN) $(MAIN_PACKAGE) 24 | 25 | clean: 26 | $(GOCLEAN) 27 | rm -f $(BINARY_NAME) 28 | 29 | test: 30 | $(GOTEST) -v ./... 31 | 32 | deps: 33 | $(GOGET) ./... 34 | 35 | # Docker 36 | docker-build: 37 | docker build -t gotoolbox-service . 38 | 39 | docker-run: 40 | docker run -p 8080:8080 gotoolbox-service 41 | 42 | docker-run-detached: 43 | docker run -d -p 8080:8080 gotoolbox-service 44 | 45 | test-api: 46 | @echo "Testing /products endpoint:" 47 | @curl -s http://localhost:8080/products 48 | @echo "\n\nTesting /comments endpoint:" 49 | @curl -s http://localhost:8080/comments 50 | 51 | .PHONY: all build run clean test deps docker-build docker-run docker-run-detached test-api 52 | -------------------------------------------------------------------------------- /tflinter/tests/testdata/golang-server-http/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for gotoolbox-service 2 | 3 | # Go parameters 4 | GOCMD=go 5 | GOBUILD=$(GOCMD) build 6 | GORUN=$(GOCMD) run 7 | GOCLEAN=$(GOCMD) clean 8 | GOTEST=$(GOCMD) test 9 | GOGET=$(GOCMD) get 10 | 11 | # Main package path 12 | MAIN_PACKAGE=. 13 | 14 | # Binary name 15 | BINARY_NAME=gotoolbox-service 16 | 17 | all: build 18 | 19 | build: 20 | $(GOBUILD) -o $(BINARY_NAME) -v $(MAIN_PACKAGE) 21 | 22 | run: 23 | $(GORUN) $(MAIN_PACKAGE) 24 | 25 | clean: 26 | $(GOCLEAN) 27 | rm -f $(BINARY_NAME) 28 | 29 | test: 30 | $(GOTEST) -v ./... 31 | 32 | deps: 33 | $(GOGET) ./... 34 | 35 | # Docker 36 | docker-build: 37 | docker build -t gotoolbox-service . 38 | 39 | docker-run: 40 | docker run -p 8080:8080 gotoolbox-service 41 | 42 | docker-run-detached: 43 | docker run -d -p 8080:8080 gotoolbox-service 44 | 45 | test-api: 46 | @echo "Testing /products endpoint:" 47 | @curl -s http://localhost:8080/products 48 | @echo "\n\nTesting /comments endpoint:" 49 | @curl -s http://localhost:8080/comments 50 | 51 | .PHONY: all build run clean test deps docker-build docker-run docker-run-detached test-api 52 | -------------------------------------------------------------------------------- /gotest/examples/go/testdata/golang-server-http/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for gotoolbox-service 2 | 3 | # Go parameters 4 | GOCMD=go 5 | GOBUILD=$(GOCMD) build 6 | GORUN=$(GOCMD) run 7 | GOCLEAN=$(GOCMD) clean 8 | GOTEST=$(GOCMD) test 9 | GOGET=$(GOCMD) get 10 | 11 | # Main package path 12 | MAIN_PACKAGE=. 13 | 14 | # Binary name 15 | BINARY_NAME=gotoolbox-service 16 | 17 | all: build 18 | 19 | build: 20 | $(GOBUILD) -o $(BINARY_NAME) -v $(MAIN_PACKAGE) 21 | 22 | run: 23 | $(GORUN) $(MAIN_PACKAGE) 24 | 25 | clean: 26 | $(GOCLEAN) 27 | rm -f $(BINARY_NAME) 28 | 29 | test: 30 | $(GOTEST) -v ./... 31 | 32 | deps: 33 | $(GOGET) ./... 34 | 35 | # Docker 36 | docker-build: 37 | docker build -t gotoolbox-service . 38 | 39 | docker-run: 40 | docker run -p 8080:8080 gotoolbox-service 41 | 42 | docker-run-detached: 43 | docker run -d -p 8080:8080 gotoolbox-service 44 | 45 | test-api: 46 | @echo "Testing /products endpoint:" 47 | @curl -s http://localhost:8080/products 48 | @echo "\n\nTesting /comments endpoint:" 49 | @curl -s http://localhost:8080/comments 50 | 51 | .PHONY: all build run clean test deps docker-build docker-run docker-run-detached test-api 52 | -------------------------------------------------------------------------------- /gotoolbox/tests/testdata/golang-server-http/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for gotoolbox-service 2 | 3 | # Go parameters 4 | GOCMD=go 5 | GOBUILD=$(GOCMD) build 6 | GORUN=$(GOCMD) run 7 | GOCLEAN=$(GOCMD) clean 8 | GOTEST=$(GOCMD) test 9 | GOGET=$(GOCMD) get 10 | 11 | # Main package path 12 | MAIN_PACKAGE=. 13 | 14 | # Binary name 15 | BINARY_NAME=gotoolbox-service 16 | 17 | all: build 18 | 19 | build: 20 | $(GOBUILD) -o $(BINARY_NAME) -v $(MAIN_PACKAGE) 21 | 22 | run: 23 | $(GORUN) $(MAIN_PACKAGE) 24 | 25 | clean: 26 | $(GOCLEAN) 27 | rm -f $(BINARY_NAME) 28 | 29 | test: 30 | $(GOTEST) -v ./... 31 | 32 | deps: 33 | $(GOGET) ./... 34 | 35 | # Docker 36 | docker-build: 37 | docker build -t gotoolbox-service . 38 | 39 | docker-run: 40 | docker run -p 8080:8080 gotoolbox-service 41 | 42 | docker-run-detached: 43 | docker run -d -p 8080:8080 gotoolbox-service 44 | 45 | test-api: 46 | @echo "Testing /products endpoint:" 47 | @curl -s http://localhost:8080/products 48 | @echo "\n\nTesting /comments endpoint:" 49 | @curl -s http://localhost:8080/comments 50 | 51 | .PHONY: all build run clean test deps docker-build docker-run docker-run-detached test-api 52 | -------------------------------------------------------------------------------- /terragrunt/tests/testdata/golang-server-http/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for gotoolbox-service 2 | 3 | # Go parameters 4 | GOCMD=go 5 | GOBUILD=$(GOCMD) build 6 | GORUN=$(GOCMD) run 7 | GOCLEAN=$(GOCMD) clean 8 | GOTEST=$(GOCMD) test 9 | GOGET=$(GOCMD) get 10 | 11 | # Main package path 12 | MAIN_PACKAGE=. 13 | 14 | # Binary name 15 | BINARY_NAME=gotoolbox-service 16 | 17 | all: build 18 | 19 | build: 20 | $(GOBUILD) -o $(BINARY_NAME) -v $(MAIN_PACKAGE) 21 | 22 | run: 23 | $(GORUN) $(MAIN_PACKAGE) 24 | 25 | clean: 26 | $(GOCLEAN) 27 | rm -f $(BINARY_NAME) 28 | 29 | test: 30 | $(GOTEST) -v ./... 31 | 32 | deps: 33 | $(GOGET) ./... 34 | 35 | # Docker 36 | docker-build: 37 | docker build -t gotoolbox-service . 38 | 39 | docker-run: 40 | docker run -p 8080:8080 gotoolbox-service 41 | 42 | docker-run-detached: 43 | docker run -d -p 8080:8080 gotoolbox-service 44 | 45 | test-api: 46 | @echo "Testing /products endpoint:" 47 | @curl -s http://localhost:8080/products 48 | @echo "\n\nTesting /comments endpoint:" 49 | @curl -s http://localhost:8080/comments 50 | 51 | .PHONY: all build run clean test deps docker-build docker-run docker-run-detached test-api 52 | -------------------------------------------------------------------------------- /aws-tag-inspector/tests/testdata/golang-server-http/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for gotoolbox-service 2 | 3 | # Go parameters 4 | GOCMD=go 5 | GOBUILD=$(GOCMD) build 6 | GORUN=$(GOCMD) run 7 | GOCLEAN=$(GOCMD) clean 8 | GOTEST=$(GOCMD) test 9 | GOGET=$(GOCMD) get 10 | 11 | # Main package path 12 | MAIN_PACKAGE=. 13 | 14 | # Binary name 15 | BINARY_NAME=gotoolbox-service 16 | 17 | all: build 18 | 19 | build: 20 | $(GOBUILD) -o $(BINARY_NAME) -v $(MAIN_PACKAGE) 21 | 22 | run: 23 | $(GORUN) $(MAIN_PACKAGE) 24 | 25 | clean: 26 | $(GOCLEAN) 27 | rm -f $(BINARY_NAME) 28 | 29 | test: 30 | $(GOTEST) -v ./... 31 | 32 | deps: 33 | $(GOGET) ./... 34 | 35 | # Docker 36 | docker-build: 37 | docker build -t gotoolbox-service . 38 | 39 | docker-run: 40 | docker run -p 8080:8080 gotoolbox-service 41 | 42 | docker-run-detached: 43 | docker run -d -p 8080:8080 gotoolbox-service 44 | 45 | test-api: 46 | @echo "Testing /products endpoint:" 47 | @curl -s http://localhost:8080/products 48 | @echo "\n\nTesting /comments endpoint:" 49 | @curl -s http://localhost:8080/comments 50 | 51 | .PHONY: all build run clean test deps docker-build docker-run docker-run-detached test-api 52 | -------------------------------------------------------------------------------- /gopkgpublisher/tests/testdata/golang-server-http/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for gotoolbox-service 2 | 3 | # Go parameters 4 | GOCMD=go 5 | GOBUILD=$(GOCMD) build 6 | GORUN=$(GOCMD) run 7 | GOCLEAN=$(GOCMD) clean 8 | GOTEST=$(GOCMD) test 9 | GOGET=$(GOCMD) get 10 | 11 | # Main package path 12 | MAIN_PACKAGE=. 13 | 14 | # Binary name 15 | BINARY_NAME=gotoolbox-service 16 | 17 | all: build 18 | 19 | build: 20 | $(GOBUILD) -o $(BINARY_NAME) -v $(MAIN_PACKAGE) 21 | 22 | run: 23 | $(GORUN) $(MAIN_PACKAGE) 24 | 25 | clean: 26 | $(GOCLEAN) 27 | rm -f $(BINARY_NAME) 28 | 29 | test: 30 | $(GOTEST) -v ./... 31 | 32 | deps: 33 | $(GOGET) ./... 34 | 35 | # Docker 36 | docker-build: 37 | docker build -t gotoolbox-service . 38 | 39 | docker-run: 40 | docker run -p 8080:8080 gotoolbox-service 41 | 42 | docker-run-detached: 43 | docker run -d -p 8080:8080 gotoolbox-service 44 | 45 | test-api: 46 | @echo "Testing /products endpoint:" 47 | @curl -s http://localhost:8080/products 48 | @echo "\n\nTesting /comments endpoint:" 49 | @curl -s http://localhost:8080/comments 50 | 51 | .PHONY: all build run clean test deps docker-build docker-run docker-run-detached test-api 52 | -------------------------------------------------------------------------------- /module-template/tests/testdata/golang-server-http/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for gotoolbox-service 2 | 3 | # Go parameters 4 | GOCMD=go 5 | GOBUILD=$(GOCMD) build 6 | GORUN=$(GOCMD) run 7 | GOCLEAN=$(GOCMD) clean 8 | GOTEST=$(GOCMD) test 9 | GOGET=$(GOCMD) get 10 | 11 | # Main package path 12 | MAIN_PACKAGE=. 13 | 14 | # Binary name 15 | BINARY_NAME=gotoolbox-service 16 | 17 | all: build 18 | 19 | build: 20 | $(GOBUILD) -o $(BINARY_NAME) -v $(MAIN_PACKAGE) 21 | 22 | run: 23 | $(GORUN) $(MAIN_PACKAGE) 24 | 25 | clean: 26 | $(GOCLEAN) 27 | rm -f $(BINARY_NAME) 28 | 29 | test: 30 | $(GOTEST) -v ./... 31 | 32 | deps: 33 | $(GOGET) ./... 34 | 35 | # Docker 36 | docker-build: 37 | docker build -t gotoolbox-service . 38 | 39 | docker-run: 40 | docker run -p 8080:8080 gotoolbox-service 41 | 42 | docker-run-detached: 43 | docker run -d -p 8080:8080 gotoolbox-service 44 | 45 | test-api: 46 | @echo "Testing /products endpoint:" 47 | @curl -s http://localhost:8080/products 48 | @echo "\n\nTesting /comments endpoint:" 49 | @curl -s http://localhost:8080/comments 50 | 51 | .PHONY: all build run clean test deps docker-build docker-run docker-run-detached test-api 52 | -------------------------------------------------------------------------------- /tflinter/examples/go/testdata/golang-server-http/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for gotoolbox-service 2 | 3 | # Go parameters 4 | GOCMD=go 5 | GOBUILD=$(GOCMD) build 6 | GORUN=$(GOCMD) run 7 | GOCLEAN=$(GOCMD) clean 8 | GOTEST=$(GOCMD) test 9 | GOGET=$(GOCMD) get 10 | 11 | # Main package path 12 | MAIN_PACKAGE=. 13 | 14 | # Binary name 15 | BINARY_NAME=gotoolbox-service 16 | 17 | all: build 18 | 19 | build: 20 | $(GOBUILD) -o $(BINARY_NAME) -v $(MAIN_PACKAGE) 21 | 22 | run: 23 | $(GORUN) $(MAIN_PACKAGE) 24 | 25 | clean: 26 | $(GOCLEAN) 27 | rm -f $(BINARY_NAME) 28 | 29 | test: 30 | $(GOTEST) -v ./... 31 | 32 | deps: 33 | $(GOGET) ./... 34 | 35 | # Docker 36 | docker-build: 37 | docker build -t gotoolbox-service . 38 | 39 | docker-run: 40 | docker run -p 8080:8080 gotoolbox-service 41 | 42 | docker-run-detached: 43 | docker run -d -p 8080:8080 gotoolbox-service 44 | 45 | test-api: 46 | @echo "Testing /products endpoint:" 47 | @curl -s http://localhost:8080/products 48 | @echo "\n\nTesting /comments endpoint:" 49 | @curl -s http://localhost:8080/comments 50 | 51 | .PHONY: all build run clean test deps docker-build docker-run docker-run-detached test-api 52 | -------------------------------------------------------------------------------- /aws-tag-inspector/examples/go/testdata/golang-server-http/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for gotoolbox-service 2 | 3 | # Go parameters 4 | GOCMD=go 5 | GOBUILD=$(GOCMD) build 6 | GORUN=$(GOCMD) run 7 | GOCLEAN=$(GOCMD) clean 8 | GOTEST=$(GOCMD) test 9 | GOGET=$(GOCMD) get 10 | 11 | # Main package path 12 | MAIN_PACKAGE=. 13 | 14 | # Binary name 15 | BINARY_NAME=gotoolbox-service 16 | 17 | all: build 18 | 19 | build: 20 | $(GOBUILD) -o $(BINARY_NAME) -v $(MAIN_PACKAGE) 21 | 22 | run: 23 | $(GORUN) $(MAIN_PACKAGE) 24 | 25 | clean: 26 | $(GOCLEAN) 27 | rm -f $(BINARY_NAME) 28 | 29 | test: 30 | $(GOTEST) -v ./... 31 | 32 | deps: 33 | $(GOGET) ./... 34 | 35 | # Docker 36 | docker-build: 37 | docker build -t gotoolbox-service . 38 | 39 | docker-run: 40 | docker run -p 8080:8080 gotoolbox-service 41 | 42 | docker-run-detached: 43 | docker run -d -p 8080:8080 gotoolbox-service 44 | 45 | test-api: 46 | @echo "Testing /products endpoint:" 47 | @curl -s http://localhost:8080/products 48 | @echo "\n\nTesting /comments endpoint:" 49 | @curl -s http://localhost:8080/comments 50 | 51 | .PHONY: all build run clean test deps docker-build docker-run docker-run-detached test-api 52 | -------------------------------------------------------------------------------- /gopkgpublisher/examples/go/testdata/golang-server-http/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for gotoolbox-service 2 | 3 | # Go parameters 4 | GOCMD=go 5 | GOBUILD=$(GOCMD) build 6 | GORUN=$(GOCMD) run 7 | GOCLEAN=$(GOCMD) clean 8 | GOTEST=$(GOCMD) test 9 | GOGET=$(GOCMD) get 10 | 11 | # Main package path 12 | MAIN_PACKAGE=. 13 | 14 | # Binary name 15 | BINARY_NAME=gotoolbox-service 16 | 17 | all: build 18 | 19 | build: 20 | $(GOBUILD) -o $(BINARY_NAME) -v $(MAIN_PACKAGE) 21 | 22 | run: 23 | $(GORUN) $(MAIN_PACKAGE) 24 | 25 | clean: 26 | $(GOCLEAN) 27 | rm -f $(BINARY_NAME) 28 | 29 | test: 30 | $(GOTEST) -v ./... 31 | 32 | deps: 33 | $(GOGET) ./... 34 | 35 | # Docker 36 | docker-build: 37 | docker build -t gotoolbox-service . 38 | 39 | docker-run: 40 | docker run -p 8080:8080 gotoolbox-service 41 | 42 | docker-run-detached: 43 | docker run -d -p 8080:8080 gotoolbox-service 44 | 45 | test-api: 46 | @echo "Testing /products endpoint:" 47 | @curl -s http://localhost:8080/products 48 | @echo "\n\nTesting /comments endpoint:" 49 | @curl -s http://localhost:8080/comments 50 | 51 | .PHONY: all build run clean test deps docker-build docker-run docker-run-detached test-api 52 | -------------------------------------------------------------------------------- /module-template-light/tests/testdata/golang-server-http/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for gotoolbox-service 2 | 3 | # Go parameters 4 | GOCMD=go 5 | GOBUILD=$(GOCMD) build 6 | GORUN=$(GOCMD) run 7 | GOCLEAN=$(GOCMD) clean 8 | GOTEST=$(GOCMD) test 9 | GOGET=$(GOCMD) get 10 | 11 | # Main package path 12 | MAIN_PACKAGE=. 13 | 14 | # Binary name 15 | BINARY_NAME=gotoolbox-service 16 | 17 | all: build 18 | 19 | build: 20 | $(GOBUILD) -o $(BINARY_NAME) -v $(MAIN_PACKAGE) 21 | 22 | run: 23 | $(GORUN) $(MAIN_PACKAGE) 24 | 25 | clean: 26 | $(GOCLEAN) 27 | rm -f $(BINARY_NAME) 28 | 29 | test: 30 | $(GOTEST) -v ./... 31 | 32 | deps: 33 | $(GOGET) ./... 34 | 35 | # Docker 36 | docker-build: 37 | docker build -t gotoolbox-service . 38 | 39 | docker-run: 40 | docker run -p 8080:8080 gotoolbox-service 41 | 42 | docker-run-detached: 43 | docker run -d -p 8080:8080 gotoolbox-service 44 | 45 | test-api: 46 | @echo "Testing /products endpoint:" 47 | @curl -s http://localhost:8080/products 48 | @echo "\n\nTesting /comments endpoint:" 49 | @curl -s http://localhost:8080/comments 50 | 51 | .PHONY: all build run clean test deps docker-build docker-run docker-run-detached test-api 52 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-full/tests/testdata/golang-server-http/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for gotoolbox-service 2 | 3 | # Go parameters 4 | GOCMD=go 5 | GOBUILD=$(GOCMD) build 6 | GORUN=$(GOCMD) run 7 | GOCLEAN=$(GOCMD) clean 8 | GOTEST=$(GOCMD) test 9 | GOGET=$(GOCMD) get 10 | 11 | # Main package path 12 | MAIN_PACKAGE=. 13 | 14 | # Binary name 15 | BINARY_NAME=gotoolbox-service 16 | 17 | all: build 18 | 19 | build: 20 | $(GOBUILD) -o $(BINARY_NAME) -v $(MAIN_PACKAGE) 21 | 22 | run: 23 | $(GORUN) $(MAIN_PACKAGE) 24 | 25 | clean: 26 | $(GOCLEAN) 27 | rm -f $(BINARY_NAME) 28 | 29 | test: 30 | $(GOTEST) -v ./... 31 | 32 | deps: 33 | $(GOGET) ./... 34 | 35 | # Docker 36 | docker-build: 37 | docker build -t gotoolbox-service . 38 | 39 | docker-run: 40 | docker run -p 8080:8080 gotoolbox-service 41 | 42 | docker-run-detached: 43 | docker run -d -p 8080:8080 gotoolbox-service 44 | 45 | test-api: 46 | @echo "Testing /products endpoint:" 47 | @curl -s http://localhost:8080/products 48 | @echo "\n\nTesting /comments endpoint:" 49 | @curl -s http://localhost:8080/comments 50 | 51 | .PHONY: all build run clean test deps docker-build docker-run docker-run-detached test-api 52 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-light/tests/testdata/golang-server-http/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for gotoolbox-service 2 | 3 | # Go parameters 4 | GOCMD=go 5 | GOBUILD=$(GOCMD) build 6 | GORUN=$(GOCMD) run 7 | GOCLEAN=$(GOCMD) clean 8 | GOTEST=$(GOCMD) test 9 | GOGET=$(GOCMD) get 10 | 11 | # Main package path 12 | MAIN_PACKAGE=. 13 | 14 | # Binary name 15 | BINARY_NAME=gotoolbox-service 16 | 17 | all: build 18 | 19 | build: 20 | $(GOBUILD) -o $(BINARY_NAME) -v $(MAIN_PACKAGE) 21 | 22 | run: 23 | $(GORUN) $(MAIN_PACKAGE) 24 | 25 | clean: 26 | $(GOCLEAN) 27 | rm -f $(BINARY_NAME) 28 | 29 | test: 30 | $(GOTEST) -v ./... 31 | 32 | deps: 33 | $(GOGET) ./... 34 | 35 | # Docker 36 | docker-build: 37 | docker build -t gotoolbox-service . 38 | 39 | docker-run: 40 | docker run -p 8080:8080 gotoolbox-service 41 | 42 | docker-run-detached: 43 | docker run -d -p 8080:8080 gotoolbox-service 44 | 45 | test-api: 46 | @echo "Testing /products endpoint:" 47 | @curl -s http://localhost:8080/products 48 | @echo "\n\nTesting /comments endpoint:" 49 | @curl -s http://localhost:8080/comments 50 | 51 | .PHONY: all build run clean test deps docker-build docker-run docker-run-detached test-api 52 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-light/examples/go/testdata/golang-server-http/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for gotoolbox-service 2 | 3 | # Go parameters 4 | GOCMD=go 5 | GOBUILD=$(GOCMD) build 6 | GORUN=$(GOCMD) run 7 | GOCLEAN=$(GOCMD) clean 8 | GOTEST=$(GOCMD) test 9 | GOGET=$(GOCMD) get 10 | 11 | # Main package path 12 | MAIN_PACKAGE=. 13 | 14 | # Binary name 15 | BINARY_NAME=gotoolbox-service 16 | 17 | all: build 18 | 19 | build: 20 | $(GOBUILD) -o $(BINARY_NAME) -v $(MAIN_PACKAGE) 21 | 22 | run: 23 | $(GORUN) $(MAIN_PACKAGE) 24 | 25 | clean: 26 | $(GOCLEAN) 27 | rm -f $(BINARY_NAME) 28 | 29 | test: 30 | $(GOTEST) -v ./... 31 | 32 | deps: 33 | $(GOGET) ./... 34 | 35 | # Docker 36 | docker-build: 37 | docker build -t gotoolbox-service . 38 | 39 | docker-run: 40 | docker run -p 8080:8080 gotoolbox-service 41 | 42 | docker-run-detached: 43 | docker run -d -p 8080:8080 gotoolbox-service 44 | 45 | test-api: 46 | @echo "Testing /products endpoint:" 47 | @curl -s http://localhost:8080/products 48 | @echo "\n\nTesting /comments endpoint:" 49 | @curl -s http://localhost:8080/comments 50 | 51 | .PHONY: all build run clean test deps docker-build docker-run docker-run-detached test-api 52 | -------------------------------------------------------------------------------- /module-template/commands.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | 6 | "github.com/Excoriate/daggerverse/module-template/internal/dagger" 7 | ) 8 | 9 | const ( 10 | validKeyPattern = `^[a-zA-Z0-9_]+$` 11 | ) 12 | 13 | // OpenTerminal returns a terminal 14 | // 15 | // It returns a terminal for the container. 16 | // Arguments: 17 | // - None. 18 | // Returns: 19 | // - *Terminal: The terminal for the container. 20 | func (m *ModuleTemplate) OpenTerminal() *dagger.Container { 21 | return m.Ctr.Terminal() 22 | } 23 | 24 | // RunShell runs a shell command in the container. 25 | // 26 | // It runs a shell command in the container and returns the output. 27 | // Arguments: 28 | // - cmd: The command to run in the container. 29 | // Returns: 30 | // - string: The output of the command. 31 | // - error: An error if the command fails. 32 | func (m *ModuleTemplate) RunShell(cmd string) (string, error) { 33 | out, err := m. 34 | Ctr. 35 | WithoutEntrypoint(). 36 | WithExec([]string{"sh", "-c", cmd}). 37 | Stdout(context.Background()) 38 | 39 | if err != nil { 40 | return "", WrapErrorf(err, "failed to run shell command: %s", cmd) 41 | } 42 | 43 | return out, nil 44 | } 45 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: ⭐ Feature Request 3 | about: Propose new capabilities for daggerverse modules or tooling 4 | title: "[Module/Tool Name]: Feature description" 5 | labels: "enhancement" 6 | --- 7 | 8 | ## 🎯 Target Component 9 | 10 | - [ ] Feature on existing module 11 | - [ ] New Module Proposal 12 | - [ ] Daggy CLI Tool 13 | - [ ] Module Generator 14 | - [ ] Common Utilities/Shared Code 15 | - [ ] Other (Please describe) 16 | 17 | ## 🌟 Feature Description 18 | 19 | Describe the feature you'd like to see. 20 | Example: "Add support for AWS Lambda function deployments in the `aws` module" 21 | 22 | ## 🎭 Use Case 23 | 24 | Explain the real-world scenario this feature addresses. 25 | Example: "Currently deploying Lambda functions requires multiple Dagger Functions across different modules. A unified approach would streamline serverless deployments." 26 | 27 | ## 💫 Expected Dagger Function Interface 28 | 29 | If applicable, describe how you envision using this feature in a Dagger pipeline: 30 | 31 | ```typescript 32 | // Example interface/usage (pseudo-code) 33 | myModule.doSomething({ 34 | with: "these", 35 | parameters: "ideally", 36 | }); 37 | ``` 38 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Binaries for programs and plugins 2 | *.exe 3 | *.exe~ 4 | *.dll 5 | *.so 6 | *.dylib 7 | 8 | # Output of the go coverage tool, specifically when used with LiteIDE 9 | *.out 10 | *.out.tmp 11 | 12 | # Dependency directories (remove the comment below to include it) 13 | # vendor/ 14 | # Specific binaries 15 | **/bin/ 16 | **/bin/go 17 | 18 | .vscode.scannerwork 19 | .scannerwork 20 | .idea/** 21 | .idea/GitlabLint.xml 22 | 23 | # Dev builds 24 | **/build/ 25 | **/dist/ 26 | 27 | .vscode/ 28 | 29 | # Ignore related terraform, and terragrunt files 30 | *.tfstate 31 | *.tfstate.* 32 | *.tfplan 33 | *.tfplan.* 34 | **/.terraform/ 35 | **/.terragrunt-cache/ 36 | .terraform/ 37 | .DS_Store 38 | *.zip 39 | /dagger.gen.go 40 | /internal/dagger 41 | /internal/querybuilder 42 | 43 | /.direnv 44 | /result 45 | /.nix-profile 46 | /.nix-defexpr 47 | /.nix-gcroots 48 | /nix/ 49 | .devenv 50 | 51 | # rust 52 | /target/ 53 | Cargo.lock 54 | /.daggerx/daggy/target/ 55 | 56 | /internal/telemetry 57 | .idea 58 | 59 | # AI 60 | .aider* 61 | .cursorrules 62 | AI/ 63 | # Devenv 64 | .devenv* 65 | devenv.local.nix 66 | 67 | # direnv 68 | .direnv 69 | 70 | # pre-commit 71 | .pre-commit-config.yaml 72 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-full/module/commands.go.tmpl: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | 6 | "github.com/Excoriate/daggerverse/{{.module_name_pkg}}/internal/dagger" 7 | ) 8 | 9 | const ( 10 | validKeyPattern = `^[a-zA-Z0-9_]+$` 11 | ) 12 | 13 | // OpenTerminal returns a terminal 14 | // 15 | // It returns a terminal for the container. 16 | // Arguments: 17 | // - None. 18 | // Returns: 19 | // - *Terminal: The terminal for the container. 20 | func (m *{{.module_name}}) OpenTerminal() *dagger.Container { 21 | return m.Ctr.Terminal() 22 | } 23 | 24 | // RunShell runs a shell command in the container. 25 | // 26 | // It runs a shell command in the container and returns the output. 27 | // Arguments: 28 | // - cmd: The command to run in the container. 29 | // Returns: 30 | // - string: The output of the command. 31 | // - error: An error if the command fails. 32 | func (m *{{.module_name}}) RunShell(cmd string) (string, error) { 33 | out, err := m. 34 | Ctr. 35 | WithoutEntrypoint(). 36 | WithExec([]string{"sh", "-c", cmd}). 37 | Stdout(context.Background()) 38 | 39 | if err != nil { 40 | return "", WrapErrorf(err, "failed to run shell command: %s", cmd) 41 | } 42 | 43 | return out, nil 44 | } 45 | -------------------------------------------------------------------------------- /.daggerx/daggy/src/command_utils.rs: -------------------------------------------------------------------------------- 1 | use crate::git::find_git_root; 2 | use std::io::Error; 3 | use std::process::{Command, Output, Stdio}; 4 | 5 | pub fn run_command_with_output(command: &str, target_dir: &str) -> Result { 6 | println!("Running command: {}", command); 7 | let target_directory = if target_dir.is_empty() { 8 | find_git_root()? 9 | } else { 10 | target_dir.to_string() 11 | }; 12 | 13 | println!("Running command in directory: {}", target_directory); 14 | let output = Command::new("sh") 15 | .arg("-c") 16 | .arg(command) 17 | .current_dir(target_directory) 18 | .stdout(Stdio::inherit()) 19 | .stderr(Stdio::inherit()) 20 | .output()?; 21 | 22 | if !output.status.success() { 23 | return Err(Error::new( 24 | std::io::ErrorKind::Other, 25 | format!( 26 | "Command failed with exit code: {} and with error: {}", 27 | output.status, 28 | String::from_utf8_lossy(&output.stderr) 29 | ), 30 | )); 31 | } 32 | 33 | Ok(output) 34 | } 35 | 36 | pub fn run_go_fmt(module_path: &str) -> Result<(), Error> { 37 | run_command_with_output("go fmt ./...", module_path)?; 38 | Ok(()) 39 | } 40 | -------------------------------------------------------------------------------- /terragrunt/tests/testdata/terraform/tf-module-1/.terraform.lock.hcl: -------------------------------------------------------------------------------- 1 | # This file is maintained automatically by "terraform init". 2 | # Manual edits may be lost in future updates. 3 | 4 | provider "registry.terraform.io/hashicorp/random" { 5 | version = "3.5.1" 6 | constraints = "~> 3.5.1" 7 | hashes = [ 8 | "h1:IL9mSatmwov+e0+++YX2V6uel+dV6bn+fC/cnGDK3Ck=", 9 | "zh:04e3fbd610cb52c1017d282531364b9c53ef72b6bc533acb2a90671957324a64", 10 | "zh:119197103301ebaf7efb91df8f0b6e0dd31e6ff943d231af35ee1831c599188d", 11 | "zh:4d2b219d09abf3b1bb4df93d399ed156cadd61f44ad3baf5cf2954df2fba0831", 12 | "zh:6130bdde527587bbe2dcaa7150363e96dbc5250ea20154176d82bc69df5d4ce3", 13 | "zh:6cc326cd4000f724d3086ee05587e7710f032f94fc9af35e96a386a1c6f2214f", 14 | "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", 15 | "zh:b6d88e1d28cf2dfa24e9fdcc3efc77adcdc1c3c3b5c7ce503a423efbdd6de57b", 16 | "zh:ba74c592622ecbcef9dc2a4d81ed321c4e44cddf7da799faa324da9bf52a22b2", 17 | "zh:c7c5cde98fe4ef1143bd1b3ec5dc04baf0d4cc3ca2c5c7d40d17c0e9b2076865", 18 | "zh:dac4bad52c940cd0dfc27893507c1e92393846b024c5a9db159a93c534a3da03", 19 | "zh:de8febe2a2acd9ac454b844a4106ed295ae9520ef54dc8ed2faf29f12716b602", 20 | "zh:eab0d0495e7e711cca367f7d4df6e322e6c562fc52151ec931176115b83ed014", 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /terragrunt/tests/testdata/terragrunt/.terraform.lock.hcl: -------------------------------------------------------------------------------- 1 | # This file is maintained automatically by "terraform init". 2 | # Manual edits may be lost in future updates. 3 | 4 | provider "registry.terraform.io/hashicorp/random" { 5 | version = "3.5.1" 6 | constraints = "3.5.1, ~> 3.5.1" 7 | hashes = [ 8 | "h1:IL9mSatmwov+e0+++YX2V6uel+dV6bn+fC/cnGDK3Ck=", 9 | "zh:04e3fbd610cb52c1017d282531364b9c53ef72b6bc533acb2a90671957324a64", 10 | "zh:119197103301ebaf7efb91df8f0b6e0dd31e6ff943d231af35ee1831c599188d", 11 | "zh:4d2b219d09abf3b1bb4df93d399ed156cadd61f44ad3baf5cf2954df2fba0831", 12 | "zh:6130bdde527587bbe2dcaa7150363e96dbc5250ea20154176d82bc69df5d4ce3", 13 | "zh:6cc326cd4000f724d3086ee05587e7710f032f94fc9af35e96a386a1c6f2214f", 14 | "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", 15 | "zh:b6d88e1d28cf2dfa24e9fdcc3efc77adcdc1c3c3b5c7ce503a423efbdd6de57b", 16 | "zh:ba74c592622ecbcef9dc2a4d81ed321c4e44cddf7da799faa324da9bf52a22b2", 17 | "zh:c7c5cde98fe4ef1143bd1b3ec5dc04baf0d4cc3ca2c5c7d40d17c0e9b2076865", 18 | "zh:dac4bad52c940cd0dfc27893507c1e92393846b024c5a9db159a93c534a3da03", 19 | "zh:de8febe2a2acd9ac454b844a4106ed295ae9520ef54dc8ed2faf29f12716b602", 20 | "zh:eab0d0495e7e711cca367f7d4df6e322e6c562fc52151ec931176115b83ed014", 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /terragrunt/examples/go/testdata/terragrunt/.terraform.lock.hcl: -------------------------------------------------------------------------------- 1 | # This file is maintained automatically by "terraform init". 2 | # Manual edits may be lost in future updates. 3 | 4 | provider "registry.terraform.io/hashicorp/random" { 5 | version = "3.5.1" 6 | constraints = "3.5.1, ~> 3.5.1" 7 | hashes = [ 8 | "h1:IL9mSatmwov+e0+++YX2V6uel+dV6bn+fC/cnGDK3Ck=", 9 | "zh:04e3fbd610cb52c1017d282531364b9c53ef72b6bc533acb2a90671957324a64", 10 | "zh:119197103301ebaf7efb91df8f0b6e0dd31e6ff943d231af35ee1831c599188d", 11 | "zh:4d2b219d09abf3b1bb4df93d399ed156cadd61f44ad3baf5cf2954df2fba0831", 12 | "zh:6130bdde527587bbe2dcaa7150363e96dbc5250ea20154176d82bc69df5d4ce3", 13 | "zh:6cc326cd4000f724d3086ee05587e7710f032f94fc9af35e96a386a1c6f2214f", 14 | "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", 15 | "zh:b6d88e1d28cf2dfa24e9fdcc3efc77adcdc1c3c3b5c7ce503a423efbdd6de57b", 16 | "zh:ba74c592622ecbcef9dc2a4d81ed321c4e44cddf7da799faa324da9bf52a22b2", 17 | "zh:c7c5cde98fe4ef1143bd1b3ec5dc04baf0d4cc3ca2c5c7d40d17c0e9b2076865", 18 | "zh:dac4bad52c940cd0dfc27893507c1e92393846b024c5a9db159a93c534a3da03", 19 | "zh:de8febe2a2acd9ac454b844a4106ed295ae9520ef54dc8ed2faf29f12716b602", 20 | "zh:eab0d0495e7e711cca367f7d4df6e322e6c562fc52151ec931176115b83ed014", 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /terragrunt/examples/go/testdata/terraform/tf-module-1/.terraform.lock.hcl: -------------------------------------------------------------------------------- 1 | # This file is maintained automatically by "terraform init". 2 | # Manual edits may be lost in future updates. 3 | 4 | provider "registry.terraform.io/hashicorp/random" { 5 | version = "3.5.1" 6 | constraints = "~> 3.5.1" 7 | hashes = [ 8 | "h1:IL9mSatmwov+e0+++YX2V6uel+dV6bn+fC/cnGDK3Ck=", 9 | "zh:04e3fbd610cb52c1017d282531364b9c53ef72b6bc533acb2a90671957324a64", 10 | "zh:119197103301ebaf7efb91df8f0b6e0dd31e6ff943d231af35ee1831c599188d", 11 | "zh:4d2b219d09abf3b1bb4df93d399ed156cadd61f44ad3baf5cf2954df2fba0831", 12 | "zh:6130bdde527587bbe2dcaa7150363e96dbc5250ea20154176d82bc69df5d4ce3", 13 | "zh:6cc326cd4000f724d3086ee05587e7710f032f94fc9af35e96a386a1c6f2214f", 14 | "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", 15 | "zh:b6d88e1d28cf2dfa24e9fdcc3efc77adcdc1c3c3b5c7ce503a423efbdd6de57b", 16 | "zh:ba74c592622ecbcef9dc2a4d81ed321c4e44cddf7da799faa324da9bf52a22b2", 17 | "zh:c7c5cde98fe4ef1143bd1b3ec5dc04baf0d4cc3ca2c5c7d40d17c0e9b2076865", 18 | "zh:dac4bad52c940cd0dfc27893507c1e92393846b024c5a9db159a93c534a3da03", 19 | "zh:de8febe2a2acd9ac454b844a4106ed295ae9520ef54dc8ed2faf29f12716b602", 20 | "zh:eab0d0495e7e711cca367f7d4df6e322e6c562fc52151ec931176115b83ed014", 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /terragrunt/tests/testdata/terragrunt/modules/random-string/.terraform.lock.hcl: -------------------------------------------------------------------------------- 1 | # This file is maintained automatically by "terraform init". 2 | # Manual edits may be lost in future updates. 3 | 4 | provider "registry.terraform.io/hashicorp/random" { 5 | version = "3.5.1" 6 | constraints = "~> 3.5.1" 7 | hashes = [ 8 | "h1:IL9mSatmwov+e0+++YX2V6uel+dV6bn+fC/cnGDK3Ck=", 9 | "zh:04e3fbd610cb52c1017d282531364b9c53ef72b6bc533acb2a90671957324a64", 10 | "zh:119197103301ebaf7efb91df8f0b6e0dd31e6ff943d231af35ee1831c599188d", 11 | "zh:4d2b219d09abf3b1bb4df93d399ed156cadd61f44ad3baf5cf2954df2fba0831", 12 | "zh:6130bdde527587bbe2dcaa7150363e96dbc5250ea20154176d82bc69df5d4ce3", 13 | "zh:6cc326cd4000f724d3086ee05587e7710f032f94fc9af35e96a386a1c6f2214f", 14 | "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", 15 | "zh:b6d88e1d28cf2dfa24e9fdcc3efc77adcdc1c3c3b5c7ce503a423efbdd6de57b", 16 | "zh:ba74c592622ecbcef9dc2a4d81ed321c4e44cddf7da799faa324da9bf52a22b2", 17 | "zh:c7c5cde98fe4ef1143bd1b3ec5dc04baf0d4cc3ca2c5c7d40d17c0e9b2076865", 18 | "zh:dac4bad52c940cd0dfc27893507c1e92393846b024c5a9db159a93c534a3da03", 19 | "zh:de8febe2a2acd9ac454b844a4106ed295ae9520ef54dc8ed2faf29f12716b602", 20 | "zh:eab0d0495e7e711cca367f7d4df6e322e6c562fc52151ec931176115b83ed014", 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /terragrunt/examples/go/testdata/terragrunt/modules/random-string/.terraform.lock.hcl: -------------------------------------------------------------------------------- 1 | # This file is maintained automatically by "terraform init". 2 | # Manual edits may be lost in future updates. 3 | 4 | provider "registry.terraform.io/hashicorp/random" { 5 | version = "3.5.1" 6 | constraints = "~> 3.5.1" 7 | hashes = [ 8 | "h1:IL9mSatmwov+e0+++YX2V6uel+dV6bn+fC/cnGDK3Ck=", 9 | "zh:04e3fbd610cb52c1017d282531364b9c53ef72b6bc533acb2a90671957324a64", 10 | "zh:119197103301ebaf7efb91df8f0b6e0dd31e6ff943d231af35ee1831c599188d", 11 | "zh:4d2b219d09abf3b1bb4df93d399ed156cadd61f44ad3baf5cf2954df2fba0831", 12 | "zh:6130bdde527587bbe2dcaa7150363e96dbc5250ea20154176d82bc69df5d4ce3", 13 | "zh:6cc326cd4000f724d3086ee05587e7710f032f94fc9af35e96a386a1c6f2214f", 14 | "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", 15 | "zh:b6d88e1d28cf2dfa24e9fdcc3efc77adcdc1c3c3b5c7ce503a423efbdd6de57b", 16 | "zh:ba74c592622ecbcef9dc2a4d81ed321c4e44cddf7da799faa324da9bf52a22b2", 17 | "zh:c7c5cde98fe4ef1143bd1b3ec5dc04baf0d4cc3ca2c5c7d40d17c0e9b2076865", 18 | "zh:dac4bad52c940cd0dfc27893507c1e92393846b024c5a9db159a93c534a3da03", 19 | "zh:de8febe2a2acd9ac454b844a4106ed295ae9520ef54dc8ed2faf29f12716b602", 20 | "zh:eab0d0495e7e711cca367f7d4df6e322e6c562fc52151ec931176115b83ed014", 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /.daggerx/daggy/src/git_test.rs: -------------------------------------------------------------------------------- 1 | #[cfg(test)] 2 | mod tests { 3 | use crate::git; 4 | use std::env; 5 | use std::path::{Path, PathBuf}; 6 | 7 | #[test] 8 | fn test_find_git_root() { 9 | // Start from the current executable's directory and search upwards 10 | let mut current_dir = env::current_exe().unwrap().parent().unwrap().to_path_buf(); 11 | 12 | while current_dir.parent().is_some() { 13 | if let Ok(git_root) = git::find_git_root_from_path(¤t_dir) { 14 | // We found a git root 15 | assert!(Path::new(&git_root).is_absolute()); 16 | assert!(Path::new(&git_root).join(".git").exists()); 17 | return; 18 | } 19 | // Move up one directory 20 | current_dir = current_dir.parent().unwrap().to_path_buf(); 21 | } 22 | 23 | panic!("No Git repository found in any parent directory"); 24 | } 25 | 26 | #[test] 27 | fn test_find_git_root_not_in_repo() { 28 | // This test remains unchanged 29 | let original_dir = env::current_dir().unwrap(); 30 | env::set_current_dir("/tmp").unwrap(); 31 | 32 | let result = git::find_git_root(); 33 | assert!(result.is_err()); 34 | 35 | env::set_current_dir(original_dir).unwrap(); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /.daggerx/daggy/src/dagger_utils.rs: -------------------------------------------------------------------------------- 1 | use std::io::{Error, ErrorKind}; 2 | use std::path::Path; 3 | use std::process::Command; 4 | 5 | pub fn find_dagger_modules() -> Result, Error> { 6 | let output = Command::new("find") 7 | .args(&[".", "-type", "f", "-name", "dagger.json"]) 8 | .output()?; 9 | 10 | if !output.status.success() { 11 | return Err(Error::new( 12 | ErrorKind::Other, 13 | "Failed to execute find command", 14 | )); 15 | } 16 | 17 | let modules = String::from_utf8_lossy(&output.stdout) 18 | .lines() 19 | .map(|line| { 20 | Path::new(line) 21 | .parent() 22 | .unwrap() 23 | .to_string_lossy() 24 | .into_owned() 25 | }) 26 | .collect::>(); 27 | 28 | Ok(modules) 29 | } 30 | 31 | pub fn dagger_module_exists(module: &str) -> Result<(), Error> { 32 | if module.is_empty() { 33 | return Err(Error::new( 34 | ErrorKind::InvalidInput, 35 | "Module name cannot be empty", 36 | )); 37 | } 38 | 39 | // Check if the module already exists in the root of this directory. 40 | if Path::new(module).exists() { 41 | return Err(Error::new( 42 | ErrorKind::AlreadyExists, 43 | "Module already exists", 44 | )); 45 | } 46 | 47 | Ok(()) 48 | } 49 | -------------------------------------------------------------------------------- /gotest/tests/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /gotoolbox/tests/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /tflinter/tests/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /gopkgpublisher/tests/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /gotest/examples/go/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /terragrunt/tests/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /tflinter/examples/go/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /aws-tag-inspector/tests/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /gotoolbox/examples/go/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /module-template/tests/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /terragrunt/examples/go/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /aws-tag-inspector/examples/go/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /gopkgpublisher/examples/go/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /gotoolbox/tests/testdata/golang-server-http/my-data/data.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /module-template-light/tests/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /module-template/examples/go/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-full/tests/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-light/tests/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /module-template-light/examples/go/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-full/examples/go/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /.daggerx/templates/mod-light/examples/go/testdata/common/test-file.yml: -------------------------------------------------------------------------------- 1 | --- 2 | users: 3 | - id: 1 4 | name: John Doe 5 | email: john.doe@example.com 6 | age: 29 7 | active: true 8 | roles: [admin, user] 9 | address: 10 | street: 123 Main St 11 | city: Springfield 12 | state: IL 13 | zip: 62701 14 | - id: 2 15 | name: Jane Smith 16 | email: jane.smith@example.com 17 | age: 34 18 | active: false 19 | roles: [user] 20 | address: 21 | street: 456 Oak St 22 | city: Metropolis 23 | state: NY 24 | zip: 10001 25 | settings: 26 | theme: dark 27 | notifications: true 28 | language: en-US 29 | products: 30 | - id: 1001 31 | name: Laptop 32 | price: 999.99 33 | in_stock: 50 34 | categories: [electronics, computers] 35 | - id: 1002 36 | name: Smartphone 37 | price: 699.99 38 | in_stock: 200 39 | categories: [electronics, mobile] 40 | orders: 41 | - id: 5001 42 | user_id: 1 43 | product_id: 1001 44 | quantity: 1 45 | status: shipped 46 | total: 999.99 47 | - id: 5002 48 | user_id: 2 49 | product_id: 1002 50 | quantity: 2 51 | status: processing 52 | total: 1399.98 53 | logs: 54 | - timestamp: 2024-06-22T14:12:00Z 55 | level: info 56 | message: User John Doe logged in 57 | - timestamp: 2024-06-22T15:30:00Z 58 | level: error 59 | message: Failed to process payment for order 5002 60 | -------------------------------------------------------------------------------- /.github/workflows/issue-comment-created.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: Remove outdated labels 3 | on: 4 | pull_request_target: 5 | types: [closed] 6 | issues: 7 | types: [closed] 8 | jobs: 9 | remove-merged-pr-labels: 10 | name: Remove merged pull request labels 11 | if: github.event.pull_request.merged 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: mondeja/remove-labels-gh-action@v1 15 | with: 16 | token: ${{ secrets.GITHUB_TOKEN }} 17 | labels: | 18 | awaiting reply 19 | changes requested 20 | duplicate 21 | in discussion 22 | invalid 23 | out of scope 24 | pending 25 | won't add 26 | remove-closed-pr-labels: 27 | name: Remove closed pull request labels 28 | if: github.event_name == 'pull_request_target' && (! github.event.pull_request.merged) 29 | runs-on: ubuntu-latest 30 | steps: 31 | - uses: mondeja/remove-labels-gh-action@v1 32 | with: 33 | token: ${{ secrets.GITHUB_TOKEN }} 34 | labels: in discussion 35 | remove-closed-issue-labels: 36 | name: Remove closed issue labels 37 | if: github.event.issue.state == 'closed' 38 | runs-on: ubuntu-latest 39 | steps: 40 | - uses: mondeja/remove-labels-gh-action@v1 41 | with: 42 | token: ${{ secrets.GITHUB_TOKEN }} 43 | labels: |- 44 | in discussion 45 | pending 46 | -------------------------------------------------------------------------------- /.daggerx/daggy/dagger/main.go: -------------------------------------------------------------------------------- 1 | // A generated module for Modexample functions 2 | // 3 | // This module has been generated via dagger init and serves as a reference to 4 | // basic module structure as you get started with Dagger. 5 | // 6 | // Two functions have been pre-created. You can modify, delete, or add to them, 7 | // as needed. They demonstrate usage of arguments and return types using simple 8 | // echo and grep commands. The functions can be called from the dagger CLI or 9 | // from one of the SDKs. 10 | // 11 | // The first line in this comment block is a short description line and the 12 | // rest is a long description with more detail on the module's purpose or usage, 13 | // if appropriate. All modules should have a short description. 14 | 15 | package main 16 | 17 | import ( 18 | "context" 19 | ) 20 | 21 | type Modexample struct{} 22 | 23 | // Returns a container that echoes whatever string argument is provided 24 | func (m *Modexample) ContainerEcho(stringArg string) *Container { 25 | return dag.Container().From("alpine:latest").WithExec([]string{"echo", stringArg}) 26 | } 27 | 28 | // Returns lines that match a pattern in the files of the provided Directory 29 | func (m *Modexample) GrepDir(ctx context.Context, directoryArg *Directory, pattern string) (string, error) { 30 | return dag.Container(). 31 | From("alpine:latest"). 32 | WithMountedDirectory("/mnt", directoryArg). 33 | WithWorkdir("/mnt"). 34 | WithExec([]string{"grep", "-R", pattern, "."}). 35 | Stdout(ctx) 36 | } 37 | -------------------------------------------------------------------------------- /gopkgpublisher/container_base.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "path/filepath" 5 | 6 | "github.com/Excoriate/daggerx/pkg/apkox" 7 | "github.com/Excoriate/daggerx/pkg/fixtures" 8 | ) 9 | 10 | // ApkoKeyRingInfo represents the keyring information for Apko. 11 | type ApkoKeyRingInfo apkox.KeyringInfo 12 | 13 | const ( 14 | defaultApkoImage = "cgr.dev/chainguard/apko" 15 | defaultApkoTarball = "image.tar" 16 | ) 17 | 18 | // BaseApko sets the base image to an Apko image and creates the base container. 19 | // 20 | // Returns a pointer to the Gopkgpublisher instance. 21 | func (m *Gopkgpublisher) BaseApko() (*Gopkgpublisher, error) { 22 | apkoCfgFilePath := "config/presets/base-alpine.yaml" 23 | apkoCfgFile := dag.CurrentModule(). 24 | Source(). 25 | File(apkoCfgFilePath) 26 | 27 | apkoCfgFilePathMounted := filepath.Join(fixtures.MntPrefix, apkoCfgFilePath) 28 | 29 | apkoCtr := dag.Container(). 30 | From(defaultApkoImage). 31 | WithMountedFile(apkoCfgFilePathMounted, apkoCfgFile) 32 | 33 | apkoBuildCmd := []string{ 34 | "apko", 35 | "build", 36 | apkoCfgFilePathMounted, 37 | "latest", 38 | defaultApkoTarball, 39 | "--cache-dir", 40 | "/var/cache/apko", 41 | } 42 | 43 | for _, pkg := range m.ApkoPackages { 44 | apkoBuildCmd = append(apkoBuildCmd, "--package-append", pkg) 45 | } 46 | 47 | apkoCtr = apkoCtr. 48 | WithExec(apkoBuildCmd) 49 | 50 | outputTar := apkoCtr. 51 | File(defaultApkoTarball) 52 | 53 | m.Ctr = dag. 54 | Container(). 55 | Import(outputTar) 56 | 57 | return m, nil 58 | } 59 | -------------------------------------------------------------------------------- /.github/workflows/yaml-linter.excluded: -------------------------------------------------------------------------------- 1 | name: YAML Lint and Format 2 | on: 3 | workflow_dispatch: 4 | push: 5 | pull_request: 6 | permissions: 7 | contents: read 8 | pull-requests: write 9 | issues: write 10 | statuses: write 11 | jobs: 12 | yaml-lint-and-format: 13 | name: YAML Lint and Format 14 | runs-on: ubuntu-latest 15 | steps: 16 | - name: Checkout Repository 17 | uses: actions/checkout@v4 18 | with: 19 | fetch-depth: 0 20 | 21 | - name: Set up Python 22 | uses: actions/setup-python@v4 23 | with: 24 | python-version: '3.x' 25 | 26 | - name: Install yamllint 27 | run: | 28 | pip install yamllint==1.35.1 29 | 30 | - name: Install yamlfmt 31 | run: | 32 | curl -L https://github.com/google/yamlfmt/releases/download/v0.14.0/yamlfmt_0.14.0_Linux_x86_64.tar.gz | tar xz 33 | sudo mv yamlfmt /usr/local/bin/ 34 | 35 | - name: Check YAML Formatting with yamlfmt 36 | run: | 37 | yamlfmt -conf .yamlfmt.yml -lint 38 | # Ensure the action fails on formatting issues 39 | continue-on-error: false 40 | 41 | - name: Lint YAML Files with yamllint 42 | run: | 43 | yamllint -c .yamllint.yml . | tee yamllint.log 44 | if [ "${PIPESTATUS[0]}" -ne 0 ]; then 45 | exit 1 46 | fi 47 | 48 | - name: Upload Lint Results 49 | if: always() 50 | uses: actions/upload-artifact@v4 51 | with: 52 | name: yamllint-results 53 | path: yamllint.log -------------------------------------------------------------------------------- /.daggerx/daggy/src/main.rs: -------------------------------------------------------------------------------- 1 | #[cfg(test)] 2 | mod git_test; 3 | 4 | mod args; 5 | mod cmd_create_module; 6 | mod cmd_develop_modules; 7 | mod command_utils; 8 | mod configuration; 9 | mod dagger_commands; 10 | mod dagger_json; 11 | mod dagger_utils; 12 | mod git; 13 | mod github_actions; 14 | mod naming; 15 | mod readme_and_docs; 16 | mod sync_inspect; 17 | mod templating; 18 | mod utils; 19 | 20 | use args::Args; 21 | use clap::Parser; 22 | use std::io::{Error, ErrorKind}; 23 | 24 | const SUPPORTED_MODULE_TYPES: [&str; 2] = ["full", "light"]; 25 | 26 | fn main() -> Result<(), Error> { 27 | let args: Args = Args::parse(); 28 | 29 | match args.task.as_str() { 30 | "create" => create_module_task(&args), 31 | "sync" => sync_inspect::sync_modules_task(&args), 32 | "inspect" => sync_inspect::inspect_modules_task(&args), 33 | "develop" => cmd_develop_modules::develop_modules(), 34 | _ => { 35 | eprintln!("Unknown task: {}", args.task); 36 | Err(Error::new(ErrorKind::InvalidInput, "Unknown task")) 37 | } 38 | } 39 | } 40 | 41 | fn create_module_task(args: &Args) -> Result<(), Error> { 42 | match &args.module { 43 | Some(module) => { 44 | cmd_create_module::create_module(module, args.module_type.as_deref().unwrap_or("full")) 45 | } 46 | None => { 47 | eprintln!("Module name is required for 'create' task"); 48 | Err(Error::new( 49 | ErrorKind::InvalidInput, 50 | "Module name is required", 51 | )) 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 🪲 Bug Report 3 | about: Report issues with daggerverse modules or tooling 4 | title: "[Module/Tool Name]: Brief description of bug" 5 | labels: "bug" 6 | --- 7 | 8 | ## 🪲 What's Not Working 9 | 10 | Provide a clear explanation of what's not working as expected. 11 | Example: "The `aws` module's `deploy` function fails when using a custom VPC configuration" 12 | 13 | ### Expected Behavior 14 | 15 | Provide a clear explanation of what you expected to happen. 16 | Example: "The `aws` module's `deploy` function should create an EC2 instance with the specified VPC configuration" 17 | 18 | ### Actual Behavior 19 | 20 | Provide a clear explanation of what actually happened. 21 | Example: "The `aws` module's `deploy` function fails when using a custom VPC configuration" 22 | 23 | ## 🎯 Component Type 24 | 25 | Please select what you're having issues with: 26 | 27 | - [ ] Daggerverse Module (specify which: **\_\_\_**) 28 | - [ ] Daggy CLI Tool 29 | - [ ] Module Template Full 30 | - [ ] Module Template Light 31 | - [ ] Documentation 32 | - [ ] Tooling (E.g.: Justfile) 33 | - [ ] Other (Please describe) 34 | 35 | ## 📋 Environment Details 36 | 37 | - Dagger Version: (e.g., v0.9.3) 38 | - Module/Tool Version: (e.g., aws@v0.2.1) 39 | - OS: (e.g., Ubuntu 22.04) 40 | 41 | ## 🔬 Reproduction 42 | 43 | ### Code Sample 44 | 45 | ```go 46 | // Include your Dagger Function call or relevant code 47 | ``` 48 | 49 | ### Dagger Version 50 | 51 | ```sh 52 | dagger version 53 | ``` 54 | 55 | ### Module/Tool Version 56 | 57 | ```sh 58 | module/tool version 59 | ``` 60 | -------------------------------------------------------------------------------- /.github/settings.yml: -------------------------------------------------------------------------------- 1 | --- 2 | repository: 3 | name: daggerverse 4 | description: A collection of Dagger modules powered by Dagger. 5 | topics: example, devops, tooling, ecs, sre, cli, dagger, ci/cd 6 | default_branch: main 7 | allow_squash_merge: true 8 | allow_merge_commit: true 9 | allow_rebase_merge: true 10 | delete_branch_on_merge: true 11 | has_projects: true 12 | has_wiki: false 13 | enable_vulnerability_alerts: true 14 | enable_automated_security_fixes: true 15 | teams: 16 | - name: maintainers 17 | permission: admin 18 | - name: contributors 19 | permission: push 20 | labels: 21 | - name: bug 22 | color: CC0000 23 | description: Something is not working fine 🐛. 24 | - name: feature 25 | color: '#336699' 26 | description: New functionality 🚀. 27 | - name: Help Wanted 28 | new_name: help wanted 🙏 29 | - name: documentation 30 | color: 0075ca 31 | description: Improvements or additions to documentation 📚. 32 | branches: 33 | - name: main 34 | protection: 35 | required_pull_request_reviews: 36 | required_approving_review_count: 1 37 | dismiss_stale_reviews: true 38 | require_code_owner_reviews: true 39 | dismissal_restrictions: {} 40 | code_owner_approval: true 41 | required_conversation_resolution: true 42 | required_status_checks: 43 | strict: true 44 | contexts: [DCO] 45 | enforce_admins: false 46 | required_linear_history: true 47 | restrictions: 48 | users: [Excoriate] 49 | apps: [] 50 | teams: [] 51 | -------------------------------------------------------------------------------- /.yamllint.yml: -------------------------------------------------------------------------------- 1 | --- 2 | extends: default 3 | rules: 4 | braces: 5 | level: error 6 | max-spaces-inside: 1 7 | brackets: 8 | level: error 9 | max-spaces-inside: 1 10 | colons: 11 | level: error 12 | max-spaces-after: 1 13 | max-spaces-before: 0 14 | commas: 15 | level: error 16 | max-spaces-after: 1 17 | max-spaces-before: 0 18 | comments: 19 | level: error 20 | min-spaces-from-content: 1 21 | comments-indentation: 22 | level: error 23 | document-end: 24 | level: error 25 | present: false 26 | document-start: 27 | level: error 28 | present: true 29 | empty-lines: 30 | level: error 31 | max: 1 32 | empty-values: 33 | level: error 34 | hyphens: 35 | level: error 36 | max-spaces-after: 1 37 | indentation: 38 | spaces: 2 39 | indent-sequences: true 40 | check-multi-line-strings: false 41 | level: error 42 | key-duplicates: enable 43 | key-ordering: disable 44 | line-length: 45 | max: 120 46 | level: warning 47 | allow-non-breakable-words: true 48 | allow-non-breakable-inline-mappings: true 49 | new-line-at-end-of-file: enable 50 | new-lines: 51 | type: unix 52 | trailing-spaces: enable 53 | truthy: 54 | level: error 55 | check-keys: false 56 | ignore: | 57 | .git/ 58 | .github/ISSUE_TEMPLATE/ 59 | node_modules/ 60 | dist/ 61 | vendor/ 62 | target/ 63 | .direnv/ 64 | .terraform/ 65 | .terragrunt-cache/ 66 | \.devenv/ 67 | **/.goreleaser.yaml 68 | **/.github/workflows/*.yml 69 | tests/testdata/ 70 | **/testdata/ 71 | yaml-files: ['*.yaml', '*.yml', .yamllint.yml] 72 | -------------------------------------------------------------------------------- /gotoolbox/tests/testdata/gotoolbox/.goreleaser.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 2 3 | project_name: gotoolbox-app 4 | before: 5 | hooks: 6 | - go mod tidy 7 | # setups builds for linux and darwin on amd64 and arm64 8 | # https://goreleaser.com/customization/build 9 | builds: 10 | - env: [CGO_ENABLED=0] 11 | goos: [linux, darwin] 12 | goarch: 13 | - amd64 14 | - arm64 15 | # ensures mod timestamp to be the commit timestamp 16 | mod_timestamp: '{{ .CommitTimestamp }}' 17 | main: main.go 18 | flags: 19 | - -trimpath 20 | ldflags: 21 | # use commit date instead of current date as main.date 22 | # only needed if you actually use those things in your main package, otherwise can be ignored. 23 | - -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{ .CommitDate }} 24 | release: 25 | prerelease: auto 26 | # proxies from the go mod proxy before building 27 | # https://goreleaser.com/customization/gomod 28 | gomod: 29 | proxy: true 30 | # config the checksum filename 31 | # https://goreleaser.com/customization/checksum 32 | checksum: 33 | name_template: checksums.txt 34 | # create a source tarball 35 | # https://goreleaser.com/customization/source/ 36 | source: 37 | enabled: true 38 | # creates SBOMs of all archives and the source tarball using syft 39 | # https://goreleaser.com/customization/sbom 40 | sboms: 41 | - artifacts: archive 42 | - id: source # Two different sbom configurations need two different IDs 43 | artifacts: source 44 | archives: 45 | - wrap_in_directory: true 46 | format_overrides: 47 | - goos: windows 48 | format: zip 49 | snapshot: 50 | name_template: '{{ .Tag }}-snapshot' 51 | changelog: 52 | sort: asc 53 | filters: 54 | exclude: ['^docs:', '^test:', '^*.md:'] 55 | -------------------------------------------------------------------------------- /gotest/tests/testdata/golang/.goreleaser.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 2 3 | project_name: gotoolbox-app 4 | before: 5 | hooks: 6 | - go mod tidy 7 | # setups builds for linux and darwin on amd64 and arm64 8 | # https://goreleaser.com/customization/build 9 | builds: 10 | - env: [CGO_ENABLED=0] 11 | goos: [linux, darwin] 12 | goarch: 13 | - amd64 14 | - arm64 15 | # ensures mod timestamp to be the commit timestamp 16 | mod_timestamp: '{{ .CommitTimestamp }}' 17 | main: main.go 18 | flags: 19 | # trims path 20 | [-trimpath] 21 | ldflags: 22 | # use commit date instead of current date as main.date 23 | # only needed if you actually use those things in your main package, otherwise can be ignored. 24 | - -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{ .CommitDate }} 25 | release: 26 | prerelease: auto 27 | # proxies from the go mod proxy before building 28 | # https://goreleaser.com/customization/gomod 29 | gomod: 30 | proxy: true 31 | # config the checksum filename 32 | # https://goreleaser.com/customization/checksum 33 | checksum: 34 | name_template: checksums.txt 35 | # create a source tarball 36 | # https://goreleaser.com/customization/source/ 37 | source: 38 | enabled: true 39 | # creates SBOMs of all archives and the source tarball using syft 40 | # https://goreleaser.com/customization/sbom 41 | sboms: 42 | - artifacts: archive 43 | - id: source # Two different sbom configurations need two different IDs 44 | artifacts: source 45 | archives: 46 | - wrap_in_directory: true 47 | format_overrides: 48 | - goos: windows 49 | format: zip 50 | snapshot: 51 | name_template: '{{ .Tag }}-snapshot' 52 | changelog: 53 | sort: asc 54 | filters: 55 | exclude: ['^docs:', '^test:', '^*.md:'] 56 | -------------------------------------------------------------------------------- /module-template/clis.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "github.com/Excoriate/daggerx/pkg/installerx" 5 | ) 6 | 7 | // WithAWSCLIInAlpineContainer installs the AWS CLI in the 8 | // Alpine-based container. 9 | // This method installs the AWS CLI in a golang/alpine container 10 | // using the 'apk' package manager. 11 | // It is particularly useful for environments that need to 12 | // interact with AWS services. 13 | // 14 | // Returns: 15 | // - *ModuleTemplate: The updated ModuleTemplate with the AWS CLI installed in the container. 16 | func (m *ModuleTemplate) WithAWSCLIInAlpineContainer() *ModuleTemplate { 17 | m.Ctr = m.Ctr. 18 | WithExec([]string{"apk", "add", "--no-cache", "aws-cli"}) 19 | 20 | return m 21 | } 22 | 23 | // WithAWSCLIInUbuntuContainer installs the AWS CLI in the Ubuntu-based container. 24 | // 25 | // This method installs the AWS CLI in an Ubuntu-based container following the 26 | // official AWS installation steps. 27 | // 28 | // Args: 29 | // - architecture (string): The architecture for which the AWS CLI should be downloaded. 30 | // Valid values are "x86_64" and "aarch64". Default is "x86_64". 31 | // 32 | // Returns: 33 | // - *ModuleTemplate: The updated ModuleTemplate with the AWS CLI installed in the container. 34 | func (m *ModuleTemplate) WithAWSCLIInUbuntuContainer( 35 | // architecture is the architecture for which the AWS CLI should be downloaded. 36 | // Valid values are "x86_64" and "aarch64". Default is "x86_64". 37 | // +optional 38 | architecture string) *ModuleTemplate { 39 | awsCLIInstallation := installerx.GetAwsCliInstallCommand(architecture) 40 | 41 | m.Ctr = m.Ctr. 42 | WithExec([]string{"apt-get", "update"}). 43 | WithExec([]string{"apt-get", "install", "-y", "unzip", "curl", "sudo"}). 44 | WithExec([]string{"sh", "-c", awsCLIInstallation}) 45 | 46 | return m 47 | } 48 | -------------------------------------------------------------------------------- /.daggerx/daggy/src/readme_and_docs.rs: -------------------------------------------------------------------------------- 1 | use crate::configuration::NewDaggerModule; 2 | use crate::templating::replace_module_name; 3 | use std::fs; 4 | use std::io::Error; 5 | use std::path::Path; 6 | 7 | pub fn copy_readme_and_license(module_cfg: &NewDaggerModule) -> Result<(), Error> { 8 | let readme_dest_path = format!("{}/README.md", module_cfg.path); 9 | let license_dest_path = format!("{}/LICENSE", module_cfg.path); 10 | println!( 11 | "Copying README.md and LICENSE files 📄: {}", 12 | module_cfg.name 13 | ); 14 | 15 | // Ensure the destination directory exists 16 | fs::create_dir_all(&module_cfg.path)?; 17 | 18 | // Copy the README.md and LICENSE files from the template directory to the module path 19 | fs::copy(".daggerx/templates/README.md", &readme_dest_path)?; 20 | fs::copy(".daggerx/templates/LICENSE", &license_dest_path)?; 21 | 22 | // Replace placeholders in README.md if any 23 | let readme_content = fs::read_to_string(&readme_dest_path)?; 24 | let new_readme_content = readme_content.replace("[@MODULE_NAME]", &module_cfg.name); 25 | fs::write(readme_dest_path, new_readme_content)?; 26 | 27 | Ok(()) 28 | } 29 | 30 | pub fn update_readme_content(module_cfg: &NewDaggerModule) -> Result<(), Error> { 31 | let readme_path = format!("{}/README.md", module_cfg.path); 32 | println!("Updating README.md content 📄: {}", module_cfg.name); 33 | 34 | if !Path::new(&readme_path).exists() { 35 | return Err(Error::new( 36 | std::io::ErrorKind::NotFound, 37 | format!("README.md file not found in {}", module_cfg.path), 38 | )); 39 | } 40 | 41 | let readme_content = fs::read_to_string(&readme_path)?; 42 | let new_content = replace_module_name(&readme_content, &module_cfg.name); 43 | fs::write(&readme_path, new_content)?; 44 | 45 | Ok(()) 46 | } 47 | --------------------------------------------------------------------------------