diff --git a/.osfm.yaml b/.osfm.yaml new file mode 100644 index 00000000000..4e7d246aec6 --- /dev/null +++ b/.osfm.yaml @@ -0,0 +1,9 @@ +# Open Source Fork Monitor allowlist file. This designates known OSF repos along with some attributes for calculating recency/staleness +# Generated by Datadog Workflow Automation: +# https://app.datadoghq.com/workflow/d284505f-a5b7-4908-bf0e-88153f38f93d + +# See this Confluence for more detail: +# https://datadoghq.atlassian.net/wiki/spaces/ISEC/pages/3093168822/OSFM+-+Open+Source+Fork+Monitor + +expiration: null # YYYY-MM-DD (leave null if the allowance should never expire) +type: null # e.g.: "CI/CD", "EXTERNAL", "INTERNAL", "AGENT", etc. (leave null if unsure) \ No newline at end of file diff --git a/plugins/out_datadog/datadog.c b/plugins/out_datadog/datadog.c index f684842776c..8d903753c20 100644 --- a/plugins/out_datadog/datadog.c +++ b/plugins/out_datadog/datadog.c @@ -25,6 +25,7 @@ #include #include #include +#include #include @@ -354,7 +355,11 @@ static void cb_datadog_flush(struct flb_event_chunk *event_chunk, FLB_OUTPUT_RETURN(FLB_ERROR); } + /* Add the required headers to the URI */ flb_http_add_header(client, "User-Agent", 10, "Fluent-Bit", 10); + flb_http_add_header(client, FLB_DATADOG_API_HDR, sizeof(FLB_DATADOG_API_HDR) - 1, ctx->api_key, flb_sds_len(ctx->api_key)); + flb_http_add_header(client, FLB_DATADOG_ORIGIN_HDR, sizeof(FLB_DATADOG_ORIGIN_HDR) - 1, "Fluent-Bit", 10); + flb_http_add_header(client, FLB_DATADOG_ORIGIN_VERSION_HDR, sizeof(FLB_DATADOG_ORIGIN_VERSION_HDR) - 1, FLB_VERSION_STR, sizeof(FLB_VERSION_STR) - 1); flb_http_add_header(client, FLB_DATADOG_CONTENT_TYPE, sizeof(FLB_DATADOG_CONTENT_TYPE) - 1, FLB_DATADOG_MIME_JSON, sizeof(FLB_DATADOG_MIME_JSON) - 1); diff --git a/plugins/out_datadog/datadog.h b/plugins/out_datadog/datadog.h index abcf8d26952..1ca2d6f058a 100644 --- a/plugins/out_datadog/datadog.h +++ b/plugins/out_datadog/datadog.h @@ -36,6 +36,10 @@ #define FLB_DATADOG_REMAP_PROVIDER "ecs" #define FLB_DATADOG_TAG_SEPERATOR "," +#define FLB_DATADOG_API_HDR "DD-API-KEY" +#define FLB_DATADOG_ORIGIN_HDR "DD-EVP-ORIGIN" +#define FLB_DATADOG_ORIGIN_VERSION_HDR "DD-EVP-ORIGIN-VERSION" + #define FLB_DATADOG_CONTENT_TYPE "Content-Type" #define FLB_DATADOG_MIME_JSON "application/json" diff --git a/plugins/out_datadog/datadog_conf.c b/plugins/out_datadog/datadog_conf.c index 3ddad3e276b..def064c48c5 100644 --- a/plugins/out_datadog/datadog_conf.c +++ b/plugins/out_datadog/datadog_conf.c @@ -115,14 +115,13 @@ struct flb_out_datadog *flb_datadog_conf_create(struct flb_output_instance *ins, ctx->remap = tmp && (strlen(tmp) == strlen(FLB_DATADOG_REMAP_PROVIDER)) && \ (strncmp(tmp, FLB_DATADOG_REMAP_PROVIDER, strlen(tmp)) == 0); - ctx->uri = flb_sds_create("/v1/input/"); + ctx->uri = flb_sds_create("/api/v2/logs"); if (!ctx->uri) { flb_plg_error(ctx->ins, "error on uri generation"); flb_datadog_conf_destroy(ctx); return NULL; } - /* Add the api_key to the URI */ - ctx->uri = flb_sds_cat(ctx->uri, ctx->api_key, flb_sds_len(ctx->api_key)); + flb_plg_debug(ctx->ins, "uri: %s", ctx->uri); /* Get network configuration */ diff --git a/plugins/out_datadog/datadog_conf.h b/plugins/out_datadog/datadog_conf.h index a4547ba5e9a..057a5e5f2dc 100644 --- a/plugins/out_datadog/datadog_conf.h +++ b/plugins/out_datadog/datadog_conf.h @@ -21,7 +21,7 @@ #define FLB_OUT_DATADOG_CONF_H #include -#include +#include #include "datadog.h"