bcgov / TheOrgBook

A public repository of verifiable claims about organizations. A key component of the Verifiable Organization Network.
http://von.pathfinder.gov.bc.ca
Apache License 2.0
78 stars 66 forks source link

Add Dev/Test/Prod environments for the Beta TOB Instance for BC #338

Closed swcurran closed 6 years ago

swcurran commented 6 years ago

As we gear up towards the Beta Launch of The BC Public TOB, we need to have a promotion path for those components from Dev through Test and Prod. This instance/promotion path of TOB needs to be different from the current Demo TOB instance we have as both are "production-like" environments that we need to be able to test before promotion. It is not acceptable to Demo from the, for example, Test version of TOB, as the functionality in Demo will be quite different from Public -e.g. there will be Permitify and other experiments added to and promoted in Demo that will not be built into Public. However, both Demo and Public will be sourced from the same repo.

WadeBarnes commented 6 years ago

Current OpenShift project set servicing the TOB Demo environments;

The main differences between the 2 deployment streams will be;

Builds will source their code from the TOB repo and the resulting images will be used for all deployments, which means a shared tools environment could be used.

Therefore we only need new projects for the BETA deployment environments. These can source their images from the existing devex-von-tools environment.

WadeBarnes commented 6 years ago

Proposed project names;

WadeBarnes commented 6 years ago

Proposed project name and description for OpenShift;

TheOrgBook-BC

WadeBarnes commented 6 years ago

The new OpenShift environments have been created. Next step is to load the deployment configurations. Granted access to the project team.

WadeBarnes commented 6 years ago

TheOrgBook-BC DEV Environment has been deployed.

Resources;

As a starting point, a bc-tob profile and a set of Build and Deployment have been created based on the DEMO devex-von-* environment settings. The only difference at this point is the application URLs and Indy Seed values.

No data sources are connected to this environment.

WadeBarnes commented 6 years ago

TheOrgBook-BC TEST Environment has been deployed.

Resources;

As a starting point, a bc-tob profile and a set of Build and Deployment have been created based on the DEMO devex-von-* environment settings. The only difference at this point is the application URLs and Indy Seed values.

No data sources are connected to this environment.

WadeBarnes commented 6 years ago

Leaving the Production deployment empty until we have the configuration to secure the dev and test environments in place, and wired into working data sources.

Next step is to add some basic authentication on these environments. That will conclude the work for this ticket. Separate tickets will be used for any additional steps.

WadeBarnes commented 6 years ago

Further secured the TOB database with random admin passwords.

WadeBarnes commented 6 years ago

Added basic authentication to schema-spy instances by default.

WadeBarnes commented 6 years ago

Removed external access to Solr. Had a look first at securing the admin interface, but since we don't have a need for it most of the time it did not seem worth the extra effort. It was far easier to just remove the route for now.

WadeBarnes commented 6 years ago

Added basic authentication on the client application (at the nginx level). Usernames and passwords are generated randomly.

The basic authentication credentials are not accepted at the API level yet, so calls into the API fail.

WadeBarnes commented 6 years ago

Added basic authentication to the API and Swagger UI. Wired up the client configuration so it can authenticate with the API.

Separated the deployment pipeline, so deployments/versions TheOrgBook-BC are managed separately from the other projects using the TOB source/images from the TEST environment onward. The DEV environment will always have the latest images deployed, just like all of the other environments.

WadeBarnes commented 6 years ago

The new deployment configurations have been deployed and tested both the TheOrgBook-BC DEV and TEST environments.

WadeBarnes commented 6 years ago

The configurations and settings have been created for the PROD environment, but the project will remain blank until we get the BC Registries Agent data flow connected and working with DEV and TEST, in case there are any additional configurations and settings changes.