- Configure the local development environment
make setup- Start Docker
Build containers
make build
# Or a specific container
make build container=[frontend|server|database|dbadmin|grafana|loki|prometheus]Run containers
make start
# Or a specific container
make start container=[frontend|server|database|dbadmin|grafana|loki|prometheus]Restart containers
make restart
# Or a specific container
make restart container=[frontend|server|database|dbadmin|grafana|loki|prometheus]Describe containers
make describeLogin to a container
make login container=[frontend|server|database|dbadmin|grafana|loki|prometheus]Cleanup everything (containers, images, volumes)
make cleanOpen web interfaces on browser:
make open target=[frontend|server|server_swagger|database|dbadmin|grafana|loki|prometheus]Build yawa-ops (the server must be running to update the OpenAPI spec used by the Python client)
make build_opsBuild OpenAPI spec
make build_openapiThe application is made of the containers below.
Generate the certificates and keys using the project gmarciani-ca.
Trust the certification authority used for development:
- Open Keychain
- Open System Keychain
- File > Import Items: select the PEM file of the CA chain (
intermediate-ca/certs/ca-chain.cert.pem) - Select the root CA: GMARCIANI Root CA > Get Info > Trust > Select Always Trust
Restart the browser to make the change take effect.
Trust the certification authority in Postman:
- Open Postman
- Postman > Settings > Certificates
- Enable CA certificates
- Select the PEM file of the CA chain (ca-chain.cert.pem)
Configure the certificate for the server:
- Put the P12 file
server/private/yawa.p12inserver/src/main/resources/secrets/certificates/yawa.p12
Configure the certificate for the frontend:
- Put the certificate
server/certs/yawa.cert.peminfrontend/resources/certificates/yawa.cert.pem - Put the key
server/private/yawa.key.peminfrontend/resources/certificates/yawa.key.pem - Put the CA chain
intermediate-ca/certs/ca-chain.cert.peminfrontend/resources/certificates/ca-chain.cert.pem
Configure the certificate for the ops tools:
- Put the CA chain
intermediate-ca/certs/ca-chain.cert.peminops/resources/certificates/ca-chain.cert.pem
# Show server certificate
openssl s_client -showcerts -connect localhost:8010
# Validate the certificate with the CA bundle
openssl verify -verbose \
-CAfile resources/certificates/ca-chain.cert.pem \
resources/certificates/yawa.cert.pem
# Verify that a cert and a key match (the MD5 checksum must be equal)
openssl x509 -noout -modulus -in /Volumes/workplace/personal/yawa/frontend/resources/certificates/yawa.cert.pem | openssl md5
openssl rsa -noout -modulus -in /Volumes/workplace/personal/yawa/frontend/resources/certificates/yawa.key.pem | openssl md5
