NLX is build on a modern infrastructure based on OpenStack and Kubernetes, with a development street that automates most of the build, test and deployment tasks. The project and code repository are available on Gitlab. NLX developers have their own CI/CD flow with several private and public environments. The following Environments are publicly available for different audiences:
Acceptance (Acc); for testing new features and formal acceptance - available for team members and stakeholders only.
Demo; for testing the general setup and functionality - available for all interested parties.
Preproduction(Preprod); for testing the interaction of NLX with developers own software - available for all developers after acquiring a certificate.
Production; for production functionality only - available to all users and developers after testing the interaction on preproduction.
To make use of the NLX preproduction or production environment you will need verified and signed certificates. Read the instructions on the page “further-reading/production” for obtaining a certificate.
Besides the public environments there are private development and test environments for the NLX team to develop new features:
Development; private environments for development - available for team members only.
Test; environment for testing new features - available for team members and stakeholders.
All new features are developed in separate Gitlab branches, after the initial tests the branches are merged into the master branch and deployed to the feature test and acceptance environments using the CI/CD pipelines of Gitlab. The pipeline for NLX requires manual code review and approval followed bij automated build, unit test, integration tests, packaging and deployment. The link to the feature test environment is made available in the details of the merge requests on Gitlab.
After approval by Product Owner (eventually after consulting with stakeholders), the version of the master is tagged and this identical version is deployed to preproduction, production and demo.
All components like the directory, certportal, docs, demo and insight are available on all environments. The components are accessible using the following url construction:
Leaving the environment empty will redirect to production. For example:
||Insight application for viewing log entries|
||Technical documentation of NLX|
||NLX certificate portal for this environment|
||Directory with all available api’s for this environment|
||Demo application (applying for a parking permit in Haarlem)|
||NLX home page|
Note: All non production CA’s (Certificate Authority’s) are unsafe, for development and demonstration purpose only. Preproduction & production require a restricted CA configuration and related certificates.
An overview of the environments and the deployment flow is illustrated in the following model:
<!DOCTYPE svg PUBLIC “-//W3C//DTD SVG 1.1//EN” “http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">