From c5bcf295dfa80d32633e4a3b109ef88243958c06 Mon Sep 17 00:00:00 2001 From: Fabian Oraze Date: Mon, 15 Jul 2024 16:17:07 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(payment-service):=20Update=20d?= =?UTF-8?q?ocumentation=20for=20new=20payment=20service?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + docs/TRACING.md | 2 +- docs/images/unguard-architecture.fig | Bin 72485 -> 70766 bytes docs/images/unguard-architecture.svg | 276 ++++++++++++++------------- src/payment-service/README.md | 73 ++++++- 5 files changed, 219 insertions(+), 133 deletions(-) diff --git a/README.md b/README.md index 733975f1..6d2053a4 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,7 @@ Unguard is composed of eight microservices written in different languages that t | [like-service](./src/like-service) | PHP | default | Serves REST API for adding likes to posts using MariaDB; vulnerable to SQL injection attacks | | [user-auth-service](./src/user-auth-service) | Node.js Express | default | Serves REST API for authenticating users with JWT tokens (vulnerable to JWT key confusion). | | [status-service](./src/status-service) | Go | unguard-status | Serves REST API for Kubernetes deployments health, as well as a user and user role list (vulnerable to SQL injection) | +| [payment-service](./src/payment-service) | Python Flask | default | Serves REST API for adding and retrieving credit card payment information associated with a user. | | jaeger | | default | The [Jaeger](https://www.jaegertracing.io/) stack for distributed tracing. | | mariadb | | unguard-mariadb | Relational database that holds user and token data. | | redis | | default | Key-value store that holds all user data (except authentication-related stuff). | diff --git a/docs/TRACING.md b/docs/TRACING.md index cf3d26ca..55b835de 100644 --- a/docs/TRACING.md +++ b/docs/TRACING.md @@ -55,7 +55,7 @@ See in the Unguard Chart [README](../chart/README.md#tracing-and-jaeger) 1. Port-forward the Jaeger UI ```sh - kubectl port-forward -n unguard service/jaeger-query 16686:16686 + kubectl port-forward -n unguard service/jaeger-query 16686:80 ``` 2. Open [localhost:16686](http://localhost:16686) diff --git a/docs/images/unguard-architecture.fig b/docs/images/unguard-architecture.fig index e2a23c1cab8ac665064ace35a7506bc2fd486a20..448a626c8d2399458e069c94e209a2cc4120f4d7 100644 GIT binary patch literal 70766 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 Bk>&sZ diff --git a/docs/images/unguard-architecture.svg b/docs/images/unguard-architecture.svg index 603af554..e597905d 100644 --- a/docs/images/unguard-architecture.svg +++ b/docs/images/unguard-architecture.svg @@ -1,130 +1,148 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/payment-service/README.md b/src/payment-service/README.md index 0773da59..d3a11dcb 100644 --- a/src/payment-service/README.md +++ b/src/payment-service/README.md @@ -1,8 +1,75 @@ +# Payment Service + +A REST service that allows to either create or get a credit card associated with a user. + ## Local development ### Prerequisites -The payment-service uses [poetry](https://python-poetry.org/docs/) for dependency management and packaging.
To set up the development environment, you need to: -1) have poetry installed on your machine -2) run `poetry install` in the root directory of the payment-service + +1) Have Python 3.8.0 installed (you can use `pyenv` to manage multiple Python versions) + 1) Install [pyenv](https://github.com/pyenv/pyenv) + 2) You need to have `libsqlite3-dev` installed e.g. on Ubuntu with `sudo apt install libsqlite3-dev` + 3) Install Python 3.8.0 with `pyenv install 3.8.0` + 4) Set Python 3.8.0 as the version with `pyenv local 3.8.0` +2) Install [poetry](https://python-poetry.org/docs/) for dependency management and packaging + 1) The `poetry` version used in the docker container is `1.8.3` + 2) If you want ot install it via the installer script: + ```bash + export POETRY_VERSION=1.8.3 + curl -sSL https://install.python-poetry.org | python3 - + ``` + 3) Or you can install it via `pipx`: + ```bash + pipx install poetry==1.8.3 + ``` +3) Run `poetry shell` to activate the virtual environment +4) Run `poetry install` to install all dependencies +5) Run `export SERVER_PORT=8084` to set the port for the flask server +6) Run `poetry run python payment_service/run.py` to start the flask server + + +### Usage + +The service offers the following endpoints: + +- `GET /payment-service/1`: Returns the credit card information for the user with the ID 1. The response has the following structure: + ```json + { + "cardHolderName": "John Doe", + "cardNumber": "4556737586899855", + "expirationDate": "12/23", + "cvv": "123" + } + ``` +If the user does not exist, the service will return a 404 status code. + +- `POST /payment-service/1`: Adds the payment information for user with the ID 1. The request body should have the following structure: + ```json + { + "cardHolderName": "John Doe", + "cardNumber": "4556737586899855", + "expirationDate": "12/23", + "cvv": "123" + } + ``` +If the user already has payment information, the service will update it and return a 200 status code. If the user does not exist, the service will create a new user with the provided payment information and return a 201 status code. +If either the card number, the expiry date or the cvv is invalid, the service will return a 400 status code and a message indicating which fields are invalid. + + +### Environment Variables + + +| Name | Example Value | Description | +|--------------------------------------------------|--------------------------------------|-----------------------------------------| +| SERVER_PORT | 8084 | The port that the server will run on | +| API_PATH | /payment-service | Api entrypoint path | +| OTEL_LOGS_EXPORTER | console | The logs exporter to use | +| OTEL_TRACES_EXPORTER | jaeger | The traces exporter to use | +| OTEL_METRICS_EXPORTER | console | The metrics exporter to use | +| OTEL_RESOURCE_ATTRIBUTES | service.name=unguard-payment-service | The service name for the traces | +| OTEL_EXPORTER_OTLP_ENDPOINT | http://localhost:4317 | The endpoint for the OTLP exporter | +| OTEL_EXPORTER_OTLP_PROTOCOL | http/protobuf | The protocol for the OTLP exporter | +| OTEL_PROPAGATORS | jaeger | The propagators to use for the traces | +| OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED | true | Enable auto instrumentation for logging |