Skip to content

Commit

Permalink
move doc to website
Browse files Browse the repository at this point in the history
  • Loading branch information
sunny0826 committed Aug 5, 2024
1 parent 0f1b1f6 commit 46052f8
Show file tree
Hide file tree
Showing 18 changed files with 356 additions and 253 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,4 @@ Part of the features provided by RustyVault are as follows:

## Design

Read the [design](./doc/design.md) document.
Read the [design](./docs/docs/design.md) document.
Binary file removed doc/RustyVault-arch.png
Binary file not shown.
73 changes: 0 additions & 73 deletions doc/install.md

This file was deleted.

177 changes: 0 additions & 177 deletions doc/quick-start.md

This file was deleted.

File renamed without changes.
File renamed without changes.
4 changes: 4 additions & 0 deletions doc/crypto.md → docs/docs/crypto.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
---
sidebar_position: 3
title: Crypto Adaptor
---
# RustyVault Crypto Adaptor

In RustyVault, we provide a mechanism for the users to build with selectable underlying cryptography libraries. This is the "crypto adaptor" mechanism.
Expand Down
6 changes: 5 additions & 1 deletion doc/design.md → docs/docs/design.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
---
sidebar_position: 5
title: Design
---
# RustyVault Design

As per: [RustyVault Requirements Document](./req.md). In this document we describe the architecture of RustyVault.

# Architecture Diagram

<img src="https://github.com/Tongsuo-Project/RustyVault/blob/main/doc/RustyVault-arch.png" width=50% height=50% />
![RustyVault Architecture](/img/RustyVault-arch.png)

Detailed description:

Expand Down
4 changes: 4 additions & 0 deletions doc/req.md → docs/docs/req.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
---
sidebar_position: 4
title: Motivation
---
# Motivation

HashiCorp Vault is the most widely used secret management product in cloud native realm. But in practice, it has some disadvantages:
Expand Down
25 changes: 25 additions & 0 deletions docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/design.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
sidebar_position: 5
title: 设计
---

# RustyVault Design

根据:[RustyVault需求文档](./req.md)中的整体需求点,进行功能细化。本文档对RustyVault的整体架构进行描述。

# 结构图

![RustyVault Architecture](/img/RustyVault-arch.png)

说明如下:

1. 虚线框中为RustyVault,其整体上分为三大部分:RustyVault Core, RustyVault Modules和RustyVault Surface.
* RustVault Core,此组件是RustyVault的核心组件,由多个Manager组成,不同的Manager分管不同功能。例如Module Manager负责对RustyVault的各个功能模块进行管理,提供模块的热插拔等机制;Crypto Manager则对接底层密码库(铜锁),通过rust-tongsuo的Rust binding来调用铜锁的C API实现各种密码学功能等;
* RustVault Modules,此部分由多个Module组成,是RustyVault的实际执行各种功能的环节,即RustyVault的实际功能代码都位于此。例如,PKI Module提供了完整的PKI能力,如扮演CA进行X.509证书的签发、吊销等管理工作;Crypto Module则依赖于RustyVault Core中的Crypto Manager对底层密码学原语进行调用,以实现对外提供诸如加密解密、签名验签等功能;
* RustyVault Surface,此组件是直接和最终用户打交道的部分,对外提供HTTPS接入能力,并对API请求进行解析后,转发给某个实际功能的Module上,由该Module进行处理后,返回处理结果给用户。此外,此组件还负责整体的配置解析等工作。

2. RustyVault需要依赖于底层的密码学算法库(也可称之为软件密码模块),由底层密码库提供全部的密码学相关功能。RustyVault默认的底层密码库是铜锁。

3. 密码硬件,如加密机、加密卡等,的使用对RustyVault是透明的,该过程由铜锁屏蔽,因此RustyVault对于硬件的差异和对接是无感的。

4. RustyVault中的敏感安全参数(如各种密钥、随机数、认证信息等)中存在持久化存储需求的,可以在本地加密存储,或者连接外部存储(如etcd)。连接外部存储对于创建RustyVault集群是必须的。存储方面的管理由RustyVault Core中的Storage Manager负责,RustyVault的其他组件也无需感知不同存储方式之间的使用差异。
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
---
sidebar_position: 4
title: 动机
---
# 动机

HashiCorp Vault是云原生领域被广泛使用的Secret Management产品,也是CNCF的项目。在实际使用中,Vault存在一些不足,例如:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
---
sidebar_position: 5
title: 设计
---

# RustyVault Design

根据:[RustyVault需求文档](.\/req.md)中的整体需求点,进行功能细化。本文档对RustyVault的整体架构进行描述。
根据:[RustyVault需求文档](./req.md)中的整体需求点,进行功能细化。本文档对RustyVault的整体架构进行描述。

# 结构图

Expand Down
Loading

0 comments on commit 46052f8

Please sign in to comment.