Skip to content
This repository has been archived by the owner on Mar 14, 2024. It is now read-only.

digicatapult/openapi-service-template

openapi-service-template

Deprecation Notice

This application was deprecated on March 14th 2024, there will be no further dependency or security updates.

Template repository for bootstrapping new OpenAPI-based services. Use this repo as a template in github when creating new OpenAPI-based services. When forked a new pull request will automatically be created in the new repository to apply templating. Before merging you should also give access to the forked repo the GITHUB_TOKEN organisation secret prior to merging. This will allow the release workflow to run successfully on merging.

What this repo provides

This repo provides:

  • basic node.js project structure for a service
  • linting with our prettier configuration
  • open-sourcing materials
  • Docker file
  • A simple helm chart for the service
  • A service with a healthcheck endpoint on /health
  • An OpenAPI doc and endpoints for /swagger and /api-docs
  • Testing apparatus using mocha, chai and supertest
  • Github workflows for testing and release

Environment Variables

openapi-service-template is configured primarily using environment variables as follows:

variable required default description
SERVICE_TYPE N info Logging level. Valid values are [trace, debug, info, warn, error, fatal]
PORT N 3001 The port for the API to listen on
LOG_LEVEL N info Logging level. Valid values are [trace, debug, info, warn, error, fatal]
API_VERSION N - API version
API_MAJOR_VERSION N - API major version