Skip to content

eu-digital-green-certificates/dgca-issuance-service

EU Digital COVID Certificate Issuance Service

AboutDevelopmentDocumentationSupportContributeContributorsLicensing

About

This repository contains the source code of the EU Digital COVID Certificate Issuance Service.

The issuer backend is accessed by the issuer web frontend and the respective wallet apps ( Android, iOS ) of the same member state. The backend itself publishes its public keys to the DGCG where they can be distributed to other member states. Each member state hosts its own issuer backend. The main function of the backend is to provide services for creating and signing new green certificates.

Development

Prerequisites

Authenticating in to GitHub Packages

As some of the required libraries (and/or versions are pinned/available only from GitHub Packages) You need to authenticate to GitHub Packages The following steps need to be followed

  • Create PAT with scopes:
    • read:packages for downloading packages
GitHub Maven
  • Copy/Augment ~/.m2/settings.xml with the contents of settings.xml present in this repository
    • Replace ${app.packages.username} with your github username
    • Replace ${app.packages.password} with the generated PAT
GitHub Docker Registry
  • Run docker login docker.pkg.github.com/eu-digital-green-certificates before running further docker commands.
    • Use your GitHub username as username
    • Use the generated PAT as password

Build

Whether you cloned or downloaded the 'zipped' sources you will either find the sources in the chosen checkout-directory or get a zip file with the source code, which you can expand to a folder of your choice.

In either case open a terminal pointing to the directory you put the sources in. The local build process is described afterwards depending on the way you choose.

Build with maven

  • Check settings.xml in root folder and copy the servers to your own ~/.m2/settings.xml to connect the GitHub repositories we use in our code. Provide your GitHub username and access token (see GitHub Help) under the variables suggested.
  • Run mvn clean package from the project root folder

Run with docker

  • Perform maven build as described above
  • Run docker-compose up from the project root folder

After all containers have started you will be able to reach the application on your local machine under port 8080.

Documentation

Support and feedback

The following channels are available for discussions, feedback, and support requests:

Type Channel
Issues
Other requests

How to contribute

Contribution and feedback is encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our Contribution Guidelines. By participating in this project, you agree to abide by its Code of Conduct at all times.

Contributors

Our commitment to open source means that we are enabling -in fact encouraging- all interested parties to contribute and become part of its developer community.

Licensing

Copyright (C) 2021 T-Systems International GmbH and all other contributors

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.

You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the LICENSE for the specific language governing permissions and limitations under the License.