Skip to content
Snippets Groups Projects
Commit 761266d3 authored by Benedetto Debora's avatar Benedetto Debora
Browse files

Refactoring: update Dockerfile and README with fastapi integration

parent a1601566
No related branches found
No related tags found
No related merge requests found
......@@ -5,4 +5,4 @@ COPY . /opt/
RUN pip install -r requirements.txt
CMD ["uvicorn", "app.main:fast_api", "--host", "0.0.0.0", "--port", "8080"]
\ No newline at end of file
CMD ["uvicorn", "main:fast_api", "--host", "0.0.0.0", "--port", "5000"]
\ No newline at end of file
......@@ -2,22 +2,35 @@
This repository contains all the required code and templates to run the ICG component, it also contains a Dockerfile that builds the complete image of the ICG with a provided REST API
Requirements
-------------
- Docker
Installation
-------------
To have a functional ICG application the following steps can be used.
- Download the full content of this repository
- Build the docker image launching the following command: docker build -t icg-image:0.1 .
- Create a volume for the container: docker volume create ICG-volume
- Run the container: docker run --mount source=ICG-volume,target=/opt -p 5000:5000 icg-image:0.1
- Build the docker image launching the following command: `docker build -t icg:0.1 .`
- Run the container: `docker run --name icg -d -p 5000:5000 icg:0.1`
User manual
Usage
------------
To use the now running ICG docker container we can call the available REST API.
The API is available at http://localhost:5000/ .
Sending a POST request at this endpoint with the indicated json body (see parameters.json as an example body) it will respond with a .tar.gz file containing all the required IaC files.:
The API is available at http://localhost:5000/docs. You can try here the endpoint behavior (see input_file_example/nginx/parameters.json as an example body).
Otherwise, send a POST request at this endpoint with the indicated json body (see input_file_example/nginx/parameters.json as an example body) it will respond with a .tar.gz file containing all the required IaC files:
- curl --location --request POST localhost:5000/infrastructure/files --header "Content-Type: application/json" --data "@parameters.json" --output "OutputIaC.tar.gz"
Uninstall
------------
Remove the docker container and the docker image:
- curl --location --request POST localhost:5000/ --header "Content-Type: application/json" --data "@parameters.json" --output "OutputIaC.tar.gz"
```
docker container rm -f icg
docker rmi icg:0.1
```
\ No newline at end of file
Jinja2==3.0.3
flask==2.0.2
PyYAML==6.0
fastapi~=0.74.1
uvicorn=0.17.5
\ No newline at end of file
uvicorn==0.17.5
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment