All changes that impact users of this module are documented in this file, in the Common Changelog format with some additional specifications defined in the CONTRIBUTING file. This codebase adheres to Semantic Versioning.
Full changeset and discussions: #46.
Development of this release was supported by the French Ministry for Foreign Affairs through its ministerial State Startups incubator under the aegis of the Ambassador for Digital Affairs.
- Ensure configuration changes are taken into account on restart
- Make refined playbook execution work with the
start
,stop
andrestart
tags
Full changeset and discussions: #45.
Development of this release was supported by the French Ministry for Foreign Affairs through its ministerial State Startups incubator under the aegis of the Ambassador for Digital Affairs.
- Set up the Git-based databases at the proper locations
- Make refined playbook execution work with the
infrastructure
tag
Full changeset and discussions: #41.
Development of this release was supported by the French Ministry for Foreign Affairs through its ministerial State Startups incubator under the aegis of the Ambassador for Digital Affairs.
- Breaking: Replace all playbooks with a single
deploy
playbook; update your scripts by usingansible-playbook opentermsarchive.deployment.deploy
and use tags to refine execution - Breaking: Change the
federation-api
deployment process to be a dependency of the source repository - Breaking: Require
engine>=2
andfederation-api>=v2
- Breaking: Make
ota_source_repository
variable mandatory - Breaking: Define environment variables in a
.env
file instead of in inventory variables; moveota_engine_github_token
,ota_engine_smtp_password
,ota_engine_sendinblue_api_key
, andota_federated_api_smtp_password
to a.env
file placed next to the inventory file and rename them according to the new naming conventions inengine
v2 andfederation-api
v2 - Breaking: Rename
ota_engine_declarations_branch
toota_source_repository_branch
- Breaking: Rename
ota_engine_declarations_directory
toota_directory
- Breaking: Extract the PM2 config file
pm2.config.cjs
; provide this file next to the inventory file - Breaking: Remove the
ota_engine_restart_delay
variable; define this setting directly in thepm2.config.cjs
- Breaking: Remove the
ota_engine_github_bot_private_key
variable in favor of thegithub-bot-private-key
file; define the GitHub SSH private key in thegithub-bot-private-key
- Breaking: Remove
ota_reverse_proxy_federated_api_path
config; define this path in yourconfig/production.json
under the key@opentermsarchive/federation-api: { basePath: "" }
- Breaking: Remove
ota_reverse_proxy_engine_path
config; define this path in yourconfig/production.json
under the key@opentermsarchive/engine: { collection-api: { basePath: "" } }
- Breaking: Remove obsolete
ota_engine_config_path
,ota_federated_api_branch
,ota_federated_api_directory
, andota_federated_api_repo
configs - Breaking: Remove obsolete
update-declarations
tag
Full changeset and discussions: #42.
Development of this release was supported by the French Ministry for Foreign Affairs through its ministerial State Startups incubator under the aegis of the Ambassador for Digital Affairs.
- Fix dependencies installation
Full changeset and discussions: #39.
Development of this release was supported by the French Ministry for Foreign Affairs through its ministerial State Startups incubator under the aegis of the Ambassador for Digital Affairs.
- Enable the deployment of the Open Terms Archive Engine and Federated API applications on a single server; refer to the added playbooks; remove any existing Nginx configurations previously installed by this collection like
engine-api
,federated-api
,ota-engine-api
, orota-federated-api
in/etc/nginx/sites-available
to avoid conflicts.
Full changeset and discussions: #38.
Development of this release was supported by the French Ministry for Foreign Affairs through its ministerial State Startups incubator under the aegis of the Ambassador for Digital Affairs.
- Update package metadata
Full changeset and discussions: #35.
Development of this release was supported by the French Ministry for Foreign Affairs through its ministerial State Startups incubator under the aegis of the Ambassador for Digital Affairs.
- Enable configuration of engine restart delay with
ota_engine_restart_delay
variable
Full changeset and discussions: #34.
Development of this release was supported by the French Ministry for Foreign Affairs through its ministerial State Startups incubator under the aegis of the Ambassador for Digital Affairs.
No actual code changes were made in this release, but it signifies that the public API can now be considered stable.
Full changeset and discussions: #32.
Development of this release was supported by the French Ministry for Foreign Affairs through its ministerial State Startups incubator under the aegis of the Ambassador for Digital Affairs.
- Ensure snapshots and versions repositories use correct SSH key
Full changeset and discussions: #30.
Development of this release was supported by the French Ministry for Foreign Affairs through its ministerial State Startups incubator under the aegis of the Ambassador for Digital Affairs.
- Breaking: Extract embedded secrets and make them configurable; update your inventory to include secrets through configuration
Development of this release was supported by the NGI0 Entrust Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG CNECT under grant agreement N°101069594.
- Rename the
federated-api
role tofederated_api
to comply with Ansible Galaxy constraints.
Development of this release was supported by the NGI0 Entrust Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG CNECT under grant agreement N°101069594.
- Add playbook to setup and deploy the Open Terms Archive federated API
- Breaking: Rename
deploy
playbook to setup the infrastructure and deploy engine toengine.all
; update your scripts accordingly - Breaking: Rename variable
ota_config_path
toota_engine_config_path
; update your inventory file accordingly - Breaking: Rename variable
ota_declarations_directory
toota_engine_declarations_directory
; update your inventory file accordingly - Breaking: Rename variable
ota_declarations_branch
toota_engine_declarations_branch
; update your inventory file accordingly - Breaking: Rename variable
ota_snapshots_branch
toota_engine_snapshots_branch
; update your inventory file accordingly - Breaking: Rename variable
ota_versions_branch
toota_engine_versions_branch
; update your inventory file accordingly
- Breaking: Remove tag
setup
; use the application deployment playbook as replacement in your scriptsansible-playbook opentermsarchive.deployment.engine.application
- Breaking: Remove tag
update
; use the application deployment playbook as replacement in your scriptsansible-playbook opentermsarchive.deployment.engine.application
- Breaking: Remove tag
engine
; use the application deployment playbook as replacement in your scriptsansible-playbook opentermsarchive.deployment.engine.application
- Breaking: Remove tag
infra
; use the infrastructure set up playbook as replacement in your scriptsansible-playbook opentermsarchive.deployment.engine.infrastructure
- Ensure that the configuration for the port of the collection metadata API is successfully applied to the Nginx configuration
- Ensure that the Nodesource GPG key import does not get stuck
- Upgrade NodeJS to version 20 and NPM to version 10
- Fix MongoDB data directory permissions
- Lock pm2 major version
- Ensure NPM version is compatible with NodeJS version
- Launch API server; expect to have a npm command
start:api
defined in the declarations package - Install NGINX as a reverse proxy to expose the API with a rate limiter
- Automate linting with GitHub Actions
- Specification of changelog format
- Specification of changelog format is now in CONTRIBUTING
- Schedule dataset release; expect to have a npm command
dataset:schedule
defined in the declarations package
- Fix version update in
galaxy.yml
in the release workflow
- Ensure that publishing to Ansible Galaxy is only done when publishing to GitHub is successful
- Expect to have a npm command
start:schedule
define in the declarations package
- Ensure paths for given Git storage configuration are relative to current declarations directory
- Define default value for
ota_config_path
- Change namespace from
ota
toopentermsarchive
- Add documentation for available variables
- Move and consolidate all test-related files in the
tests
folder.
- Print debug output
- Fix some lintint errors and warnings
- Commit
galaxy.yml
in the release process
- Automate publishing with GitHub Actions