1 Star 0 Fork 0

小鱼儿小董子/dongli-kit

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
tls_settings.go 2.65 KB
一键复制 编辑 原始数据 按行查看 历史
小鱼儿小董子 提交于 2025-01-14 22:17 +08:00 . 1111
package sfx
import (
"go.uber.org/fx"
"gitee.com/wanjimao/dongli-kit/utility"
)
// SecuritySettingsParams module params for injecting SecuritySettings
type SecuritySettingsParams struct {
fx.In
// client mTLS settings
ClientCaCert string `name:"ClientCaCert"`
ClientCert string `name:"ClientCert"`
ClientKey string `name:"ClientKey"`
// server mTLS settings
ServerCaCert string `name:"ServerCaCert"`
ServerCert string `name:"ServerCert"`
ServerKey string `name:"ServerKey"`
ServerName string `name:"ServerName"`
// Zero trust security model: all services must be mTLS enabled
// if true, enable imports client for grpc/http(cmux service) clients
MTLSEnable bool `name:"MTLSEnable"`
// if true, enable service tls for grpc/http(cmux service) services
TLSEnable bool `name:"TLSEnable"`
// if true, enable Tls for tcp services(zinx service)
TCPTlsEnable bool `name:"TCPTlsEnable"`
}
// SecuritySettingsResult module result for exporting SecuritySettings
type SecuritySettingsResult struct {
fx.Out
//client mTLS settings
ClientCaCert string `name:"ClientCaCert" envconfig:"CLIENT_CA_CERT" default:"./configs/tls-client/ca.crt"`
ClientCert string `name:"ClientCert" envconfig:"CLIENT_CERT" default:"./configs/tls-client/tls.crt"`
ClientKey string `name:"ClientKey" envconfig:"CLIENT_KEY" default:"./configs/tls-client/tls.key"`
//server mTLS settings
ServerCACert string `name:"ServerCaCert" envconfig:"SERVER_CA_CERT" default:"./configs/tls-server/ca.crt"`
ServerCert string `name:"ServerCert" envconfig:"SERVER_CERT" default:"./configs/tls-server/tls.crt"`
ServerKey string `name:"ServerKey" envconfig:"SERVER_KEY" default:"./configs/tls-server/tls.key"`
ServerName string `name:"ServerName" envconfig:"SERVER_NAME" default:""`
// if true, enable mTLS for grpc/http(cmux service) services
// Zero trust security model: all services must be mTLS enabled
MTLSEnable bool `name:"MTLSEnable" envconfig:"MTLS_ENABLE" default:"false"`
// if true, enable service tls for grpc/http(cmux service) services
TLSEnable bool `name:"TLSEnable" envconfig:"TLS_ENABLE" default:"false"`
// if true, enable Tls for tcp services(zinx service)
TcpTlsEnable bool `name:"TCPTlsEnable" envconfig:"TCP_TLS_ENABLE" default:"false"`
}
func (g *SecuritySettingsResult) loadFromEnv() error {
return utility.Load(g)
}
// CreateSecuritySettings load server settings from environment
func CreateSecuritySettings() (out SecuritySettingsResult, err error) {
err = out.loadFromEnv()
return
}
// SecuritySettingsModule module for SecuritySettings
var SecuritySettingsModule = fx.Provide(
func() (SecuritySettingsResult, error) {
return CreateSecuritySettings()
},
)
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/wanjimao/dongli-kit.git
git@gitee.com:wanjimao/dongli-kit.git
wanjimao
dongli-kit
dongli-kit
v0.0.37

搜索帮助