Refactor project-coordinates: security_model_link and AI-friendly sources

Rename the "link" field to "security_model_link" and add a
"security_model_source" field that points at an AI-friendly plain-text
(raw GitHub) version of the security page. The source is not rendered on
the site; it is there for external tooling.

- Add project-coordinates.schema.json (JSON Schema; the six core fields
  are required) and reference it from the data file via a "$schema" key.
  The page generator now skips "$"-prefixed meta keys.
- Normalize every entry to carry the six core fields (null when absent);
  default the one missing contact to security@apache.org.
- Fill security_model_source from raw.githubusercontent.com for
  GitHub-hosted security pages.
- Normalize GitHub SECURITY.md entries to the canonical /security/policy
  human link, with the raw SECURITY.md as the source.
- Regenerate the affected overview and project pages.

Assisted-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
9 files changed
tree: afb2c621eba28f8b6d631d7f1cef9a916a37217c
  1. archetypes/
  2. content/
  3. scripts/
  4. static/
  5. themes/
  6. .asf.yaml
  7. .gitignore
  8. config.toml
  9. CONTRIBUTING.md
  10. Jenkinsfile
  11. README.md
  12. shell.nix
README.md

Apache Security website

This is the source code for the website of the Apache Security Team, hosted at:

https://security.apache.org/

Repository structure

This repository uses 2 branches for serving the website.

  • The main branch, which contains all the sources for the website.
  • The asf-site branch, which contains the generated website being used for the Apache Security Team website.

When contributing patches, apply them to the main branch. Jenkins will then regenerate the website and commit the changes to the asf-site branch.

Content Management System

The Apache Security Team website uses Hugo as static website generator. See Hugo for more info and for details how to install Hugo.

Generate the website

To generate the static website, execute hugo server to generate and serve the website on localhost:1313.

During development, it may be useful to run an incremental build. For this to work, execute hugo server -D to continuously generate and serve the website on localhost:1313.

Publish the website

A Jenkins job automatically builds all merges to main and commits the generated site to the asf-site branch.