First start up Docker Compose (from the root of the project):
docker compose up
Set the KEYSTORE_PASSWORD environment variable in your terminal session:
export KEYSTORE_PASSWORD=the_keystore_password
From the root of the project, start up the application:
mvn spring-boot:run
You will now start to see messages being produced and pushed to Kafka. These messages are then in turn picked up from the Kafka queue and persisted in Postgres. You can now query for the transactions of a certain account by performing a GET request:
curl "http://localhost:8080/transactions?account=NL53INGB1464897916"
This will return all the messages up to that point and place an offset marker in the database. So any consecutive calls will only fetch any new transactions that might have been generated. Look in project.green.simulation.SimulationProvider to see for which IBAN nrs the simulation is running for.
In case you don't have the KEYSTORE_PASSWORD, you can either use the keystore from test/resources or create your own.
Create JKS:
keytool -genkey -alias greenSigningKey -keyalg RSA -keystore signing.jks -validity 1825
Convert to P12:
keytool -importkeystore -srckeystore signing.jks -destkeystore signing.p12 -srcstoretype JKS -deststoretype PKCS12
List private key/certificate:
openssl pkcs12 -info -in signing.p12
Don't forget to update the properties in keystore.yml.