Skip to content

Commit 9286116

Browse files
committed
ci: merge doc wf into build.yml
1 parent bfe8fb8 commit 9286116

7 files changed

Lines changed: 67 additions & 8 deletions

File tree

.github/workflows/main_base.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,25 @@ on:
1313
platforms:
1414
required: true
1515
type: string
16+
push:
17+
pull_request:
18+
workflow_dispatch:
1619

1720
jobs:
1821
cargo-clippy:
22+
if: github.event_name == 'workflow_call'
1923
uses: Cosmian/reusable_workflows/.github/workflows/clippy.yml@develop
2024
with:
2125
toolchain: ${{ inputs.toolchain }}
2226

2327
cargo-deny:
28+
if: github.event_name == 'workflow_call'
2429
uses: Cosmian/reusable_workflows/.github/workflows/cargo-audit.yml@develop
2530
with:
2631
toolchain: ${{ inputs.toolchain }}
2732

2833
cargo-machete:
34+
if: github.event_name == 'workflow_call'
2935
uses: Cosmian/reusable_workflows/.github/workflows/cargo-machete.yml@develop
3036
with:
3137
toolchain: ${{ inputs.toolchain }}
@@ -37,20 +43,23 @@ jobs:
3743
# toolchain: ${{ inputs.toolchain }}
3844

3945
build-tests:
46+
if: github.event_name == 'workflow_call'
4047
uses: Cosmian/reusable_workflows/.github/workflows/build_all.yml@develop
4148
secrets: inherit
4249
with:
4350
toolchain: ${{ inputs.toolchain }}
4451
debug_or_release: ${{ inputs.debug_or_release }}
4552

4653
cargo-publish:
54+
if: github.event_name == 'workflow_call'
4755
uses: Cosmian/reusable_workflows/.github/workflows/cargo-publish-workspace.yml@develop
4856
with:
4957
toolchain: ${{ inputs.toolchain }}
5058
secrets:
5159
token: ${{ secrets.CRATES_IO }}
5260

5361
docker-image:
62+
if: github.event_name == 'workflow_call'
5463
name: Build docker image
5564
uses: Cosmian/reusable_workflows/.github/workflows/build_docker_image.yml@develop
5665
with:
@@ -62,6 +71,7 @@ jobs:
6271
### Releases
6372
##############################################################################
6473
push-artifacts:
74+
if: github.event_name == 'workflow_call'
6575
needs:
6676
- cargo-clippy
6777
- cargo-deny
@@ -98,3 +108,17 @@ jobs:
98108
repo: Cosmian/public_documentation
99109
ref: main
100110
token: ${{ secrets.PAT_TOKEN }}
111+
112+
build-documentation:
113+
name: Build documentation
114+
runs-on: ubuntu-latest
115+
steps:
116+
- uses: actions/checkout@v4
117+
118+
- name: Install mdBook toolchain
119+
run: curl -fsSL https://raw.githubusercontent.com/Cosmian/doc-theme/main/scripts/setup-mdbook.sh | sh
120+
121+
- name: Build documentation
122+
run: |
123+
export PATH="$HOME/.cargo/bin:$PATH"
124+
cd documentation && mdbook build

documentation/book.toml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,31 @@ enable = true
2222
enable = true
2323
level = 1
2424

25+
[output.linkcheck]
26+
follow-web-links = true
27+
warning-policy = "error"
28+
exclude = [
29+
'localhost',
30+
'@',
31+
# Cross-book references — other sections only exist in the combined book
32+
'key_management_system',
33+
'kms_clients',
34+
'eviden_vm',
35+
'eviden_ai',
36+
'eviden_enclave',
37+
'crates\.io',
38+
'cosmian\.com',
39+
'chrome://',
40+
'csrc\.nist\.gov',
41+
'nvlpubs\.nist\.gov',
42+
]
43+
2544
[preprocessor.admonish]
2645
command = "mdbook-admonish"
2746
assets_version = "3.1.0"
2847

48+
[preprocessor.tabs]
49+
command = "python3 ../../theme/scripts/mdbook_tabs.py"
50+
2951
[preprocessor.mermaid]
3052
command = "mdbook-mermaid"

documentation/docs/SUMMARY.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Summary
2+
3+
- [Getting started](index.md)
4+
- [Quick start]()
5+
- [Installation](quick_start.md)
6+
- [Usage](usage.md)
7+
- [Configuration]()
8+
- [Configuration file](configuration.md)
9+
- [User authentication](authentication.md)
10+
- [User authorization](authorization.md)
11+
- [Usage]()
12+
- [Encrypt and index a dataset](database.md)
13+
- [Use the CLI](quick_start_client.md)

documentation/docs/authentication.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ sequenceDiagram
7777

7878
## Eviden CLI Configuration
7979

80-
[Eviden CLI](../kms_clients/index.md) is helpful to authenticate with the Findex server using OpenID Connect.
80+
[Eviden CLI](../key_management_system/kms_clients/index.md) is helpful to authenticate with the Findex server using OpenID Connect.
8181
The CLI has to be installed locally and configured with the Findex server URL and OAuth2 configuration.
8282

8383
!!! info

documentation/docs/database.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ The server presents the following endpoints:
8080
| `/indexes/{index_id}/batch_read` | retrieve encrypted indexes |
8181
| `/indexes/{index_id}/guarded_write` | insert encrypted indexes |
8282

83-
And consequently, the Findex [REST client implementation] (crate/client/src/rest_client.rs)
83+
And consequently, the Findex REST client implementation (crate/client/src/rest_client.rs)
8484
implements the client side of the communication with the server.
8585

8686
Furthermore, the encryption is done by the client before sending the data to the server.

documentation/docs/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Findex has been published as a scientific paper in the IACR ePrint archive: <htt
2222

2323
Findex server is a high-performance, open-source server application written in Rust that implements the Findex protocol and offers a REST API to store encrypted indexes and perform search queries on them. Findex Server mainly is an authentication layer and therefore all data-critical manipulations are performed by a database.
2424

25-
The server is designed to be used in conjunction with the [Eviden CLI](../kms_clients/index.md), a command-line interface that allows users to interact with the server.
25+
The server is designed to be used in conjunction with the [Eviden CLI](../key_management_system/kms_clients/index.md), a command-line interface that allows users to interact with the server.
2626

2727
### Threat Model
2828

@@ -79,7 +79,7 @@ architecture-beta
7979

8080
By leveraging client-side encryption, Findex ensures that sensitive data remains secure and private, even when stored and processed on an untrusted server.
8181

82-
The Findex server, written in Rust and using the Actix-web framework, is a REST-API server used to store encrypted indexes and perform search queries on them. It is designed to be used in conjunction with the [Eviden CLI](../kms_clients/index.md), which is a command-line interface that allows users to interact with the server.
82+
The Findex server, written in Rust and using the Actix-web framework, is a REST-API server used to store encrypted indexes and perform search queries on them. It is designed to be used in conjunction with the [Eviden CLI](../key_management_system/kms_clients/index.md), which is a command-line interface that allows users to interact with the server.
8383

8484
### Features
8585

documentation/docs/quick_start_client.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# Using the Eviden CLI
22

3-
The [Eviden CLI](../kms_clients/index.md) allows to interact both with the
3+
The [Eviden CLI](../key_management_system/kms_clients/index.md) allows to interact both with the
44
**KMS server** and **Findex server**. Then you can realize the following operations
55
illustrated in [encrypted database](./database.md#how-to-securely-index-new-data).
66

77
As prerequisites, you need to have:
88

99
- the Eviden CLI installed on your machine. You can download the latest version of the Cosmian CLI from the [Cosmian package website](https://package.cosmian.com/cli).
10-
- a running KMS server: follow the instructions in the [quick start guide](../key_management_system/installation/installation_getting_started.md/).
10+
- a running KMS server: follow the instructions in the [quick start guide](../key_management_system/installation/installation_getting_started.md).
1111
- a running Findex server: follow the instructions in the [quick start guide](./quick_start.md).
1212

13-
Depending on the authentication of these 2 servers, the configuration will have to be adapted. Refer to the [configuration documentation](../kms_clients/configuration.md) for more information.
13+
Depending on the authentication of these 2 servers, the configuration will have to be adapted. Refer to the [configuration documentation](../key_management_system/kms_clients/configuration.md) for more information.
1414

1515
As a summary, below are described the steps:
1616

@@ -96,4 +96,4 @@ Decrypted record: SouthboroughMAUnited States9686
9696

9797
## Configuration
9898

99-
Please refer to the [configuration documentation](../kms_clients/configuration.md) for more information on how to configure the Eviden CLI.
99+
Please refer to the [configuration documentation](../key_management_system/kms_clients/configuration.md) for more information on how to configure the Eviden CLI.

0 commit comments

Comments
 (0)