Skip to content

Commit

Permalink
chore: generator improvements
Browse files Browse the repository at this point in the history
- decouple workflow with discovery mode (bad logic used in 0.0.2)
- create a new flag for discovery-mode which replaces the workflow mode
- read github credentials from $HOME/.git-credentials
- update tests
- update readme
- bump version to v0.0.3
  • Loading branch information
marcportabellaclotet-mt committed Dec 18, 2023
1 parent f6cd95f commit e03aee8
Show file tree
Hide file tree
Showing 20 changed files with 142 additions and 115 deletions.
41 changes: 21 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ It automates the process of detecting projects within your Terraform codebase, c
------------

- Generate `atlantis.yaml` files with ease.
- Automatically detect projects and workspaces based on your specified workflow.
- Automatically detect projects and workspaces based on discovery mode rules.
- Customize configurations such as automerge, parallel plan/apply, and more.
- Flexible project inclusion and exclusion using regular expressions.
- Create an Atlantis project by taking into account the files modified in the PR. This approach
Expand All @@ -31,15 +31,16 @@ Run the tool using the following command:
| `-r, --base-repo-name` | Github Repo Name. | `BASE_REPO_NAME` | |
| `-o, --base-repo-owner`| Github Repo Owner Name. | `BASE_REPO_OWNER` | |
| `-x, --excluded-projects`| Atlantis regex filter to exclude projects. | `EXCLUDED_PROJECTS` | |
| `-d, --discovery-mode`| mode used to discover projects | `DISCOVERY_MODE` | `single-workspace`|
| `-t, --gh-token` | Github Token Value. | `GH_TOKEN` | |
| `-h, --help` | Help for atlantis-yaml-generator. | | |
| `-z, --included-projects`| Atlantis regex filter to only include projects. | `INCLUDED_PROJECTS` | |
| `-f, --output-file` | Atlantis output file name. | `OUTPUT_FILE` | `atlantis.yaml` |
| `-e, --output-type` | Atlantis YAML output type [file stdout] | `OUTPUT_TYPE` | `file` |
| `--parallel-apply` | Atlantis parallel apply config value. | `PARALLEL_APPLY` | `true` |
| `--parallel-plan` | Atlantis parallel plan config value. | `PARALLEL_PLAN` | `true` |
| `-q, --pattern-detector`| Discover projects based on files or directories names. | `PATTERN_DETECTOR` | |
| `-y, --pr-filter` | Filter projects based on the PR changes (Only for github SCM).| `PR_FILTER` | `false` |
| `-q, --pattern-detector`| Discover projects based on files or directories names. | `PATTERN_DETECTOR` | `main.tf` |
| `-u, --pr-filter` | Filter projects based on the PR changes (Only for github SCM).| `PR_FILTER` | `false` |
| `-p, --pull-num` | Github Pull Request Number to check diffs. | `PULL_NUM` | |
| `--terraform-base-dir` | Basedir for terraform resources. | `TERRAFORM_BASE_DIR`| `./` |
| `-v, --version` | Version for atlantis-yaml-generator. | | |
Expand All @@ -57,7 +58,7 @@ Run the tool using the following command:
<details><summary>Multi workspace workflow</summary>

```
# atlantis-yaml-generator -w multi-workspace --pattern-detector workspace_vars -e stdout
# atlantis-yaml-generator -d multi-workspace -w myWorkflow --pattern-detector workspace_vars -e stdout
version: 3
automerge: true
Expand All @@ -66,7 +67,7 @@ parallel_plan: true
projects:
- name: project_one-dev
workspace: dev
workflow: multi-workspace
workflow: myWorkflow
dir: project_one
autoplan:
enabled: true
Expand All @@ -79,7 +80,7 @@ projects:
- '**/*.xml'
- name: project_one-production
workspace: production
workflow: multi-workspace
workflow: myWorkflow
dir: project_one
autoplan:
enabled: true
Expand All @@ -92,7 +93,7 @@ projects:
- '**/*.xml'
- name: project_one-staging
workspace: staging
workflow: multi-workspace
workflow: myWorkflow
dir: project_one
autoplan:
enabled: true
Expand All @@ -105,7 +106,7 @@ projects:
- '**/*.xml'
- name: project_two-production
workspace: production
workflow: multi-workspace
workflow: myWorkflow
dir: project_two
autoplan:
enabled: true
Expand All @@ -118,7 +119,7 @@ projects:
- '**/*.xml'
- name: project_two-staging
workspace: staging
workflow: multi-workspace
workflow: myWorkflow
dir: project_two
autoplan:
enabled: true
Expand All @@ -132,10 +133,10 @@ projects:
```
</details>

<details><summary>Single workspace workflow</summary>
<details><summary>Single workspace discovery mode</summary>

```
# atlantis-yaml-generator -w single-workspace -e stdout --pattern-detector main.tf
# atlantis-yaml-generator -d single-workspace -w myWorkflow -e stdout --pattern-detector main.tf
version: 3
automerge: true
Expand All @@ -144,7 +145,7 @@ parallel_plan: true
projects:
- name: project_one
workspace: default
workflow: single-workspace
workflow: myWorkflow
dir: project_one
autoplan:
enabled: true
Expand Down Expand Up @@ -247,17 +248,17 @@ projects:

-------

**Workflows**
**Discovery Modes**
-------------

Currenlty `atlantis-yaml-generator` support 2 workflow types:
Currenlty `atlantis-yaml-generator` support 2 discovery modes:
- `single-workspace`: Intended for Terraform configurations that do not utilize multiple workspaces. In this context, the pattern detector parameters establish the criteria for identifying project folders. For instance, if the pattern-detector is set to main.tf (file), and this file is located at database/dev/main.tf, the resulting project would be labeled as database-env. Consequently, Terraform commands would be executed within the database/dev folder.
- `multiple-workspace`: Intended for Terraform configurations that utilize multiple workspaces. In this context, the pattern detector parameters establish the criteria for identifying project folders. For instance, if the pattern-detector is set to workspace_vars (folder), and there are several files located in this folder, i.e. (database/workspace_vars/dev.tf |database/workspace_vars/staging.tf ), the resulting projects would be labeled as (database-dev|database-staging). Consequently, Terraform commands would be executed within the database folder. Please be aware that in this scenario, the Atlantis workflow requires the use of the -var-file parameter, specifically in the form of -var-file=(workspace_vars/dev.tf|workspace_vars/staging.tf).

If there is the need for additional workflows, they can be easily added at code level. Current code is ready to easily add new workflows, while sharing common actions.
If there is the need for additional discovery modes, they can be easily added at code level. Current code is ready to easily add new discovery modes, while sharing common actions.
```
func detectProjectWorkspaces(foldersList []ProjectFolder, workflow string, patternDetector string, changedFiles []string) (updatedFoldersList []ProjectFolder, err error) {
// Detect project workspaces based on the workflow
func detectProjectWorkspaces(foldersList []ProjectFolder, discoveryMode string, patternDetector string, changedFiles []string) (updatedFoldersList []ProjectFolder, err error) {
// Detect project workspaces based on the discovery mode
switch workflow {
case "single-workspace":
updatedFoldersList, err = singleWorkspaceDetectProjectWorkspaces(foldersList)
Expand All @@ -281,7 +282,7 @@ Incorporating this generator into Atlantis requires setting up a [`pre-workflow-
```yaml
pre_workflow_hooks:
- run: >
atlantis-yaml-generator -w single-workspace --pattern-detector main.tf
atlantis-yaml-generator -d single-workspace -w myWorkflow --pattern-detector main.tf
```
Sample output:
Expand All @@ -304,7 +305,7 @@ parallel_plan: true
projects:
- name: project-one
workspace: default
workflow: single-workspace
workflow: myWorkflow
dir: project/one
autoplan:
enabled: true
Expand All @@ -317,7 +318,7 @@ projects:
- '**/*.xml'
- name: project-two
workspace: default
workflow: single-workspace
workflow: myWorkflow
dir: project/two
autoplan:
enabled: true
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
atlantis-yaml-generator -e stdout -w multi-workspace --pattern-detector workspace_vars --included-projects "staging$"
atlantis-yaml-generator -e stdout -d multi-workspace -w workflow1 --pattern-detector workspace_vars --included-projects "staging$"
2 changes: 1 addition & 1 deletion examples/multi-workspace/multiple-projects/generate.sh
Original file line number Diff line number Diff line change
@@ -1 +1 @@
atlantis-yaml-generator -e stdout -w multi-workspace --pattern-detector workspace_vars
atlantis-yaml-generator -e stdout -d multi-workspace -w workflow1 --pattern-detector workspace_vars
2 changes: 1 addition & 1 deletion examples/multi-workspace/single-project/generate.sh
Original file line number Diff line number Diff line change
@@ -1 +1 @@
atlantis-yaml-generator -e stdout -w multi-workspace --pattern-detector workspace_vars
atlantis-yaml-generator -e stdout -d multi-workspace -w workflow2 --pattern-detector workspace_vars
Original file line number Diff line number Diff line change
@@ -1 +1 @@
atlantis-yaml-generator -e stdout -w single-workspace --pattern-detector main.tf
atlantis-yaml-generator -e stdout -d single-workspace -w workflow1 --pattern-detector main.tf
2 changes: 1 addition & 1 deletion examples/single-workspace/multiple-projects/generate.sh
Original file line number Diff line number Diff line change
@@ -1 +1 @@
atlantis-yaml-generator -e stdout -w single-workspace --pattern-detector main.tf
atlantis-yaml-generator -e stdout -d single-workspace -w workflow1 --pattern-detector main.tf
2 changes: 1 addition & 1 deletion examples/single-workspace/single-project/generate.sh
Original file line number Diff line number Diff line change
@@ -1 +1 @@
atlantis-yaml-generator -e stdout -w single-workspace --pattern-detector main.tf
atlantis-yaml-generator -e stdout -d single-workspace -w workflow1 --pattern-detector main.tf
14 changes: 6 additions & 8 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,29 +1,27 @@
module github.com/totmicro/atlantis-yaml-generator

go 1.20
go 1.21

require github.com/google/go-github v17.0.0+incompatible

require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/google/go-cmp v0.6.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/onsi/gomega v1.27.10 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/rogpeppe/go-internal v1.10.0 // indirect
github.com/rogpeppe/go-internal v1.12.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
golang.org/x/net v0.14.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/appengine v1.6.8 // indirect
google.golang.org/protobuf v1.31.0 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
)

require (
github.com/google/go-querystring v1.1.0 // indirect
github.com/spf13/cobra v1.7.0
github.com/spf13/cobra v1.8.0
github.com/stretchr/testify v1.8.4
github.com/tcnksm/go-gitconfig v0.1.2
golang.org/x/oauth2 v0.11.0
golang.org/x/oauth2 v0.15.0
gopkg.in/yaml.v3 v3.0.1
)
52 changes: 32 additions & 20 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-github v17.0.0+incompatible h1:N0LgJ1j65A7kfXrZnUDaYCs/Sf4rEjNlfyDHW9dolSY=
github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ=
github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
Expand All @@ -22,37 +23,48 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI=
github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I=
github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0=
github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/tcnksm/go-gitconfig v0.1.2 h1:iiDhRitByXAEyjgBqsKi9QU4o2TNtv9kPP3RgPgXBPw=
github.com/tcnksm/go-gitconfig v0.1.2/go.mod h1:/8EhP4H7oJZdIPyT+/UIsG87kTzrzM4UsLGSItWYCpE=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14=
golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
golang.org/x/oauth2 v0.11.0 h1:vPL4xzxBM4niKCW6g9whtaWVXTJf1U5e4aZxxFx/gbU=
golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/oauth2 v0.15.0 h1:s8pnnxNVzjWyrvYdFUQq5llS1PX2zhPXmccZv99h7uQ=
golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCAM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
Expand Down
4 changes: 0 additions & 4 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,5 @@ import (
)

func main() {

cmd.Init()
}

// TODO
// - [ ] Add tests
Loading

0 comments on commit e03aee8

Please sign in to comment.