Keywhiz 项目使用教程
keywhizA system for distributing and managing secrets项目地址:https://gitcode.com/gh_mirrors/ke/keywhiz
1. 项目的目录结构及介绍
Keywhiz 是一个用于管理和分发秘密的开源系统。以下是其主要目录结构及其功能介绍:
/server
: 包含 Keywhiz 服务器的主要代码,使用 Java 编写,基于 Dropwizard 框架。/client
: 包含 Keywhiz 客户端的代码,特别是 Keysync 客户端,用于从 Keywhiz 服务器同步秘密。/cli
: 包含命令行接口 (CLI) 的代码,用于管理 Keywhiz 服务器。/docker
: 包含用于构建 Docker 容器的 Dockerfile。/docs
: 包含项目文档,如 README 和其他相关文档。/model
: 包含数据模型的代码,定义了客户端和秘密的数据结构。
2. 项目的启动文件介绍
Keywhiz 项目的主要启动文件位于 /server
目录下。以下是启动文件的介绍:
KeywhizServer.java
: 这是 Keywhiz 服务器的主类,负责启动服务器并提供 JSON API 接口。Keysync.java
: 这是 Keysync 客户端的主类,负责从 Keywhiz 服务器同步秘密并存储在 tmpfs 中。
启动 Keywhiz 服务器的命令如下:
java -jar server/target/keywhiz-server-*-shaded.jar [COMMAND] [OPTIONS]
常用的启动命令包括 migrate
、add-user
和 server
。使用 --help
可以查看所有可用命令及其选项。
3. 项目的配置文件介绍
Keywhiz 项目的配置文件主要位于项目的根目录下。以下是主要配置文件的介绍:
config.yaml
: 这是 Keywhiz 服务器的主要配置文件,包含数据库连接、TLS 配置、日志设置等。keysync.yaml
: 这是 Keysync 客户端的配置文件,包含 Keywhiz 服务器的连接信息、客户端证书路径等。
配置文件示例:
# config.yaml 示例
server:
applicationConnectors:
- type: https
port: 4444
keyStorePath: /path/to/keystore
keyStorePassword: password
adminConnectors:
- type: http
port: 8081
database:
url: jdbc:mysql://localhost:3306/keywhiz
user: root
password: root
通过这些配置文件,可以灵活地调整 Keywhiz 服务器和客户端的行为。
keywhizA system for distributing and managing secrets项目地址:https://gitcode.com/gh_mirrors/ke/keywhiz