This repo is responsible for housing the following information:
- a Spring-boot based java api
service/
, - its associated
client/
, integration/
tests, and- various
scripts/
to support various repo-operations.
The Application's service is built and configured from bio.terra.appmanager.App.
See terra-common-lib for the following additionally configured integrations:
- bio.terra.common.iam
- bio.terra.common.logging
- bio.terra.common.migrate
- bio.terra.common.retry.transaction
- bio.terra.common.tracing
- bio.terra.appmanager
Local service/
-directory structure is composed of this structure:
config/
: type safe configscontroller/
: public facing api controllersdao/
: ORM mapping from the configured database tobio.terra.appmanager.model
iam/
: remote iam setup and configmodel/
: the service's internal modelservice/
: internal service objects containing the business logic
Service api interfaces are generated via gradle's processing of
the openapi.yml
document
For more information about the service/
design, please refer
to docs/DESIGN-service.md
Located in the client/
directory,
the code for this package is entirely generated by gradle
and
based on the same openapi.yml
file used to generate
the service/
api-endpoints above.
Integration tests are designed to be run using
the terra-test-runner
.
For more information about using the terra-test-runner
infrastructure,
please refer to that repo.
Please see ./scripts/README.md for more information about scripts.