cc-backend/docs/ConfigurationManagement.md
2023-04-12 07:50:40 +02:00

1.2 KiB

Release versioning

Releases are numbered with a integer id starting with 1. Every release embeds the following assets into the binary:

  • Web-frontend including javascript files and all static assets
  • Golang template files for server-side rendering
  • JSON schema files for validation

Remaining external assets are:

  • The SQL database used
  • The job archive

Both external assets are also versioned using integer ids. This means every release binary is tied to specific versions for the SQL database and job archive. A command line switch --migrate-db is provided to migrate the SQL database from a previous to the most recent version. We provide a separate tool archive-migration to migrate an existing job archive from the previous to the most recent version.

Versioning of APIs

cc-backend provides two API backends:

  • A REST API for querying jobs
  • A GraphQL API used for data exchange between web frontend and cc-backend

Both APIs will also be versioned. We still need to decide if we also support older REST API version using versioning of the endpoint URLs.

How to build a specific release

How to migrate the SQL database

How to migrate the job archive