This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/tooling-docs.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 7f3b088 Automatic Site Publish by Buildbot
7f3b088 is described below
commit 7f3b088734cbd2fa1d65f2d1e4ca0cdc03236373
Author: buildbot <[email protected]>
AuthorDate: Tue Mar 11 20:21:38 2025 +0000
Automatic Site Publish by Buildbot
---
output/_pagefind/fragment/en_e29977d.pf_fragment | Bin 0 -> 1726 bytes
output/_pagefind/index/en_2b872fb.pf_index | Bin 6370 -> 0 bytes
output/_pagefind/index/en_3a7d2b5.pf_index | Bin 0 -> 8361 bytes
output/_pagefind/pagefind-entry.json | 2 +-
output/_pagefind/pagefind.en_1d5b6aaf5e.pf_meta | Bin 0 -> 141 bytes
output/_pagefind/pagefind.en_c1eabf35f8.pf_meta | Bin 131 -> 0 bytes
output/data-model.html | 329 +++++++++++++++++++++++
output/platform.html | 2 +-
8 files changed, 331 insertions(+), 2 deletions(-)
diff --git a/output/_pagefind/fragment/en_e29977d.pf_fragment
b/output/_pagefind/fragment/en_e29977d.pf_fragment
new file mode 100644
index 0000000..57cdf0e
Binary files /dev/null and b/output/_pagefind/fragment/en_e29977d.pf_fragment
differ
diff --git a/output/_pagefind/index/en_2b872fb.pf_index
b/output/_pagefind/index/en_2b872fb.pf_index
deleted file mode 100644
index ee56e23..0000000
Binary files a/output/_pagefind/index/en_2b872fb.pf_index and /dev/null differ
diff --git a/output/_pagefind/index/en_3a7d2b5.pf_index
b/output/_pagefind/index/en_3a7d2b5.pf_index
new file mode 100644
index 0000000..92db597
Binary files /dev/null and b/output/_pagefind/index/en_3a7d2b5.pf_index differ
diff --git a/output/_pagefind/pagefind-entry.json
b/output/_pagefind/pagefind-entry.json
index c71a084..2697ed2 100644
--- a/output/_pagefind/pagefind-entry.json
+++ b/output/_pagefind/pagefind-entry.json
@@ -1 +1 @@
-{"version":"1.0.4","languages":{"en":{"hash":"en_c1eabf35f8","wasm":"en","page_count":6}}}
\ No newline at end of file
+{"version":"1.0.4","languages":{"en":{"hash":"en_1d5b6aaf5e","wasm":"en","page_count":7}}}
\ No newline at end of file
diff --git a/output/_pagefind/pagefind.en_1d5b6aaf5e.pf_meta
b/output/_pagefind/pagefind.en_1d5b6aaf5e.pf_meta
new file mode 100644
index 0000000..333a209
Binary files /dev/null and b/output/_pagefind/pagefind.en_1d5b6aaf5e.pf_meta
differ
diff --git a/output/_pagefind/pagefind.en_c1eabf35f8.pf_meta
b/output/_pagefind/pagefind.en_c1eabf35f8.pf_meta
deleted file mode 100644
index 6b6bd2f..0000000
Binary files a/output/_pagefind/pagefind.en_c1eabf35f8.pf_meta and /dev/null
differ
diff --git a/output/data-model.html b/output/data-model.html
new file mode 100644
index 0000000..1c12f6b
--- /dev/null
+++ b/output/data-model.html
@@ -0,0 +1,329 @@
+<!doctype html>
+<html class="no-js" lang="en" dir="ltr">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>Apache Trusted Release Data Model - ASF Tooling Website</title>
+<link href="/css/bootstrap.min.css" rel="stylesheet">
+<link href="/css/fontawesome.all.min.css" rel="stylesheet">
+<link href="/css/headerlink.css" rel="stylesheet">
+<script src="/highlight/highlight.min.js"></script>
+<!-- pagefind search -->
+<link href="/_pagefind/pagefind-ui.css" rel="stylesheet">
+<script src="/_pagefind/pagefind-ui.js" type="text/javascript"></script>
+<script>
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#pagefind-search" });
+ });
+ var pageTitle = '';
+ if(pageTitle === '404'){
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#page-404-search" });
+ });
+ }
+</script>
+<!-- pagefind search box styling -->
+<style type="text/css">
+ .search-form {
+ right: 0;
+ left: initial !important;
+ min-width: 25vw;
+ max-width: 90vw;
+ max-height: calc(95vh - 100px);
+ overflow: auto;
+ margin-top: 5px;
+ }
+</style>
+ </head>
+ <body class="d-flex flex-column h-100">
+ <main class="flex-shrink-0">
+ <div>
+<!-- nav bar -->
+<nav class="navbar navbar-expand-lg navbar-dark bg-dark" aria-label="Fifth
navbar example">
+ <div class="container-fluid">
+ <a class="navbar-brand" href="/"><img src="/images/feather.png"
style="height: 32px;"/> ASF Tooling</a>
+ <button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarADP" aria-controls="navbarADP" aria-expanded="false"
aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+
+ <div class="collapse navbar-collapse" id="navbarADP">
+ <ul class="navbar-nav me-auto mb-2 mb-lg-0">
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#"
data-bs-toggle="dropdown" aria-expanded="false">About</a>
+ <ul class="dropdown-menu">
+ <!--<li><a class="dropdown-item" href="/blog/">Tooling
Blog</a></li>-->
+ <li><a class="dropdown-item" href="/team.html">About the
team</a></li>
+ <li><a class="dropdown-item" href="/trusted-release.html">Trusted
Release</a></li>
+ </ul>
+ </li>
+
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#"
data-bs-toggle="dropdown" aria-expanded="false">Repositories</a>
+ <ul class="dropdown-menu">
+ <li><a class="dropdown-item"
href="https://github.com/apache/tooling-docs/">Website and Docs</a></li>
+ <li><a class="dropdown-item"
href="https://github.com/apache/tooling-trusted-release">Trusted
Release</a></li>
+ <li><a class="dropdown-item"
href="https://github.com/apache/infrastructure-agenda">Agenda Tool</a></li>
+ </ul>
+ </li>
+
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#"
data-bs-toggle="dropdown" aria-expanded="false">Contribute</a>
+ <ul class="dropdown-menu">
+ <li><a class="dropdown-item" href="/volunteer.html">Volunteer with
Tooling</a></li>
+ </ul>
+ </li>
+
+ <li class="nav-item dropdown">
+ <a href="#" class="nav-link dropdown-toggle hidden-xs"
data-bs-toggle="dropdown"><span class="fa-solid fa-magnifying-glass"
aria-hidden="true"></span> Search</a>
+ <ul class="search-form dropdown-menu">
+ <li>
+ <div id="pagefind-search" class="input-group" style="width:
100%; padding: 0 5px;"></div>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ </div>
+</nav><!-- page contents -->
+<div id="contents">
+ <div class="bg-white p-5 rounded">
+ <div class="col-sm-8 mx-auto">
+ <h1>
+ Apache Trusted Release Data Model
+ </h1>
+ <p><em>This is a discussion and the actual implementation will
diverge.</em></p>
+<p>Here is an introduction to the ATR's data model.</p>
+<blockquote>
+<p>The view here is descriptive of a JSON model, but the implementation will
be a combination of filesystem files and subdirs along with a database
schema.</p>
+</blockquote>
+<h2>PMCs</h2>
+<p>Projects are run by a PMC with members and committers, have metadata, vote
policy settings, and product lines.</p>
+<ol>
+<li>Key</li>
+<li>Project Name</li>
+<li>Product Lines</li>
+<li>User role lists:
+<ul>
+<li>PMC Members</li>
+<li>Committers</li>
+<li>Release Managers</li>
+</ul>
+</li>
+<li>Public Signing Keys</li>
+<li>Vote Policy</li>
+</ol>
+<h3>Product Lines</h3>
+<p>One or more product lines with separate releases including the main one. A
product line may override PMC vote policy.</p>
+<ol>
+<li>Key</li>
+<li>PMC</li>
+<li>Product Name</li>
+<li>Latest Version</li>
+<li>Distribution Channels</li>
+<li>Vote Policy</li>
+<li>Release lists:
+<ul>
+<li>Candidates</li>
+<li>Current</li>
+<li>Archived</li>
+</ul>
+</li>
+</ol>
+<h3>Public Signing Keys</h3>
+<p>Public Signing Keys are stored using the User ID of the owner as the
key.</p>
+<ol>
+<li>User</li>
+<li>Public Signing Key</li>
+<li>Type</li>
+<li>Expiration</li>
+</ol>
+<h3>Vote Policy</h3>
+<p>These are a set of choices which control how a release vote is conducted by
the ATR.</p>
+<ol>
+<li>Mailto Addresses for Emails - defaults to the project dev list, but the
PMC can change these and add contacts.
+This will be helpful in getting dependent projects to check releases
early.</li>
+<li>Manual Vote Process flag - if this is set then the vote will be completely
manual and following policy is ignored.</li>
+<li>Minimum Number of Hours - the minimum time to run the vote. If set to
<code>0</code> then wait until 3 +1 votes and more +1 than -1.</li>
+<li>Release Checklist - markdown text describing how to test release
candidates.</li>
+<li>Pause for RM check if any -1 votes flag - normally when the vote passes we
proceed to the next steps,
+but we should allow the RM a chance to confirm if a -1 vote should stop the
release.</li>
+</ol>
+<h2>Releases</h2>
+<p>Releases are related groups of packages. Candidate releases go through
stages and these have phases.
+When approved to be released the stage is moved to current.
+Current releases have initial phases to distribute and announce the
release.</p>
+<ol>
+<li>Storage key</li>
+<li>Stage</li>
+<li>Phase</li>
+<li>PMC</li>
+<li>Product Line</li>
+<li>Package Managers</li>
+<li>Version</li>
+<li>Packages - List of triples of file, signature, and checksum that are the
downloadable components of a release.
+<blockquote>
+<p>Should we use Artifacts instead of Packages?</p>
+</blockquote>
+</li>
+<li>SBOMs - in an acceptable SBOM format and maintained in Phases using
standard Python libraries.</li>
+<li>Vote Policy</li>
+<li>Votes
+<ul>
+<li>Pass or Fail</li>
+<li>Summary</li>
+<li>Binding votes</li>
+<li>Community votes</li>
+<li>Start</li>
+<li>End</li>
+</ul>
+</li>
+</ol>
+<h2>Distribution Channels</h2>
+<p>Distribution channels are where PMCs distribute release packages. These
need to be defined in the ATR.
+Distribution channels may be for test packages. Package Managers will be
automated over time.</p>
+<ol>
+<li>Name</li>
+<li>Key</li>
+<li>URL</li>
+<li>Credentials</li>
+<li>Is Test?</li>
+<li>Automation endpoint</li>
+</ol>
+<h2>User Roles</h2>
+<p>Multiple roles are possible and available actions are composed. Empty cells
denote "no".</p>
+<table>
+<thead>
+<tr>
+<th>Activity</th>
+<th>PMC Member</th>
+<th>Release Manager</th>
+<th>Committer</th>
+<th>Visitor</th>
+<th>ASF Member</th>
+<th>SysAdmin</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>binding vote</td>
+<td>yes</td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+</tr>
+<tr>
+<td>vote</td>
+<td>yes</td>
+<td>yes</td>
+<td>yes</td>
+<td>yes</td>
+<td>yes</td>
+<td></td>
+</tr>
+<tr>
+<td>release admin</td>
+<td>yes</td>
+<td>yes</td>
+<td></td>
+<td></td>
+<td></td>
+<td>yes</td>
+</tr>
+<tr>
+<td>project admin</td>
+<td>yes</td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td>yes</td>
+</tr>
+<tr>
+<td>product admin</td>
+<td>yes</td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td>yes</td>
+</tr>
+<tr>
+<td>manage key</td>
+<td>yes</td>
+<td>yes</td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+</tr>
+<tr>
+<td>run phase</td>
+<td>yes</td>
+<td>yes</td>
+<td></td>
+<td></td>
+<td></td>
+<td>yes</td>
+</tr>
+<tr>
+<td>channel admin</td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td>yes</td>
+</tr>
+<tr>
+<td>view release events</td>
+<td>yes</td>
+<td>yes</td>
+<td>yes</td>
+<td>yes</td>
+<td>yes</td>
+<td>yes</td>
+</tr>
+<tr>
+<td>view project events</td>
+<td>yes</td>
+<td>yes</td>
+<td>yes</td>
+<td>yes</td>
+<td>yes</td>
+<td>yes</td>
+</tr>
+<tr>
+<td>search all events</td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td>yes</td>
+<td>yes</td>
+</tr></tbody></table>
+<blockquote>
+<p>To vote <em>visitors</em> must provide PII and we need to explain how we
are protecting their privacy.</p>
+</blockquote>
+<blockquote>
+<p>The authorization and authentication for <code>GitHub PATs</code> will be
specific and fine-grained, but should be similar to a "release manager"</p>
+</blockquote>
+
+ </div>
+ </div>
+</div> <!-- footer -->
+ <div class="row">
+ <div class="large-12 medium-12 columns">
+ <p style="font-style: italic; font-size: 0.8rem; text-align: center;">
+ Copyright 2025, <a href="https://www.apache.org/">The Apache
Software Foundation</a>, Licensed under the <a
href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a>.<br/>
+ Apache® and the Apache feather logo are trademarks of The Apache
Software Foundation.
+ </p>
+ </div>
+ </div>
+ <script type="application/ecmascript" src="/js/bootstrap.bundle.min.js"
integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3"></script>
</div>
+ </main>
+ <script>hljs.initHighlightingOnLoad();</script>
+ </body>
+</html>
diff --git a/output/platform.html b/output/platform.html
index 7503377..338bc0f 100644
--- a/output/platform.html
+++ b/output/platform.html
@@ -102,7 +102,7 @@
<li>Release Storage. A large filesystem with folders for each release's
files.</li>
<li>Metadata Database. A database on the server with the metadata schema.</li>
</ol>
-<p>See <a
href="https://github.com/apache/tooling-docs/blob/main/apache-trusted-release/data-model.md">Data
Model</a> for a discussion of the objects managed by the ATR.</p>
+<p>See <a href="data-model.html">Data Model</a> for a discussion of the
objects managed by the ATR.</p>
<h2>Web Service</h2>
<ol>
<li><code>asfquart</code> based asynchronous python web service.</li>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]