├── .gitignore ├── .travis.yml ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── client ├── .gitignore ├── .openapi-generator-ignore ├── .openapi-generator │ └── VERSION ├── .travis.yml ├── README.md ├── api │ └── openapi.yaml ├── api_apps.go ├── api_auth.go ├── api_dbs.go ├── api_instances.go ├── client.go ├── configuration.go ├── docs │ ├── Application.md │ ├── ApplicationResources.md │ ├── AppsApi.md │ ├── AuthApi.md │ ├── Context.md │ ├── CreatedApplication.md │ ├── CreatedDatabase.md │ ├── Database.md │ ├── DbsApi.md │ ├── Git.md │ ├── InlineResponse2001.md │ ├── InlineResponse400.md │ ├── Instances.md │ ├── InstancesApi.md │ ├── LoginResponse.md │ └── Metrics.md ├── fetchError.go ├── git_push.sh ├── model_application.go ├── model_application_resources.go ├── model_context.go ├── model_created_application.go ├── model_created_database.go ├── model_database.go ├── model_email.go ├── model_git.go ├── model_inline_response_200.go ├── model_inline_response_400.go ├── model_instances.go ├── model_login_response.go ├── model_metrics.go ├── model_repository_details.go ├── response.go └── testmocks │ ├── mock_api_apps.go │ ├── mock_api_auth.go │ ├── mock_api_dbs.go │ ├── mock_api_instances.go │ └── mock_client.go ├── cmd ├── appmaker.go ├── appmaker_test.go ├── authentication.go ├── authentication_test.go ├── commands.go ├── dbmaker.go ├── dbmaker_test.go ├── instances.go ├── instances_test.go ├── middlewares │ ├── appform.go │ ├── createappjson.go │ ├── dbform.go │ ├── github.go │ ├── setToken.go │ └── validation.go ├── root.go ├── testdata │ ├── apptest.json │ ├── dbdata.json │ ├── email.txt │ ├── loginresponse.json │ └── token.txt └── testmocks │ ├── mock_InstancesApi.go │ ├── mock_appsApi.go │ ├── mock_authApi.go │ └── mock_dbsApi.go ├── go.mod ├── go.sum ├── main.go ├── openapi.yaml └── scripts └── build ├── build.sh ├── format.sh ├── install.sh └── lint.sh /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | 26 | # GCTL binary 27 | gctl 28 | 29 | # Vendor files 30 | vendor/ 31 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | install: 4 | - go get -d -v . 5 | 6 | script: 7 | - go build -v ./ -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | ## Contents 4 | - [Coding Style Guide](#coding-style-guide) 5 | - [Pre-Commit](#pre-commit) 6 | - [Git Commit Message Format](#git-commit-message-format) 7 | 8 | ## Coding Style Guide 9 | 10 | Gctl follows standard effective go guidelines. You can refer to [this guide](https://github.com/golang/go/wiki/CodeReviewComments) 11 | for more information. 12 | 13 | ## Pre-Commit 14 | 15 | Before committing any changes, make sure you perform the following tasks:- 16 | 17 | 1. Formatting the codebase 18 | ```bash 19 | $ make format 20 | 🔨 Formatting 21 | 👍 Done 22 | ``` 23 | 24 | 2. Linting the codebase 25 | ```bash 26 | $ make lint 27 | 🔨 Linting 28 | 👍 Done 29 | ``` 30 | 31 | ## Git Commit Message Format 32 | 33 | Taken from https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md and modified as required. 34 | Each commit message consists of a **header**, a **body** and a **footer**. The header has a special 35 | format that includes a **type**, a **scope** and a **subject**: 36 | 37 | ``` 38 | (): 39 | 40 | 41 | 42 |