Skip to content

Adds draft software delivery documentation#64

Open
JamesVarndell wants to merge 7 commits into
mainfrom
app-delivery
Open

Adds draft software delivery documentation#64
JamesVarndell wants to merge 7 commits into
mainfrom
app-delivery

Conversation

@JamesVarndell

Copy link
Copy Markdown

Description

Adds documentation for handing over web applications and software services to ECMWF from an external contractor.

Contributor Declaration

By opening this pull request, I affirm the following:

  • All authors agree to the Contributor License Agreement.
  • The code follows the project's coding standards.
  • I have performed self-review and added comments where needed.
  • I have added or updated tests to verify that my changes are effective and functional.
  • I have run all existing tests and confirmed they pass.

@JamesVarndell JamesVarndell requested a review from EddyCMWF June 22, 2026 08:24
@mattofficeuk

Copy link
Copy Markdown

Can we add something like "AI tools may be used to assist in writing this documentation, but the contractor is responsible for, and must ensure, the final completeness and correctness".

Otherwise I am concerned we will just get the output of "Check these requirements, fill in this document" with no further verification. We all know AI would do a great and vague job of filling this in

Comment thread Software Delivery/Technical-Handover.md Outdated
Comment thread Software Delivery/Technical-Handover.md
All source code must be delivered to ECMWF as one or more **GitHub repositories within the ECMWF GitHub organisation**. Code is not considered delivered if it resides only in a personal account, an organisation's own GitHub space, or any location outside ECMWF's organisation.

* Repositories are created by ECMWF staff via the Technical Officer, following the [Requesting a New Repository](https://github.com/ecmwf/codex/blob/main/Legal/Requesting-New-Repository.md) procedure.
* To enable ECMWF to create the repositories, the contractor must provide all of the information required as described in the [Software Management Plan](https://github.com/ecmwf/codex/tree/main/Software%20Management%20Plan#5-new-repositories) guidelines.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ahh, I see you already addressed the comment I made but deleted because the referenced lines had changed.... So this comment is literally, "good, well done"


ECMWF must be able to deploy and operate every delivered component on its **own infrastructure**, independently of any environment maintained by the contractor. ECMWF will not assume responsibility for, or continue to use, contractor-hosted infrastructure.

* **Docker** is the required containerisation method. Every component that is containerised must be delivered with its **Dockerfile(s)** and documentation explaining how the containerisation works — what each image contains, how images are built, and how they are run.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is good for apps as they are... less good for the data-processing workflows. Sorry, I made things difficult.

So make this a recommendations list, and state that the deployment architecture must be agreed with the Technical Officer

* Instructions must cover deploying a change, deploying from scratch, and rolling back a deployment.
* Any configuration that differs between environments (e.g. development, staging, production) must be documented, along with every environment variable, secret, and configuration value ECMWF must supply.
* Any value, endpoint, or credential currently hardcoded or otherwise bound to the contractor's infrastructure must be clearly identified, with guidance on what ECMWF must change.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For applications which have multiple containers, it is recommended that the deployment configuration is provided and documented in a separate repository.

Clarify AI tools responsibility in documentation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants