diff --git a/docs/configuration/crds/v1beta1/output_types.md b/docs/configuration/crds/v1beta1/output_types.md
index 73efd97bb..8f3bad24c 100644
--- a/docs/configuration/crds/v1beta1/output_types.md
+++ b/docs/configuration/crds/v1beta1/output_types.md
@@ -95,10 +95,10 @@ OutputSpec defines the desired state of Output
### syslog (*output.SyslogOutputConfig, optional) {#outputspec-syslog}
-### vmwareLogIntelligence (*output.VMWareLogIntelligenceOutput, optional) {#outputspec-vmwarelogintelligence}
+### vmwareLogInsight (*output.VMwareLogInsightOutput, optional) {#outputspec-vmwareloginsight}
-### vmwareLogInsight (*output.VMwareLogInsightOutput, optional) {#outputspec-vmwareloginsight}
+### vmwareLogIntelligence (*output.VMwareLogIntelligenceOutputConfig, optional) {#outputspec-vmwarelogintelligence}
diff --git a/docs/configuration/plugins/outputs/vmware_log_intelligence.md b/docs/configuration/plugins/outputs/vmware_log_intelligence.md
index 1d443e9f0..d87ba1fb0 100644
--- a/docs/configuration/plugins/outputs/vmware_log_intelligence.md
+++ b/docs/configuration/plugins/outputs/vmware_log_intelligence.md
@@ -13,16 +13,20 @@ For details, see [https://github.com/vmware/fluent-plugin-vmware-log-intelligenc
spec:
vmwarelogintelligence:
endpoint_url: https://data.upgrade.symphony-dev.com/le-mans/v1/streams/ingestion-pipeline-stream
- verify_ssl: true
- http_compress: false
- headers:
- Content-Type: "application/json"
- Authorization: "Bearer 12345"
- structure: simple
- buffer:
- chunk_limit_records: 300
- flush_interval: 3s
- retry_max_times: 3
+ verify_ssl: true
+ http_compress: false
+ headers:
+ content_type: "application/json"
+ authorization:
+ valueFrom:
+ secretKeyRef:
+ name: vmware-log-intelligence-token
+ key: authorization
+ structure: simple
+ buffer:
+ chunk_limit_records: 300
+ flush_interval: 3s
+ retry_max_times: 3
```
@@ -54,7 +58,7 @@ Compress http request https://github.com/vmware/fluent-plugin-vmware-log-intelli
Required headers for sending logs to VMware Log Intelligence https://github.com/vmware/fluent-plugin-vmware-log-intelligence?tab=readme-ov-file#label-3Cheaders-3E
-### verify_ssl (bool, required) {#vmwarelogintelligence-verify_ssl}
+### verify_ssl (*bool, required) {#vmwarelogintelligence-verify_ssl}
Verify SSL (default: true) https://github.com/vmware/fluent-plugin-vmware-log-intelligence?tab=readme-ov-file#label-verify_ssl
diff --git a/pkg/sdk/logging/api/v1beta1/output_types.go b/pkg/sdk/logging/api/v1beta1/output_types.go
index 5f3fab463..f18218b7b 100644
--- a/pkg/sdk/logging/api/v1beta1/output_types.go
+++ b/pkg/sdk/logging/api/v1beta1/output_types.go
@@ -31,37 +31,37 @@ type _metaOutputSpec interface{} //nolint:deadcode,unused
// OutputSpec defines the desired state of Output
type OutputSpec struct {
- LoggingRef string `json:"loggingRef,omitempty"`
- S3OutputConfig *output.S3OutputConfig `json:"s3,omitempty"`
- AzureStorage *output.AzureStorage `json:"azurestorage,omitempty"`
- GCSOutput *output.GCSOutput `json:"gcs,omitempty"`
- OSSOutput *output.OSSOutput `json:"oss,omitempty"`
- ElasticsearchOutput *output.ElasticsearchOutput `json:"elasticsearch,omitempty"`
- OpenSearchOutput *output.OpenSearchOutput `json:"opensearch,omitempty"`
- LogZOutput *output.LogZOutput `json:"logz,omitempty"`
- LokiOutput *output.LokiOutput `json:"loki,omitempty"`
- SumologicOutput *output.SumologicOutput `json:"sumologic,omitempty"`
- DatadogOutput *output.DatadogOutput `json:"datadog,omitempty"`
- ForwardOutput *output.ForwardOutput `json:"forward,omitempty"`
- FileOutput *output.FileOutputConfig `json:"file,omitempty"`
- NullOutputConfig *output.NullOutputConfig `json:"nullout,omitempty"`
- KafkaOutputConfig *output.KafkaOutputConfig `json:"kafka,omitempty"`
- CloudWatchOutput *output.CloudWatchOutput `json:"cloudwatch,omitempty"`
- KinesisFirehoseOutputConfig *output.KinesisFirehoseOutputConfig `json:"kinesisFirehose,omitempty"`
- KinesisStreamOutputConfig *output.KinesisStreamOutputConfig `json:"kinesisStream,omitempty"`
- LogDNAOutput *output.LogDNAOutput `json:"logdna,omitempty"`
- NewRelicOutputConfig *output.NewRelicOutputConfig `json:"newrelic,omitempty"`
- SplunkHecOutput *output.SplunkHecOutput `json:"splunkHec,omitempty"`
- HTTPOutput *output.HTTPOutputConfig `json:"http,omitempty"`
- AwsElasticsearchOutputConfig *output.AwsElasticsearchOutputConfig `json:"awsElasticsearch,omitempty"`
- RedisOutputConfig *output.RedisOutputConfig `json:"redis,omitempty"`
- SyslogOutputConfig *output.SyslogOutputConfig `json:"syslog,omitempty"`
- GELFOutputConfig *output.GELFOutputConfig `json:"gelf,omitempty"`
- SQSOutputConfig *output.SQSOutputConfig `json:"sqs,omitempty"`
- MattermostOutputConfig *output.MattermostOutputConfig `json:"mattermost,omitempty"`
- RelabelOutputConfig *output.RelabelOutputConfig `json:"relabel,omitempty"`
- VMwareLogInsightConfig *output.VMwareLogInsightOutput `json:"vmwareLogInsight,omitempty"`
- VMWareLogIntelligenceOutput *output.VMWareLogIntelligenceOutput `json:"vmwareLogIntelligence,omitempty"`
+ LoggingRef string `json:"loggingRef,omitempty"`
+ S3OutputConfig *output.S3OutputConfig `json:"s3,omitempty"`
+ AzureStorage *output.AzureStorage `json:"azurestorage,omitempty"`
+ GCSOutput *output.GCSOutput `json:"gcs,omitempty"`
+ OSSOutput *output.OSSOutput `json:"oss,omitempty"`
+ ElasticsearchOutput *output.ElasticsearchOutput `json:"elasticsearch,omitempty"`
+ OpenSearchOutput *output.OpenSearchOutput `json:"opensearch,omitempty"`
+ LogZOutput *output.LogZOutput `json:"logz,omitempty"`
+ LokiOutput *output.LokiOutput `json:"loki,omitempty"`
+ SumologicOutput *output.SumologicOutput `json:"sumologic,omitempty"`
+ DatadogOutput *output.DatadogOutput `json:"datadog,omitempty"`
+ ForwardOutput *output.ForwardOutput `json:"forward,omitempty"`
+ FileOutput *output.FileOutputConfig `json:"file,omitempty"`
+ NullOutputConfig *output.NullOutputConfig `json:"nullout,omitempty"`
+ KafkaOutputConfig *output.KafkaOutputConfig `json:"kafka,omitempty"`
+ CloudWatchOutput *output.CloudWatchOutput `json:"cloudwatch,omitempty"`
+ KinesisFirehoseOutputConfig *output.KinesisFirehoseOutputConfig `json:"kinesisFirehose,omitempty"`
+ KinesisStreamOutputConfig *output.KinesisStreamOutputConfig `json:"kinesisStream,omitempty"`
+ LogDNAOutput *output.LogDNAOutput `json:"logdna,omitempty"`
+ NewRelicOutputConfig *output.NewRelicOutputConfig `json:"newrelic,omitempty"`
+ SplunkHecOutput *output.SplunkHecOutput `json:"splunkHec,omitempty"`
+ HTTPOutput *output.HTTPOutputConfig `json:"http,omitempty"`
+ AwsElasticsearchOutputConfig *output.AwsElasticsearchOutputConfig `json:"awsElasticsearch,omitempty"`
+ RedisOutputConfig *output.RedisOutputConfig `json:"redis,omitempty"`
+ SyslogOutputConfig *output.SyslogOutputConfig `json:"syslog,omitempty"`
+ GELFOutputConfig *output.GELFOutputConfig `json:"gelf,omitempty"`
+ SQSOutputConfig *output.SQSOutputConfig `json:"sqs,omitempty"`
+ MattermostOutputConfig *output.MattermostOutputConfig `json:"mattermost,omitempty"`
+ RelabelOutputConfig *output.RelabelOutputConfig `json:"relabel,omitempty"`
+ VMwareLogInsightConfig *output.VMwareLogInsightOutput `json:"vmwareLogInsight,omitempty"`
+ VMwareLogIntelligenceOutputConfig *output.VMwareLogIntelligenceOutputConfig `json:"vmwareLogIntelligence,omitempty"`
}
// OutputStatus defines the observed state of Output
diff --git a/pkg/sdk/logging/api/v1beta1/zz_generated.deepcopy.go b/pkg/sdk/logging/api/v1beta1/zz_generated.deepcopy.go
index 26e74a894..aa1c3f529 100644
--- a/pkg/sdk/logging/api/v1beta1/zz_generated.deepcopy.go
+++ b/pkg/sdk/logging/api/v1beta1/zz_generated.deepcopy.go
@@ -2531,9 +2531,9 @@ func (in *OutputSpec) DeepCopyInto(out *OutputSpec) {
*out = new(output.VMwareLogInsightOutput)
(*in).DeepCopyInto(*out)
}
- if in.VMWareLogIntelligenceOutput != nil {
- in, out := &in.VMWareLogIntelligenceOutput, &out.VMWareLogIntelligenceOutput
- *out = new(output.VMWareLogIntelligenceOutput)
+ if in.VMwareLogIntelligenceOutputConfig != nil {
+ in, out := &in.VMwareLogIntelligenceOutputConfig, &out.VMwareLogIntelligenceOutputConfig
+ *out = new(output.VMwareLogIntelligenceOutputConfig)
(*in).DeepCopyInto(*out)
}
}
diff --git a/pkg/sdk/logging/model/output/vmware_log_intelligence.go b/pkg/sdk/logging/model/output/vmware_log_intelligence.go
index 5c7f9b386..2cb85b625 100644
--- a/pkg/sdk/logging/model/output/vmware_log_intelligence.go
+++ b/pkg/sdk/logging/model/output/vmware_log_intelligence.go
@@ -21,7 +21,7 @@ import (
// +name:"VMware Log Intelligence"
// +weight:"200"
-type _hugoVMWareLogIntelligence interface{} //nolint:deadcode,unused
+type _hugoVMwareLogIntelligence interface{} //nolint:deadcode,unused
// +docName:"VMware Log Intelligence output plugin for Fluentd"
/*
@@ -31,34 +31,38 @@ For details, see [https://github.com/vmware/fluent-plugin-vmware-log-intelligenc
spec:
vmwarelogintelligence:
endpoint_url: https://data.upgrade.symphony-dev.com/le-mans/v1/streams/ingestion-pipeline-stream
- verify_ssl: true
- http_compress: false
- headers:
- Content-Type: "application/json"
- Authorization: "Bearer 12345"
- structure: simple
- buffer:
- chunk_limit_records: 300
- flush_interval: 3s
- retry_max_times: 3
+ verify_ssl: true
+ http_compress: false
+ headers:
+ content_type: "application/json"
+ authorization:
+ valueFrom:
+ secretKeyRef:
+ name: vmware-log-intelligence-token
+ key: authorization
+ structure: simple
+ buffer:
+ chunk_limit_records: 300
+ flush_interval: 3s
+ retry_max_times: 3
```
*/
-type _docVMWareLogIntelligence interface{} //nolint:deadcode,unused
+type _docVMwareLogIntelligence interface{} //nolint:deadcode,unused
// +name:"VMwareLogIntelligence"
// +url:"https://github.com/vmware/fluent-plugin-vmware-log-intelligence/releases/tag/v2.0.8"
// +version:"v2.0.8"
// +description:"Send your logs to VMware Log Intelligence"
// +status:"GA"
-type _metaVMWareLogIntelligence interface{} //nolint:deadcode,unused
+type _metaVMwareLogIntelligence interface{} //nolint:deadcode,unused
// +kubebuilder:object:generate=true
// +docName:"VMwareLogIntelligence"
-type VMWareLogIntelligenceOutput struct {
+type VMwareLogIntelligenceOutputConfig struct {
// Log Intelligence endpoint to send logs to https://github.com/vmware/fluent-plugin-vmware-log-intelligence?tab=readme-ov-file#label-endpoint_url
EndpointURL string `json:"endpoint_url"`
// Verify SSL (default: true) https://github.com/vmware/fluent-plugin-vmware-log-intelligence?tab=readme-ov-file#label-verify_ssl
- VerifySSL bool `json:"verify_ssl" plugin:"default:true"`
+ VerifySSL *bool `json:"verify_ssl" plugin:"default:true"`
// Compress http request https://github.com/vmware/fluent-plugin-vmware-log-intelligence?tab=readme-ov-file#label-http_compress
HTTPCompress *bool `json:"http_compress,omitempty"`
// Required headers for sending logs to VMware Log Intelligence https://github.com/vmware/fluent-plugin-vmware-log-intelligence?tab=readme-ov-file#label-3Cheaders-3E
@@ -102,7 +106,7 @@ func (l *LogIntelligenceHeadersOut) ToDirective(secretLoader secret.SecretLoader
}, l, secretLoader)
}
-func (v *VMWareLogIntelligenceOutput) ToDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error) {
+func (v *VMwareLogIntelligenceOutputConfig) ToDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error) {
const pluginType = "vmware_log_intelligence"
vmwli := &types.OutputPlugin{
PluginMeta: types.PluginMeta{
diff --git a/pkg/sdk/logging/model/output/vmware_log_intelligence_test.go b/pkg/sdk/logging/model/output/vmware_log_intelligence_test.go
index fed31efc8..5dce4316f 100644
--- a/pkg/sdk/logging/model/output/vmware_log_intelligence_test.go
+++ b/pkg/sdk/logging/model/output/vmware_log_intelligence_test.go
@@ -24,7 +24,7 @@ import (
"github.com/stretchr/testify/require"
)
-func TestVMWareLogIntelligenceOutputConfig(t *testing.T) {
+func TestVMwareLogIntelligenceOutputConfig(t *testing.T) {
CONFIG := []byte(`
endpoint_url: https://data.upgrade.symphony-dev.com/le-mans/v1/streams/ingestion-pipeline-stream
verify_ssl: true
@@ -65,13 +65,13 @@ buffer:
`
- s := &output.VMWareLogIntelligenceOutput{}
+ s := &output.VMwareLogIntelligenceOutputConfig{}
require.NoError(t, yaml.Unmarshal(CONFIG, s))
test := render.NewOutputPluginTest(t, s)
test.DiffResult(expected)
}
-func TestVMWareLogIntelligenceOutputConfigWithDefaultHeaderValues(t *testing.T) {
+func TestVMwareLogIntelligenceOutputConfigWithDefaultHeaderValues(t *testing.T) {
CONFIG := []byte(`
endpoint_url: https://data.upgrade.symphony-dev.com/le-mans/v1/streams/ingestion-pipeline-stream
verify_ssl: true
@@ -85,7 +85,6 @@ buffer:
retry_max_times: 3
`)
- //TODO: test format block
expected := `
@type vmware_log_intelligence
@@ -111,13 +110,13 @@ buffer:
`
- s := &output.VMWareLogIntelligenceOutput{}
+ s := &output.VMwareLogIntelligenceOutputConfig{}
require.NoError(t, yaml.Unmarshal(CONFIG, s))
test := render.NewOutputPluginTest(t, s)
test.DiffResult(expected)
}
-func TestVMWareLogIntelligenceOutputConfigWithFormat(t *testing.T) {
+func TestVMwareLogIntelligenceOutputConfigWithFormat(t *testing.T) {
CONFIG := []byte(`
endpoint_url: https://data.upgrade.symphony-dev.com/le-mans/v1/streams/ingestion-pipeline-stream
verify_ssl: true
@@ -134,7 +133,6 @@ format:
type: json
`)
- //TODO: test format block
expected := `
@type vmware_log_intelligence
@@ -162,7 +160,7 @@ format:
`
- s := &output.VMWareLogIntelligenceOutput{}
+ s := &output.VMwareLogIntelligenceOutputConfig{}
require.NoError(t, yaml.Unmarshal(CONFIG, s))
test := render.NewOutputPluginTest(t, s)
test.DiffResult(expected)
diff --git a/pkg/sdk/logging/model/output/zz_generated.deepcopy.go b/pkg/sdk/logging/model/output/zz_generated.deepcopy.go
index 5d2abbd74..b8007c1cc 100644
--- a/pkg/sdk/logging/model/output/zz_generated.deepcopy.go
+++ b/pkg/sdk/logging/model/output/zz_generated.deepcopy.go
@@ -1740,37 +1740,6 @@ func (in *SyslogOutputConfig) DeepCopy() *SyslogOutputConfig {
return out
}
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *VMWareLogIntelligenceOutput) DeepCopyInto(out *VMWareLogIntelligenceOutput) {
- *out = *in
- if in.HTTPCompress != nil {
- in, out := &in.HTTPCompress, &out.HTTPCompress
- *out = new(bool)
- **out = **in
- }
- in.Headers.DeepCopyInto(&out.Headers)
- if in.Buffer != nil {
- in, out := &in.Buffer, &out.Buffer
- *out = new(Buffer)
- (*in).DeepCopyInto(*out)
- }
- if in.Format != nil {
- in, out := &in.Format, &out.Format
- *out = new(Format)
- (*in).DeepCopyInto(*out)
- }
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMWareLogIntelligenceOutput.
-func (in *VMWareLogIntelligenceOutput) DeepCopy() *VMWareLogIntelligenceOutput {
- if in == nil {
- return nil
- }
- out := new(VMWareLogIntelligenceOutput)
- in.DeepCopyInto(out)
- return out
-}
-
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VMwareLogInsightOutput) DeepCopyInto(out *VMwareLogInsightOutput) {
*out = *in
@@ -1839,3 +1808,39 @@ func (in *VMwareLogInsightOutput) DeepCopy() *VMwareLogInsightOutput {
in.DeepCopyInto(out)
return out
}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *VMwareLogIntelligenceOutputConfig) DeepCopyInto(out *VMwareLogIntelligenceOutputConfig) {
+ *out = *in
+ if in.VerifySSL != nil {
+ in, out := &in.VerifySSL, &out.VerifySSL
+ *out = new(bool)
+ **out = **in
+ }
+ if in.HTTPCompress != nil {
+ in, out := &in.HTTPCompress, &out.HTTPCompress
+ *out = new(bool)
+ **out = **in
+ }
+ in.Headers.DeepCopyInto(&out.Headers)
+ if in.Buffer != nil {
+ in, out := &in.Buffer, &out.Buffer
+ *out = new(Buffer)
+ (*in).DeepCopyInto(*out)
+ }
+ if in.Format != nil {
+ in, out := &in.Format, &out.Format
+ *out = new(Format)
+ (*in).DeepCopyInto(*out)
+ }
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMwareLogIntelligenceOutputConfig.
+func (in *VMwareLogIntelligenceOutputConfig) DeepCopy() *VMwareLogIntelligenceOutputConfig {
+ if in == nil {
+ return nil
+ }
+ out := new(VMwareLogIntelligenceOutputConfig)
+ in.DeepCopyInto(out)
+ return out
+}