Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,16 +56,19 @@ It takes in the following parameters:
- `MODULE_PATH` env var (required) - path to your module, e.g. `github.com/teamwork/amazingapp`
- `EXEC_PATH` env var (optional) - path passed to kommentaar - can be relative or absolute, e.g. `./api/v3/...`, or `/go/src/github.com/teamwork/amazingapp/api/v3/...`. Default value is `/go/src/$MODULE_PATH/...`
- `CONFIG_NAME` env var (optional) - name of kommentaar config file in the `/config` volume (see below). Default value is `kommentaar.conf`
- `OUTPUT` env var (optional) - the output format. Default value is `openapi2-yaml`
- `/code` volume (required) - folder containing your go code
- `/config` volume (optional) - folder containing your kommentaar config file, by default the included `config.example` file is copied there as `kommentaar.conf`
- `/output` volume (required) - folder where the generated `swagger.yaml` file will be placed.
- `/output` volume (required) - folder where the generated swagger file will be placed.

Usage examples:
- `docker run --rm -it -e MODULE_PATH="github.com/teamwork/amazingapp" -v .:/code -v .:/config -v .:/output ghcr.io/teamwork/kommentaar`
- This assumes you are running the command in `amazingapp` folder
- This is roughly equivalent to `kommentaar -config ./kommentaar.conf github.com/teamwork/amazingapp... > ./swagger.yaml`
- `docker run --rm -it -e MODULE_PATH="github.com/teamwork/amazingapp" -e EXEC_PATH="./api/v3/controller/..." -e CONFIG_NAME=".kommentaar.v3" -v $HOME/dev/amazingapp:/code -v $HOME/dev/amazingapp/config:/config -v %HOME/dev/amazingapp/api/v3:/output ghcr.io/teamwork/kommentaar`
- This will run the equivalent of `kommentaar -config $HOME/dev/amazingapp/config/.kommentaar.v3 $GOPATH/src/github.com/teamwork/amazingapp/api/v3/controller/... > $HOME/dev/amazingapp/api/v3/swagger.yaml`
- This will run the equivalent of `kommentaar -config $HOME/dev/amazingapp/config/.kommentaar.v3 -output openapi2-yaml $GOPATH/src/github.com/teamwork/amazingapp/api/v3/controller/... > $HOME/dev/amazingapp/api/v3/swagger.yaml`
- `docker run --rm -it -e MODULE_PATH="github.com/teamwork/amazingapp" -e EXEC_PATH="./api/v3/controller/..." -e CONFIG_NAME=".kommentaar.v3" -e OUTPUT="html" -v $HOME/dev/amazingapp:/code -v $HOME/dev/amazingapp/config:/config -v %HOME/dev/amazingapp/api/v3:/output ghcr.io/teamwork/kommentaar`
- This will run the equivalent of `kommentaar -config $HOME/dev/amazingapp/config/.kommentaar.v3 -output html $GOPATH/src/github.com/teamwork/amazingapp/api/v3/controller/... > $HOME/dev/amazingapp/api/v3/swagger.html`


Syntax
Expand Down
16 changes: 15 additions & 1 deletion run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,20 @@ if [ -n "$CONFIG_NAME" ]; then
fi
echo "Config will be loaded from $config"

output_ext="yaml"
output="openapi2-yaml"
if [ -n "$OUTPUT" ]; then
if [ "$OUTPUT" = "openapi2-json" ] || [ "$OUTPUT" = "openapi2-jsonindent" ]; then
output_ext="json"
output="$OUTPUT"
fi

if [ "$OUTPUT" = "html" ]; then
output_ext="html"
output="$OUTPUT"
fi
fi

exec_path=/go/src/$MODULE_PATH/...
if [ -n "$EXEC_PATH" ]; then
exec_path=$EXEC_PATH
Expand All @@ -26,4 +40,4 @@ export GO111MODULE=off
go install /go/src/github.com/teamwork/kommentaar

cd /go/src/$MODULE_PATH
/go/bin/kommentaar -config $config $exec_path > /output/swagger.yaml
/go/bin/kommentaar -config $config -output $output $exec_path > /output/swagger.$output_ext
Loading