diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
new file mode 100644
index 000000000..1bf1b3a07
--- /dev/null
+++ b/.github/workflows/lint.yml
@@ -0,0 +1,23 @@
+name: Lint
+
+on:
+ push:
+ pull_request:
+
+jobs:
+ lint:
+ name: Run on Ubuntu
+ runs-on: ubuntu-latest
+ steps:
+ - name: Clone the code
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
+
+ - name: Setup Go
+ uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
+ with:
+ go-version-file: go.mod
+
+ - name: Run linter
+ uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0
+ with:
+ version: v2.1.0
diff --git a/Makefile b/Makefile
index 5301f0320..c97f056e6 100644
--- a/Makefile
+++ b/Makefile
@@ -98,6 +98,10 @@ lint: golangci-lint ## Run golangci-lint linter
lint-fix: golangci-lint ## Run golangci-lint linter and perform fixes
$(GOLANGCI_LINT) run --fix
+.PHONY: lint-config
+lint-config: golangci-lint ## Verify golangci-lint linter configuration
+ $(GOLANGCI_LINT) config verify
+
##@ Build
binary:
@@ -197,7 +201,7 @@ KIND = $(LOCALBIN)/kind
KUSTOMIZE_VERSION ?= v5.6.0
CONTROLLER_TOOLS_VERSION ?= v0.15.0
ENVTEST_VERSION ?= release-0.19
-GOLANGCI_LINT_VERSION ?= v1.59.1
+GOLANGCI_LINT_VERSION ?= v2.0.1
GINKGO_VERSION ?= v2.23.4
CODE_GENERATOR_VERSION ?= v0.32.3
KIND_VERSION ?= v0.17.0
@@ -220,7 +224,7 @@ $(ENVTEST): $(LOCALBIN)
.PHONY: golangci-lint
golangci-lint: $(GOLANGCI_LINT) ## Download golangci-lint locally if necessary.
$(GOLANGCI_LINT): $(LOCALBIN)
- $(call go-install-tool,$(GOLANGCI_LINT),github.com/golangci/golangci-lint/cmd/golangci-lint,$(GOLANGCI_LINT_VERSION))
+ $(call go-install-tool,$(GOLANGCI_LINT),github.com/golangci/golangci-lint/v2/cmd/golangci-lint,$(GOLANGCI_LINT_VERSION))
.PHONY: ginkgo
ginkgo: $(GINKGO) ## Download ginkgo locally if necessary.
diff --git a/apis/fluentbit/v1alpha2/clusterfluentbitconfig_types.go b/apis/fluentbit/v1alpha2/clusterfluentbitconfig_types.go
index 21060d32b..fa69b7407 100644
--- a/apis/fluentbit/v1alpha2/clusterfluentbitconfig_types.go
+++ b/apis/fluentbit/v1alpha2/clusterfluentbitconfig_types.go
@@ -550,11 +550,11 @@ func (cfg ClusterFluentBitConfig) RenderNamespacedLuaScript(
for _, f := range nsfilters.Items {
for _, p := range f.Spec.FilterItems {
if p.Lua != nil && p.Lua.Script.Key != "" {
- script, err := cl.LoadConfigMap(p.Lua.Script, f.ObjectMeta.Namespace)
+ script, err := cl.LoadConfigMap(p.Lua.Script, f.Namespace)
if err != nil {
return nil, err
}
- namespacedScriptName := fmt.Sprintf("%x-%s", md5.Sum([]byte(f.ObjectMeta.Namespace)), p.Lua.Script.Key)
+ namespacedScriptName := fmt.Sprintf("%x-%s", md5.Sum([]byte(f.Namespace)), p.Lua.Script.Key)
scripts = append(scripts, Script{Name: namespacedScriptName, Content: script})
}
}
diff --git a/apis/fluentbit/v1alpha2/collector_types.go b/apis/fluentbit/v1alpha2/collector_types.go
index 5368ad05b..99c68791f 100644
--- a/apis/fluentbit/v1alpha2/collector_types.go
+++ b/apis/fluentbit/v1alpha2/collector_types.go
@@ -114,7 +114,7 @@ type Collector struct {
// IsBeingDeleted returns true if a deletion timestamp is set
func (co *Collector) IsBeingDeleted() bool {
- return !co.ObjectMeta.DeletionTimestamp.IsZero()
+ return !co.DeletionTimestamp.IsZero()
}
// CollectorFinalizerName is the name of the fluentbit finalizer
@@ -122,17 +122,17 @@ const CollectorFinalizerName = "collector.fluent.io"
// HasFinalizer returns true if the item has the specified finalizer
func (co *Collector) HasFinalizer(finalizerName string) bool {
- return slices.Contains(co.ObjectMeta.Finalizers, finalizerName)
+ return slices.Contains(co.Finalizers, finalizerName)
}
// AddFinalizer adds the specified finalizer
func (co *Collector) AddFinalizer(finalizerName string) {
- co.ObjectMeta.Finalizers = append(co.ObjectMeta.Finalizers, finalizerName)
+ co.Finalizers = append(co.Finalizers, finalizerName)
}
// RemoveFinalizer removes the specified finalizer
func (co *Collector) RemoveFinalizer(finalizerName string) {
- co.ObjectMeta.Finalizers = slices.DeleteFunc(co.ObjectMeta.Finalizers, func(s string) bool { return s == finalizerName })
+ co.Finalizers = slices.DeleteFunc(co.Finalizers, func(s string) bool { return s == finalizerName })
}
// +kubebuilder:object:root=true
diff --git a/apis/fluentbit/v1alpha2/fluentbit_types.go b/apis/fluentbit/v1alpha2/fluentbit_types.go
index 83d63f90e..acc93584c 100644
--- a/apis/fluentbit/v1alpha2/fluentbit_types.go
+++ b/apis/fluentbit/v1alpha2/fluentbit_types.go
@@ -142,7 +142,7 @@ type FluentBit struct {
// IsBeingDeleted returns true if a deletion timestamp is set
func (fb *FluentBit) IsBeingDeleted() bool {
- return !fb.ObjectMeta.DeletionTimestamp.IsZero()
+ return !fb.DeletionTimestamp.IsZero()
}
// FluentBitFinalizerName is the name of the fluentbit finalizer
@@ -150,17 +150,17 @@ const FluentBitFinalizerName = "fluentbit.fluent.io"
// HasFinalizer returns true if the item has the specified finalizer
func (fb *FluentBit) HasFinalizer(finalizerName string) bool {
- return slices.Contains(fb.ObjectMeta.Finalizers, finalizerName)
+ return slices.Contains(fb.Finalizers, finalizerName)
}
// AddFinalizer adds the specified finalizer
func (fb *FluentBit) AddFinalizer(finalizerName string) {
- fb.ObjectMeta.Finalizers = append(fb.ObjectMeta.Finalizers, finalizerName)
+ fb.Finalizers = append(fb.Finalizers, finalizerName)
}
// RemoveFinalizer removes the specified finalizer
func (fb *FluentBit) RemoveFinalizer(finalizerName string) {
- fb.ObjectMeta.Finalizers = slices.DeleteFunc(fb.ObjectMeta.Finalizers, func(s string) bool { return s == finalizerName })
+ fb.Finalizers = slices.DeleteFunc(fb.Finalizers, func(s string) bool { return s == finalizerName })
}
// +kubebuilder:object:root=true
diff --git a/apis/fluentbit/v1alpha2/plugins/common_types.go b/apis/fluentbit/v1alpha2/plugins/common_types.go
index d9ac7eae5..f3f66509e 100644
--- a/apis/fluentbit/v1alpha2/plugins/common_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/common_types.go
@@ -12,7 +12,8 @@ type CommonParams struct {
// Alias for the plugin
Alias string `json:"alias,omitempty"`
- // RetryLimit describes how many times fluent-bit should retry to send data to a specific output. If set to false fluent-bit will try indefinetly. If set to any integer N>0 it will try at most N+1 times. Leading zeros are not allowed (values such as 007, 0150, 01 do not work). If this property is not defined fluent-bit will use the default value: 1.
+ // RetryLimit describes how many times fluent-bit should retry to send data to a specific output. If set to false fluent-bit will try indefinitely. If set to any integer N>0 it will try at most N+1 times. Leading zeros are not allowed (values such as 007, 0150, 01 do not work). If this property is not defined fluent-bit will use the default value: 1.
+ // nolint:misspell
// +kubebuilder:validation:Pattern="^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$"
RetryLimit string `json:"retryLimit,omitempty"`
}
diff --git a/apis/fluentbit/v1alpha2/plugins/configmap_types.go b/apis/fluentbit/v1alpha2/plugins/configmap_types.go
index 8745f273f..0d328f41b 100644
--- a/apis/fluentbit/v1alpha2/plugins/configmap_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/configmap_types.go
@@ -3,10 +3,11 @@ package plugins
import (
"context"
"fmt"
+ "strings"
+
"github.com/go-openapi/errors"
- "k8s.io/api/core/v1"
+ v1 "k8s.io/api/core/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
- "strings"
)
type ConfigMapLoader struct {
@@ -30,6 +31,6 @@ func (cl ConfigMapLoader) LoadConfigMap(selector v1.ConfigMapKeySelector, namesp
if v, ok := configMap.Data[selector.Key]; !ok {
return "", errors.NotFound(fmt.Sprintf("The key %s is not found.", selector.Key))
} else {
- return strings.TrimSuffix(fmt.Sprintf("%s", v), "\n"), nil
+ return strings.TrimSuffix(v, "\n"), nil
}
}
diff --git a/apis/fluentbit/v1alpha2/plugins/custom/custom_plugin_types.go b/apis/fluentbit/v1alpha2/plugins/custom/custom_plugin_types.go
index 9b7d81bc9..ae41f6c7b 100644
--- a/apis/fluentbit/v1alpha2/plugins/custom/custom_plugin_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/custom/custom_plugin_types.go
@@ -58,11 +58,10 @@ func (c *CustomPlugin) MakeNamespaced(ns string) {
}
func indentation(str string) string {
- splits := strings.Split(str, "\n")
var buf bytes.Buffer
- for _, i := range splits {
- if i != "" {
- buf.WriteString(fmt.Sprintf(" %s\n", strings.TrimSpace(i)))
+ for s := range strings.SplitSeq(str, "\n") {
+ if s != "" {
+ buf.WriteString(fmt.Sprintf(" %s\n", strings.TrimSpace(s)))
}
}
return buf.String()
@@ -70,8 +69,7 @@ func indentation(str string) string {
func MakeCustomConfigNamespaced(customConfig string, namespace string) string {
var buf bytes.Buffer
- sections := strings.Split(customConfig, "\n")
- for _, section := range sections {
+ for section := range strings.SplitSeq(customConfig, "\n") {
section = strings.TrimSpace(section)
idx := strings.LastIndex(section, " ")
if strings.HasPrefix(section, "Match_Regex") {
diff --git a/apis/fluentbit/v1alpha2/plugins/filter/aws_types.go b/apis/fluentbit/v1alpha2/plugins/filter/aws_types.go
index 3916f953e..acc0d09c0 100644
--- a/apis/fluentbit/v1alpha2/plugins/filter/aws_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/filter/aws_types.go
@@ -18,23 +18,23 @@ type AWS struct {
ImdsVersion string `json:"imdsVersion,omitempty"`
// The availability zone; for example, "us-east-1a". Default is true.
AZ *bool `json:"az,omitempty"`
- //The EC2 instance ID.Default is true.
+ // The EC2 instance ID.Default is true.
EC2InstanceID *bool `json:"ec2InstanceID,omitempty"`
- //The EC2 instance type.Default is false.
+ // The EC2 instance type.Default is false.
EC2InstanceType *bool `json:"ec2InstanceType,omitempty"`
- //The EC2 instance private ip.Default is false.
+ // The EC2 instance private ip.Default is false.
PrivateIP *bool `json:"privateIP,omitempty"`
- //The EC2 instance image id.Default is false.
+ // The EC2 instance image id.Default is false.
AmiID *bool `json:"amiID,omitempty"`
- //The account ID for current EC2 instance.Default is false.
+ // The account ID for current EC2 instance.Default is false.
AccountID *bool `json:"accountID,omitempty"`
- //The hostname for current EC2 instance.Default is false.
+ // The hostname for current EC2 instance.Default is false.
HostName *bool `json:"hostName,omitempty"`
- //The VPC ID for current EC2 instance.Default is false.
+ // The VPC ID for current EC2 instance.Default is false.
VpcID *bool `json:"vpcID,omitempty"`
}
-func (_ *AWS) Name() string {
+func (*AWS) Name() string {
return "aws"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/filter/grep_types.go b/apis/fluentbit/v1alpha2/plugins/filter/grep_types.go
index 2dc6b2b33..6145558cd 100644
--- a/apis/fluentbit/v1alpha2/plugins/filter/grep_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/filter/grep_types.go
@@ -19,7 +19,7 @@ type Grep struct {
Exclude string `json:"exclude,omitempty"`
}
-func (_ *Grep) Name() string {
+func (*Grep) Name() string {
return "grep"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/filter/kubernetes_types.go b/apis/fluentbit/v1alpha2/plugins/filter/kubernetes_types.go
index 1f8e60fb4..9ba993b2b 100644
--- a/apis/fluentbit/v1alpha2/plugins/filter/kubernetes_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/filter/kubernetes_types.go
@@ -109,7 +109,7 @@ type Kubernetes struct {
UseTagForMeta *bool `json:"useTagForMeta,omitempty"`
}
-func (_ *Kubernetes) Name() string {
+func (*Kubernetes) Name() string {
return "kubernetes"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/filter/log_to_metrics_types.go b/apis/fluentbit/v1alpha2/plugins/filter/log_to_metrics_types.go
index 11d9c943b..ff35e48f7 100644
--- a/apis/fluentbit/v1alpha2/plugins/filter/log_to_metrics_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/filter/log_to_metrics_types.go
@@ -51,7 +51,7 @@ type LogToMetrics struct {
DiscardLogs *bool `json:"discardLogs,omitempty"`
}
-func (_ *LogToMetrics) Name() string {
+func (*LogToMetrics) Name() string {
return "log_to_metrics"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/filter/lua_types.go b/apis/fluentbit/v1alpha2/plugins/filter/lua_types.go
index 44f2eae45..fa5b90eb6 100644
--- a/apis/fluentbit/v1alpha2/plugins/filter/lua_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/filter/lua_types.go
@@ -55,12 +55,13 @@ func (l *Lua) Params(_ plugins.SecretLoader) (*params.KVs, error) {
}
if l.Code != "" {
- var singleLineLua string = ""
+ var singleLineLua = ""
lineTrim := ""
- for _, line := range strings.Split(strings.TrimSuffix(l.Code, "\n"), "\n") {
+ re := regexp.MustCompile(`^function |^if |^for |^else|^elseif |^end|--[[]+`)
+ for line := range strings.SplitSeq(strings.TrimSuffix(l.Code, "\n"), "\n") {
lineTrim = strings.TrimSpace(line)
if lineTrim != "" {
- operator, _ := regexp.MatchString("^function |^if |^for |^else|^elseif |^end|--[[]+", lineTrim)
+ operator := re.MatchString(lineTrim)
if operator {
singleLineLua = singleLineLua + lineTrim + " "
} else {
@@ -77,11 +78,11 @@ func (l *Lua) Params(_ plugins.SecretLoader) (*params.KVs, error) {
kvs.Insert("call", l.Call)
- if l.TypeIntKey != nil && len(l.TypeIntKey) > 0 {
+ if len(l.TypeIntKey) > 0 {
kvs.Insert("type_int_key", strings.Join(l.TypeIntKey, " "))
}
- if l.TypeArrayKey != nil && len(l.TypeArrayKey) > 0 {
+ if len(l.TypeArrayKey) > 0 {
kvs.Insert("type_array_key", strings.Join(l.TypeArrayKey, " "))
}
diff --git a/apis/fluentbit/v1alpha2/plugins/filter/modify_types.go b/apis/fluentbit/v1alpha2/plugins/filter/modify_types.go
index 9b1461822..be2395dc1 100644
--- a/apis/fluentbit/v1alpha2/plugins/filter/modify_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/filter/modify_types.go
@@ -82,36 +82,37 @@ func (mo *Modify) Params(_ plugins.SecretLoader) (*params.KVs, error) {
if err != nil {
return kvs, err
}
+ const condition = "Condition"
for _, c := range mo.Conditions {
if c.KeyExists != "" {
- kvs.Insert("Condition", fmt.Sprintf("Key_exists %s", c.KeyExists))
+ kvs.Insert(condition, fmt.Sprintf("Key_exists %s", c.KeyExists))
}
kvs.InsertStringMap(c.KeyDoesNotExist, func(k, v string) (string, string) {
- return "Condition", fmt.Sprintf("Key_does_not_exist %s %s", k, v)
+ return condition, fmt.Sprintf("Key_does_not_exist %s %s", k, v)
})
if c.AKeyMatches != "" {
- kvs.Insert("Condition", fmt.Sprintf("A_key_matches %s", c.AKeyMatches))
+ kvs.Insert(condition, fmt.Sprintf("A_key_matches %s", c.AKeyMatches))
}
if c.NoKeyMatches != "" {
- kvs.Insert("Condition", fmt.Sprintf("No_key_matches %s", c.NoKeyMatches))
+ kvs.Insert(condition, fmt.Sprintf("No_key_matches %s", c.NoKeyMatches))
}
kvs.InsertStringMap(c.KeyValueEquals, func(k, v string) (string, string) {
- return "Condition", fmt.Sprintf("Key_value_equals %s %s", k, v)
+ return condition, fmt.Sprintf("Key_value_equals %s %s", k, v)
})
kvs.InsertStringMap(c.KeyValueDoesNotEqual, func(k, v string) (string, string) {
- return "Condition", fmt.Sprintf("Key_value_does_not_equal %s %s", k, v)
+ return condition, fmt.Sprintf("Key_value_does_not_equal %s %s", k, v)
})
kvs.InsertStringMap(c.KeyValueMatches, func(k, v string) (string, string) {
- return "Condition", fmt.Sprintf("Key_value_matches %s %s", k, v)
+ return condition, fmt.Sprintf("Key_value_matches %s %s", k, v)
})
kvs.InsertStringMap(c.KeyValueDoesNotMatch, func(k, v string) (string, string) {
- return "Condition", fmt.Sprintf("Key_value_does_not_match %s %s", k, v)
+ return condition, fmt.Sprintf("Key_value_does_not_match %s %s", k, v)
})
kvs.InsertStringMap(c.MatchingKeysHaveMatchingValues, func(k, v string) (string, string) {
- return "Condition", fmt.Sprintf("Matching_keys_have_matching_values %s %s", k, v)
+ return condition, fmt.Sprintf("Matching_keys_have_matching_values %s %s", k, v)
})
kvs.InsertStringMap(c.MatchingKeysDoNotHaveMatchingValues, func(k, v string) (string, string) {
- return "Condition", fmt.Sprintf("Matching_keys_do_not_have_matching_values %s %s", k, v)
+ return condition, fmt.Sprintf("Matching_keys_do_not_have_matching_values %s %s", k, v)
})
}
for _, r := range mo.Rules {
diff --git a/apis/fluentbit/v1alpha2/plugins/filter/multiline_types.go b/apis/fluentbit/v1alpha2/plugins/filter/multiline_types.go
index 82a2fcd61..7b70d7c2e 100644
--- a/apis/fluentbit/v1alpha2/plugins/filter/multiline_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/filter/multiline_types.go
@@ -19,10 +19,10 @@ type Multiline struct {
type Multi struct {
// Specify one or multiple Multiline Parsing definitions to apply to the content.
- //You can specify multiple multiline parsers to detect different formats by separating them with a comma.
+ // You can specify multiple multiline parsers to detect different formats by separating them with a comma.
Parser string `json:"parser"`
- //Key name that holds the content to process.
- //Note that a Multiline Parser definition can already specify the key_content to use, but this option allows to overwrite that value for the purpose of the filter.
+ // Key name that holds the content to process.
+ // Note that a Multiline Parser definition can already specify the key_content to use, but this option allows to overwrite that value for the purpose of the filter.
KeyContent string `json:"keyContent,omitempty"`
// +kubebuilder:validation:Enum:=parser;partial_message
Mode string `json:"mode,omitempty"`
@@ -41,7 +41,7 @@ type Multi struct {
EmitterMemBufLimit int `json:"emitterMemBufLimit,omitempty"`
}
-func (_ *Multiline) Name() string {
+func (*Multiline) Name() string {
return "multiline"
}
@@ -52,29 +52,29 @@ func (m *Multiline) Params(_ plugins.SecretLoader) (*params.KVs, error) {
return kvs, err
}
if m.Multi != nil {
- if m.Multi.Parser != "" {
- kvs.Insert("multiline.parser", m.Multi.Parser)
+ if m.Parser != "" {
+ kvs.Insert("multiline.parser", m.Parser)
}
- if m.Multi.KeyContent != "" {
- kvs.Insert("multiline.key_content", m.Multi.KeyContent)
+ if m.KeyContent != "" {
+ kvs.Insert("multiline.key_content", m.KeyContent)
}
- if m.Multi.Mode != "" {
- kvs.Insert("mode", m.Multi.Mode)
+ if m.Mode != "" {
+ kvs.Insert("mode", m.Mode)
}
- if m.Multi.Buffer != false {
- kvs.Insert("buffer", fmt.Sprint(m.Multi.Buffer))
+ if m.Buffer {
+ kvs.Insert("buffer", fmt.Sprint(m.Buffer))
}
- if m.Multi.FlushMS != 0 {
- kvs.Insert("flush_ms", fmt.Sprint(m.Multi.FlushMS))
+ if m.FlushMS != 0 {
+ kvs.Insert("flush_ms", fmt.Sprint(m.FlushMS))
}
- if m.Multi.EmitterName != "" {
- kvs.Insert("emitter_name", m.Multi.EmitterName)
+ if m.EmitterName != "" {
+ kvs.Insert("emitter_name", m.EmitterName)
}
- if m.Multi.EmitterType != "" {
- kvs.Insert("emitter_storage.type", m.Multi.EmitterType)
+ if m.EmitterType != "" {
+ kvs.Insert("emitter_storage.type", m.EmitterType)
}
- if m.Multi.EmitterMemBufLimit != 0 {
- kvs.Insert("emitter_mem_buf_limit", fmt.Sprintf("%dMB", m.Multi.EmitterMemBufLimit))
+ if m.EmitterMemBufLimit != 0 {
+ kvs.Insert("emitter_mem_buf_limit", fmt.Sprintf("%dMB", m.EmitterMemBufLimit))
}
}
return kvs, nil
diff --git a/apis/fluentbit/v1alpha2/plugins/filter/nest_types.go b/apis/fluentbit/v1alpha2/plugins/filter/nest_types.go
index f34de22ca..6589ba13a 100644
--- a/apis/fluentbit/v1alpha2/plugins/filter/nest_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/filter/nest_types.go
@@ -26,7 +26,7 @@ type Nest struct {
RemovePrefix string `json:"removePrefix,omitempty"`
}
-func (_ *Nest) Name() string {
+func (*Nest) Name() string {
return "nest"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/filter/parser_types.go b/apis/fluentbit/v1alpha2/plugins/filter/parser_types.go
index e317c4de6..fa860a1ab 100644
--- a/apis/fluentbit/v1alpha2/plugins/filter/parser_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/filter/parser_types.go
@@ -30,7 +30,7 @@ type Parser struct {
UnescapeKey *bool `json:"unescapeKey,omitempty"`
}
-func (_ *Parser) Name() string {
+func (*Parser) Name() string {
return "parser"
}
@@ -44,8 +44,7 @@ func (p *Parser) Params(_ plugins.SecretLoader) (*params.KVs, error) {
kvs.Insert("Key_Name", p.KeyName)
}
if p.Parser != "" {
- parsers := strings.Split(p.Parser, ",")
- for _, parser := range parsers {
+ for parser := range strings.SplitSeq(p.Parser, ",") {
kvs.Insert("Parser", strings.Trim(parser, " "))
}
}
diff --git a/apis/fluentbit/v1alpha2/plugins/filter/record_modifier_types.go b/apis/fluentbit/v1alpha2/plugins/filter/record_modifier_types.go
index 71a7f9a23..0c6cc6a4f 100644
--- a/apis/fluentbit/v1alpha2/plugins/filter/record_modifier_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/filter/record_modifier_types.go
@@ -24,7 +24,7 @@ type RecordModifier struct {
UUIDKeys []string `json:"uuidKeys,omitempty"`
}
-func (_ *RecordModifier) Name() string {
+func (*RecordModifier) Name() string {
return "record_modifier"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/filter/rewrite_tag_types.go b/apis/fluentbit/v1alpha2/plugins/filter/rewrite_tag_types.go
index bd68a7519..a0506f34d 100644
--- a/apis/fluentbit/v1alpha2/plugins/filter/rewrite_tag_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/filter/rewrite_tag_types.go
@@ -27,7 +27,7 @@ type RewriteTag struct {
EmitterStorageType string `json:"emitterStorageType,omitempty"`
}
-func (_ *RewriteTag) Name() string {
+func (*RewriteTag) Name() string {
return "rewrite_tag"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/input/collectd.go b/apis/fluentbit/v1alpha2/plugins/input/collectd.go
index 5647bb5fc..380e2893e 100644
--- a/apis/fluentbit/v1alpha2/plugins/input/collectd.go
+++ b/apis/fluentbit/v1alpha2/plugins/input/collectd.go
@@ -22,7 +22,7 @@ type Collectd struct {
TypesDB string `json:"typesDB,omitempty"`
}
-func (_ *Collectd) Name() string {
+func (*Collectd) Name() string {
return "collectd"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/input/dummy_types.go b/apis/fluentbit/v1alpha2/plugins/input/dummy_types.go
index 31ed85060..821b42528 100644
--- a/apis/fluentbit/v1alpha2/plugins/input/dummy_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/input/dummy_types.go
@@ -13,7 +13,7 @@ import (
// It is useful for testing, debugging, benchmarking and getting started with Fluent Bit.
// **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/dummy**
type Dummy struct {
- // Tag name associated to all records comming from this plugin.
+ // Tag name associated to all records coming from this plugin.
Tag string `json:"tag,omitempty"`
// Dummy JSON record.
Dummy string `json:"dummy,omitempty"`
@@ -23,7 +23,7 @@ type Dummy struct {
Samples *int32 `json:"samples,omitempty"`
}
-func (_ *Dummy) Name() string {
+func (*Dummy) Name() string {
return "dummy"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/input/exec_wasi_types.go b/apis/fluentbit/v1alpha2/plugins/input/exec_wasi_types.go
index ac52ba4af..0e2291ecb 100644
--- a/apis/fluentbit/v1alpha2/plugins/input/exec_wasi_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/input/exec_wasi_types.go
@@ -34,7 +34,7 @@ type ExecWasi struct {
Threaded *bool `json:"threaded,omitempty"`
}
-func (_ *ExecWasi) Name() string {
+func (*ExecWasi) Name() string {
return "exec_wasi"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/input/fluentbit_metrics_types.go b/apis/fluentbit/v1alpha2/plugins/input/fluentbit_metrics_types.go
index 024b01181..c5bb63a86 100644
--- a/apis/fluentbit/v1alpha2/plugins/input/fluentbit_metrics_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/input/fluentbit_metrics_types.go
@@ -24,7 +24,7 @@ type FluentbitMetrics struct {
ScrapeOnStart *bool `json:"scrapeOnStart,omitempty"`
}
-func (_ *FluentbitMetrics) Name() string {
+func (*FluentbitMetrics) Name() string {
return "fluentbit_metrics"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/input/forward.go b/apis/fluentbit/v1alpha2/plugins/input/forward.go
index e54ab5853..56e9f94c6 100644
--- a/apis/fluentbit/v1alpha2/plugins/input/forward.go
+++ b/apis/fluentbit/v1alpha2/plugins/input/forward.go
@@ -9,7 +9,7 @@ import (
// +kubebuilder:object:generate:=true
-// Forward defines the in_forward Input plugin that listens to TCP socket to recieve the event stream.
+// Forward defines the in_forward Input plugin that listens to TCP socket to receive the event stream.
// **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/forward**
type Forward struct {
// Port for forward plugin instance.
@@ -22,11 +22,11 @@ type Forward struct {
Tag string `json:"tag,omitempty"`
// Adds the prefix to incoming event's tag
TagPrefix string `json:"tagPrefix,omitempty"`
- // Specify the path to unix socket to recieve a forward message. If set, Listen and port are ignnored.
+ // Specify the path to unix socket to receive a forward message. If set, Listen and port are ignnored.
UnixPath string `json:"unixPath,omitempty"`
// Set the permission of unix socket file.
UnixPerm string `json:"unixPerm,omitempty"`
- // Specify maximum buffer memory size used to recieve a forward message.
+ // Specify maximum buffer memory size used to receive a forward message.
// The value must be according to the Unit Size specification.
// +kubebuilder:validation:Pattern:="^\\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$"
BufferMaxSize string `json:"bufferMaxSize,omitempty"`
@@ -39,7 +39,7 @@ type Forward struct {
Threaded string `json:"threaded,omitempty"`
}
-func (_ *Forward) Name() string {
+func (*Forward) Name() string {
return "forward"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/input/http.go b/apis/fluentbit/v1alpha2/plugins/input/http.go
index e0daf32c1..627b07de7 100644
--- a/apis/fluentbit/v1alpha2/plugins/input/http.go
+++ b/apis/fluentbit/v1alpha2/plugins/input/http.go
@@ -34,7 +34,7 @@ type HTTP struct {
*plugins.TLS `json:"tls,omitempty"`
}
-func (_ *HTTP) Name() string {
+func (*HTTP) Name() string {
return "http"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/input/kubernetes_events_types.go b/apis/fluentbit/v1alpha2/plugins/input/kubernetes_events_types.go
index 65342ae9c..46bac7ccf 100644
--- a/apis/fluentbit/v1alpha2/plugins/input/kubernetes_events_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/input/kubernetes_events_types.go
@@ -12,7 +12,7 @@ import (
// The KubernetesEvents input plugin allows you to collect kubernetes cluster events from kube-api server
// **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/kubernetes-events*
type KubernetesEvents struct {
- // Tag name associated to all records comming from this plugin.
+ // Tag name associated to all records coming from this plugin.
Tag string `json:"tag,omitempty"`
// Set a database file to keep track of recorded Kubernetes events
DB string `json:"db,omitempty"`
@@ -47,7 +47,7 @@ type KubernetesEvents struct {
TLSVhost string `json:"tlsVhost,omitempty"`
}
-func (_ *KubernetesEvents) Name() string {
+func (*KubernetesEvents) Name() string {
return "kubernetes_events"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/input/mqtt.go b/apis/fluentbit/v1alpha2/plugins/input/mqtt.go
index 9e40430de..51c0b47ef 100644
--- a/apis/fluentbit/v1alpha2/plugins/input/mqtt.go
+++ b/apis/fluentbit/v1alpha2/plugins/input/mqtt.go
@@ -21,7 +21,7 @@ type MQTT struct {
Port *int32 `json:"port,omitempty"`
}
-func (_ *MQTT) Name() string {
+func (*MQTT) Name() string {
return "mqtt"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/input/nginx.go b/apis/fluentbit/v1alpha2/plugins/input/nginx.go
index 3c16339f6..99aa0ebdb 100644
--- a/apis/fluentbit/v1alpha2/plugins/input/nginx.go
+++ b/apis/fluentbit/v1alpha2/plugins/input/nginx.go
@@ -24,7 +24,7 @@ type Nginx struct {
NginxPlus *bool `json:"nginxPlus,omitempty"`
}
-func (_ *Nginx) Name() string {
+func (*Nginx) Name() string {
return "nginx_metrics"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/input/node_exporter_metrics_types.go b/apis/fluentbit/v1alpha2/plugins/input/node_exporter_metrics_types.go
index 15b3a2bd5..e03b19464 100644
--- a/apis/fluentbit/v1alpha2/plugins/input/node_exporter_metrics_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/input/node_exporter_metrics_types.go
@@ -12,7 +12,7 @@ import (
// This plugin is currently only supported on Linux based operating systems.
// **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/node-exporter-metrics**
type NodeExporterMetrics struct {
- // Tag name associated to all records comming from this plugin.
+ // Tag name associated to all records coming from this plugin.
Tag string `json:"tag,omitempty"`
// The rate at which metrics are collected from the host operating system, default is 5 seconds.
ScrapeInterval string `json:"scrapeInterval,omitempty"`
@@ -26,7 +26,7 @@ type Path struct {
Sysfs string `json:"sysfs,omitempty"`
}
-func (_ *NodeExporterMetrics) Name() string {
+func (*NodeExporterMetrics) Name() string {
return "node_exporter_metrics"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/input/open_telemetry_types.go b/apis/fluentbit/v1alpha2/plugins/input/open_telemetry_types.go
index a36b63b94..213320002 100644
--- a/apis/fluentbit/v1alpha2/plugins/input/open_telemetry_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/input/open_telemetry_types.go
@@ -29,7 +29,7 @@ type OpenTelemetry struct {
// This sets the chunk size for incoming incoming JSON messages. These chunks are then stored/managed in the space available by buffer_max_size(default 512K).
// +kubebuilder:validation:Pattern:="^\\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$"
BufferChunkSize string `json:"bufferChunkSize,omitempty"`
- //It allows to set successful response code. 200, 201 and 204 are supported(default 201).
+ // It allows to set successful response code. 200, 201 and 204 are supported(default 201).
SuccessfulResponseCode *int32 `json:"successfulResponseCode,omitempty"`
// opentelemetry uses the tag value for incoming metrics.
Tag string `json:"tag,omitempty"`
@@ -37,7 +37,7 @@ type OpenTelemetry struct {
TagFromURI *bool `json:"tagFromURI,omitempty"`
}
-func (_ *OpenTelemetry) Name() string {
+func (*OpenTelemetry) Name() string {
return "opentelemetry"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/input/prometheus_scrape_metrics_types.go b/apis/fluentbit/v1alpha2/plugins/input/prometheus_scrape_metrics_types.go
index 124b3be7d..4f6ee679e 100644
--- a/apis/fluentbit/v1alpha2/plugins/input/prometheus_scrape_metrics_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/input/prometheus_scrape_metrics_types.go
@@ -15,7 +15,7 @@ import (
// endpoint at a set interval. These metrics can be routed to metric supported endpoints such as Prometheus Exporter, InfluxDB, or Prometheus Remote Write.
// **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/prometheus-scrape-metrics**
type PrometheusScrapeMetrics struct {
- // Tag name associated to all records comming from this plugin
+ // Tag name associated to all records coming from this plugin
Tag string `json:"tag,omitempty"`
// The host of the prometheus metric endpoint that you want to scrape
Host string `json:"host,omitempty"`
@@ -29,7 +29,7 @@ type PrometheusScrapeMetrics struct {
MetricsPath string `json:"metricsPath,omitempty"`
}
-func (_ *PrometheusScrapeMetrics) Name() string {
+func (*PrometheusScrapeMetrics) Name() string {
return "prometheus_scrape"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/input/statsd.go b/apis/fluentbit/v1alpha2/plugins/input/statsd.go
index 7e5dc2653..6a25cadae 100644
--- a/apis/fluentbit/v1alpha2/plugins/input/statsd.go
+++ b/apis/fluentbit/v1alpha2/plugins/input/statsd.go
@@ -20,7 +20,7 @@ type StatsD struct {
Port *int32 `json:"port,omitempty"`
}
-func (_ *StatsD) Name() string {
+func (*StatsD) Name() string {
return "statsd"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/input/syslog.go b/apis/fluentbit/v1alpha2/plugins/input/syslog.go
index c9aff9dad..fac0b5f00 100644
--- a/apis/fluentbit/v1alpha2/plugins/input/syslog.go
+++ b/apis/fluentbit/v1alpha2/plugins/input/syslog.go
@@ -45,7 +45,7 @@ type Syslog struct {
*plugins.TLS `json:"tls,omitempty"`
}
-func (_ *Syslog) Name() string {
+func (*Syslog) Name() string {
return "syslog"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/input/systemd_types.go b/apis/fluentbit/v1alpha2/plugins/input/systemd_types.go
index 288a1a0a8..f4b5c4796 100644
--- a/apis/fluentbit/v1alpha2/plugins/input/systemd_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/input/systemd_types.go
@@ -52,7 +52,7 @@ type Systemd struct {
PauseOnChunksOverlimit string `json:"pauseOnChunksOverlimit,omitempty"`
}
-func (_ *Systemd) Name() string {
+func (*Systemd) Name() string {
return "systemd"
}
@@ -77,7 +77,7 @@ func (s *Systemd) Params(_ plugins.SecretLoader) (*params.KVs, error) {
if s.MaxEntries > 0 {
kvs.Insert("Max_Entries", string(rune(s.MaxEntries)))
}
- if s.SystemdFilter != nil && len(s.SystemdFilter) > 0 {
+ if len(s.SystemdFilter) > 0 {
for _, v := range s.SystemdFilter {
kvs.Insert("Systemd_Filter", v)
}
diff --git a/apis/fluentbit/v1alpha2/plugins/input/tail_types.go b/apis/fluentbit/v1alpha2/plugins/input/tail_types.go
index 63a227099..ef250f5ea 100644
--- a/apis/fluentbit/v1alpha2/plugins/input/tail_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/input/tail_types.go
@@ -96,7 +96,7 @@ type Tail struct {
// DisableInotifyWatcher will disable inotify and use the file stat watcher instead.
DisableInotifyWatcher *bool `json:"disableInotifyWatcher,omitempty"`
// This will help to reassembly multiline messages originally split by Docker or CRI
- //Specify one or Multiline Parser definition to apply to the content.
+ // Specify one or Multiline Parser definition to apply to the content.
MultilineParser string `json:"multilineParser,omitempty"`
// Specify the buffering mechanism to use. It can be memory or filesystem
// +kubebuilder:validation:Enum:=filesystem;memory
@@ -104,13 +104,13 @@ type Tail struct {
// Specifies if the input plugin should be paused (stop ingesting new data) when the storage.max_chunks_up value is reached.
// +kubebuilder:validation:Enum:=on;off
PauseOnChunksOverlimit string `json:"pauseOnChunksOverlimit,omitempty"`
- //Skips empty lines in the log file from any further processing or output.
+ // Skips empty lines in the log file from any further processing or output.
SkipEmptyLines *bool `json:"skipEmptyLines,omitempty"`
// Threaded mechanism allows input plugin to run in a separate thread which helps to desaturate the main pipeline.
Threaded *string `json:"threaded,omitempty"`
}
-func (_ *Tail) Name() string {
+func (*Tail) Name() string {
return "tail"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/input/tcp.go b/apis/fluentbit/v1alpha2/plugins/input/tcp.go
index 03a1ca28e..20b84f4f1 100644
--- a/apis/fluentbit/v1alpha2/plugins/input/tcp.go
+++ b/apis/fluentbit/v1alpha2/plugins/input/tcp.go
@@ -32,7 +32,7 @@ type TCP struct {
Separator string `json:"separator,omitempty"`
}
-func (_ *TCP) Name() string {
+func (*TCP) Name() string {
return "tcp"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/input/udp.go b/apis/fluentbit/v1alpha2/plugins/input/udp.go
index 18f0601d1..dabcc73ec 100644
--- a/apis/fluentbit/v1alpha2/plugins/input/udp.go
+++ b/apis/fluentbit/v1alpha2/plugins/input/udp.go
@@ -40,7 +40,7 @@ type UDP struct {
Threaded *string `json:"threaded,omitempty"`
}
-func (_ *UDP) Name() string {
+func (*UDP) Name() string {
return "udp"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/multilineparser/multiline_parser_types.go b/apis/fluentbit/v1alpha2/plugins/multilineparser/multiline_parser_types.go
index 00844ef8f..bb579eb65 100644
--- a/apis/fluentbit/v1alpha2/plugins/multilineparser/multiline_parser_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/multilineparser/multiline_parser_types.go
@@ -32,7 +32,7 @@ type Rule struct {
Next string `json:"next"`
}
-func (_ *MultilineParser) Name() string {
+func (*MultilineParser) Name() string {
return "multilineparser"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/azure_blob_types.go b/apis/fluentbit/v1alpha2/plugins/output/azure_blob_types.go
index 5985f88ab..3be14ad47 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/azure_blob_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/azure_blob_types.go
@@ -36,7 +36,7 @@ type AzureBlob struct {
}
// Name implement Section() method
-func (_ *AzureBlob) Name() string {
+func (*AzureBlob) Name() string {
return "azure_blob"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/azure_log_analytics_types.go b/apis/fluentbit/v1alpha2/plugins/output/azure_log_analytics_types.go
index f3785f702..020bfcc34 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/azure_log_analytics_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/azure_log_analytics_types.go
@@ -27,7 +27,7 @@ type AzureLogAnalytics struct {
}
// Name implement Section() method
-func (_ *AzureLogAnalytics) Name() string {
+func (*AzureLogAnalytics) Name() string {
return "azure"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/cloud_watch_types.go b/apis/fluentbit/v1alpha2/plugins/output/cloud_watch_types.go
index 4a646fba5..ef3d95cfb 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/cloud_watch_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/cloud_watch_types.go
@@ -51,7 +51,7 @@ type CloudWatch struct {
}
// Name implement Section() method
-func (_ *CloudWatch) Name() string {
+func (*CloudWatch) Name() string {
return "cloudwatch_logs"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/data_dog_types.go b/apis/fluentbit/v1alpha2/plugins/output/data_dog_types.go
index f7ac27339..0a214aea3 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/data_dog_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/data_dog_types.go
@@ -44,7 +44,7 @@ type DataDog struct {
// *plugins.HTTP `json:"tls,omitempty"`
}
-func (_ *DataDog) Name() string {
+func (*DataDog) Name() string {
return "datadog"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/elasticsearch_types.go b/apis/fluentbit/v1alpha2/plugins/output/elasticsearch_types.go
index ad9339370..e2a019202 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/elasticsearch_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/elasticsearch_types.go
@@ -111,7 +111,7 @@ type Elasticsearch struct {
}
// Name implement Section() method
-func (_ *Elasticsearch) Name() string {
+func (*Elasticsearch) Name() string {
return "es"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/file_types.go b/apis/fluentbit/v1alpha2/plugins/output/file_types.go
index 388df8d3f..385ba0634 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/file_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/file_types.go
@@ -25,7 +25,7 @@ type File struct {
Template string `json:"template,omitempty"`
}
-func (_ *File) Name() string {
+func (*File) Name() string {
return "file"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/firehose_types.go b/apis/fluentbit/v1alpha2/plugins/output/firehose_types.go
index 46c06e8a1..bc8deef46 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/firehose_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/firehose_types.go
@@ -39,7 +39,7 @@ type Firehose struct {
}
// implement Section() method
-func (_ *Firehose) Name() string {
+func (*Firehose) Name() string {
return "kinesis_firehose"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/forward_types.go b/apis/fluentbit/v1alpha2/plugins/output/forward_types.go
index cac9cc0f7..99000f1ce 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/forward_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/forward_types.go
@@ -45,7 +45,7 @@ type Forward struct {
*plugins.Networking `json:"networking,omitempty"`
}
-func (_ *Forward) Name() string {
+func (*Forward) Name() string {
return "forward"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/gelf_types.go b/apis/fluentbit/v1alpha2/plugins/output/gelf_types.go
index 5c88660ae..4181ed6ea 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/gelf_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/gelf_types.go
@@ -40,7 +40,7 @@ type Gelf struct {
*plugins.Networking `json:"networking,omitempty"`
}
-func (_ *Gelf) Name() string {
+func (*Gelf) Name() string {
return "gelf"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/influxdb_types.go b/apis/fluentbit/v1alpha2/plugins/output/influxdb_types.go
index ba58b7e63..9cd239845 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/influxdb_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/influxdb_types.go
@@ -47,7 +47,7 @@ type InfluxDB struct {
}
// Name implement Section() method
-func (_ *InfluxDB) Name() string {
+func (*InfluxDB) Name() string {
return "influxdb"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/loki_types.go b/apis/fluentbit/v1alpha2/plugins/output/loki_types.go
index 4886fa4f6..56724683a 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/loki_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/loki_types.go
@@ -74,7 +74,7 @@ type Loki struct {
}
// implement Section() method
-func (_ *Loki) Name() string {
+func (*Loki) Name() string {
return "loki"
}
@@ -118,7 +118,7 @@ func (l *Loki) Params(sl plugins.SecretLoader) (*params.KVs, error) {
}
kvs.Insert("tenant_id", id)
}
- if l.Labels != nil && len(l.Labels) > 0 {
+ if len(l.Labels) > 0 {
// Sort labels to ensure deterministic output
sortedLabels := make([]string, len(l.Labels))
copy(sortedLabels, l.Labels)
@@ -142,13 +142,13 @@ func (l *Loki) Params(sl plugins.SecretLoader) (*params.KVs, error) {
kvs.Insert("labels", strings.Join(sortedLabels, ","))
}
- if l.LabelKeys != nil && len(l.LabelKeys) > 0 {
+ if len(l.LabelKeys) > 0 {
kvs.Insert("label_keys", strings.Join(l.LabelKeys, ","))
}
if l.LabelMapPath != "" {
kvs.Insert("label_map_path", l.LabelMapPath)
}
- if l.RemoveKeys != nil && len(l.RemoveKeys) > 0 {
+ if len(l.RemoveKeys) > 0 {
kvs.Insert("remove_keys", strings.Join(l.RemoveKeys, ","))
}
if l.DropSingleKey != "" {
@@ -164,7 +164,7 @@ func (l *Loki) Params(sl plugins.SecretLoader) (*params.KVs, error) {
kvs.Insert("tenant_id_key", l.TenantIDKey)
}
// Handle structured metadata
- if l.StructuredMetadata != nil && len(l.StructuredMetadata) > 0 {
+ if len(l.StructuredMetadata) > 0 {
var metadataPairs []string
for k, v := range l.StructuredMetadata {
metadataPairs = append(metadataPairs, fmt.Sprintf("%s=%s", k, v))
@@ -175,7 +175,7 @@ func (l *Loki) Params(sl plugins.SecretLoader) (*params.KVs, error) {
}
}
// Handle structured metadata keys
- if l.StructuredMetadataKeys != nil && len(l.StructuredMetadataKeys) > 0 {
+ if len(l.StructuredMetadataKeys) > 0 {
kvs.Insert("structured_metadata_keys", strings.Join(l.StructuredMetadataKeys, ","))
}
if l.TLS != nil {
diff --git a/apis/fluentbit/v1alpha2/plugins/output/null_types.go b/apis/fluentbit/v1alpha2/plugins/output/null_types.go
index 980dafaaf..1eae4766d 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/null_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/null_types.go
@@ -10,11 +10,11 @@ import (
// The null output plugin just throws away events.
type Null struct{}
-func (_ *Null) Name() string {
+func (*Null) Name() string {
return "null"
}
// implement Section() method
-func (_ *Null) Params(_ plugins.SecretLoader) (*params.KVs, error) {
+func (*Null) Params(_ plugins.SecretLoader) (*params.KVs, error) {
return nil, nil
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/open_search_types.go b/apis/fluentbit/v1alpha2/plugins/output/open_search_types.go
index 182176fd6..dcf02ee16 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/open_search_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/open_search_types.go
@@ -104,7 +104,7 @@ type OpenSearch struct {
}
// Name implement Section() method
-func (_ *OpenSearch) Name() string {
+func (*OpenSearch) Name() string {
return "opensearch"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/open_telemetry_types.go b/apis/fluentbit/v1alpha2/plugins/output/open_telemetry_types.go
index 2f6361898..3be7bcb07 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/open_telemetry_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/open_telemetry_types.go
@@ -47,7 +47,7 @@ type OpenTelemetry struct {
}
// Name implement Section() method
-func (_ *OpenTelemetry) Name() string {
+func (*OpenTelemetry) Name() string {
return "opentelemetry"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/open_telemetry_types_test.go b/apis/fluentbit/v1alpha2/plugins/output/open_telemetry_types_test.go
index 80902d14f..734e80c87 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/open_telemetry_types_test.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/open_telemetry_types_test.go
@@ -1,13 +1,14 @@
package output
import (
+ "testing"
+
"github.com/fluent/fluent-operator/v3/apis/fluentbit/v1alpha2/plugins"
"github.com/fluent/fluent-operator/v3/apis/fluentbit/v1alpha2/plugins/params"
. "github.com/onsi/gomega"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client/fake"
- "testing"
)
func TestOpenTelemetry_Params(t *testing.T) {
diff --git a/apis/fluentbit/v1alpha2/plugins/output/prometheus_exporter.go b/apis/fluentbit/v1alpha2/plugins/output/prometheus_exporter.go
index b6d0c05aa..105541a36 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/prometheus_exporter.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/prometheus_exporter.go
@@ -20,12 +20,12 @@ type PrometheusExporter struct {
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:Maximum:=65535
Port *int32 `json:"port,omitempty"`
- //This allows you to add custom labels to all metrics exposed through the prometheus exporter. You may have multiple of these fields
+ // This allows you to add custom labels to all metrics exposed through the prometheus exporter. You may have multiple of these fields
AddLabels map[string]string `json:"addLabels,omitempty"`
}
// implement Section() method
-func (_ *PrometheusExporter) Name() string {
+func (*PrometheusExporter) Name() string {
return "prometheus_exporter"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/prometheus_remote_write_types.go b/apis/fluentbit/v1alpha2/plugins/output/prometheus_remote_write_types.go
index 260550131..cdd8a7e70 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/prometheus_remote_write_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/prometheus_remote_write_types.go
@@ -27,15 +27,15 @@ type PrometheusRemoteWrite struct {
Port *int32 `json:"port,omitempty"`
// Specify an HTTP Proxy. The expected format of this value is http://HOST:PORT.
Proxy string `json:"proxy,omitempty"`
- //Specify an optional HTTP URI for the target web server, e.g: /something ,default: /
+ // Specify an optional HTTP URI for the target web server, e.g: /something ,default: /
URI string `json:"uri,omitempty"`
- //Add a HTTP header key/value pair. Multiple headers can be set.
+ // Add a HTTP header key/value pair. Multiple headers can be set.
Headers map[string]string `json:"headers,omitempty"`
- //Log the response payload within the Fluent Bit log,default: false
+ // Log the response payload within the Fluent Bit log,default: false
LogResponsePayload *bool `json:"logResponsePayload,omitempty"`
- //This allows you to add custom labels to all metrics exposed through the prometheus exporter. You may have multiple of these fields
+ // This allows you to add custom labels to all metrics exposed through the prometheus exporter. You may have multiple of these fields
AddLabels map[string]string `json:"addLabels,omitempty"`
- //Enables dedicated thread(s) for this output. Default value is set since version 1.8.13. For previous versions is 0,default : 2
+ // Enables dedicated thread(s) for this output. Default value is set since version 1.8.13. For previous versions is 0,default : 2
Workers *int32 `json:"workers,omitempty"`
*plugins.TLS `json:"tls,omitempty"`
@@ -44,7 +44,7 @@ type PrometheusRemoteWrite struct {
}
// implement Section() method
-func (_ *PrometheusRemoteWrite) Name() string {
+func (*PrometheusRemoteWrite) Name() string {
return "prometheus_remote_write"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/s3_types.go b/apis/fluentbit/v1alpha2/plugins/output/s3_types.go
index d2a836edc..fb857a116 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/s3_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/s3_types.go
@@ -72,7 +72,7 @@ type S3 struct {
}
// Name implement Section() method
-func (_ *S3) Name() string {
+func (*S3) Name() string {
return "s3"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/splunk_types.go b/apis/fluentbit/v1alpha2/plugins/output/splunk_types.go
index 23a58f3a3..4910e3871 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/splunk_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/splunk_types.go
@@ -38,13 +38,13 @@ type Splunk struct {
// When enabled, the record keys and values are set in the top level of the map instead of under the event key. Refer to
// the Sending Raw Events section from the docs more details to make this option work properly.
SplunkSendRaw *bool `json:"splunkSendRaw,omitempty"`
- //Specify the key name that will be used to send a single value as part of the record.
+ // Specify the key name that will be used to send a single value as part of the record.
EventKey string `json:"eventKey,omitempty"`
- //Specify the key name that contains the host value. This option allows a record accessors pattern.
+ // Specify the key name that contains the host value. This option allows a record accessors pattern.
EventHost string `json:"eventHost,omitempty"`
- //Set the source value to assign to the event data.
+ // Set the source value to assign to the event data.
EventSource string `json:"eventSource,omitempty"`
- //Set the sourcetype value to assign to the event data.
+ // Set the sourcetype value to assign to the event data.
EventSourcetype string `json:"eventSourcetype,omitempty"`
// Set a record key that will populate 'sourcetype'. If the key is found, it will have precedence
// over the value set in event_sourcetype.
@@ -54,7 +54,7 @@ type Splunk struct {
// Set a record key that will populate the index field. If the key is found, it will have precedence
// over the value set in event_index.
EventIndexKey string `json:"eventIndexKey,omitempty"`
- //Set event fields for the record. This option is an array and the format is "key_name
+ // Set event fields for the record. This option is an array and the format is "key_name
// record_accessor_pattern".
EventFields []string `json:"eventFields,omitempty"`
@@ -66,7 +66,7 @@ type Splunk struct {
}
// Name implement Section() method
-func (_ *Splunk) Name() string {
+func (*Splunk) Name() string {
return "splunk"
}
@@ -136,7 +136,7 @@ func (o *Splunk) Params(sl plugins.SecretLoader) (*params.KVs, error) {
if o.EventIndexKey != "" {
kvs.Insert("event_index_key", o.EventIndexKey)
}
- if o.EventFields != nil && len(o.EventFields) > 0 {
+ if len(o.EventFields) > 0 {
for _, v := range o.EventFields {
kvs.Insert("event_field", v)
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/stackdriver_types.go b/apis/fluentbit/v1alpha2/plugins/output/stackdriver_types.go
index 9db25c898..bb1ff2aa0 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/stackdriver_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/stackdriver_types.go
@@ -55,12 +55,12 @@ type Stackdriver struct {
Workers *int32 `json:"workers,omitempty"`
// A custom regex to extract fields from the local_resource_id of the logs
CustomK8sRegex string `json:"customK8sRegex,omitempty"`
- // Optional list of comma seperated strings. Setting these fields overrides the Stackdriver monitored resource API values
+ // Optional list of comma separated strings. Setting these fields overrides the Stackdriver monitored resource API values
ResourceLabels []string `json:"resourceLabels,omitempty"`
}
// Name implement Section() method
-func (_ *Stackdriver) Name() string {
+func (*Stackdriver) Name() string {
return "stackdriver"
}
@@ -117,7 +117,7 @@ func (o *Stackdriver) Params(sl plugins.SecretLoader) (*params.KVs, error) {
if o.LabelsKey != "" {
kvs.Insert("labels_key", o.LabelsKey)
}
- if o.Labels != nil && len(o.Labels) > 0 {
+ if len(o.Labels) > 0 {
kvs.Insert("labels", strings.Join(o.Labels, ","))
}
if o.LogNameKey != "" {
@@ -138,7 +138,7 @@ func (o *Stackdriver) Params(sl plugins.SecretLoader) (*params.KVs, error) {
if o.CustomK8sRegex != "" {
kvs.Insert("custom_k8s_regex", o.CustomK8sRegex)
}
- if o.ResourceLabels != nil && len(o.ResourceLabels) > 0 {
+ if len(o.ResourceLabels) > 0 {
kvs.Insert("resource_labels", strings.Join(o.ResourceLabels, ","))
}
return kvs, nil
diff --git a/apis/fluentbit/v1alpha2/plugins/output/stdout_types.go b/apis/fluentbit/v1alpha2/plugins/output/stdout_types.go
index 84ff6a1d5..635686575 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/stdout_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/stdout_types.go
@@ -20,7 +20,7 @@ type Stdout struct {
JsonDateFormat string `json:"jsonDateFormat,omitempty"`
}
-func (_ *Stdout) Name() string {
+func (*Stdout) Name() string {
return "stdout"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/syslog_types.go b/apis/fluentbit/v1alpha2/plugins/output/syslog_types.go
index 5d7abad5f..883a33e5e 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/syslog_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/syslog_types.go
@@ -49,7 +49,7 @@ type Syslog struct {
TotalLimitSize string `json:"totalLimitSize,omitempty"`
}
-func (_ *Syslog) Name() string {
+func (*Syslog) Name() string {
return "syslog"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/output/tcp_types.go b/apis/fluentbit/v1alpha2/plugins/output/tcp_types.go
index b86ea8db5..0b9316c2f 100644
--- a/apis/fluentbit/v1alpha2/plugins/output/tcp_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/output/tcp_types.go
@@ -34,7 +34,7 @@ type TCP struct {
*plugins.Networking `json:"networking,omitempty"`
}
-func (_ *TCP) Name() string {
+func (*TCP) Name() string {
return "tcp"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/parser/json_types.go b/apis/fluentbit/v1alpha2/plugins/parser/json_types.go
index 4bb3981b8..de819befc 100644
--- a/apis/fluentbit/v1alpha2/plugins/parser/json_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/parser/json_types.go
@@ -20,7 +20,7 @@ type JSON struct {
TimeKeep *bool `json:"timeKeep,omitempty"`
}
-func (_ *JSON) Name() string {
+func (*JSON) Name() string {
return "json"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/parser/logfmt_types.go b/apis/fluentbit/v1alpha2/plugins/parser/logfmt_types.go
index 316bb69ba..98af4fa8f 100644
--- a/apis/fluentbit/v1alpha2/plugins/parser/logfmt_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/parser/logfmt_types.go
@@ -20,7 +20,7 @@ type Logfmt struct {
TimeKeep *bool `json:"timeKeep,omitempty"`
}
-func (_ *Logfmt) Name() string {
+func (*Logfmt) Name() string {
return "logfmt"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/parser/lstv_types.go b/apis/fluentbit/v1alpha2/plugins/parser/lstv_types.go
index c7eccb262..f33e5b297 100644
--- a/apis/fluentbit/v1alpha2/plugins/parser/lstv_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/parser/lstv_types.go
@@ -21,7 +21,7 @@ type LSTV struct {
Types string `json:"types,omitempty"`
}
-func (_ *LSTV) Name() string {
+func (*LSTV) Name() string {
return "ltsv"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/parser/regex_types.go b/apis/fluentbit/v1alpha2/plugins/parser/regex_types.go
index ce98e1553..f08113328 100644
--- a/apis/fluentbit/v1alpha2/plugins/parser/regex_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/parser/regex_types.go
@@ -24,7 +24,7 @@ type Regex struct {
Types string `json:"types,omitempty"`
}
-func (_ *Regex) Name() string {
+func (*Regex) Name() string {
return "regex"
}
diff --git a/apis/fluentbit/v1alpha2/plugins/secret_types.go b/apis/fluentbit/v1alpha2/plugins/secret_types.go
index 1e8db3769..ed185538c 100644
--- a/apis/fluentbit/v1alpha2/plugins/secret_types.go
+++ b/apis/fluentbit/v1alpha2/plugins/secret_types.go
@@ -45,6 +45,6 @@ func (sl SecretLoader) LoadSecret(s Secret) (string, error) {
if v, ok := secret.Data[s.ValueFrom.SecretKeyRef.Key]; !ok {
return "", errors.NotFound(fmt.Sprintf("The key %s is not found.", s.ValueFrom.SecretKeyRef.Key))
} else {
- return strings.TrimSuffix(fmt.Sprintf("%s", v), "\n"), nil
+ return strings.TrimSuffix(string(v), "\n"), nil
}
}
diff --git a/apis/fluentd/v1alpha1/fluentd_types.go b/apis/fluentd/v1alpha1/fluentd_types.go
index 6ae45338d..7bf728fdf 100644
--- a/apis/fluentd/v1alpha1/fluentd_types.go
+++ b/apis/fluentd/v1alpha1/fluentd_types.go
@@ -172,7 +172,7 @@ type Fluentd struct {
// IsBeingDeleted returns true if a deletion timestamp is set
func (fd *Fluentd) IsBeingDeleted() bool {
- return !fd.ObjectMeta.DeletionTimestamp.IsZero()
+ return !fd.DeletionTimestamp.IsZero()
}
// FluentBitFinalizerName is the name of the fluentbit finalizer
@@ -180,17 +180,17 @@ const FluentdFinalizerName = "fluentd.fluent.io"
// HasFinalizer returns true if the item has the specified finalizer
func (fd *Fluentd) HasFinalizer(finalizerName string) bool {
- return slices.Contains(fd.ObjectMeta.Finalizers, finalizerName)
+ return slices.Contains(fd.Finalizers, finalizerName)
}
// AddFinalizer adds the specified finalizer
func (fd *Fluentd) AddFinalizer(finalizerName string) {
- fd.ObjectMeta.Finalizers = append(fd.ObjectMeta.Finalizers, finalizerName)
+ fd.Finalizers = append(fd.Finalizers, finalizerName)
}
// RemoveFinalizer removes the specified finalizer
func (fd *Fluentd) RemoveFinalizer(finalizerName string) {
- fd.ObjectMeta.Finalizers = slices.DeleteFunc(fd.ObjectMeta.Finalizers, func(s string) bool { return s == finalizerName })
+ fd.Finalizers = slices.DeleteFunc(fd.Finalizers, func(s string) bool { return s == finalizerName })
}
// +kubebuilder:object:root=true
diff --git a/apis/fluentd/v1alpha1/helper.go b/apis/fluentd/v1alpha1/helper.go
index 88eb2cda8..ef9b6bfab 100644
--- a/apis/fluentd/v1alpha1/helper.go
+++ b/apis/fluentd/v1alpha1/helper.go
@@ -212,7 +212,7 @@ func (r *CfgResources) filterForInputs(
) error {
for n, input := range inputs {
inputId := fmt.Sprintf("%s::%s::%s::%s-%d", cfgId, namespace, crdtype, name, n)
- input.InputCommon.Id = &inputId
+ input.Id = &inputId
// if input.InputCommon.Tag == nil {
// input.InputCommon.Tag = ¶ms.DefaultTag
// }
@@ -241,9 +241,9 @@ func (r *CfgResources) filterForFilters(
) error {
for n, filter := range filters {
filterId := fmt.Sprintf("%s::%s::%s::%s-%d", cfgId, namespace, crdtype, name, n)
- filter.FilterCommon.Id = &filterId
- if filter.FilterCommon.Tag == nil {
- filter.FilterCommon.Tag = ¶ms.DefaultTag
+ filter.Id = &filterId
+ if filter.Tag == nil {
+ filter.Tag = ¶ms.DefaultTag
}
ps, err := filter.Params(sl)
@@ -270,9 +270,9 @@ func (r *CfgResources) filterForOutputs(
) error {
for n, output := range outputs {
outputId := fmt.Sprintf("%s::%s::%s::%s-%d", cfgId, namespace, crdtype, name, n)
- output.OutputCommon.Id = &outputId
- if output.OutputCommon.Tag == nil {
- output.OutputCommon.Tag = ¶ms.DefaultTag
+ output.Id = &outputId
+ if output.Tag == nil {
+ output.Tag = ¶ms.DefaultTag
}
ps, err := output.Params(sl)
diff --git a/apis/fluentd/v1alpha1/plugins/common/buffer_types.go b/apis/fluentd/v1alpha1/plugins/common/buffer_types.go
index 61abf81f1..08accd86d 100644
--- a/apis/fluentd/v1alpha1/plugins/common/buffer_types.go
+++ b/apis/fluentd/v1alpha1/plugins/common/buffer_types.go
@@ -165,16 +165,16 @@ func (b *Buffer) Params(_ plugins.SecretLoader) (*params.PluginStore, error) {
ps.InsertPairs("@log_level", fmt.Sprint(*b.LogLevel))
}
- if b.FileBuffer != nil && b.FileBuffer.PathSuffix != nil {
- ps.InsertPairs("path_suffix", *b.FileBuffer.PathSuffix)
+ if b.FileBuffer != nil && b.PathSuffix != nil {
+ ps.InsertPairs("path_suffix", *b.PathSuffix)
}
if b.FileSingleBuffer != nil {
- if b.FileSingleBuffer.CalcNumRecords != nil {
- ps.InsertPairs("calc_num_records", *b.FileSingleBuffer.CalcNumRecords)
+ if b.CalcNumRecords != nil {
+ ps.InsertPairs("calc_num_records", *b.CalcNumRecords)
}
- if b.FileSingleBuffer.ChunkFormat != nil {
- ps.InsertPairs("chunk_format", *b.FileSingleBuffer.ChunkFormat)
+ if b.ChunkFormat != nil {
+ ps.InsertPairs("chunk_format", *b.ChunkFormat)
}
}
diff --git a/apis/fluentd/v1alpha1/plugins/common/common_types.go b/apis/fluentd/v1alpha1/plugins/common/common_types.go
index 2ca4e2100..23dedd731 100644
--- a/apis/fluentd/v1alpha1/plugins/common/common_types.go
+++ b/apis/fluentd/v1alpha1/plugins/common/common_types.go
@@ -75,7 +75,7 @@ type User struct {
// Transport defines the commont parameters for the transport plugin
type Transport struct {
- // The protocal name of this plugin, i.e: tls
+ // The protocol name of this plugin, i.e: tls
Protocol *string `json:"protocol,omitempty"`
Version *string `json:"version,omitempty"`
@@ -251,7 +251,7 @@ func (s *Security) Params(loader plugins.SecretLoader) (*params.PluginStore, err
ps.InsertPairs("allow_anonymous_source", fmt.Sprint(*s.AllowAnonymousSource))
}
if s.User != nil {
- if s.User.Username != nil && s.User.Password != nil {
+ if s.Username != nil && s.Password != nil {
subchild, _ := s.User.Params(loader)
ps.InsertChilds(subchild)
}
@@ -460,32 +460,32 @@ func (sd *ServiceDiscovery) Params(loader plugins.SecretLoader) (*params.PluginS
}
if sd.FileServiceDiscovery != nil {
- if sd.FileServiceDiscovery.Path != nil {
- ps.InsertPairs("path", fmt.Sprint(*sd.FileServiceDiscovery.Path))
+ if sd.Path != nil {
+ ps.InsertPairs("path", fmt.Sprint(*sd.Path))
}
- if sd.FileServiceDiscovery.ConfEncoding != nil {
- ps.InsertPairs("conf_encoding", fmt.Sprint(*sd.FileServiceDiscovery.ConfEncoding))
+ if sd.ConfEncoding != nil {
+ ps.InsertPairs("conf_encoding", fmt.Sprint(*sd.ConfEncoding))
}
}
if sd.SrvServiceDiscovery != nil {
- if sd.SrvServiceDiscovery.Service != nil {
- ps.InsertPairs("service", fmt.Sprint(*sd.SrvServiceDiscovery.Service))
+ if sd.Service != nil {
+ ps.InsertPairs("service", fmt.Sprint(*sd.Service))
}
- if sd.SrvServiceDiscovery.Proto != nil {
- ps.InsertPairs("proto", fmt.Sprint(*sd.SrvServiceDiscovery.Proto))
+ if sd.Proto != nil {
+ ps.InsertPairs("proto", fmt.Sprint(*sd.Proto))
}
- if sd.SrvServiceDiscovery.Hostname != nil {
- ps.InsertPairs("hostname", fmt.Sprint(*sd.SrvServiceDiscovery.Hostname))
+ if sd.Hostname != nil {
+ ps.InsertPairs("hostname", fmt.Sprint(*sd.Hostname))
}
- if sd.SrvServiceDiscovery.DnsServerHost != nil {
- ps.InsertPairs("dns_server_host", fmt.Sprint(*sd.SrvServiceDiscovery.DnsServerHost))
+ if sd.DnsServerHost != nil {
+ ps.InsertPairs("dns_server_host", fmt.Sprint(*sd.DnsServerHost))
}
- if sd.SrvServiceDiscovery.Interval != nil {
- ps.InsertPairs("interval", fmt.Sprint(*sd.SrvServiceDiscovery.Interval))
+ if sd.Interval != nil {
+ ps.InsertPairs("interval", fmt.Sprint(*sd.Interval))
}
- if sd.SrvServiceDiscovery.DnsLookup != nil {
- ps.InsertPairs("dns_lookup", fmt.Sprint(*sd.SrvServiceDiscovery.DnsLookup))
+ if sd.DnsLookup != nil {
+ ps.InsertPairs("dns_lookup", fmt.Sprint(*sd.DnsLookup))
}
}
ps.InsertChilds(childs...)
diff --git a/apis/fluentd/v1alpha1/plugins/configmap_types.go b/apis/fluentd/v1alpha1/plugins/configmap_types.go
index b7342bf4d..c407340c7 100644
--- a/apis/fluentd/v1alpha1/plugins/configmap_types.go
+++ b/apis/fluentd/v1alpha1/plugins/configmap_types.go
@@ -31,6 +31,6 @@ func (cl ConfigMapLoader) LoadConfigMap(selector v1.ConfigMapKeySelector) (strin
if v, ok := configMap.Data[selector.Key]; !ok {
return "", errors.NotFound(fmt.Sprintf("The key %s is not found.", selector.Key))
} else {
- return strings.TrimSuffix(fmt.Sprintf("%s", v), "\n"), nil
+ return strings.TrimSuffix(v, "\n"), nil
}
}
diff --git a/apis/fluentd/v1alpha1/plugins/custom/custom_types.go b/apis/fluentd/v1alpha1/plugins/custom/custom_types.go
index 5d390fb0a..fdf0609c4 100644
--- a/apis/fluentd/v1alpha1/plugins/custom/custom_types.go
+++ b/apis/fluentd/v1alpha1/plugins/custom/custom_types.go
@@ -24,9 +24,8 @@ func (c *CustomPlugin) Params(_ plugins.SecretLoader) (*params.PluginStore, erro
}
func indentation(config string) string {
- splits := strings.Split(config, "\n")
var buf bytes.Buffer
- for _, split := range splits {
+ for split := range strings.SplitSeq(config, "\n") {
if split != "" {
buf.WriteString(fmt.Sprintf(" %s\n", split))
}
diff --git a/apis/fluentd/v1alpha1/plugins/filter/types.go b/apis/fluentd/v1alpha1/plugins/filter/types.go
index e4e3dd385..99510ae33 100644
--- a/apis/fluentd/v1alpha1/plugins/filter/types.go
+++ b/apis/fluentd/v1alpha1/plugins/filter/types.go
@@ -148,7 +148,7 @@ func (f *Filter) grepPlugin(parent *params.PluginStore, loader plugins.SecretLoa
return parent
}
-func (f *Filter) recordTransformerPlugin(parent *params.PluginStore, loader plugins.SecretLoader) *params.PluginStore {
+func (f *Filter) recordTransformerPlugin(parent *params.PluginStore, _ plugins.SecretLoader) *params.PluginStore {
childs := make([]*params.PluginStore, 0)
if f.RecordTransformer != nil {
if len(f.RecordTransformer.Records) > 0 {
diff --git a/apis/fluentd/v1alpha1/plugins/input/types.go b/apis/fluentd/v1alpha1/plugins/input/types.go
index 5b2073289..bacb784e2 100644
--- a/apis/fluentd/v1alpha1/plugins/input/types.go
+++ b/apis/fluentd/v1alpha1/plugins/input/types.go
@@ -352,7 +352,7 @@ func (i *Input) httpPlugin(parent *params.PluginStore, loader plugins.SecretLoad
return parent
}
-func (i *Input) samplePlugin(parent *params.PluginStore, loader plugins.SecretLoader) *params.PluginStore {
+func (i *Input) samplePlugin(parent *params.PluginStore, _ plugins.SecretLoader) *params.PluginStore {
sampleModel := i.Sample
if sampleModel.Tag != nil {
parent.InsertPairs("tag", fmt.Sprint(*sampleModel.Tag))
@@ -372,7 +372,7 @@ func (i *Input) samplePlugin(parent *params.PluginStore, loader plugins.SecretLo
return parent
}
-func (i *Input) monitorAgentPlugin(parent *params.PluginStore, loader plugins.SecretLoader) *params.PluginStore {
+func (i *Input) monitorAgentPlugin(parent *params.PluginStore, _ plugins.SecretLoader) *params.PluginStore {
monitorAgentModel := i.MonitorAgent
if monitorAgentModel.Port != nil {
parent.InsertPairs("port", fmt.Sprint(*monitorAgentModel.Port))
diff --git a/apis/fluentd/v1alpha1/plugins/output/types.go b/apis/fluentd/v1alpha1/plugins/output/types.go
index 574d0f19d..703604c94 100644
--- a/apis/fluentd/v1alpha1/plugins/output/types.go
+++ b/apis/fluentd/v1alpha1/plugins/output/types.go
@@ -93,16 +93,16 @@ func (o *Output) Params(loader plugins.SecretLoader) (*params.PluginStore, error
ps.InsertPairs("tag", fmt.Sprint(*o.Tag))
}
- if o.BufferSection.Buffer != nil {
- child, _ := o.BufferSection.Buffer.Params(loader)
+ if o.Buffer != nil {
+ child, _ := o.Buffer.Params(loader)
childs = append(childs, child)
}
- if o.BufferSection.Inject != nil {
- child, _ := o.BufferSection.Inject.Params(loader)
+ if o.Inject != nil {
+ child, _ := o.Inject.Params(loader)
childs = append(childs, child)
}
- if o.BufferSection.Format != nil {
- child, _ := o.BufferSection.Format.Params(loader)
+ if o.Format != nil {
+ child, _ := o.Format.Params(loader)
childs = append(childs, child)
}
@@ -128,7 +128,7 @@ func (o *Output) Params(loader plugins.SecretLoader) (*params.PluginStore, error
Type: ¶ms.DefaultFormatType,
},
}
- child, _ := o.BufferSection.Format.Params(loader)
+ child, _ := o.Format.Params(loader)
ps.InsertChilds(child)
}
return o.kafka2Plugin(ps, loader), nil
@@ -653,7 +653,7 @@ func (o *Output) opensearchPlugin(parent *params.PluginStore, loader plugins.Sec
return parent, nil
}
-func (o *Output) kafka2Plugin(parent *params.PluginStore, loader plugins.SecretLoader) *params.PluginStore {
+func (o *Output) kafka2Plugin(parent *params.PluginStore, _ plugins.SecretLoader) *params.PluginStore {
if o.Kafka.Brokers != nil {
parent.InsertPairs("brokers", fmt.Sprint(*o.Kafka.Brokers))
}
@@ -771,7 +771,7 @@ func (o *Output) lokiPlugin(parent *params.PluginStore, loader plugins.SecretLoa
}
parent.InsertPairs("tenant", id)
}
- if o.Loki.Labels != nil && len(o.Loki.Labels) > 0 {
+ if len(o.Loki.Labels) > 0 {
labels := make(map[string]string)
for _, l := range o.Loki.Labels {
key, value, found := strings.Cut(l, "=")
@@ -789,10 +789,10 @@ func (o *Output) lokiPlugin(parent *params.PluginStore, loader plugins.SecretLoa
}
}
}
- if o.Loki.RemoveKeys != nil && len(o.Loki.RemoveKeys) > 0 {
+ if len(o.Loki.RemoveKeys) > 0 {
parent.InsertPairs("remove_keys", strings.Join(o.Loki.RemoveKeys, ","))
}
- if o.Loki.LabelKeys != nil && len(o.Loki.LabelKeys) > 0 {
+ if len(o.Loki.LabelKeys) > 0 {
ps := params.NewPluginStore("label")
for _, n := range o.Loki.LabelKeys {
ps.InsertPairs(n, n)
@@ -1086,14 +1086,14 @@ func (o *Output) datadogPlugin(parent *params.PluginStore, sl plugins.SecretLoad
return parent
}
-func (o *Output) copyPlugin(parent *params.PluginStore, sl plugins.SecretLoader) *params.PluginStore {
+func (o *Output) copyPlugin(parent *params.PluginStore, _ plugins.SecretLoader) *params.PluginStore {
if o.Copy.CopyMode != nil {
parent.InsertPairs("copy_mode", fmt.Sprint(*o.Copy.CopyMode))
}
return parent
}
-func (o *Output) nullPlugin(parent *params.PluginStore, sl plugins.SecretLoader) *params.PluginStore {
+func (o *Output) nullPlugin(parent *params.PluginStore, _ plugins.SecretLoader) *params.PluginStore {
if o.Null.NeverFlush != nil {
parent.InsertPairs("never_flush", fmt.Sprint(*o.Null.NeverFlush))
}
diff --git a/apis/fluentd/v1alpha1/plugins/params/model.go b/apis/fluentd/v1alpha1/plugins/params/model.go
index 258bde471..8761e54d6 100644
--- a/apis/fluentd/v1alpha1/plugins/params/model.go
+++ b/apis/fluentd/v1alpha1/plugins/params/model.go
@@ -194,7 +194,7 @@ func (ps *PluginStore) processBody(buf *bytes.Buffer) {
// write the tail directive to the buffer, i.e.:
func (ps *PluginStore) processTail(buf *bytes.Buffer) {
- buf.WriteString(fmt.Sprintf("%s%s>\n", ps.PrefixWhitespaces, ps.Name))
+ fmt.Fprintf(buf, "%s%s>\n", ps.PrefixWhitespaces, ps.Name)
}
// decide to return the head directive with our without a filter - or
diff --git a/apis/fluentd/v1alpha1/plugins/secret_types.go b/apis/fluentd/v1alpha1/plugins/secret_types.go
index d633158ce..6a2609031 100644
--- a/apis/fluentd/v1alpha1/plugins/secret_types.go
+++ b/apis/fluentd/v1alpha1/plugins/secret_types.go
@@ -48,6 +48,6 @@ func (sl SecretLoaderStruct) LoadSecret(s Secret) (string, error) {
if v, ok := secret.Data[s.ValueFrom.SecretKeyRef.Key]; !ok {
return "", errors.NotFound(fmt.Sprintf("The key %s is not found.", s.ValueFrom.SecretKeyRef.Key))
} else {
- return strings.TrimSuffix(fmt.Sprintf("%s", v), "\n"), nil
+ return strings.TrimSuffix(string(v), "\n"), nil
}
}
diff --git a/apis/fluentd/v1alpha1/tests/helper_test.go b/apis/fluentd/v1alpha1/tests/helper_test.go
index 148680f2f..c113c0d9e 100644
--- a/apis/fluentd/v1alpha1/tests/helper_test.go
+++ b/apis/fluentd/v1alpha1/tests/helper_test.go
@@ -164,10 +164,11 @@ func Test_ClusterCfgOutput2CopyESDataStream(t *testing.T) {
clusterOutputs := []fluentdv1alpha1.ClusterOutput{FluentdclusterOutput2CopyESDataStream}
clustercfgResources, _ := psr.PatchAndFilterClusterLevelResources(sl, FluentdClusterFluentdConfig1.GetCfgId(), []fluentdv1alpha1.ClusterInput{}, clusterFilters, clusterOutputs)
err = psr.IdentifyCopyAndPatchOutput(clustercfgResources)
+ g.Expect(err).NotTo(HaveOccurred())
err = psr.WithCfgResources(*clustercfgRouter.Label, clustercfgResources)
g.Expect(err).NotTo(HaveOccurred())
- for i := 0; i < maxRuntimes; i++ {
+ for range maxRuntimes {
config, errs := psr.RenderMainConfig(false)
g.Expect(errs).NotTo(HaveOccurred())
g.Expect(string(getExpectedCfg("./expected/fluentd-cluster-cfg-output-copy-es-data-stream.cfg"))).To(Equal(config))
@@ -210,9 +211,9 @@ func Test_ClusterCfgOutput2OpenSearch(t *testing.T) {
err = psr.WithCfgResources(*clustercfgRouter.Label, clustercfgResources)
g.Expect(err).NotTo(HaveOccurred())
- for i := 0; i < maxRuntimes; i++ {
+ for range maxRuntimes {
config, errs := psr.RenderMainConfig(false)
- //fmt.Println(config)
+ // fmt.Println(config)
g.Expect(errs).NotTo(HaveOccurred())
g.Expect(string(getExpectedCfg("./expected/fluentd-cluster-cfg-output-opensearch.cfg"))).To(Equal(config))
}
@@ -700,7 +701,7 @@ func Test_DuplicateRemovalCRSpecs(t *testing.T) {
Name: "filter1",
Namespace: "testnamespace",
},
- Spec: fluentdv1alpha1.FilterSpec(filterspec1),
+ Spec: filterspec1,
},
{
TypeMeta: metav1.TypeMeta{
@@ -711,7 +712,7 @@ func Test_DuplicateRemovalCRSpecs(t *testing.T) {
Name: "filter2",
Namespace: "testnamespace",
},
- Spec: fluentdv1alpha1.FilterSpec(filterspec2),
+ Spec: filterspec2,
},
{
TypeMeta: metav1.TypeMeta{
@@ -722,7 +723,7 @@ func Test_DuplicateRemovalCRSpecs(t *testing.T) {
Name: "filter3",
Namespace: "testnamespace",
},
- Spec: fluentdv1alpha1.FilterSpec(filterspec3),
+ Spec: filterspec3,
},
}
@@ -736,7 +737,7 @@ func Test_DuplicateRemovalCRSpecs(t *testing.T) {
Name: "output1",
Namespace: "testnamespace",
},
- Spec: fluentdv1alpha1.OutputSpec(outputspec1),
+ Spec: outputspec1,
},
{
TypeMeta: metav1.TypeMeta{
@@ -747,7 +748,7 @@ func Test_DuplicateRemovalCRSpecs(t *testing.T) {
Name: "output2",
Namespace: "testnamespace",
},
- Spec: fluentdv1alpha1.OutputSpec(outputspec2),
+ Spec: outputspec2,
},
{
TypeMeta: metav1.TypeMeta{
@@ -758,7 +759,7 @@ func Test_DuplicateRemovalCRSpecs(t *testing.T) {
Name: "output3",
Namespace: "testnamespace",
},
- Spec: fluentdv1alpha1.OutputSpec(outputspec3),
+ Spec: outputspec3,
},
}
@@ -860,6 +861,6 @@ func (sl SecretLoaderStruct) LoadSecret(s plugins.Secret) (string, error) {
if v, ok := secret.StringData[s.ValueFrom.SecretKeyRef.Key]; !ok {
return "", errors.NotFound(fmt.Sprintf("The key %s is not found.", s.ValueFrom.SecretKeyRef.Key))
} else {
- return strings.TrimSuffix(fmt.Sprintf("%s", v), "\n"), nil
+ return strings.TrimSuffix(v, "\n"), nil
}
}
diff --git a/apis/fluentd/v1alpha1/tests/tools.go b/apis/fluentd/v1alpha1/tests/tools.go
index 3dec6e13c..0c2840559 100644
--- a/apis/fluentd/v1alpha1/tests/tools.go
+++ b/apis/fluentd/v1alpha1/tests/tools.go
@@ -27,12 +27,12 @@ metadata:
app.kubernetes.io/name: fluentd
spec:
globalInputs:
- - forward:
- bind: 0.0.0.0
+ - forward:
+ bind: 0.0.0.0
port: 24224
replicas: 1
image: ghcr.io/fluent/fluent-operator/fluentd:v1.17.1
- fluentdCfgSelector:
+ fluentdCfgSelector:
matchLabels:
config.fluentd.fluent.io/enabled: "true"
`
@@ -97,7 +97,7 @@ metadata:
app.kubernetes.io/name: fluentd
spec:
globalInputs:
- - tail:
+ - tail:
tag: "foo.bar"
path: /var/log/test.log
emitUnmatchedLines: true
@@ -133,7 +133,7 @@ spec:
- /var/log/bar
replicas: 1
image: ghcr.io/fluent/fluent-operator/fluentd:v1.17.1
- fluentdCfgSelector:
+ fluentdCfgSelector:
matchLabels:
config.fluentd.fluent.io/enabled: "true"
`
@@ -147,7 +147,7 @@ metadata:
labels:
config.fluentd.fluent.io/enabled: "true"
spec:
- watchedNamespaces:
+ watchedNamespaces:
- kube-system
- default
clusterFilterSelector:
@@ -167,7 +167,7 @@ metadata:
labels:
config.fluentd.fluent.io/enabled: "true"
spec:
- watchedNamespaces:
+ watchedNamespaces:
- kube-system
- default
clusterOutputSelector:
@@ -240,8 +240,8 @@ metadata:
name: fluentd-filter
labels:
filter.fluentd.fluent.io/enabled: "true"
-spec:
- filters:
+spec:
+ filters:
- recordTransformer:
enableRuby: true
records:
@@ -258,8 +258,8 @@ metadata:
namespace: fluent
labels:
filter.fluentd.fluent.io/enabled: "true"
-spec:
- filters:
+spec:
+ filters:
- recordTransformer:
records:
- key: loki-tenant
@@ -297,8 +297,8 @@ metadata:
name: fluentd-output
labels:
output.fluentd.fluent.io/enabled: "true"
-spec:
- outputs:
+spec:
+ outputs:
- stdout: {}
buffer:
type: file
@@ -321,8 +321,8 @@ metadata:
name: fluentd-output
labels:
output.fluentd.fluent.io/enabled: "true"
-spec:
- outputs:
+spec:
+ outputs:
- stdout: {}
buffer:
type: memory
@@ -344,8 +344,8 @@ metadata:
name: fluentd-output-stdout
labels:
output.fluentd.fluent.io/enabled: "true"
-spec:
- outputs:
+spec:
+ outputs:
- stdout: {}
tag: foo.*
`
@@ -358,8 +358,8 @@ metadata:
name: fluentd-output-es
labels:
output.fluentd.fluent.io/enabled: "true"
-spec:
- outputs:
+spec:
+ outputs:
- elasticsearch:
host: elasticsearch-logging-data.kubesphere-logging-system.svc
port: 9200
@@ -375,8 +375,8 @@ metadata:
name: fluentd-output-es
labels:
output.fluentd.fluent.io/enabled: "true"
-spec:
- outputs:
+spec:
+ outputs:
- elasticsearchDataStream:
host: elasticsearch-logging-data.kubesphere-logging-system.svc
port: 9200
@@ -443,7 +443,7 @@ metadata:
namespace: fluent
labels:
output.fluentd.fluent.io/enabled: "es"
-spec:
+spec:
outputs:
- copy:
copyMode: no_copy
@@ -479,7 +479,7 @@ metadata:
namespace: fluent
labels:
output.fluentd.fluent.io/enabled: "es"
-spec:
+spec:
outputs:
- copy:
copyMode: no_copy
@@ -508,7 +508,7 @@ metadata:
namespace: fluent
labels:
output.fluentd.fluent.io/enabled: "es"
-spec:
+spec:
outputs:
- elasticsearch:
host: elasticsearch-logging-data.kubesphere-logging-system.svc
@@ -534,7 +534,7 @@ metadata:
namespace: fluent
labels:
output.fluentd.fluent.io/enabled: "es"
-spec:
+spec:
outputs:
- elasticsearch:
host: elasticsearch-logging-data.kubesphere-logging-system.svc
@@ -552,8 +552,8 @@ metadata:
name: fluentd-output-opensearch
labels:
output.fluentd.fluent.io/enabled: "true"
-spec:
- outputs:
+spec:
+ outputs:
- opensearch:
host: opensearch-logging-data.kubesphere-logging-system.svc
port: 9200
@@ -569,8 +569,8 @@ metadata:
name: fluentd-output-kafka
labels:
output.fluentd.fluent.io/enabled: "true"
-spec:
- outputs:
+spec:
+ outputs:
- kafka:
brokers: my-cluster-kafka-bootstrap.default.svc:9091,my-cluster-kafka-bootstrap.default.svc:9092,my-cluster-kafka-bootstrap.default.svc:9093
useEventTime: true
@@ -584,8 +584,8 @@ metadata:
name: fluentd-output-loki
labels:
output.fluentd.fluent.io/enabled: "true"
-spec:
- outputs:
+spec:
+ outputs:
- loki:
url: http://loki-logging-data.kubesphere-logging-system.svc:3100
extractKubernetesLabels: true
@@ -655,8 +655,8 @@ metadata:
name: fluentd-output-loki
labels:
output.fluentd.fluent.io/enabled: "loki"
-spec:
- outputs:
+spec:
+ outputs:
- loki:
url: http://loki-logging-data.kubesphere-logging-system.svc:3100
extractKubernetesLabels: true
@@ -684,8 +684,8 @@ metadata:
labels:
output.fluentd.fluent.io/enabled: "true"
output.fluentd.fluent.io/role: "log-operator"
-spec:
- outputs:
+spec:
+ outputs:
- elasticsearch:
host: elasticsearch-logging-data.kubesphere-logging-system.svc
port: 9200
@@ -702,8 +702,8 @@ metadata:
labels:
output.fluentd.fluent.io/enabled: "true"
output.fluentd.fluent.io/scope: "cluster"
-spec:
- outputs:
+spec:
+ outputs:
- elasticsearch:
host: elasticsearch-logging-data.kubesphere-logging-system.svc
port: 9200
@@ -719,8 +719,8 @@ metadata:
labels:
output.fluentd.fluent.io/scope: "cluster"
output.fluentd.fluent.io/enabled: "true"
-spec:
- outputs:
+spec:
+ outputs:
- customPlugin:
config: |
@@ -759,7 +759,7 @@ metadata:
namespace: fluent
labels:
output.fluentd.fluent.io/enabled: "es"
-spec:
+spec:
outputs:
- copy:
copyMode: no_copy
@@ -784,7 +784,7 @@ metadata:
namespace: fluent
labels:
output.fluentd.fluent.io/enabled: "es"
-spec:
+spec:
outputs:
- copy:
copyMode: no_copy
@@ -853,8 +853,8 @@ metadata:
name: fluentd-output-datadog
labels:
output.fluentd.fluent.io/enabled: "true"
-spec:
- outputs:
+spec:
+ outputs:
- datadog:
host: http-intake.logs.datadoghq.com
port: 443
@@ -870,8 +870,8 @@ metadata:
namespace: fluent
labels:
output.fluentd.fluent.io/enabled: "true"
-spec:
- outputs:
+spec:
+ outputs:
- nullPlugin:
neverFlush: false
`
@@ -884,7 +884,7 @@ metadata:
labels:
output.fluentd.fluent.io/enabled: "true"
spec:
- outputs:
+ outputs:
- copy:
copyMode: no_copy
- stdout: {}
@@ -1034,50 +1034,57 @@ var (
func init() {
once.Do(
func() {
- ParseIntoObject(FluentdRaw, &Fluentd)
- ParseIntoObject(FluentdInputTailRaw, &FluentdInputTail)
- ParseIntoObject(FluentdInputSampleRaw, &FluentdInputSample)
- ParseIntoObject(FluentdInputMonitorAgentRaw, &FluentdInputMonitorAgent)
- ParseIntoObject(FluentdClusterOutputTagRaw, &FluentdClusterOutputTag)
- ParseIntoObject(FluentdClusterFluentdConfig1Raw, &FluentdClusterFluentdConfig1)
- ParseIntoObject(FluentdClusterFluentdConfig2Raw, &FluentdClusterFluentdConfig2)
- ParseIntoObject(FluentdConfigUser1Raw, &FluentdConfigUser1)
- ParseIntoObject(FluentdConfig1Raw, &FluentdConfig1)
- ParseIntoObject(FluentdConfig2Raw, &FluentdConfig2)
- ParseIntoObject(FluentdClusterFilter1Raw, &FluentdClusterFilter1)
- ParseIntoObject(FluentdFilterRaw, &FluentdFilter)
- ParseIntoObject(FluentdClusterRecordTransformerRaw, &FluentdClusterRecordTransformerFilter)
- ParseIntoObject(FluentdClusterOutputClusterRaw, &FluentdClusterOutputCluster)
- ParseIntoObject(FluentdClusterOutputLogOperatorRaw, &FluentdClusterOutputLogOperator)
- ParseIntoObject(FluentdClusterOutputBufferRaw, &FluentdClusterOutputBuffer)
- ParseIntoObject(FluentdClusterOutputMemoryBufferRaw, &FluentdClusterOutputMemoryBuffer)
- ParseIntoObject(FluentdclusterOutput2ESRaw, &FluentdclusterOutput2ES)
- ParseIntoObject(FluentdclusterOutput2ESDataStreamRaw, &FluentdclusterOutput2ESDataStream)
- ParseIntoObject(FluentdclusterOutput2CopyESDataStreamRaw, &FluentdclusterOutput2CopyESDataStream)
- ParseIntoObject(FluentdOutput2ES1Raw, &FluentdOutput2ES1)
- ParseIntoObject(FluentdOutput2ES2Raw, &FluentdOutput2ES2)
- ParseIntoObject(FluentdOutput2ES3Raw, &FluentdOutput2ES3)
- ParseIntoObject(FluentdOutput2ES4Raw, &FluentdOutput2ES4)
- ParseIntoObject(FluentdclusterOutput2OpenSearchRaw, &FluentdclusterOutput2OpenSearch)
- ParseIntoObject(FluentdClusterOutput2kafkaRaw, &FluentdClusterOutput2kafka)
- ParseIntoObject(FluentdClusterOutput2LokiRaw, &FluentdClusterOutput2Loki)
- ParseIntoObject(FluentdClusterOutput2Loki1Raw, &FluentdClusterOutput2Loki1)
- ParseIntoObject(FluentdOutputUser1Raw, &FluentdOutputUser1)
- ParseIntoObject(FluentdClusterOutputCustomRaw, &FluentdClusterOutputCustom)
- ParseIntoObject(FluentdClusterOutput2CloudWatchRaw, &FluentdClusterOutput2CloudWatch)
- ParseIntoObject(FluentdClusterOutput2DatadogRaw, &FluentdClusterOutput2Datadog)
- ParseIntoObject(FluentdClusterOutput2NullRaw, &FluentdClusterOutput2Null)
- ParseIntoObject(FluentdClusterOutputCopy2StdoutAndLokiRaw, &FluentdClusterOutputCopy2StdoutAndLoki)
- ParseIntoObject(FluentdOutputMixedCopy1Raw, &FluentdOutputMixedCopy1)
- ParseIntoObject(FluentdOutputMixedCopy2Raw, &FluentdOutputMixedCopy2)
- ParseIntoObject(FluentdOutputMixedCopy3Raw, &FluentdOutputMixedCopy3)
- ParseIntoObject(esCredentialsRaw, &esCredentials)
- ParseIntoObject(lokiHttpCredentialsRaw, &lokiHttpCredentials)
- ParseIntoObject(lokiTenantNameRaw, &lokiTenantName)
+ MustParseIntoObject(FluentdRaw, &Fluentd)
+ MustParseIntoObject(FluentdInputTailRaw, &FluentdInputTail)
+ MustParseIntoObject(FluentdInputSampleRaw, &FluentdInputSample)
+ MustParseIntoObject(FluentdInputMonitorAgentRaw, &FluentdInputMonitorAgent)
+ MustParseIntoObject(FluentdClusterOutputTagRaw, &FluentdClusterOutputTag)
+ MustParseIntoObject(FluentdClusterFluentdConfig1Raw, &FluentdClusterFluentdConfig1)
+ MustParseIntoObject(FluentdClusterFluentdConfig2Raw, &FluentdClusterFluentdConfig2)
+ MustParseIntoObject(FluentdConfigUser1Raw, &FluentdConfigUser1)
+ MustParseIntoObject(FluentdConfig1Raw, &FluentdConfig1)
+ MustParseIntoObject(FluentdConfig2Raw, &FluentdConfig2)
+ MustParseIntoObject(FluentdClusterFilter1Raw, &FluentdClusterFilter1)
+ MustParseIntoObject(FluentdFilterRaw, &FluentdFilter)
+ MustParseIntoObject(FluentdClusterRecordTransformerRaw, &FluentdClusterRecordTransformerFilter)
+ MustParseIntoObject(FluentdClusterOutputClusterRaw, &FluentdClusterOutputCluster)
+ MustParseIntoObject(FluentdClusterOutputLogOperatorRaw, &FluentdClusterOutputLogOperator)
+ MustParseIntoObject(FluentdClusterOutputBufferRaw, &FluentdClusterOutputBuffer)
+ MustParseIntoObject(FluentdClusterOutputMemoryBufferRaw, &FluentdClusterOutputMemoryBuffer)
+ MustParseIntoObject(FluentdclusterOutput2ESRaw, &FluentdclusterOutput2ES)
+ MustParseIntoObject(FluentdclusterOutput2ESDataStreamRaw, &FluentdclusterOutput2ESDataStream)
+ MustParseIntoObject(FluentdclusterOutput2CopyESDataStreamRaw, &FluentdclusterOutput2CopyESDataStream)
+ MustParseIntoObject(FluentdOutput2ES1Raw, &FluentdOutput2ES1)
+ MustParseIntoObject(FluentdOutput2ES2Raw, &FluentdOutput2ES2)
+ MustParseIntoObject(FluentdOutput2ES3Raw, &FluentdOutput2ES3)
+ MustParseIntoObject(FluentdOutput2ES4Raw, &FluentdOutput2ES4)
+ MustParseIntoObject(FluentdclusterOutput2OpenSearchRaw, &FluentdclusterOutput2OpenSearch)
+ MustParseIntoObject(FluentdClusterOutput2kafkaRaw, &FluentdClusterOutput2kafka)
+ MustParseIntoObject(FluentdClusterOutput2LokiRaw, &FluentdClusterOutput2Loki)
+ MustParseIntoObject(FluentdClusterOutput2Loki1Raw, &FluentdClusterOutput2Loki1)
+ MustParseIntoObject(FluentdOutputUser1Raw, &FluentdOutputUser1)
+ MustParseIntoObject(FluentdClusterOutputCustomRaw, &FluentdClusterOutputCustom)
+ MustParseIntoObject(FluentdClusterOutput2CloudWatchRaw, &FluentdClusterOutput2CloudWatch)
+ MustParseIntoObject(FluentdClusterOutput2DatadogRaw, &FluentdClusterOutput2Datadog)
+ MustParseIntoObject(FluentdClusterOutput2NullRaw, &FluentdClusterOutput2Null)
+ MustParseIntoObject(FluentdClusterOutputCopy2StdoutAndLokiRaw, &FluentdClusterOutputCopy2StdoutAndLoki)
+ MustParseIntoObject(FluentdOutputMixedCopy1Raw, &FluentdOutputMixedCopy1)
+ MustParseIntoObject(FluentdOutputMixedCopy2Raw, &FluentdOutputMixedCopy2)
+ MustParseIntoObject(FluentdOutputMixedCopy3Raw, &FluentdOutputMixedCopy3)
+ MustParseIntoObject(esCredentialsRaw, &esCredentials)
+ MustParseIntoObject(lokiHttpCredentialsRaw, &lokiHttpCredentials)
+ MustParseIntoObject(lokiTenantNameRaw, &lokiTenantName)
},
)
}
+func MustParseIntoObject(data string, obj interface{}) {
+ err := ParseIntoObject(data, obj)
+ if err != nil {
+ panic(err)
+ }
+}
+
func ParseIntoObject(data string, obj interface{}) error {
body, err := yaml.YAMLToJSON([]byte(data))
if err != nil {
diff --git a/cmd/doc-gen/main.go b/cmd/doc-gen/main.go
index 7a63e73dc..0f0462116 100644
--- a/cmd/doc-gen/main.go
+++ b/cmd/doc-gen/main.go
@@ -88,7 +88,7 @@ func plugins(docsLocations []DocumentsLocation) {
return err
}
if strings.HasSuffix(path, ".go") {
- var flag bool = true
+ var flag = true
for _, keyword := range unincludedKeyWords {
flag = flag && !strings.Contains(path, keyword)
}
@@ -114,7 +114,7 @@ func plugins(docsLocations []DocumentsLocation) {
buffer.WriteString("| Field | Description | Scheme |\n")
buffer.WriteString("| ----- | ----------- | ------ |\n")
- fields := t[1:(len(t))]
+ fields := t[1:]
for _, f := range fields {
buffer.WriteString(fmt.Sprintf("| %s | %s | %s |\n", f.Name, f.Doc, f.Type))
}
@@ -140,7 +140,7 @@ func plugins(docsLocations []DocumentsLocation) {
fmt.Printf("Error while generating documentation: %s\n", err.Error())
}
- f.WriteString(buffer.String())
+ _, _ = f.WriteString(buffer.String())
}
}
}
@@ -180,7 +180,7 @@ func crds(docsLocations []DocumentsLocation) {
buffer.WriteString("| Field | Description | Scheme |\n")
buffer.WriteString("| ----- | ----------- | ------ |\n")
- fields := t[1:(len(t))]
+ fields := t[1:]
for _, f := range fields {
buffer.WriteString(fmt.Sprintf("| %s | %s | %s |\n", f.Name, f.Doc, f.Type))
}
@@ -190,7 +190,7 @@ func crds(docsLocations []DocumentsLocation) {
}
f, _ := os.Create(fmt.Sprintf("./docs/%s.md", dl.name))
- f.WriteString(fmt.Sprintf(firstParagraph, dl.name) + buffer.String())
+ _, _ = f.WriteString(fmt.Sprintf(firstParagraph, dl.name) + buffer.String())
}
}
@@ -204,7 +204,7 @@ func genDocDirs(docPath string) error {
func toSectionLink(name string) string {
name = strings.ToLower(name)
- name = strings.Replace(name, " ", "-", -1)
+ name = strings.ReplaceAll(name, " ", "-")
return name
}
@@ -231,7 +231,18 @@ type KubeTypes []Pair
func ParseDocumentationFrom(src string, dl_name string, shouldSort bool) []KubeTypes {
var docForTypes []KubeTypes
- pkg := astFrom(src)
+ fset := token.NewFileSet()
+ f, err := parser.ParseFile(fset, src, nil, parser.ParseComments)
+ if err != nil {
+ fmt.Println(err)
+ return nil
+ }
+
+ pkg, err := doc.NewFromFiles(fset, []*ast.File{f}, "")
+ if err != nil {
+ fmt.Println(err)
+ return nil
+ }
var types []*doc.Type
for _, kubType := range pkg.Types {
@@ -266,22 +277,6 @@ func ParseDocumentationFrom(src string, dl_name string, shouldSort bool) []KubeT
return docForTypes
}
-func astFrom(filePath string) *doc.Package {
- fset := token.NewFileSet()
- m := make(map[string]*ast.File)
-
- f, err := parser.ParseFile(fset, filePath, nil, parser.ParseComments)
- if err != nil {
- fmt.Println(err)
- return nil
- }
-
- m[filePath] = f
- apkg, _ := ast.NewPackage(fset, m, nil, nil)
-
- return doc.New(apkg, "", 0)
-}
-
func fmtRawDoc(rawDoc string) string {
var buffer bytes.Buffer
delPrevChar := func() {
@@ -290,7 +285,7 @@ func fmtRawDoc(rawDoc string) string {
}
}
- for _, line := range strings.Split(rawDoc, "\n") {
+ for line := range strings.SplitSeq(rawDoc, "\n") {
line = strings.TrimRight(line, " ")
leading := strings.TrimLeft(line, " ")
switch {
@@ -305,11 +300,11 @@ func fmtRawDoc(rawDoc string) string {
}
postDoc := strings.TrimRight(buffer.String(), "\n")
- postDoc = strings.Replace(postDoc, "\\\"", "\"", -1) // replace user's \" to "
- postDoc = strings.Replace(postDoc, "\"", "\\\"", -1) // Escape "
- postDoc = strings.Replace(postDoc, "\n", "\\n", -1)
- postDoc = strings.Replace(postDoc, "\t", "\\t", -1)
- postDoc = strings.Replace(postDoc, "|", "\\|", -1)
+ postDoc = strings.ReplaceAll(postDoc, "\\\"", "\"") // replace user's \" to "
+ postDoc = strings.ReplaceAll(postDoc, "\"", "\\\"") // Escape "
+ postDoc = strings.ReplaceAll(postDoc, "\n", "\\n")
+ postDoc = strings.ReplaceAll(postDoc, "\t", "\\t")
+ postDoc = strings.ReplaceAll(postDoc, "|", "\\|")
return postDoc
}
@@ -403,21 +398,19 @@ func fieldName(field *ast.Field) string {
}
func fieldType(typ ast.Expr, dl_name string) string {
- switch typ.(type) {
+ switch typ := typ.(type) {
case *ast.Ident:
- return toLink(typ.(*ast.Ident).Name, dl_name)
+ return toLink(typ.Name, dl_name)
case *ast.StarExpr:
- return "*" + fieldType(typ.(*ast.StarExpr).X, dl_name)
+ return "*" + fieldType(typ.X, dl_name)
case *ast.SelectorExpr:
- e := typ.(*ast.SelectorExpr)
- pkg := e.X.(*ast.Ident)
- t := e.Sel
+ pkg := typ.X.(*ast.Ident)
+ t := typ.Sel
return toLink(pkg.Name+"."+t.Name, dl_name)
case *ast.ArrayType:
- return "[]" + fieldType(typ.(*ast.ArrayType).Elt, dl_name)
+ return "[]" + fieldType(typ.Elt, dl_name)
case *ast.MapType:
- mapType := typ.(*ast.MapType)
- return "map[" + toLink(fieldType(mapType.Key, dl_name), dl_name) + "]" + toLink(fieldType(mapType.Value, dl_name), dl_name)
+ return "map[" + toLink(fieldType(typ.Key, dl_name), dl_name) + "]" + toLink(fieldType(typ.Value, dl_name), dl_name)
default:
return ""
}
diff --git a/cmd/fluent-manager/main.go b/cmd/fluent-manager/main.go
index 7035fad7e..ea6e7e6ac 100644
--- a/cmd/fluent-manager/main.go
+++ b/cmd/fluent-manager/main.go
@@ -103,10 +103,9 @@ func main() {
if watchNamespaces != "" {
config := cache.Config{}
namespacedController = true
- namespaces := strings.Split(watchNamespaces, ",")
ctrlOpts.Cache.DefaultNamespaces = make(map[string]cache.Config)
- for _, namespace := range namespaces {
+ for namespace := range strings.SplitSeq(watchNamespaces, ",") {
ctrlOpts.Cache.DefaultNamespaces[namespace] = config
}
}
@@ -119,11 +118,12 @@ func main() {
fluentBitEnabled, fluentdEnabled := true, true
if disabledControllers != "" {
- if disabledControllers == fluentBitName {
+ switch disabledControllers {
+ case fluentBitName:
fluentBitEnabled = false
- } else if disabledControllers == fluentdName {
+ case fluentdName:
fluentdEnabled = false
- } else {
+ default:
setupLog.Error(errors.New("incorrect value for `-disable-component-controllers` and it will not be proceeded (possible values are: fluent-bit, fluentd)"), "")
}
}
diff --git a/cmd/fluent-watcher/fluentbit/main.go b/cmd/fluent-watcher/fluentbit/main.go
index bedb7728f..b585e4d6a 100644
--- a/cmd/fluent-watcher/fluentbit/main.go
+++ b/cmd/fluent-watcher/fluentbit/main.go
@@ -58,18 +58,18 @@ func main() {
// check the config file format
_, err := os.Stat(defaultSecretYamlPath)
if os.IsNotExist(err) {
- level.Info(logger).Log("msg", "No fluent-bit secret yaml found, using classic one.")
+ _ = level.Info(logger).Log("msg", "No fluent-bit secret yaml found, using classic one.")
flag.StringVar(&configPath, "c", defaultCfgPath, "The classic config file path.")
} else {
- level.Info(logger).Log("msg", "fluent-bit secret yaml found, using yaml one.")
+ _ = level.Info(logger).Log("msg", "fluent-bit secret yaml found, using yaml one.")
flag.StringVar(&configPath, "c", defaultYamlCfgPath, "The yaml config file path.")
}
if exitOnFailure {
- level.Warn(logger).Log("--exit-on-failure is deprecated. The process will exit no matter what if fluent-bit exits so this can safely be removed.")
+ _ = level.Warn(logger).Log("--exit-on-failure is deprecated. The process will exit no matter what if fluent-bit exits so this can safely be removed.")
}
if flbTerminationTimeout > 0 {
- level.Warn(logger).Log("--flb-timeout is deprecated. Consider setting the terminationGracePeriod field on the `(Cluster)FluentBit` instance.")
+ _ = level.Warn(logger).Log("--flb-timeout is deprecated. Consider setting the terminationGracePeriod field on the `(Cluster)FluentBit` instance.")
}
flag.Parse()
diff --git a/cmd/fluent-watcher/fluentd/main.go b/cmd/fluent-watcher/fluentd/main.go
index d4ab793f5..f919f7ee1 100644
--- a/cmd/fluent-watcher/fluentd/main.go
+++ b/cmd/fluent-watcher/fluentd/main.go
@@ -14,8 +14,8 @@ import (
"github.com/fluent/fluent-operator/v3/pkg/filenotify"
"github.com/fsnotify/fsnotify"
- "github.com/go-kit/kit/log"
- "github.com/go-kit/kit/log/level"
+ "github.com/go-kit/log"
+ "github.com/go-kit/log/level"
"github.com/oklog/run"
)
diff --git a/controllers/fluentd_controller.go b/controllers/fluentd_controller.go
index 40f2c6ef0..2b8db8b8f 100644
--- a/controllers/fluentd_controller.go
+++ b/controllers/fluentd_controller.go
@@ -35,6 +35,11 @@ import (
"github.com/fluent/fluent-operator/v3/pkg/operator"
)
+const (
+ fluentdLowercase = "fluentd"
+ fluentd = "Fluentd"
+)
+
// FluentdReconciler reconciles a Fluentd object
type FluentdReconciler struct {
client.Client
@@ -56,7 +61,7 @@ type FluentdReconciler struct {
// For more details, check Reconcile and its Result here:
// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.8.3/pkg/reconcile
func (r *FluentdReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
- _ = r.Log.WithValues("fluentd", req.NamespacedName)
+ _ = r.Log.WithValues(fluentdLowercase, req.NamespacedName)
var fd fluentdv1alpha1.Fluentd
if err := r.Get(ctx, req.NamespacedName, &fd); err != nil {
@@ -85,13 +90,13 @@ func (r *FluentdReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct
secName := fmt.Sprintf("%s-config", fd.Name)
if err := r.Get(ctx, client.ObjectKey{Namespace: fd.Namespace, Name: secName}, &sec); err != nil {
if errors.IsNotFound(err) {
- return ctrl.Result{Requeue: true, RequeueAfter: time.Duration(time.Second)}, nil
+ return ctrl.Result{Requeue: true, RequeueAfter: time.Second}, nil
}
return ctrl.Result{}, err
}
// Install RBAC resources for the filter plugin kubernetes
- cr, sa, crb := operator.MakeRBACObjects(fd.Name, fd.Namespace, "fluentd", fd.Spec.RBACRules, fd.Spec.ServiceAccountAnnotations)
+ cr, sa, crb := operator.MakeRBACObjects(fd.Name, fd.Namespace, fluentdLowercase, fd.Spec.RBACRules, fd.Spec.ServiceAccountAnnotations)
// Deploy Fluentd ClusterRole
if _, err := controllerutil.CreateOrPatch(ctx, r.Client, cr, r.mutate(cr, &fd)); err != nil {
return ctrl.Result{}, err
@@ -106,7 +111,7 @@ func (r *FluentdReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct
}
var err error
- if fd.Spec.Mode == "agent" {
+ if fd.Spec.Mode == fluentdAgentMode {
// Deploy Fluentd DaemonSet
ds := operator.MakeFluentdDaemonSet(fd)
_, err = controllerutil.CreateOrPatch(ctx, r.Client, ds, r.mutate(ds, &fd))
@@ -161,7 +166,7 @@ func (r *FluentdReconciler) SetupWithManager(mgr ctrl.Manager) error {
return nil
}
- if owner.APIVersion != fluentdApiGVStr || owner.Kind != "Fluentd" {
+ if owner.APIVersion != fluentdApiGVStr || owner.Kind != fluentd {
return nil
}
return []string{owner.Name}
@@ -177,7 +182,7 @@ func (r *FluentdReconciler) SetupWithManager(mgr ctrl.Manager) error {
return nil
}
- if owner.APIVersion != fluentdApiGVStr || owner.Kind != "Fluentd" {
+ if owner.APIVersion != fluentdApiGVStr || owner.Kind != fluentd {
return nil
}
return []string{owner.Name}
@@ -193,7 +198,7 @@ func (r *FluentdReconciler) SetupWithManager(mgr ctrl.Manager) error {
return nil
}
- if owner.APIVersion != fluentdApiGVStr || owner.Kind != "Fluentd" {
+ if owner.APIVersion != fluentdApiGVStr || owner.Kind != fluentd {
return nil
}
return []string{owner.Name}
@@ -209,7 +214,7 @@ func (r *FluentdReconciler) SetupWithManager(mgr ctrl.Manager) error {
return nil
}
- if owner.APIVersion != fluentdApiGVStr || owner.Kind != "Fluentd" {
+ if owner.APIVersion != fluentdApiGVStr || owner.Kind != fluentd {
return nil
}
return []string{owner.Name}
diff --git a/docs/best-practice/forwarding-logs-via-http/main.go b/docs/best-practice/forwarding-logs-via-http/main.go
index 2f1e893c8..728407f74 100644
--- a/docs/best-practice/forwarding-logs-via-http/main.go
+++ b/docs/best-practice/forwarding-logs-via-http/main.go
@@ -17,7 +17,7 @@ type Message struct {
func main() {
h := func(w http.ResponseWriter, req *http.Request) {
b, err := io.ReadAll(req.Body)
- defer req.Body.Close()
+ defer func() { _ = req.Body.Close() }()
if err != nil {
log.Print(err.Error())
return
diff --git a/docs/plugins/fluentbit/common.md b/docs/plugins/fluentbit/common.md
index 540e41c63..1d9d742a2 100644
--- a/docs/plugins/fluentbit/common.md
+++ b/docs/plugins/fluentbit/common.md
@@ -6,4 +6,4 @@
| Field | Description | Scheme |
| ----- | ----------- | ------ |
| alias | Alias for the plugin | string |
-| retryLimit | RetryLimit describes how many times fluent-bit should retry to send data to a specific output. If set to false fluent-bit will try indefinetly. If set to any integer N>0 it will try at most N+1 times. Leading zeros are not allowed (values such as 007, 0150, 01 do not work). If this property is not defined fluent-bit will use the default value: 1. | string |
+| retryLimit | RetryLimit describes how many times fluent-bit should retry to send data to a specific output. If set to false fluent-bit will try indefinitely. If set to any integer N>0 it will try at most N+1 times. Leading zeros are not allowed (values such as 007, 0150, 01 do not work). If this property is not defined fluent-bit will use the default value: 1. nolint:misspell | string |
diff --git a/docs/plugins/fluentbit/input/dummy.md b/docs/plugins/fluentbit/input/dummy.md
index 77b90e7a6..60c05b708 100644
--- a/docs/plugins/fluentbit/input/dummy.md
+++ b/docs/plugins/fluentbit/input/dummy.md
@@ -5,7 +5,7 @@ The dummy input plugin, generates dummy events.
It is useful for testing,
| Field | Description | Scheme |
| ----- | ----------- | ------ |
-| tag | Tag name associated to all records comming from this plugin. | string |
+| tag | Tag name associated to all records coming from this plugin. | string |
| dummy | Dummy JSON record. | string |
| rate | Events number generated per second. | *int32 |
| samples | Sample events to generate. | *int32 |
diff --git a/docs/plugins/fluentbit/input/forward.md b/docs/plugins/fluentbit/input/forward.md
index 03b70f5a3..069dd329a 100644
--- a/docs/plugins/fluentbit/input/forward.md
+++ b/docs/plugins/fluentbit/input/forward.md
@@ -1,6 +1,6 @@
# Forward
-Forward defines the in_forward Input plugin that listens to TCP socket to recieve the event stream. **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/forward**
+Forward defines the in_forward Input plugin that listens to TCP socket to receive the event stream. **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/forward**
| Field | Description | Scheme |
@@ -9,8 +9,8 @@ Forward defines the in_forward Input plugin that listens to TCP socket to reciev
| listen | Listener network interface. | string |
| tag | in_forward uses the tag value for incoming logs. If not set it uses tag from incoming log. | string |
| tagPrefix | Adds the prefix to incoming event's tag | string |
-| unixPath | Specify the path to unix socket to recieve a forward message. If set, Listen and port are ignnored. | string |
+| unixPath | Specify the path to unix socket to receive a forward message. If set, Listen and port are ignnored. | string |
| unixPerm | Set the permission of unix socket file. | string |
-| bufferMaxSize | Specify maximum buffer memory size used to recieve a forward message. The value must be according to the Unit Size specification. | string |
+| bufferMaxSize | Specify maximum buffer memory size used to receive a forward message. The value must be according to the Unit Size specification. | string |
| bufferchunkSize | Set the initial buffer size to store incoming data. This value is used too to increase buffer size as required. The value must be according to the Unit Size specification. | string |
| threaded | Threaded mechanism allows input plugin to run in a separate thread which helps to desaturate the main pipeline. | string |
diff --git a/docs/plugins/fluentbit/input/kubernetes_events.md b/docs/plugins/fluentbit/input/kubernetes_events.md
index 9ae2c9f14..f4ae39307 100644
--- a/docs/plugins/fluentbit/input/kubernetes_events.md
+++ b/docs/plugins/fluentbit/input/kubernetes_events.md
@@ -5,7 +5,7 @@ The KubernetesEvents input plugin allows you to collect kubernetes cluster event
| Field | Description | Scheme |
| ----- | ----------- | ------ |
-| tag | Tag name associated to all records comming from this plugin. | string |
+| tag | Tag name associated to all records coming from this plugin. | string |
| db | Set a database file to keep track of recorded Kubernetes events | string |
| dbSync | Set a database sync method. values: extra, full, normal and off | string |
| intervalSec | Set the polling interval for each channel. | *int32 |
diff --git a/docs/plugins/fluentbit/input/node_exporter_metrics.md b/docs/plugins/fluentbit/input/node_exporter_metrics.md
index d7bef10ee..560919132 100644
--- a/docs/plugins/fluentbit/input/node_exporter_metrics.md
+++ b/docs/plugins/fluentbit/input/node_exporter_metrics.md
@@ -5,7 +5,7 @@ A plugin based on Prometheus Node Exporter to collect system / host level metric
| Field | Description | Scheme |
| ----- | ----------- | ------ |
-| tag | Tag name associated to all records comming from this plugin. | string |
+| tag | Tag name associated to all records coming from this plugin. | string |
| scrapeInterval | The rate at which metrics are collected from the host operating system, default is 5 seconds. | string |
| path | | *[Path](#path) |
# Path
diff --git a/docs/plugins/fluentbit/input/prometheus_scrape_metrics.md b/docs/plugins/fluentbit/input/prometheus_scrape_metrics.md
index 619dd7957..3f73b1dcb 100644
--- a/docs/plugins/fluentbit/input/prometheus_scrape_metrics.md
+++ b/docs/plugins/fluentbit/input/prometheus_scrape_metrics.md
@@ -5,7 +5,7 @@ Fluent Bit 1.9 includes additional metrics features to allow you to collect both
| Field | Description | Scheme |
| ----- | ----------- | ------ |
-| tag | Tag name associated to all records comming from this plugin | string |
+| tag | Tag name associated to all records coming from this plugin | string |
| host | The host of the prometheus metric endpoint that you want to scrape | string |
| port | The port of the promethes metric endpoint that you want to scrape | *int32 |
| scrapeInterval | The interval to scrape metrics, default: 10s | string |
diff --git a/docs/plugins/fluentbit/output/stackdriver.md b/docs/plugins/fluentbit/output/stackdriver.md
index 3abb46d07..7a7d9091d 100644
--- a/docs/plugins/fluentbit/output/stackdriver.md
+++ b/docs/plugins/fluentbit/output/stackdriver.md
@@ -26,4 +26,4 @@ Stackdriver is the Stackdriver output plugin, allows you to ingest your records
| autoformatStackdriverTrace | Rewrite the trace field to be formatted for use with GCP Cloud Trace | *bool |
| workers | Number of dedicated threads for the Stackdriver Output Plugin | *int32 |
| customK8sRegex | A custom regex to extract fields from the local_resource_id of the logs | string |
-| resourceLabels | Optional list of comma seperated strings. Setting these fields overrides the Stackdriver monitored resource API values | []string |
+| resourceLabels | Optional list of comma separated strings. Setting these fields overrides the Stackdriver monitored resource API values | []string |
diff --git a/docs/plugins/fluentd/common/common.md b/docs/plugins/fluentd/common/common.md
index 970ef23f7..cb8084f63 100644
--- a/docs/plugins/fluentd/common/common.md
+++ b/docs/plugins/fluentd/common/common.md
@@ -61,7 +61,7 @@ Transport defines the commont parameters for the transport plugin
| Field | Description | Scheme |
| ----- | ----------- | ------ |
-| protocol | The protocal name of this plugin, i.e: tls | *string |
+| protocol | The protocol name of this plugin, i.e: tls | *string |
| version | | *string |
| ciphers | | *string |
| insecure | | *bool |
diff --git a/pkg/filenotify/poller.go b/pkg/filenotify/poller.go
index abc34799c..34805e120 100644
--- a/pkg/filenotify/poller.go
+++ b/pkg/filenotify/poller.go
@@ -118,7 +118,10 @@ func (w *filePoller) Close() error {
w.closed = true
close(w.done)
for name := range w.watches {
- w.remove(name)
+ err := w.remove(name)
+ if err != nil {
+ return err
+ }
}
return nil
@@ -215,7 +218,7 @@ func (r *recording) record(filename string) error {
}
return err
}
- defer f.Close()
+ defer func() { _ = f.Close() }()
fis, err := f.Readdir(-1)
if err != nil {
@@ -271,7 +274,7 @@ func (item *itemToWatch) checkForChanges() ([]fsnotify.Event, error) {
dirOp := checkChange(item.left.FileInfo, item.right.FileInfo)
if dirOp != 0 {
- evs := []fsnotify.Event{fsnotify.Event{Op: dirOp, Name: item.filename}}
+ evs := []fsnotify.Event{{Op: dirOp, Name: item.filename}}
return evs, nil
}
diff --git a/pkg/operator/collector-service.go b/pkg/operator/collector-service.go
index ffcddbd4a..5d824ed6d 100644
--- a/pkg/operator/collector-service.go
+++ b/pkg/operator/collector-service.go
@@ -62,7 +62,7 @@ func MakeCollectorService(co fluentbitv1alpha2.Collector) *corev1.Service {
}
if len(co.Spec.Service.Annotations) != 0 {
- svc.ObjectMeta.Annotations = co.Spec.Service.Annotations
+ svc.Annotations = co.Spec.Service.Annotations
}
return &svc
diff --git a/pkg/operator/fluent-bit-service.go b/pkg/operator/fluent-bit-service.go
index dc1b096a7..1be91807f 100644
--- a/pkg/operator/fluent-bit-service.go
+++ b/pkg/operator/fluent-bit-service.go
@@ -73,7 +73,7 @@ func MakeFluentbitService(fb fluentbitv1alpha2.FluentBit) *corev1.Service {
}
if len(fb.Spec.Service.Annotations) != 0 {
- svc.ObjectMeta.Annotations = fb.Spec.Service.Annotations
+ svc.Annotations = fb.Spec.Service.Annotations
}
return &svc
diff --git a/pkg/operator/fluentd-service.go b/pkg/operator/fluentd-service.go
index 3e907958c..75aff2a8e 100644
--- a/pkg/operator/fluentd-service.go
+++ b/pkg/operator/fluentd-service.go
@@ -86,7 +86,7 @@ func MakeFluentdService(fd fluentdv1alpha1.Fluentd) *corev1.Service {
}
if len(fd.Spec.Service.Annotations) != 0 {
- svc.ObjectMeta.Annotations = fd.Spec.Service.Annotations
+ svc.Annotations = fd.Spec.Service.Annotations
}
return &svc
diff --git a/tests/e2e/fluentd/cfgrender_suite_test.go b/tests/e2e/fluentd/cfgrender_suite_test.go
index f39e1d980..6f7619172 100644
--- a/tests/e2e/fluentd/cfgrender_suite_test.go
+++ b/tests/e2e/fluentd/cfgrender_suite_test.go
@@ -45,7 +45,7 @@ func TestCompareFluentdMainAppConfig(t *testing.T) {
k8sClient = kc
Expect(k8sClient).NotTo(BeNil())
- fmt.Fprintf(GinkgoWriter, "%s: Info: Setup Suite Execution\n", time.Now().Format(time.StampMilli))
+ _, _ = fmt.Fprintf(GinkgoWriter, "%s: Info: Setup Suite Execution\n", time.Now().Format(time.StampMilli))
}, 60)
AfterSuite(func() {
diff --git a/tests/utils/utils.go b/tests/utils/utils.go
index 693a76893..451231705 100644
--- a/tests/utils/utils.go
+++ b/tests/utils/utils.go
@@ -21,14 +21,22 @@ var (
func init() {
once.Do(func() {
- ExpectedFluentdClusterCfgOutputES = getExpectedCfg("./apis/fluentd/v1alpha1/tests/expected/fluentd-cluster-cfg-output-es.cfg")
- ExpectedFluentdClusterCfgOutputKafka = getExpectedCfg("./apis/fluentd/v1alpha1/tests/expected/fluentd-cluster-cfg-output-kafka.cfg")
- ExpectedFluentdClusterCfgOutputWithBuffer = getExpectedCfg("./apis/fluentd/v1alpha1/tests/expected/fluentd-cluster-cfg-output-buffer-example.cfg")
- ExpectedFluentdMixedCfgsMultiTenant = getExpectedCfg("./apis/fluentd/v1alpha1/tests/expected/fluentd-mixed-cfgs-multi-tenant-output.cfg")
- ExpectedFluentdMixedCfgsOutputES = getExpectedCfg("./apis/fluentd/v1alpha1/tests/expected/fluentd-mixed-cfgs-output-es.cfg")
- ExpectedFluentdNamespacedCfgOutputES = getExpectedCfg("./apis/fluentd/v1alpha1/tests/expected/fluentd-namespaced-cfg-output-es.cfg")
- ExpectedDuplicateRemovalCRSPECS = getExpectedCfg("./apis/fluentd/v1alpha1/tests/expected/duplicate-removal-cr-specs.cfg")
- ExpectedFluentdClusterCfgOutputCustom = getExpectedCfg("./apis/fluentd/v1alpha1/tests/expected/fluentd-cluster-cfg-output-custom.cfg")
+ ExpectedFluentdClusterCfgOutputES =
+ getExpectedCfg("./apis/fluentd/v1alpha1/tests/expected/fluentd-cluster-cfg-output-es.cfg")
+ ExpectedFluentdClusterCfgOutputKafka =
+ getExpectedCfg("./apis/fluentd/v1alpha1/tests/expected/fluentd-cluster-cfg-output-kafka.cfg")
+ ExpectedFluentdClusterCfgOutputWithBuffer =
+ getExpectedCfg("./apis/fluentd/v1alpha1/tests/expected/fluentd-cluster-cfg-output-buffer-example.cfg")
+ ExpectedFluentdMixedCfgsMultiTenant =
+ getExpectedCfg("./apis/fluentd/v1alpha1/tests/expected/fluentd-mixed-cfgs-multi-tenant-output.cfg")
+ ExpectedFluentdMixedCfgsOutputES =
+ getExpectedCfg("./apis/fluentd/v1alpha1/tests/expected/fluentd-mixed-cfgs-output-es.cfg")
+ ExpectedFluentdNamespacedCfgOutputES =
+ getExpectedCfg("./apis/fluentd/v1alpha1/tests/expected/fluentd-namespaced-cfg-output-es.cfg")
+ ExpectedDuplicateRemovalCRSPECS =
+ getExpectedCfg("./apis/fluentd/v1alpha1/tests/expected/duplicate-removal-cr-specs.cfg")
+ ExpectedFluentdClusterCfgOutputCustom =
+ getExpectedCfg("./apis/fluentd/v1alpha1/tests/expected/fluentd-cluster-cfg-output-custom.cfg")
})
}