Skip to content

Repository files navigation

confkeeper

本项目是一个配置中心,支持sqlite3mysqlpostgres数据库

文档

在线演示

技术栈

项目目录

.
├── Dockerfile                  # Dockerfile
├── biz                         # 业务代码
│     ├── dal                   # 数据库连接和操作
│     ├── model                 # 数据库模型
│     ├── handler               # 服务逻辑
│     ├── mw                    # 中间件
│     └── router                # 路由
├── internal                    # 版本
├── bootstrao                   # 启动代码
├── build.sh                    # 编译脚本
├── config                      # 配置文件
│     ├── config.yaml           # 配置文件(可以覆盖默认配置)
│     └── default.yaml          # 默认配置文件(服务端这里定义的默认配置)
├── docs                        # swagger文档
├── main.go                     # 启动文件
├── static                      # 静态文件(前端编译结果,必须要index.html)
└── utils                       # 工具包

开发

启动

如果需要指定配置文件,可以使用以下命令

go run . -c=config/config.yaml

配置说明

JWT Token 存储

JWT token 存储支持两种模式,通过 jwt.enable_memoryjwt.redis 配置控制:

  • enable_memory: false → 不存储 token,仅依赖 JWT 自身验证
  • enable_memory: true + redis.host 为空 → token 存储在内存中(服务重启后失效)
  • enable_memory: true + redis.host 有值 → token 存储在 Redis 中(服务重启后不失效,需确保 Redis 可用,连接失败会直接退出服务)
jwt:
  enable_memory: true
  secret: your-secret
  expire_time: 168
  max_login_sessions: 1
  redis:
    host: "127.0.0.1"        # Redis 主机地址,为空则使用内存存储
    port: 6379               # Redis 端口
    password: ""             # Redis 密码
    db: 0                    # Redis 数据库编号

自动化

目前使用github actions自动化,开发环境每个commit会自动编译docker镜像,打v1.0.0的标签的时候会编译docker镜像和二进制文件到release

About

本项目是一个由go编写的配置中心

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages