Add explicit configuration for signals sharing and blocklists pull (#3277)

This commit is contained in:
blotus 2024-11-08 15:11:09 +01:00 committed by GitHub
parent 94a2a586e4
commit 5d414f58e5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 165 additions and 24 deletions

View file

@ -38,10 +38,17 @@ type ApiCredentialsCfg struct {
CertPath string `yaml:"cert_path,omitempty"`
}
/*global api config (for lapi->oapi)*/
type CapiPullConfig struct {
Community *bool `yaml:"community,omitempty"`
Blocklists *bool `yaml:"blocklists,omitempty"`
}
/*global api config (for lapi->capi)*/
type OnlineApiClientCfg struct {
CredentialsFilePath string `yaml:"credentials_path,omitempty"` // credz will be edited by software, store in diff file
Credentials *ApiCredentialsCfg `yaml:"-"`
PullConfig CapiPullConfig `yaml:"pull,omitempty"`
Sharing *bool `yaml:"sharing,omitempty"`
}
/*local api config (for crowdsec/cscli->lapi)*/
@ -344,6 +351,21 @@ func (c *Config) LoadAPIServer(inCli bool) error {
log.Printf("push and pull to Central API disabled")
}
//Set default values for CAPI push/pull
if c.API.Server.OnlineClient != nil {
if c.API.Server.OnlineClient.PullConfig.Community == nil {
c.API.Server.OnlineClient.PullConfig.Community = ptr.Of(true)
}
if c.API.Server.OnlineClient.PullConfig.Blocklists == nil {
c.API.Server.OnlineClient.PullConfig.Blocklists = ptr.Of(true)
}
if c.API.Server.OnlineClient.Sharing == nil {
c.API.Server.OnlineClient.Sharing = ptr.Of(true)
}
}
if err := c.LoadDBConfig(inCli); err != nil {
return err
}