31dc594b46 | ||
---|---|---|
.. | ||
codegen | ||
compose | ||
server | ||
readme.md |
readme.md
Running Swagger code generation in Docker containers
The server
folder contains files to build the http server image used to serve the files referenced in the $ref
field of Swagger .yaml
files.
The codegen
folder contains files to build the code generator swagger-codegen
used to generate the source and documentary files used to support SDRangel REST API.
The compose
folder contains files to build the Docker compose stack comprising the server
and codegen
containers.
The SDRangel source tree is mounted in both containers as writable so the generated code can be written directly from the code generator or the Swagger files served by the http server.
Install Docker on Ubuntu
sudo apt install docker.io docker-buildx docker-compose
sudo usermod -aG docker $USER
sudo reboot
Server
Use build.sh
to build the image. It takes the following arguments:
-t
: Image tag namelatest
is the default. The image issdrangel/swagger/server:<tag>
-f
: Specify a Dockerfile (default is Dockerfile in current directory i.e. '.')
The run.sh
script is used to run the image on its own and is used for development only
Codegen
Use build.sh
to build the image. It takes the following arguments:
-b
: Git repository branch name (defaultsdrangel
)-c
: Arbitrary clone label. Clone again if different from the last label (default current timestamp)-t
: Docker image tag. Use git tag or commit hash (defaultlatest
)-f
: Specify a Dockerfile (default is Dockerfile in current directory i.e. '.')
Compose
Use run.sh
to create or delete the Docker compose stack. It takes the following arguments:
-D
: Use this option to bring down the compose stack (default is to bring up).-t
: Docker codegen image tag (defaultlatest
)-T
: Docker server image tag (defaultlatest
)-b
: SDRangel source code root path (default/opt/build/sdrangel
)-c
: Compose stack name (defaultsdrangelswg
)
The stack is composed of two containers sharing the 172.20.0.0/16
network internally.
sdrangel_swgserver
: The http server that listens on port8081
serving files in/opt/build/sdrangel/swagger/sdrangel
sdrangel_swgcodegen
: The container with the Swagger code generator. The working directory is/opt/build/sdrangel/swagger/sdrangel
.
Use login.sh
to start a shell in the sdrangel_swgcodegen
container. At the prompt run generate.sh
to generate the code from the Swagger definition files.