-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
60 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,7 +13,7 @@ neversink_string: "DiracX CHEP" | |
|
||
**Federico Stagni** <Email v="[email protected]" /> | ||
|
||
October 25th 2024 | ||
October 23rd 2024 | ||
__ <a href="https://indico.cern.ch/event/1338689/" class="ns-c-iconlink"><mdi-open-in-new />CHEP 2024</a> | ||
|
||
|
||
|
@@ -363,32 +363,27 @@ align: lm | |
|
||
# DiracX Web API | ||
|
||
| ||
|
||
<AdmonitionType type='caution' > | ||
What is on the right is the certification Web API, loaded live. Use with caution! | ||
</AdmonitionType> | ||
|
||
DIRAC Web APIs with <devicon-fastapi-wordmark class="text-7xl align-middle inline-block mx-0"></devicon-fastapi-wordmark> | ||
|
||
<ul class="text-sm"> | ||
<li> | ||
DIRAC Web APIs with | ||
<devicon-fastapi-wordmark class="text-7xl align-middle inline-block mx-1"></devicon-fastapi-wordmark> | ||
</li> | ||
<li> | ||
Nicely documented in | ||
<devicon-swagger-wordmark class="text-7xl align-middle inline-block mx-1"></devicon-swagger-wordmark> | ||
Nicely documented by | ||
<devicon-swagger-wordmark class="text-7xl align-middle inline-block mx-0"></devicon-swagger-wordmark> | ||
<ul class="text-xs ml-4"> | ||
<li>--> this is what you see on the right</li> | ||
<li class="text-xs">--> this is what you see on the right</li> | ||
</ul> | ||
</li> | ||
<li> | ||
Authorization with "standard" <a href="https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow" class="text-blue-600 hover:underline">Authorization Code Flow</a> redirecting to IdP | ||
Follows the <devicon-plain-openapi-wordmark class="text-7xl align-middle inline-block mx-1"></devicon-plain-openapi-wordmark> specification, with the (python) client generated by <a href="https://github.com/Azure/autorest/blob/main/docs/introduction.md">AutoREST</a>. | ||
</li> | ||
</ul> | ||
|
||
|
||
|
||
--- | ||
layout: top-title | ||
color: gray-light | ||
|
@@ -507,7 +502,7 @@ title: tokens | |
|
||
:: content :: | ||
|
||
- **VO membership**: "in transition" | ||
- **Identity (community membership)**: "in transition" | ||
- **Submitting pilots**: The computing elements right now prefer the tokens (DIRAC v8 does that already) | ||
- **Data access**: at least in WLCG, proxies. One day, will be token | ||
- **Verifying a user's identity** (internally to Dirac): | ||
|
@@ -520,7 +515,7 @@ layout: top-title-two-cols | |
color: gray-light | ||
align: c-lm-rm | ||
title: proxies+tokens | ||
columns: is-3 | ||
columns: is-2 | ||
--- | ||
|
||
:: title :: | ||
|
@@ -529,10 +524,11 @@ columns: is-3 | |
|
||
:: left :: | ||
|
||
```mermaid {theme: 'forest', scale: 0.4} | ||
DiracX: Authorization with "standard" <a href="https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow" class="text-blue-600 hover:underline">Authorization Code Flow</a> redirecting to IdP | ||
|
||
```mermaid {theme: 'forest', scale: 0.45} | ||
%%{init: { 'theme': 'forest' }}%% | ||
sequenceDiagram | ||
title DiracX: tokens with standard OAuth2 flow | ||
create actor U as User | ||
create participant DiracX | ||
U->>DiracX: Login | ||
|
@@ -551,24 +547,28 @@ DiracX delivers its own tokens, they are not the same tokens used for the Grid e | |
|
||
:: right :: | ||
|
||
```mermaid {theme: 'forest', scale: 0.4} | ||
DIRAC+DiracX: working with proxies and tokens | ||
|
||
```mermaid {theme: 'forest', scale: 0.40} | ||
%%{init: { 'theme': 'forest' }}%% | ||
sequenceDiagram | ||
title DIRAC+DiracX: Working with proxies and tokens | ||
create actor U as User | ||
create participant dirac-proxy-init | ||
U->>dirac-proxy-init: | ||
create participant VOMS | ||
dirac-proxy-init->>VOMS: | ||
destroy VOMS | ||
VOMS->>dirac-proxy-init: VOMS proxy | ||
dirac-proxy-init->>DiracX: exchange proxy for token | ||
DiracX->>dirac-proxy-init: DiracX token | ||
create participant DIRAC | ||
dirac-proxy-init->>DIRAC: exchange proxy for token | ||
destroy DIRAC | ||
DIRAC->>dirac-proxy-init: DiracX token | ||
dirac-proxy-init->>U: proxy+token bundle | ||
U->>DIRAC_service: proxy | ||
U->>DiracX: token | ||
``` | ||
|
||
<Line :x1=420 :y1=120 :x2=420 :y2=520 :width=1 /> | ||
|
||
|
||
--- | ||
|
@@ -580,24 +580,37 @@ title: Migration | |
|
||
:: title :: | ||
|
||
- Business continuity for DIRAC communities is our top priority: | ||
- DIRAC and DiracX share the databases (MySQL and OpenSearch) | ||
- the legacy adaptor will move traffic from DIRAC to DiracX services | ||
- DIRAC v9 and DiracX will need to live together for some time | ||
### Business continuity for DIRAC communities is our top priority | ||
Services of DIRAC v9 and DiracX will need to live together for some time | ||
|
||
|
||
:: content :: | ||
|
||
<Arrow x1="300" y1="170" x2="370" y2="170" /> | ||
<Line :x1=345 :y1=300 :x2=345 :y2=500 :width=1 /> | ||
|
||
<Arrow x1="610" y1="170" x2="680" y2="170" /> | ||
<Line :x1=633 :y1=300 :x2=633 :y2=500 :width=1 /> | ||
|
||
<div style="display: flex; align-items: center; justify-content: center;"> | ||
<img id="D_X" src="/public/images/legacy_before_Adaptor.png" class="mx-auto w-1/3"> </img> | ||
<span style="margin: 0 20px;">-></span> | ||
<img id="D_Ad" src="/public/images/legaxyAdaptor.png" class="mx-auto w-1/3"> </img> | ||
<span style="margin: 0 20px;">-></span> | ||
<img id="X" src="/public/images/legacy_after_Adaptor.png" class="mx-auto w-1/3"> </img> | ||
<img id="D_X" src="/public/images/legacy_before_Adaptor.png" class="mx-auto w-1/4"> </img> | ||
<img id="D_Ad" src="/public/images/legaxyAdaptor.png" class="mx-auto w-1/4"> </img> | ||
<img id="X" src="/public/images/legacy_after_Adaptor.png" class="mx-auto w-1/4"> </img> | ||
</div> | ||
|
||
|
||
<SpeechBubble position="d" color='amber' shape="round" v-drag="[180,350,120,180]"> | ||
DIRAC and DiracX share the databases | ||
</SpeechBubble> | ||
|
||
<SpeechBubble position="d" color='amber' shape="round" v-drag="[430,350,120,180]"> | ||
A legacy adaptor moves traffic from DIRAC to DiracX services | ||
</SpeechBubble> | ||
|
||
<SpeechBubble position="d" color='amber' shape="round" v-drag="[700,350,120,140]"> | ||
DIRAC services can be removed | ||
</SpeechBubble> | ||
|
||
|
||
|
||
--- | ||
|
@@ -613,8 +626,15 @@ title: Extensions | |
|
||
:: content :: | ||
|
||
<span class="bg-cyan-100 text-cyan-600 text-center p-4 border-l-6 border-2 border-cyan-400 rounded-lg pl-8 pr-8 w-full block"> | ||
It is sometimes necessary to extend all Dirac(X) components (including Web and Pilot). | ||
|
||
DiracX aims to provide an easy way to do so. | ||
</span> | ||
|
||
|
||
Examples: | ||
|
||
Dirac has to support different communities with different workflows and requirements. Examples: | ||
<ul class="text-sm"> | ||
<li>LHCb stores the metadata and provenance of every produced file in a LHCb-specific database (with an Oracle backend) | ||
<ul class="text-xs ml-4"> | ||
|
@@ -641,11 +661,9 @@ Dirac has to support different communities with different workflows and requirem | |
<li>EGI uses DIRAC as WMS, and EGI-CheckIn as an identity provider. Hosts (among others) WeNMR (structural biology and life science)</li> | ||
</ul> | ||
|
||
<span class="bg-cyan-100 text-cyan-600 text-center p-4 border-l-6 border-2 border-cyan-400 rounded-lg pl-8 pr-8 w-full block"> | ||
It is sometimes necessary to extend all Dirac(X) components (including Web and Pilot). | ||
|
||
DiracX aims to provide an easy way to do so. | ||
</span> | ||
<SpeechBubble position="l" color='amber' shape="round" v-drag="[840,250,120,180]"> | ||
Extension "Gubbins" provided for reference | ||
</SpeechBubble> | ||
|
||
|
||
--- | ||
|
@@ -703,10 +721,10 @@ titlewidth: is-3 | |
|
||
<ul class="text-sm"> | ||
<li> | ||
tests: (as you could see we have a somewhat open test deployment infrastructure). Try something out, and let us know! | ||
[code (github.com/DIRACGrid)](https://github.com/DIRACGrid/diracx) | ||
</li> | ||
<li> | ||
code: https://github.com/DIRACGrid/diracx | ||
tests: (as you could see we have a somewhat open test deployment infrastructure). Try something out, and let us know! | ||
</li> | ||
</ul> | ||
|
||
|
@@ -731,6 +749,10 @@ diracx-charts/run_demo.sh # do not do it now! | |
|
||
|
||
|
||
<!-- | ||
- You might have seen that we set up 2 VOs: **gridpp** and **dteam**. For **dteam** we do not import all members, but if you want to... | ||
--> | ||
|
||
|
||
--- | ||
layout: top-title-two-cols | ||
|
@@ -862,7 +884,7 @@ Q/A | |
|
||
:: content :: | ||
|
||
- I am using Rucio. I could use DiracX as WMS but do not want to fiddle with DIRAC | ||
- I am using {Rucio|AnotherTool}. I could use DiracX as WMS but do not want to fiddle with DIRAC | ||
|
||
--> It will probably be possible, but we do not know when. | ||
|
||
|