Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ require (
github.com/beorn7/perks v1.0.1 // indirect
github.com/blackfireio/osinfo v1.0.5 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/cloudflare/cloudflare-go/v4 v4.1.0 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/expr-lang/expr v1.16.9 // indirect
github.com/fatih/color v1.18.0 // indirect
Expand Down Expand Up @@ -45,7 +46,11 @@ require (
github.com/prometheus/client_model v0.6.1 // indirect
github.com/prometheus/common v0.60.0 // indirect
github.com/prometheus/procfs v0.15.1 // indirect
go.mongodb.org/mongo-driver v1.17.1 // indirect
github.com/tidwall/gjson v1.18.0 // indirect
github.com/tidwall/match v1.1.1 // indirect
github.com/tidwall/pretty v1.2.1 // indirect
github.com/tidwall/sjson v1.2.5 // indirect
go.mongodb.org/mongo-driver v1.17.3 // indirect
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
google.golang.org/protobuf v1.35.1 // indirect
gopkg.in/tomb.v2 v2.0.0-20161208151619-d5d1b5820637 // indirect
Expand Down
14 changes: 14 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UF
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cloudflare/cloudflare-go v0.103.0 h1:XXKzgXeUbAo7UTtM4T5wuD2bJPBtNZv7TlZAEy5QI4k=
github.com/cloudflare/cloudflare-go v0.103.0/go.mod h1:0DrjT4g8wgYFYIxhlqR8xi8dNWfyHFGilUkU3+XV8h0=
github.com/cloudflare/cloudflare-go v0.115.0 h1:84/dxeeXweCc0PN5Cto44iTA8AkG1fyT11yPO5ZB7sM=
github.com/cloudflare/cloudflare-go v0.115.0/go.mod h1:Ds6urDwn/TF2uIU24mu7H91xkKP8gSAHxQ44DSZgVmU=
github.com/cloudflare/cloudflare-go/v4 v4.1.0 h1:1SjQZaPbUe23fSoCuMuN7EblVo+RIldNGd4pfkPCpW4=
github.com/cloudflare/cloudflare-go/v4 v4.1.0/go.mod h1:XcYpLe7Mf6FN87kXzEWVnJ6z+vskW/k6eUqgqfhFE9k=
github.com/crowdsecurity/crowdsec v1.6.1 h1:L0b/gV1eSOcuz5fhjGpzQJP+tmoNpUqAZjC7KAfBxTc=
github.com/crowdsecurity/crowdsec v1.6.1/go.mod h1:2zt1/+yOzTZU3En9cAtfMMhAQASmFRup2604vOg/usQ=
github.com/crowdsecurity/crowdsec v1.6.3 h1:L/6iT2/Gfl9bc9DQkHJz2BbpKM3P+yW6ocCKRyF4j1g=
Expand Down Expand Up @@ -119,6 +123,16 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY=
github.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA=
github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM=
github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4=
github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY=
github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28=
github.com/whuang8/redactrus v1.0.2 h1:F6h9zpN/eJDAkFSZmCT97m52Cr0r7FnDwSw1Y2wRLsA=
github.com/whuang8/redactrus v1.0.2/go.mod h1:/QqU95wNV2zWg3nD5/uatl9Uz0cJUROT4Svx4PoT78Q=
go.mongodb.org/mongo-driver v1.15.0 h1:rJCKC8eEliewXjZGf0ddURtl7tTVy1TK3bfl0gkUSLc=
Expand Down
53 changes: 33 additions & 20 deletions pkg/cfg/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ import (
"strings"
"time"

"github.com/cloudflare/cloudflare-go"
"github.com/cloudflare/cloudflare-go/v4"
"github.com/cloudflare/cloudflare-go/v4/workers"
"github.com/crowdsecurity/go-cs-lib/csstring"
"github.com/crowdsecurity/go-cs-lib/yamlpatch"
log "github.com/sirupsen/logrus"
Expand Down Expand Up @@ -71,31 +72,43 @@ func (w *CloudflareWorkerCreateParams) setDefaults() {
}
}

func (w *CloudflareWorkerCreateParams) CreateWorkerParams(workerScript string, ID string, varActionsForZoneByDomain []byte, dbID string) cloudflare.CreateWorkerParams {
bindings := map[string]cloudflare.WorkerBinding{
w.KVNameSpaceName: cloudflare.WorkerKvNamespaceBinding{NamespaceID: ID},
VarNameForActionsByDomain: cloudflare.WorkerPlainTextBinding{
Text: string(varActionsForZoneByDomain),
func (w *CloudflareWorkerCreateParams) CreateWorkerParams(ID string, varActionsForZoneByDomain []byte, dbID string) workers.ScriptUpdateParamsMetadata {
bindings := []workers.ScriptUpdateParamsMetadataBindingUnion{
workers.ScriptUpdateParamsMetadataBindingsWorkersBindingKindKVNamespace{
Name: cloudflare.F(w.KVNameSpaceName),
NamespaceID: cloudflare.F(ID),
Type: cloudflare.F(workers.ScriptUpdateParamsMetadataBindingsWorkersBindingKindKVNamespaceTypeKVNamespace),
},
"LOG_ONLY": cloudflare.WorkerPlainTextBinding{
Text: fmt.Sprintf("%t", w.LogOnly),
workers.ScriptUpdateParamsMetadataBindingsWorkersBindingKindPlainText{
Name: cloudflare.F(VarNameForActionsByDomain),
Text: cloudflare.F(string(varActionsForZoneByDomain)),
Type: cloudflare.F(workers.ScriptUpdateParamsMetadataBindingsWorkersBindingKindPlainTextTypePlainText),
},
workers.ScriptUpdateParamsMetadataBindingsWorkersBindingKindPlainText{
Name: cloudflare.F("LOG_ONLY"),
Text: cloudflare.F(fmt.Sprintf("%t", w.LogOnly)),
Type: cloudflare.F(workers.ScriptUpdateParamsMetadataBindingsWorkersBindingKindPlainTextTypePlainText),
},
}

if dbID != "" {
bindings[w.D1DBName] = cloudflare.WorkerD1DatabaseBinding{
DatabaseID: dbID,
}
bindings = append(bindings,
workers.ScriptUpdateParamsMetadataBindingsWorkersBindingKindD1{
Name: cloudflare.F(w.D1DBName),
ID: cloudflare.F(dbID),
Type: cloudflare.F(workers.ScriptUpdateParamsMetadataBindingsWorkersBindingKindD1TypeD1),
},
)
}
if w.Logpush == nil {
w.Logpush = new(bool)
}
return cloudflare.CreateWorkerParams{
Script: workerScript,
ScriptName: w.ScriptName,
Bindings: bindings,
Module: true,
Logpush: w.Logpush,
Tags: w.Tags,
CompatibilityDate: w.CompatibilityDate,
CompatibilityFlags: w.CompatibilityFlags,
return workers.ScriptUpdateParamsMetadata{
Bindings: cloudflare.F(bindings),
Logpush: cloudflare.F(*w.Logpush),
Tags: cloudflare.F(w.Tags),
CompatibilityDate: cloudflare.F(w.CompatibilityDate),
CompatibilityFlags: cloudflare.F(w.CompatibilityFlags),
}
}

Expand Down
Loading
Loading