-
Notifications
You must be signed in to change notification settings - Fork 41
Added devportal #251
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Added devportal #251
Changes from 6 commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
43c1d6f
added devportal
c92298a
removed consumer key
5852b96
fixed typos
ea74dff
added new terms to spelling
10665f6
fixed spelling
60c9f95
added word to pattern
5da1389
completed requested fixes
19ae321
removed unnecessary images
4780ec5
moved firecrest to access
6b97445
changed link to firecrest-ui docs
1ee9b49
fixed root index
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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
This file contains hidden or 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 |
|---|---|---|
|
|
@@ -76,6 +76,8 @@ NICs | |
| NVMe | ||
| Nordend | ||
| OpenFabrics | ||
| OAuth | ||
| OIDC | ||
| OSS | ||
| OSSs | ||
| OTP | ||
|
|
||
This file contains hidden or 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 |
|---|---|---|
|
|
@@ -14,6 +14,7 @@ Säntis | |
| ScaLAPACK | ||
| VSCode | ||
| aarch64 | ||
| WSO2 | ||
|
|
||
| # markdown figure | ||
| !\[.*\]\(.*\) | ||
|
|
||
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
File renamed without changes
File renamed without changes
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
File renamed without changes
File renamed without changes
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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 hidden or 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 |
|---|---|---|
| @@ -0,0 +1,154 @@ | ||
| [](){#ref-devportal} | ||
| # Developer Portal | ||
|
|
||
| The [Developer Portal](https://developer.cscs.ch) facilitates CSCS users to manage client applications' subscriptions to an API at CSCS, such as [FirecREST][ref-firecrest] or [CI/CD][ref-cicd]. | ||
|
|
||
| ## Terminology | ||
|
|
||
| ### API | ||
|
|
||
| An **API** is an interface exposed by CSCS to their users to allow them accessing protected resources (computing, storage, accounting data, etc) in an automated fashion. | ||
|
|
||
| Examples of automated access to HPC resources are: | ||
|
|
||
| - A cronjob that triggers a CI/CD pipeline to test software periodically | ||
| - A workflow manager that executes workflows asynchronously | ||
| - A web application that performs unattended data transfer after a job finishes | ||
|
|
||
| [](){#ref-devportal-application} | ||
| ### Application | ||
|
|
||
| An **application** (or "*client application*" or "*client*") is a software created by users that consumes the resources exposed by an API. | ||
|
|
||
| At CSCS, it requires [OIDC/OAuth2 access tokens](https://datatracker.ietf.org/doc/html/rfc6749#section-1.4) to authenticate against an [Identity Provider](#identity-provider-idp) (IdP) in order to access the protected resources. | ||
|
|
||
| An application *consumes* API resources by *subscribing* to the API. At CSCS, applications can be subscribed to multiple APIs. | ||
|
|
||
| ### Identity Provider (IdP) | ||
|
|
||
| An **identity provider** is an entity that authenticates an application and allows accessing protected resources. In this case, CSCS provides an IdP for all its APIs. | ||
|
|
||
| ### Production Keys | ||
|
|
||
| Applications must identify against the CSCS IdP. To do this, users must create the **production keys** (*Consumer ID* - or *Client ID* -, and *Consumer Secret* - or *Client Secret*) that are going to be used to authenticate. | ||
|
|
||
| !!!warning | ||
jpdorsch marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| The pair Consumer Key and Secret represents a personal credential to access CSCS resources, therefore can't be shared and must be stored securely (i.e.: not exposed in public repositories, forums, documentation, etc) | ||
|
|
||
| ## Getting started | ||
|
|
||
| Start by browsing to [developer.cscs.ch](https://developer.cscs.ch), then sign in by clicking the `SIGN-IN` button on the top right hand corner of the page. | ||
|
|
||
| Once logged in, you will see a list of APIs that are available to your user. | ||
|
|
||
| !!! Warning | ||
jpdorsch marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| You might not see version 1 or version 2 of some APIs. You will be able to see all the versions when you *subscribe* your Application to the API. | ||
|
|
||
| ### Creating an Application | ||
|
|
||
| Click on the `Applications` option at the top of the screen to manage your applications. | ||
|
|
||
|  | ||
|
|
||
| To create a new application, click on the `ADD NEW APPLICATION` button at the top of the Applications view | ||
|
|
||
|  | ||
|
|
||
| Complete the mandatory fields (marked with `*`) and make sure to give the application a unique name and select the number of requests per minute. | ||
| When finished, click on the `SAVE` button. | ||
|
|
||
|  | ||
jpdorsch marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| !!! note | ||
| On your first login you will find the `DefaultApplication` which is created by default | ||
|
|
||
| !!! note | ||
| The quota of requests per minute will be shared by all subscribers to the Application over all APIs | ||
|
|
||
| ### Configuring Production Keys | ||
|
|
||
| Once the Application is created, create the Production Keys by clicking on `Production Keys` in the left panel: | ||
|
|
||
|  | ||
|
|
||
| Click on the `Generate Keys` button at the bottom of the page to generate the production keys of your application: | ||
|
|
||
|  | ||
|
|
||
| Once the keys are generated, you will see the pair `Consumer Key` (also known as "client id") and `Consumer Secret` (also known as "client secret"). | ||
|
|
||
|  | ||
|
|
||
| !!! note | ||
| At the moment, only FIRECREST keys are available for the users | ||
|
|
||
| ### Subscribe to an API | ||
|
|
||
| Once you have set up your Application, is time to subscribe it to an API. | ||
|
|
||
| To do so: | ||
|
|
||
| * (8.a) click on the :fontawesome-solid-rss: `Subscriptions` option on the left panel | ||
| * (8.b) click the :fontawesome-solid-circle-plus: `SUBSCRIBE APIS` button | ||
| * (8.c) choose the [business plan][ref-devportal-api-info] and the version of the API you want to subscribe to by clicking the `SUBSCRIBE` button on the right-side of the requested API. | ||
|
|
||
|  | ||
|
|
||
| ## Manage your applications | ||
|
|
||
| Back on the Subscription Management page, you can review your active subscriptions and APIs that your Application has access to. | ||
|
|
||
|  | ||
|
|
||
| ### Regenerate production keys | ||
|
|
||
| It's a good practice to rotate or regenerate the production keys of your application to increase security. | ||
|
|
||
| To do this, go to the `Production Keys` view of the desired application and click on the button `REMOVE KEYS`: | ||
|
|
||
|  | ||
|
|
||
|  | ||
jpdorsch marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| To regenerate the keys, refer back to the [Configuring Production Keys](#configuring-production-keys) section. | ||
|
|
||
| !!!info | ||
| After resetting the credentials, you will need to reconfigure your software(s) to use the new keys | ||
|
|
||
| ### Remove your application | ||
|
|
||
| To delete your application (which means removing all subscriptions and production keys), refer to the Application view and click on the `DELETE` button in the top-right corner: | ||
|
|
||
|  | ||
jpdorsch marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| [](){#ref-devportal-api-info} | ||
| ## View information of APIs | ||
|
|
||
| The Developer Portal includes information of the APIs exposed by CSCS on the API view. | ||
|
|
||
| Click on `APIs` button on the top of the Developer Portal, and select on the left menu the option `Overview` | ||
|
|
||
|  | ||
|
|
||
| The information exposed in the overview view is: | ||
|
|
||
| * Amount of subscriptions to the API (among all clients) | ||
| * Documentation of the API (OpenAPI reference, SDK tools, etc) | ||
| * Community information (Public repository, slack channel) | ||
| * Contact information (developers and business) | ||
| * Business plans (amount of requests per minute that are allowed in the API subscription) | ||
| * Applications owned by the user that are subscribed to the API | ||
|
|
||
|
|
||
| ### API Documents | ||
|
|
||
| Clicking in the left option `Documents` the user will be able to see the API reference with examples: | ||
|
|
||
|  | ||
|
|
||
| ## Further Information | ||
|
|
||
| * [WSO2 Developer Portal](https://apim.docs.wso2.com/en/4.4.0/consume/consume-api-overview/) | ||
| * [Open ID Connect protocol (OIDC)](https://openid.net/developers/how-connect-works/) | ||
| * [JSON Web Tokens](https://www.jwt.io/introduction#what-is-json-web-token) | ||
| * [OpenAPI initiative](https://www.openapis.org/what-is-openapi) | ||
This file contains hidden or 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
This file contains hidden or 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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.