Skip to content

Commit

Permalink
Doc Issues 8
Browse files Browse the repository at this point in the history
  • Loading branch information
astitva1905 committed Oct 3, 2023
1 parent 41ef511 commit f417e6c
Show file tree
Hide file tree
Showing 19 changed files with 260 additions and 257 deletions.
242 changes: 116 additions & 126 deletions client/LICENSE.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions client/test/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ window.env = {
};
```

## test/.env
## test/.env - localhost

```ini
REACT_APP_TEST_USERNAME=TestUsername
Expand Down Expand Up @@ -156,7 +156,7 @@ window.env = {
};
```

## test/.env
## test/.env - Integration server

```ini
REACT_APP_TEST_USERNAME=TestUsername
Expand Down
14 changes: 8 additions & 6 deletions docs/LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,35 @@
# License

--- Start of Definition of INTO-CPS Association Public License ---

/*

* This file is part of the INTO-CPS Association.

* Copyright (c) 2017-CurrentYear, INTO-CPS Association (ICA),
* c/o Peter Gorm Larsen, Aarhus University, Department of Engineering,
* Finlandsgade 22, 8200 Aarhus N, Denmark.

* All rights reserved.

* THIS PROGRAM IS PROVIDED UNDER THE TERMS OF GPL VERSION 3 LICENSE OR
* THIS INTO-CPS ASSOCIATION PUBLIC LICENSE (ICAPL) VERSION 1.0.
* ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS PROGRAM CONSTITUTES
* RECIPIENT'S ACCEPTANCE OF THE INTO-CPS ASSOCIATION PUBLIC LICENSE OR
* THE GPL VERSION 3, ACCORDING TO RECIPIENTS CHOICE.

* The INTO-CPS tool suite software and the INTO-CPS Association
* Public License (ICAPL) are obtained from the INTO-CPS Association, either
* from the above address, from the URLs: <http:>http://www.into-cps.org</http:> or
* in the INTO-CPS tool suite distribution.
* GNU version 3 is obtained from: <http:>http://www.gnu.org/copyleft/gpl.html</http:>.

* This program is distributed WITHOUT ANY WARRANTY; without
* even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE, EXCEPT AS EXPRESSLY SET FORTH
* IN THE BY RECIPIENT SELECTED SUBSIDIARY LICENSE CONDITIONS OF
* THE INTO-CPS ASSOCIATION PUBLIC LICENSE.

* See the full ICAPL conditions for more details.

*/
Expand Down
3 changes: 0 additions & 3 deletions docs/admin/client/CLIENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ To host DTaaS client website on your server, follow these steps:
REACT_APP_WORKBENCHLINK_JUPYTERLAB: "Endpoint for the Jupyter Lab link",
REACT_APP_WORKBENCHLINK_JUPYTERNOTEBOOK:
"Endpoint for the Jupyter Notebook link",

REACT_APP_CLIENT_ID: 'AppID genereated by the gitlab OAuth provider',
REACT_APP_AUTH_AUTHORITY: 'URL of the private gitlab instance',
REACT_APP_REDIRECT_URI: 'URL of the homepage for the logged in users of the website',
Expand All @@ -49,7 +48,6 @@ To host DTaaS client website on your server, follow these steps:
REACT_APP_WORKBENCHLINK_VSCODE: '/tools/vscode/',
REACT_APP_WORKBENCHLINK_JUPYTERLAB: '/lab',
REACT_APP_WORKBENCHLINK_JUPYTERNOTEBOOK: '',

REACT_APP_CLIENT_ID: '934b98f03f1b6f743832b2840bf7cccaed93c3bfe579093dd0942a433691ccc0',
REACT_APP_AUTH_AUTHORITY: 'https://gitlab.foo.com/',
REACT_APP_REDIRECT_URI: 'https://foo.com/Library',
Expand All @@ -70,7 +68,6 @@ To host DTaaS client website on your server, follow these steps:
REACT_APP_WORKBENCHLINK_VSCODE: '/tools/vscode/',
REACT_APP_WORKBENCHLINK_JUPYTERLAB: '/lab',
REACT_APP_WORKBENCHLINK_JUPYTERNOTEBOOK: '',

REACT_APP_CLIENT_ID: '934b98f03f1b6f743832b2840bf7cccaed93c3bfe579093dd0942a433691ccc0',
REACT_APP_AUTH_AUTHORITY: 'https://gitlab.foo.com/',
REACT_APP_REDIRECT_URI: 'https://foo.com/bar/Library',
Expand Down
8 changes: 2 additions & 6 deletions docs/admin/servers/lib/LIB-MS.md
Original file line number Diff line number Diff line change
Expand Up @@ -288,9 +288,7 @@ POST /lib HTTP/1.1
Host: localhost:4001
Content-Type: application/json
Content-Length: 388
{
"query":"query {\n listDirectory(path: \"user1\") {\n repository {\n tree {\n blobs {\n edges {\n node {\n name\n type\n }\n }\n }\n trees {\n edges {\n node {\n name\n type\n }\n }\n }\n }\n }\n }\n}"
}
{"query":"query {\n listDirectory(path: \"user1\") {\n repository {\n tree {\n blobs {\n edges {\n node {\n name\n type\n }\n }\n }\n trees {\n edges {\n node {\n name\n type\n }\n }\n }\n }\n }\n }\n}"}
```

This HTTP POST request will generate the following HTTP response message.
Expand Down Expand Up @@ -318,9 +316,7 @@ POST /lib HTTP/1.1
Host: localhost:4001
Content-Type: application/json
Content-Length: 217
{
"query":"query {\n readFile(path: \"user2/data/welcome.txt\") {\n repository {\n blobs {\n nodes {\n name\n rawBlob\n rawTextBlob\n }\n }\n }\n }\n}"
}
{"query":"query {\n readFile(path: \"user2/data/welcome.txt\") {\n repository {\n blobs {\n nodes {\n name\n rawBlob\n rawTextBlob\n }\n }\n }\n }\n}"}
```

```http
Expand Down
7 changes: 4 additions & 3 deletions docs/admin/services.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,8 @@ docker exec rabbitmq-server rabbitmqctl set_permissions -p "/<vhost>" <username>
```

The RabbitMQ service requires raw TCP/UDP protocol access to network.
The default Traefik configuration of DTaaS does not permit TCP/UDP traffic. There are two possible choices here:
The default Traefik configuration of DTaaS does not permit
TCP/UDP traffic. There are two possible choices here:

* Configure Traefik gateway to permit TCP/UDP traffic
* Bypass Traefik altogether for RabbitMQ service
Expand Down Expand Up @@ -94,7 +95,7 @@ printf "Complete the setup from GUI"

The user credentials have also been set in the command as:

**username**: admin
**username**: admin
**password**: DTaaSGrafana

Remember to change these credentials before starting the docker container.
Expand Down Expand Up @@ -122,7 +123,7 @@ docker run -d -p 80:8086 \

The user credentials have also been set in the command as:

**username**: dtaas
**username**: dtaas
**password**: dtaas1357

Remember to change these credentials before starting the docker container.
48 changes: 29 additions & 19 deletions docs/developer/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,51 +46,61 @@ a development workflow is in place. Each developer should follow these steps:

1. Fork of the main repository into your github account.
1. Setup
[Code Climate](https://docs.codeclimate.com/docs/getting-started-with-code-climate)
and
[Codecov](https://docs.codecov.com/docs/quick-start)
for your fork. The codecov does not require secret token
for public repositories.
[Code Climate](https://docs.codeclimate.com/docs/getting-started-with-code-climate)
and
[Codecov](https://docs.codecov.com/docs/quick-start)
for your fork. The codecov does not require secret token
for public repositories.
1. Install git-hooks for the project.
1. Use
[Fork, Branch, PR](https://gun.io/news/2017/01/how-to-github-fork-branch-and-pull-request/)
workflow.
[Fork, Branch, PR](https://gun.io/news/2017/01/how-to-github-fork-branch-and-pull-request/)
workflow.
1. Work in your fork and open a PR from your working branch to your `feature/distributed-demo` branch.
The PR will run all the github actions, code climate and codecov checks.
The PR will run all the github actions, code climate and codecov checks.
1. Resolve all the issues identified in the previous step.
1. If you have access to the
[integration server](https://github.com/INTO-CPS-Association/DTaaS/wiki/DTaaS-Integration-Server),
try your working branch on the integration server.
[integration server](https://github.com/INTO-CPS-Association/DTaaS/wiki/DTaaS-Integration-Server),
try your working branch on the integration server.
1. Once changes are verified, a PR should be made to the `feature/distributed-demo` branch of
the upstream
[DTaaS repository](https://github.com/into-cps-association/DTaaS).
the upstream
[DTaaS repository](https://github.com/into-cps-association/DTaaS).
1. The PR will be merged after checks by either the project administrators or the maintainers.

Remember that every PR should be meaningful and satisfies a well-defined user story or improve
Remember that every PR should be meaningful and satisfies
a well-defined user story or improve
the code quality.

## :eye: Code Quality

The project code qualities are measured based on:

* Linting issues identified by
[Code Climate](https://codeclimate.com/github/INTO-CPS-Association/DTaaS)
[Code Climate](https://codeclimate.com/github/INTO-CPS-Association/DTaaS)
* Test coverage report collected by
[Codecov](https://codecov.io/gh/INTO-CPS-Association/DTaaS)
[Codecov](https://codecov.io/gh/INTO-CPS-Association/DTaaS)
* Successful [github actions](https://github.com/INTO-CPS-Association/DTaaS/actions)

### Code Climate

Code Climate performs static analysis, linting and style checks. Quality checks are performed by codeclimate are to ensure the best possible quality of code to add to our project.
Code Climate performs static analysis, linting and style checks.
Quality checks are performed by codeclimate are to ensure the best
possible quality of code to add to our project.

While any new issues introduced in your code would be shown in the PR page itself, to address any specific issue, you can visit the issues or code section of the codeclimate page.
While any new issues introduced in your code would be
shown in the PR page itself, to address any specific issue,
you can visit the issues or code section of the codeclimate page.

It is highly recommended that any code you add does not introduce new quality issues. If they are introduced, they should be fixed immediately using the appropriate suggestions from Code Climate, or in worst case, adding a ignore flag (To be used with caution).
It is highly recommended that any code you add does
not introduce new quality issues. If they are introduced,
they should be fixed immediately using the appropriate suggestions
from Code Climate, or in worst case, adding a ignore flag
(To be used with caution).

### Codecov

Codecov keeps track of the test coverage for the entire project.
For information about testing and workflow related to that, please see the [testing page](testing/intro.md).
For information about testing and workflow related to that,
please see the [testing page](testing/intro.md).

### Github Actions

Expand Down
4 changes: 2 additions & 2 deletions docs/developer/servers/lib/lib-ms.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,11 @@ classDiagram
sequenceDiagram
actor Client
actor Traefik
box LightGreen Library Microservice
participant FR as FilesResolver
participant FSF as FilesServiceFactory
participant CS as ConfigService
participant CS as ConfigService
participant IFS as IFilesService
participant LFS as LocalFilesService
participant GFS as GitlabFilesService
Expand Down
77 changes: 40 additions & 37 deletions docs/developer/system/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,33 @@
## User Requirements

The DTaaS software platform users expect a single platform
to support the complete DT lifecycle. To be more precise, the platform users expect the following features:
to support the complete DT lifecycle. To be more precise,
the platform users expect the following features:

1. **Author** – create different assets of the DT on the
platform itself. This step requires use of some software
frameworks and tools whose sole purpose is to author
DT assets.
platform itself. This step requires use of some software
frameworks and tools whose sole purpose is to author
DT assets.
1. **Consolidate** – consolidate the list of available DT assets
and authoring tools so that user can navigate the library
of reusable assets. This functionality requires support
for discovery of available assets.
and authoring tools so that user can navigate the library
of reusable assets. This functionality requires support
for discovery of available assets.
1. **Configure** – support selection and configuration of
DTs. This functionality also requires support for validation of a given configuration.
1. **Execute** – provision computing infrastructure on demand to support execution of a DT.
DTs. This functionality also requires support for validation
of a given configuration.
1. **Execute** – provision computing infrastructure on demand to
support execution of a DT.
1. **Explore** – interact with a DT and explore the results
stored both inside and outside the platform. Exploration
may lead to analytical insights.
stored both inside and outside the platform. Exploration
may lead to analytical insights.
1. **Save** – save the state of a DT that’s already in the
execution phase. This functionality is required for ondemand saving and re-spawning of DTs.
execution phase. This functionality is required for on
demand saving and re-spawning of DTs.
1. **What-if analysis** – explore alternative scenarios to (i)
plan for an optimal next step, (ii) recalibrate new DT
assets, (iii) automated creation of new DTs or their
assets; these newly created DT assets may be used to
perform scientifically valid experiments.
plan for an optimal next step, (ii) recalibrate new DT
assets, (iii) automated creation of new DTs or their
assets; these newly created DT assets may be used to
perform scientifically valid experiments.
1. **Share** – share a DT with other users of their organisation.

## System Architecture
Expand All @@ -41,7 +45,7 @@ The gateway is a single point of entry for direct access to the platform
services. The gateway is responsible for controlling user access to
the microservice components. The service mesh
enables discovery of microservices, load balancing and authentication
functionalities.
functionalities.

In addition, there are microservices for catering to author, store,
explore, configure, execute and scenario analysis requirements.
Expand All @@ -51,30 +55,29 @@ core requirements of the system.
The microservices responsible for satisfying the user requirements are:

1. **The security microservice** implements
role-based access control (RBAC) in the platform.
role-based access control (RBAC) in the platform.
1. **The accounting microservice** is responsible for keeping track of the
platform, DT asset and infrastructure usage. Any licensing,
usage restrictions need to be enforced by the accounting
microservice. Accounting is a pre-requisite to commercialisation of
the platform.

Due to significant use of external
infrastructure and resources via the platform, the accounting
microservice needs to interface with accounting systems of
the external services.
platform, DT asset and infrastructure usage. Any licensing,
usage restrictions need to be enforced by the accounting
microservice. Accounting is a pre-requisite to commercialisation of
the platform.
Due to significant use of external
infrastructure and resources via the platform, the accounting
microservice needs to interface with accounting systems of
the external services.

1. **The data microservice** is a frontend to all the databases
integrated into the platform. A time-series database and a
graph database are essential. These two databases store timeseries
data from PT, events on PT/DT, commands sent by
DT to PT. The PTs uses these databases even when their
respective DTs are not in the execute phase.
integrated into the platform. A time-series database and a
graph database are essential. These two databases store timeseries
data from PT, events on PT/DT, commands sent by
DT to PT. The PTs uses these databases even when their
respective DTs are not in the execute phase.
1. **The visualisation microservice** is again a frontend to
visualisation software that are natively supported inside the platform.
Any visualisation software running either on external
systems or on client browsers do not need to interact with
this microservice. They can directly use the data provided by
the data microservice.
visualisation software that are natively supported inside the platform.
Any visualisation software running either on external
systems or on client browsers do not need to interact with
this microservice. They can directly use the data provided by
the data microservice.

## C4 Architectural Diagrams

Expand Down
2 changes: 1 addition & 1 deletion docs/developer/system/current-status.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ based on these services.
The development priorities for the DTaaS software development team are:

* [DT Runner](https://github.com/INTO-CPS-Association/DTaaS/tree/feature/distributed-demo/servers/execution/runner)
(API Interface to DT)
(API Interface to DT)
* Multi-user and microservice security
* Increased automation of installation procedures
* DT Configuration DSL ín the form of YAML schema
Expand Down
Loading

0 comments on commit f417e6c

Please sign in to comment.