Skip to content

Commit 3aafee2

Browse files
Merge branch 'develop' into kano-resource-discovery
2 parents 91c1889 + dced061 commit 3aafee2

File tree

10 files changed

+2635
-1229
lines changed

10 files changed

+2635
-1229
lines changed

.github/workflows/github-pages.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Deploy GitHub Pages
2+
on:
3+
workflow_dispatch:
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- name: Checkout
10+
uses: actions/checkout@v4
11+
12+
- name: Install pandoc
13+
run: |
14+
sudo apt-get update
15+
sudo apt-get install -y pandoc
16+
17+
- name: Build site
18+
run: |
19+
rm -rf dist
20+
mkdir -p dist
21+
22+
pandoc README.md \
23+
--from=gfm \
24+
--to=html5 \
25+
--standalone \
26+
--metadata title="README" \
27+
-o dist/index.html
28+
29+
cp ./logo.png ./dist/logo.png
30+
cp ./docs.html ./dist/docs.html
31+
32+
- name: Upload Pages artifact
33+
uses: actions/upload-pages-artifact@v3
34+
with:
35+
path: dist
36+
37+
deploy:
38+
needs: build
39+
40+
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
41+
permissions:
42+
pages: write # to deploy to Pages
43+
id-token: write # to verify the deployment originates from an appropriate source
44+
45+
# Deploy to the github-pages environment
46+
environment:
47+
name: github-pages
48+
url: ${{ steps.deployment.outputs.page_url }}
49+
50+
# Specify runner + deployment step
51+
runs-on: ubuntu-latest
52+
steps:
53+
- name: Deploy to GitHub Pages
54+
id: deployment
55+
uses: actions/deploy-pages@v4
56+
57+

.github/workflows/line-length.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Validate I-D line length
2+
on:
3+
push:
4+
branches:
5+
- "*"
6+
pull_request:
7+
workflow_dispatch:
8+
9+
jobs:
10+
validate_line_length:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout
14+
uses: actions/checkout@v4
15+
16+
- name: Validate I-D line length
17+
run: if grep -nE '.{73,}' IETF-RFC.md | grep ' '; then echo "Found lines exceeding the limit"; exit -1; else echo "Validation completed successfully"; fi
18+

.github/workflows/oas-validation.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
name: Validate OpenAPI Specification
2-
on: [push]
2+
on:
3+
push:
4+
branches:
5+
- "*"
6+
pull_request:
7+
workflow_dispatch:
38

49
jobs:
510
validate_openapi:

.github/workflows/rfc.yml

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
name: Build RFC XML
1+
name: Prepare I-D for Datatracker
22

33
on:
4-
push:
5-
branches: [develop]
6-
paths: [IETF-RFC.md]
7-
workflow_dispatch:
4+
workflow_dispatch:
85

96
jobs:
107
build:
@@ -13,7 +10,6 @@ jobs:
1310
steps:
1411
- uses: actions/checkout@v4
1512

16-
# Ruby setup
1713
- uses: ruby/setup-ruby@v1
1814
with:
1915
ruby-version: '3.2'
@@ -22,25 +18,47 @@ jobs:
2218
- name: Install kramdown-rfc
2319
run: gem install --no-document kramdown-rfc
2420

25-
- name: Convert Markdown to XML
26-
run: kramdown-rfc IETF-RFC.md > IETF-RFC.xml
21+
- name: Bump I-D version
22+
run: perl -pe 's/open-cloud-mesh-(\d+)/"open-cloud-mesh-" . sprintf("%02d", $1 + 1)/e' -i IETF-RFC.md || exit -1
23+
24+
- name: Convert Markdown to XML and save output
25+
id: convert
26+
run: |
27+
kramdown-rfc IETF-RFC.md > IETF-RFC.xml 2> /tmp/result || true
28+
cat /tmp/result
29+
echo "result<<EOF" >> $GITHUB_OUTPUT
30+
cat /tmp/result >> $GITHUB_OUTPUT
31+
echo "EOF" >> $GITHUB_OUTPUT
32+
33+
- uses: actions/upload-artifact@v4
34+
with:
35+
name: rfc-md
36+
path: IETF-RFC.md
2737

2838
- uses: actions/upload-artifact@v4
2939
with:
3040
name: rfc-xml
3141
path: IETF-RFC.xml
3242

33-
# Commit the result back to the repo
43+
# Create a PR to the repo with the results
3444
- uses: peter-evans/create-pull-request@v6
3545
with:
3646
branch: rfc/gen-${{ github.sha }}
3747
base: develop
3848
add-paths: |
49+
IETF-RFC.md
3950
IETF-RFC.xml
40-
commit-message: 'CI: regenerate IETF-RFC.xml'
51+
commit-message: 'CI: regenerate IETF-RFC.xml for Datatracker'
4152
signoff: true
4253
title: 'Regenerate IETF-RFC.xml'
43-
body: 'Automatic XML regeneration by CI'
54+
body: |
55+
This autogenerated PR bumps the IETF version of the I-D and prepares the IETF-RFC.xml file for submission to the [IETF Datatracker](https://datatracker.ietf.org/submit).
56+
57+
The conversion produced the output below:
58+
```
59+
${{ steps.convert.outputs.result }}
60+
```
4461
reviewers: |
4562
glpatcern
46-
michielbdejong
63+
MahdiBaghbani
64+
mickenordin

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# Changelog
22

3+
## [1.2.1] - 2025-07-17 - Giuseppe Lo Presti <[email protected]>
4+
5+
* Overall review of the spec in the ongoing quest to improve clarity
6+
and consistency, without altering the semantic of the API.
7+
* Introduced concept of a Directory Service with a Where-Are-You-From
8+
page capability and an Invite Accept Dialog property to complement
9+
the Invite flow. Correspondingly, the Discovery endpoint has been
10+
extended and its description improved.
11+
312
## [1.2.0] - 2024-11-20 - Michiel B. de Jong <[email protected]>
413

514
* Rephrased and improved the whole protocol description text

HISTORY.md

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
History and Previous Meet-ups
22
=============================
33

4-
The Open Cloud Mesh initiative started in 2015 within the [GÉANT Association](https://geant.org). Here follows a brief history of the project, including pointers to all technical presentations held over the years, with their recordings where available.
4+
The Open Cloud Mesh initiative started in 2015 within the [GÉANT Association](https://geant.org). Here follows a brief history of the project, including pointers to all known technical presentations held over the years, with their recordings where available.
55

66

7-
### Origins of the project at GÉANT
7+
### Origins of the project at [GÉANT](https://geant.org)
88
* In December 2013, the GÉANT Association (formerly known as TERENA) and ownCloud Inc. made an agreement that serves to facilitate the desire of various National Research and Education Networking organisations (NRENs) to introduce services based on ownCloud technology and/or to offer the technology to their constituencies. Such technology appeared to be the most promising in order to provide on-premise file-based sync&share.
9-
* As part of this collaboration effort, in January 2015, Christian Schmitz from ownCloud initiated an idea to interconnect the individual on-premise private cloud domains at the server side in order to provide federated sharing and syncing functionality between the different administrative domains.
10-
* The initiative was presented at the [Cloud Sync&Share Storage (CS3) Workshop 2016](https://cs3.ethz.ch/program.html) to an emerging community of vendors, NRENs and other institutions.
11-
* Minutes of the early meetings and actions are available at the [GÉANT wiki](https://wiki.geant.org/display/OCM/Open+Cloud+Mesh).
9+
* As part of this collaboration effort, in January 2015, ownCloud initiated an idea to interconnect the individual on-premise private cloud domains at the server side in order to provide [federated sharing functionalities](https://oc.owncloud.com/opencloudmesh.html) between the different administrative domains.
10+
* The initiative was presented at the [TF-Storage Meeting 2015](https://wiki.geant.org/display/CISS/17th+TF-Storage+meeting) ([slides available from the web archive](https://web.archive.org/web/20200930061326/https:/www.terena.org/activities/tf-storage/ws19/slides/20151014-ocm.pdf)) and subsequently to the [Cloud Sync&Share Storage (CS3) Workshop 2016](https://cs3.ethz.ch/program.html) to an emerging community of vendors, NRENs and other institutions. A [follow-up presentation](https://indico.cern.ch/event/565381/contributions/2401967) took place at CS3 2017.
1211
* Following that initial effort, implementations appeared in the market featuring a `1.0-proposal1` OCM API version, prior to official standardization. A Campfire-style discussion about current developments and standardization plans was held at [CS3 2020](https://indico.cern.ch/event/854707/timetable/#20200128.detailed).
12+
* Minutes of the early meetings and actions are available at the [GÉANT wiki](https://wiki.geant.org/display/OCM/Open+Cloud+Mesh).
1313

1414

15-
### The EU-funded CS3MESH4EOSC project
16-
* In January 2020, a consortium of multiple NRENs and independent actors of the [CS3 community](www.cs3community.org), led by CERN, kick-started the [CS3MESH4EOSC project](https://cs3mesh4eosc.eu).
15+
### The EU-funded [CS3MESH4EOSC project](https://cs3mesh4eosc.eu)
16+
* In January 2020, a consortium of multiple NRENs and independent actors of the [CS3 community](www.cs3community.org), led by CERN, kick-started the CS3MESH4EOSC project.
1717
* [Technical Workshop](https://indico.cern.ch/event/928998) held in June 2020: **the `1.0.0` release of the OCM API was [published](https://github.com/cs3org/OCM-API/blob/develop/CHANGELOG.md#100---2020-07-01---bjoern-schiessle-bjoernschiessleorg)**. On the occasion, the OCM repository was migrated to the [cs3org](https://github.com/cs3org) GitHub Organization. The standard was already implemented by ownCloud, Nextcloud and Seafile, and used in production to federate multiple instances.
18+
* [Paper presented at CHEP 2021](https://www.epj-conferences.org/articles/epjconf/abs/2021/05/epjconf_chep2021_02041/epjconf_chep2021_02041.html) about the emerging ScienceMesh federation.
1819
* [Automated tests](https://github.com/pondersource/dev-stock?tab=readme-ov-file#open-cloud-mesh-test-suite-) initiated and hosted by PonderSource.
1920
* [OCM Workshop held at CS3 2021](https://indico.cern.ch/event/970232/sessions/372052/#20210127).
2021
* OCM Interoperability Session held at the [CS3 2022](https://indico.cern.ch/event/1075584/timetable/#20220124.detailed).
@@ -23,11 +24,16 @@ The Open Cloud Mesh initiative started in 2015 within the [GÉANT Association](h
2324
* In June 2023, members of the CS3MESH4EOSC project presented at the [EGI 2023 conference](https://whova.com/web/M8zkrnLo5DUwlnug54VINPkHTdssyl49PHa20jCW2Qg%3D/Agenda/), demonstrating the [ScienceMesh](https://sciencemesh.io) and its OCM-based federation capabilities with live demos.
2425

2526

26-
### NL-net funded efforts
27+
### [NL-net](https://nlnet.nl) funded efforts
2728
* In October 2023 a [W3C Community Group](https://www.w3.org/community/ocm/) was launched.
2829
* A Campfire and Panel session about OCM took place at [CS3 2024](https://indico.cern.ch/event/1332413/timetable/#20240312.detailed), held back at CERN on its 10th anniversary. Subsequently, the CS3 community initiated thematic SIGs, including an OCM SIG.
2930
* The OCM Test Suite was revamped, and the specification underwent a major rewrite in order to improve clarity and adopt the IETF Internet-Draft format.
3031
* [Technical Workshop](https://indico.cern.ch/event/1451374/) held in November 2024: **a new version was [published](https://github.com/cs3org/OCM-API/blob/develop/CHANGELOG.md#120---2024-11-20---michiel-b-de-jong-michielpondersourcecom) and the Internet-Draft document was presented**.
3132
* Presentation at [FOSDEM 25](https://ftp.fau.de/fosdem/2025/h1308/fosdem-2025-5094-open-cloud-mesh.av1.webm).
32-
* In March 2025, the team was invited to present the Internet-Draft document at the IETF Meeting #122. The presentation was postponed to the IETF Meeting #123, as it clashed with the CS3 2025 event.
33+
* In March 2025, the team was invited to present the Internet-Draft document at the IETF Meeting 122. The presentation was postponed to the next meeting, as it clashed with the CS3 2025 event.
3334
* At [CS3 2025](https://indico.cern.ch/event/1467643/timetable/#20250319.detailed) the OCM CS3 SIG held a session to report on its activity.
35+
* The Internet-Draft document was presented at [IETF 123](https://datatracker.ietf.org/meeting/123/agenda), as part of the [Dispatch session](https://datatracker.ietf.org/meeting/123/session/dispatch) ([recording](https://youtu.be/LJMnsFVR3rU?t=452)). **Version 1.2.1 was [published](https://github.com/cs3org/OCM-API/blob/develop/CHANGELOG.md#121---2025-07-17---giuseppe-lo-presti-lopresticernch)** in preparation for that event. Following a successful dispatch, a non-WG [IETF mailing list](https://mailman3.ietf.org/mailman3/lists/ocm.ietf.org) was provided to initiate the standardization process.
36+
37+
38+
## The path towards IETF Standardization
39+
* The [wiki](https://github.com/cs3org/OCM-API/wiki) is launched to collect minutes of the ongoing meetings.

0 commit comments

Comments
 (0)