Skip to content

Commit

Permalink
Add software requirements
Browse files Browse the repository at this point in the history
  • Loading branch information
ddeboer committed Sep 26, 2024
1 parent d392c42 commit 670599f
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 0 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ and [How To Set Up an Nginx Ingress on DigitalOcean Kubernetes Using Helm](https
We apply this configuration to a
[DigitalOcean managed Kubernetes cluster](https://www.digitalocean.com/products/kubernetes/).

For running software in the NDE infrastructure, it must meet the [NDE Software Requirements](doc/software-requirements.md).

## Included

While each application should take care of deploying itself, this repository contains the generic configuration for
Expand Down
41 changes: 41 additions & 0 deletions doc/software-requirements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# NDE Software Requirements

## Introduction

This document specifies minimal technical requirements for software services to be able to run in the NDE infrastructure.
These requirements apply to web applications as well as APIs and background services.
The requirements are an application of the [CLARIAH Software and Service Requirements](https://github.com/CLARIAH/clariah-plus/blob/main/requirements/software-requirements.md)
to the NDE context.

## Requirements

### 1. The software’s source code *MUST* be stored in a public version control system.

This defaults to [NDE’s GitHub organization](https://github.com/netwerk-digitaal-erfgoed/).

See [CLARIAH #1](https://github.com/CLARIAH/clariah-plus/blob/main/requirements/software-requirements.md#1-the-softwares-source-code-must-be-stored-in-a-public-version-control-system-vcs)

### 2. A README file *MUST* be provided in the root directory.

See [CLARIAH #2](https://github.com/CLARIAH/clariah-plus/blob/main/requirements/software-requirements.md#2-a-readme-file-must-be-provided-in-the-root-directory-of-the-vcs).

### 3. The software *MUST* have a public issue tracker.

This defaults to the repository’s issue tracker on GitHub.

See [CLARIAH #7](https://github.com/CLARIAH/clariah-plus/blob/main/requirements/software-requirements.md#7-the-software-should-have-a-public-support-channel)

### 4. The software *MUST* be packaged as a container.

The software service MUST be packaged as an [OCI](https://opencontainers.org) container (e.g. Docker containers) for portability.

See [CLARIAH #15](https://github.com/CLARIAH/clariah-plus/blob/main/requirements/software-requirements.md#15-services-must-be-packaged-as-containers).

### 5. The software *MUST* be configurable through environment variables.

Examples of configuration parameters are credentials, API tokens and database connection information.
These parameters *MUST NOT* be part of the application’s source code.
Instead, the application must read environment variables

See [CLARIAH #5](https://github.com/CLARIAH/clariah-plus/blob/main/requirements/software-requirements.md#5-the-software-must-separate-code-from-configuration).

0 comments on commit 670599f

Please sign in to comment.