Skip to content

pagopa/pagopa-gpd-ingestion-manager

Repository files navigation

pagoPA Receipt-pdf-datastore

Quality Gate Status

Microservice that ingest a message from GPD observer event hub, tokenizes sensitive information and sends it again to the event hub


Summary 📖


Start Project Locally 🚀

Run locally with Docker

Prerequisites

  • docker

Set environment variables

docker build -t pagopa-gpd-ingestion-manager .

cp .env.example .env

and replace in .env with correct values

Run docker container

then type :

docker run -p 80:80 --env-file=./.env pagopa-gpd-ingestion-manager

Run locally with Maven

Prerequisites

  • maven

Set environment variables

On terminal type:

cp local.settings.json.example local.settings.json

then replace env variables with correct values (if there is NO default value, the variable HAS to be defined)

VARIABLE USAGE DEFAULT VALUE
PAYMENT_POSITION_INPUT_EVENTHUB_CONN_STRING Connection string to the PaymentPosition input topic
PAYMENT_POSITION_OUTPUT_EVENTHUB_CONN_STRING Connection string to the PaymentPosition output topic
PAYMENT_OPTION_INPUT_EVENTHUB_CONN_STRING Connection string to the PaymentOption input topic
PAYMENT_OPTION_OUTPUT_EVENTHUB_CONN_STRING Connection string to the PaymentOption output topic
TRANSFER_INPUT_EVENTHUB_CONN_STRING Connection string to the Transfer input topic
TRANSFER_OUTPUT_EVENTHUB_CONN_STRING Connection string to the Transfer output topic
PDV_TOKENIZER_BASE_PATH PDV Tokenizer API base path "https://api.uat.tokenizer.pdv.pagopa.it/tokenizer/v1"
PDV_TOKENIZER_CREATE_TOKEN_ENDPOINT PDV Tokenizer API create token endpoint "/tokens"
PDV_TOKENIZER_SUBSCRIPTION_KEY API azure ocp apim subscription key
PDV_TOKENIZER_INITIAL_INTERVAL PDV Tokenizer initial interval for retry a request that fail with 429 status code 200
PDV_TOKENIZER_MULTIPLIER PDV Tokenizer interval multiplier for subsequent request retry 2.0
PDV_TOKENIZER_RANDOMIZATION_FACTOR PDV Tokenizer randomization factor for interval retry calculation 0.6
PDV_TOKENIZER_MAX_RETRIES PDV Tokenizer max request retry 3
TOKENIZER_APIM_HEADER_KEY Tokenizer APIM header key x-api-key

to doc details about AZ fn config

see here

Run the project

mvn clean package

mvn azure-functions:run

Test

curl http://localhost:8080/info


Develop Locally 💻

Prerequisites

  • git
  • maven
  • jdk-11

Testing 🧪

Unit testing

To run the Junit tests:

mvn clean verify

Integration testing

Performance testing


Contributors 👥

Made with ❤️ by PagoPa S.p.A.

Maintainers

See CODEOWNERS file