From be404e4866d9f957d0e66bb4bd8f638abae6a7b1 Mon Sep 17 00:00:00 2001 From: Eran Raichstein Date: Thu, 24 Feb 2022 14:27:16 +0200 Subject: [PATCH] renaming flowlogs2metrics project into flowlogs-piplines --- .github/workflows/greetings.yml | 2 +- .github/workflows/push_image.yml | 2 +- .gitignore | 2 +- CONTRIBUTING.md | 4 +- Makefile | 54 ++++----- README.md | 86 +++++++------- cmd/apitodoc/main.go | 2 +- cmd/confgenerator/main.go | 8 +- .../benchmark_test.go | 0 .../main.go | 16 +-- .../main_test.go | 0 contrib/dashboards/dashboard_details.json | 32 ++--- .../dashboard_manual_locations_on_map.json | 6 +- .../dashboard_manual_loki_logs.json | 4 +- contrib/dashboards/dashboard_totals.json | 6 +- .../jsonnet/dashboard_details.jsonnet | 32 ++--- .../jsonnet/dashboard_totals.jsonnet | 6 +- contrib/docker/Dockerfile | 6 +- .../deployment-netflow-simulator.yaml | 4 +- contrib/kubernetes/deployment-prometheus.yaml | 4 +- contrib/kubernetes/deployment.yaml | 40 +++---- ....conf.yaml => flowlogs-pipeline.conf.yaml} | 6 +- docs/confGenerator.md | 18 +-- docs/development.md | 14 +-- docs/metrics.md | 34 +++--- go.mod | 7 +- go.sum | 109 ++++++++++++++++-- ...deploy-and-monitor-k8s-network-workload.sh | 18 +-- hack/update-docs.sh | 6 +- .../bandwidth_per_network_service.yaml | 4 +- .../bandwidth_per_src_dest_subnet.yaml | 4 +- .../bandwidth_per_src_subnet.yaml | 4 +- network_definitions/config.yaml | 10 +- .../connection_rate_per_dest_subnet.yaml | 4 +- .../connection_rate_per_src_subnet.yaml | 4 +- .../connection_rate_per_tcp_flags.yaml | 4 +- .../connections_per_dst_as.yaml | 4 +- .../connections_per_src_as.yaml | 4 +- .../count_per_src_dest_subnet.yaml | 4 +- .../egress_bandwidth_per_dest_subnet.yaml | 6 +- .../egress_bandwidth_per_namespace.yaml | 4 +- .../geo-location_rate_per_dest.yaml | 4 +- network_definitions/mice_elephants.yaml | 6 +- .../network_services_count.yaml | 6 +- pkg/confgen/confgen.go | 6 +- pkg/confgen/confgen_test.go | 2 +- pkg/confgen/config.go | 2 +- pkg/confgen/config_test.go | 4 +- pkg/confgen/dedup.go | 5 +- pkg/confgen/dedup_test.go | 5 +- pkg/confgen/doc.go | 8 +- pkg/confgen/encode.go | 2 +- pkg/confgen/extract.go | 2 +- pkg/confgen/flowlogs2metrics_config.go | 2 +- pkg/confgen/transform.go | 2 +- pkg/health/health.go | 4 +- pkg/health/health_test.go | 4 +- pkg/pipeline/decode/decode.go | 2 +- pkg/pipeline/decode/decode_aws.go | 4 +- pkg/pipeline/decode/decode_aws_test.go | 4 +- pkg/pipeline/decode/decode_json.go | 2 +- pkg/pipeline/decode/decode_json_test.go | 2 +- pkg/pipeline/decode/decode_test.go | 2 +- pkg/pipeline/encode/encode.go | 2 +- pkg/pipeline/encode/encode_json.go | 2 +- pkg/pipeline/encode/encode_json_test.go | 2 +- pkg/pipeline/encode/encode_kafka.go | 4 +- pkg/pipeline/encode/encode_kafka_test.go | 4 +- pkg/pipeline/encode/encode_prom.go | 6 +- pkg/pipeline/encode/encode_prom_test.go | 4 +- pkg/pipeline/encode/encode_test.go | 2 +- pkg/pipeline/extract/aggregate/aggregate.go | 2 +- .../extract/aggregate/aggregate_test.go | 4 +- pkg/pipeline/extract/aggregate/aggregates.go | 2 +- .../extract/aggregate/aggregates_test.go | 2 +- pkg/pipeline/extract/extract.go | 2 +- pkg/pipeline/extract/extract_aggregate.go | 4 +- pkg/pipeline/ingest/ingest_collector.go | 6 +- pkg/pipeline/ingest/ingest_file.go | 4 +- pkg/pipeline/ingest/ingest_kafka.go | 6 +- pkg/pipeline/ingest/ingest_kafka_test.go | 4 +- pkg/pipeline/pipeline.go | 14 +-- pkg/pipeline/pipeline_test.go | 24 ++-- pkg/pipeline/transform/location/location.go | 3 +- pkg/pipeline/transform/transform.go | 4 +- pkg/pipeline/transform/transform_generic.go | 4 +- .../transform/transform_generic_test.go | 4 +- .../transform/transform_multiple_test.go | 4 +- pkg/pipeline/transform/transform_network.go | 10 +- .../transform/transform_network_test.go | 8 +- pkg/pipeline/write/write.go | 2 +- pkg/pipeline/write/write_loki.go | 6 +- pkg/pipeline/write/write_loki_test.go | 2 +- pkg/pipeline/write/write_stdout.go | 2 +- pkg/pipeline/write/write_stdout_test.go | 2 +- pkg/pipeline/write/write_test.go | 2 +- pkg/test/utils.go | 2 +- playground/README.md | 4 +- playground/goflow3.yml | 18 +-- playground/prom1.yml | 2 +- 100 files changed, 468 insertions(+), 375 deletions(-) rename cmd/{flowlogs2metrics => flowlogs-pipeline}/benchmark_test.go (100%) rename cmd/{flowlogs2metrics => flowlogs-pipeline}/main.go (93%) rename cmd/{flowlogs2metrics => flowlogs-pipeline}/main_test.go (100%) rename contrib/kubernetes/{flowlogs2metrics.conf.yaml => flowlogs-pipeline.conf.yaml} (98%) diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml index abdaabd94..725aa23f9 100644 --- a/.github/workflows/greetings.yml +++ b/.github/workflows/greetings.yml @@ -12,4 +12,4 @@ jobs: - uses: actions/first-interaction@v1 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - issue-message: 'Congratulations for contributing your first flowlogs2metrics issue' + issue-message: 'Congratulations for contributing your first flowlogs-pipeline issue' diff --git a/.github/workflows/push_image.yml b/.github/workflows/push_image.yml index f200d1507..f37ac6088 100644 --- a/.github/workflows/push_image.yml +++ b/.github/workflows/push_image.yml @@ -7,7 +7,7 @@ env: REGISTRY_USER: netobserv+github_ci REGISTRY_PASSWORD: ${{ secrets.QUAY_SECRET }} REGISTRY: quay.io/netobserv - IMAGE: flowlogs2metrics + IMAGE: flowlogs-pipeline TAG: latest jobs: diff --git a/.gitignore b/.gitignore index 05336fbc3..5c3e16b30 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -/flowlogs2metrics +/flowlogs-pipeline /confgenerator /bin/ /vendor/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8e4e90245..403476f7a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ -# Contributing to flowlogs2metrics +# Contributing to flowlogs-pipeline -:fire: A big welcome and thank you for considering contributing to flowlogs2metrics open source project! :fire: +:fire: A big welcome and thank you for considering contributing to flowlogs-pipeline open source project! :fire: We want to make contributing to this project as easy and transparent as possible. Please read the following notes to learn how the contribute process works. diff --git a/Makefile b/Makefile index 46340267b..9ac3b856e 100644 --- a/Makefile +++ b/Makefile @@ -13,14 +13,14 @@ export CGO_ENABLED=1 SHELL := /bin/bash DOCKER_TAG ?= latest -DOCKER_IMG ?= quay.io/netobserv/flowlogs2metrics +DOCKER_IMG ?= quay.io/netobserv/flowlogs-pipeline OCI_RUNTIME ?= $(shell which podman || which docker) MIN_GO_VERSION := 1.17.0 -FL2M_BIN_FILE=flowlogs2metrics +FLP_BIN_FILE=flowlogs-pipeline CG_BIN_FILE=confgenerator NETFLOW_GENERATOR=nflow-generator CMD_DIR=./cmd/ -FL2M_CONF_FILE ?= contrib/kubernetes/flowlogs2metrics.conf.yaml +FLP_CONF_FILE ?= contrib/kubernetes/flowlogs-pipeline.conf.yaml .DEFAULT_GOAL := help @@ -59,10 +59,10 @@ lint: $(GOLANGCI_LINT) ## Lint the code .PHONY: build_code build_code: validate_go lint @go mod vendor - VERSION=$$(date); go build -ldflags "-X 'main.Version=$$VERSION'" "${CMD_DIR}${FL2M_BIN_FILE}" + VERSION=$$(date); go build -ldflags "-X 'main.Version=$$VERSION'" "${CMD_DIR}${FLP_BIN_FILE}" .PHONY: build -build: build_code docs ## Build flowlogs2metrics executable and update the docs +build: build_code docs ## Build flowlogs-pipeline executable and update the docs # Note: To change dashboards, change `dashboards.jsonnet`. Do not change manually `dashboards.json` .PHONY: dashboards @@ -70,12 +70,12 @@ dashboards: $(JB) $(JSONNET) ## Build grafana dashboards ./hack/generate-dashboards.sh .PHONY: docs -docs: FORCE ## Update flowlogs2metrics documentation +docs: FORCE ## Update flowlogs-pipeline documentation @./hack/update-docs.sh @go run cmd/apitodoc/main.go > docs/api.md .PHONY: clean clean: ## Clean - rm -f "${FL2M_BIN_FILE}" + rm -f "${FLP_BIN_FILE}" go clean ./... # note: to review coverage execute: go tool cover -html=/tmp/coverage.out @@ -83,18 +83,18 @@ clean: ## Clean test: validate_go ## Test go test -p 1 -race -covermode=atomic -coverprofile=/tmp/coverage.out ./... -# note: to review profile execute: go tool pprof -web /tmp/flowlogs2metrics-cpu-profile.out (make sure graphviz is installed) +# note: to review profile execute: go tool pprof -web /tmp/flowlogs-pipeline-cpu-profile.out (make sure graphviz is installed) .PHONY: benchmarks benchmarks: $(BENCHSTAT) validate_go ## Benchmark - go test -bench=. ./cmd/flowlogs2metrics -o=/tmp/flowlogs2metrics.test \ - -cpuprofile /tmp/flowlogs2metrics-cpu-profile.out \ + go test -bench=. ./cmd/flowlogs-pipeline -o=/tmp/flowlogs-pipeline.test \ + -cpuprofile /tmp/flowlogs-pipeline-cpu-profile.out \ -run=^# -count=10 -parallel=1 -cpu=1 -benchtime=100x \ - | tee /tmp/flowlogs2metrics-benchmark.txt - $(BENCHSTAT) /tmp/flowlogs2metrics-benchmark.txt + | tee /tmp/flowlogs-pipeline-benchmark.txt + $(BENCHSTAT) /tmp/flowlogs-pipeline-benchmark.txt .PHONY: run run: build ## Run - ./"${FL2M_BIN_FILE}" + ./"${FLP_BIN_FILE}" ##@ Docker @@ -114,14 +114,14 @@ push-image: build-image ## Push latest image .PHONY: deploy deploy: ## Deploy the image sed 's|%DOCKER_IMG%|$(DOCKER_IMG)|g;s|%DOCKER_TAG%|$(DOCKER_TAG)|g' contrib/kubernetes/deployment.yaml > /tmp/deployment.yaml - kubectl create configmap flowlogs2metrics-configuration --from-file=flowlogs2metrics.conf.yaml=$(FL2M_CONF_FILE) + kubectl create configmap flowlogs-pipeline-configuration --from-file=flowlogs-pipeline.conf.yaml=$(FLP_CONF_FILE) kubectl apply -f /tmp/deployment.yaml - kubectl rollout status "deploy/flowlogs2metrics" --timeout=600s + kubectl rollout status "deploy/flowlogs-pipeline" --timeout=600s .PHONY: undeploy undeploy: ## Undeploy the image sed 's|%DOCKER_IMG%|$(DOCKER_IMG)|g;s|%DOCKER_TAG%|$(DOCKER_TAG)|g' contrib/kubernetes/deployment.yaml > /tmp/deployment.yaml - kubectl --ignore-not-found=true delete configmap flowlogs2metrics-configuration || true + kubectl --ignore-not-found=true delete configmap flowlogs-pipeline-configuration || true kubectl --ignore-not-found=true delete -f /tmp/deployment.yaml || true .PHONY: deploy-loki @@ -193,7 +193,7 @@ delete-kind-cluster: $(KIND) ## Delete cluster generate-configuration: $(KIND) ## Generate metrics configuration go build "${CMD_DIR}${CG_BIN_FILE}" ./${CG_BIN_FILE} --log-level debug --srcFolder network_definitions \ - --destConfFile $(FL2M_CONF_FILE) \ + --destConfFile $(FLP_CONF_FILE) \ --destDocFile docs/metrics.md \ --destGrafanaJsonnetFolder contrib/dashboards/jsonnet/ @@ -202,8 +202,8 @@ generate-configuration: $(KIND) ## Generate metrics configuration .PHONY: local-deployments-deploy local-deployments-deploy: $(KIND) deploy-prometheus deploy-loki deploy-grafana deploy deploy-netflow-simulator kubectl get pods - kubectl rollout status -w deployment/flowlogs2metrics - kubectl logs -l app=flowlogs2metrics + kubectl rollout status -w deployment/flowlogs-pipeline + kubectl logs -l app=flowlogs-pipeline .PHONY: local-deploy local-deploy: $(KIND) local-cleanup create-kind-cluster local-deployments-deploy ## Deploy locally on kind (with simulated flowlogs) @@ -219,11 +219,11 @@ local-redeploy: local-deployments-cleanup local-deployments-deploy ## Redeploy .PHONY: ocp-deploy ocp-deploy: ocp-cleanup deploy-prometheus deploy-loki deploy-grafana deploy ## Deploy to OCP - flowlogs2metrics_svc_ip=$$(kubectl get svc flowlogs2metrics -o jsonpath='{.spec.clusterIP}'); \ - ./hack/enable-ocp-flow-export.sh $$flowlogs2metrics_svc_ip + flowlogs_pipeline_svc_ip=$$(kubectl get svc flowlogs-pipeline -o jsonpath='{.spec.clusterIP}'); \ + ./hack/enable-ocp-flow-export.sh $$flowlogs_pipeline_svc_ip kubectl get pods - kubectl rollout status -w deployment/flowlogs2metrics - kubectl logs -l app=flowlogs2metrics + kubectl rollout status -w deployment/flowlogs-pipeline + kubectl logs -l app=flowlogs-pipeline oc expose service prometheus || true @prometheus_url=$$(oc get route prometheus -o jsonpath='{.spec.host}'); \ echo -e "\nAccess prometheus on OCP using: http://"$$prometheus_url"\n" @@ -239,15 +239,15 @@ ocp-cleanup: undeploy undeploy-loki undeploy-prometheus undeploy-grafana ## Unde .PHONY: dev-local-deploy dev-local-deploy: ## Deploy locally with simulated netflows - -pkill --oldest --full "${FL2M_BIN_FILE}" + -pkill --oldest --full "${FLP_BIN_FILE}" -pkill --oldest --full "${NETFLOW_GENERATOR}" @go mod vendor - go build "${CMD_DIR}${FL2M_BIN_FILE}" + go build "${CMD_DIR}${FLP_BIN_FILE}" go build "${CMD_DIR}${CG_BIN_FILE}" ./${CG_BIN_FILE} --log-level debug --srcFolder network_definitions \ --skipWithLabels "kubernetes" \ - --destConfFile /tmp/flowlogs2metrics.conf.yaml --destGrafanaJsonnetFolder /tmp/ + --destConfFile /tmp/flowlogs-pipeline.conf.yaml --destGrafanaJsonnetFolder /tmp/ test -f /tmp/${NETFLOW_GENERATOR} || curl -L --output /tmp/${NETFLOW_GENERATOR} https://github.com/nerdalert/nflow-generator/blob/master/binaries/nflow-generator-x86_64-linux?raw=true chmod +x /tmp/${NETFLOW_GENERATOR} - ./"${FL2M_BIN_FILE}" --config /tmp/flowlogs2metrics.conf.yaml & + ./"${FLP_BIN_FILE}" --config /tmp/flowlogs-pipeline.conf.yaml & /tmp/${NETFLOW_GENERATOR} -t 127.0.0.1 -p 2056 > /dev/null 2>&1 & diff --git a/README.md b/README.md index 9a5b9ec03..2dc94a456 100644 --- a/README.md +++ b/README.md @@ -1,40 +1,40 @@ -[![pull request](https://github.com/netobserv/flowlogs2metrics/actions/workflows/pull_request.yml/badge.svg?branch=main)](https://github.com/netobserv/flowlogs2metrics/actions/workflows/pull_request.yml) -[![Push image to quay.io](https://github.com/netobserv/flowlogs2metrics/actions/workflows/push_image.yml/badge.svg)](https://github.com/netobserv/flowlogs2metrics/actions/workflows/push_image.yml) -[![codecov](https://codecov.io/gh/netobserv/flowlogs2metrics/branch/main/graph/badge.svg?token=KMZKG6PRS9)](https://codecov.io/gh/netobserv/flowlogs2metrics) +[![pull request](https://github.com/netobserv/flowlogs-pipeline/actions/workflows/pull_request.yml/badge.svg)](https://github.com/netobserv/flowlogs-pipeline/actions/workflows/pull_request.yml) +[![push image to quay.io](https://github.com/netobserv/flowlogs-pipeline/actions/workflows/push_image.yml/badge.svg)](https://github.com/netobserv/flowlogs-pipeline/actions/workflows/push_image.yml) +[![codecov](https://codecov.io/gh/netobserv/flowlogs-pipeline/branch/main/graph/badge.svg?token=KMZKG6PRS9)](https://codecov.io/gh/netobserv/flowlogs-pipeline) # Overview -**Flow-Logs to Metrics** (a.k.a. FL2M) is an **observability tool** that consumes raw **network flow-logs** and +**Flow-Logs Pipeline** (a.k.a. FLP) is an **observability tool** that consumes raw **network flow-logs** and transforms them from their original format (NetFlow or IPFIX) into **prometheus numeric metrics** format. -FL2M allows to define mathematical transformations to generate condense metrics that encapsulate network domain knowledge. +FLP allows to define mathematical transformations to generate condense metrics that encapsulate network domain knowledge. -In addition, FL2M decorates the metrics with **context**, allowing visualization layers and analytics frameworks to present **network insights** to SRE’s, cloud operators and network experts. +In addition, FLP decorates the metrics with **context**, allowing visualization layers and analytics frameworks to present **network insights** to SRE’s, cloud operators and network experts. -Along with Prometheus and its ecosystem tools such as Thanos, Cortex etc., FL2M provides efficient scalable multi-cloud solution for comprehensive network analytics that rely **solely based on metrics data-source**. +Along with Prometheus and its ecosystem tools such as Thanos, Cortex etc., FLP provides efficient scalable multi-cloud solution for comprehensive network analytics that rely **solely based on metrics data-source**. Default metrics are documented here [docs/metrics.md](docs/metrics.md).

-> Note: prometheus eco-system tools such as Alert Manager can be used with FL2M to generate alerts and provide big-picture insights. +> Note: prometheus eco-system tools such as Alert Manager can be used with FLP to generate alerts and provide big-picture insights. ![Data flow](docs/images/data_flow.drawio.png "Data flow") # Usage - + ```bash Expose network flow-logs from metrics Usage: - flowlogs2metrics [flags] + flowlogs-pipeline [flags] Flags: - --config string config file (default is $HOME/.flowlogs2metrics) + --config string config file (default is $HOME/.flowlogs-pipeline) --health.port string Health server port (default "8080") - -h, --help help for flowlogs2metrics + -h, --help help for flowlogs-pipeline --log-level string Log level: debug, info, warning, error (default "error") --pipeline.decode.aws string aws fields --pipeline.decode.type string Decode type: aws, json, none @@ -51,52 +51,52 @@ Flags: --pipeline.write.loki string Loki write API --pipeline.write.type string Write type: stdout, none ``` - + > Note: for API details refer to [docs/api.md](docs/api.md). > ## Configuration generation -flowlogs2metrics network metrics configuration ( `--config` flag) can be generated automatically using +flowlogs-pipeline network metrics configuration ( `--config` flag) can be generated automatically using the `confGenerator` utility. `confGenerator` aggregates information from multiple user provided network *metric -definitions* into flowlogs2metrics configuration. More details on `confGenerator` can be found +definitions* into flowlogs-pipeline configuration. More details on `confGenerator` can be found in [docs/confGenrator.md](docs/confGenerator.md). -To generate flowlogs2metrics configuration execute: +To generate flowlogs-pipeline configuration execute: ```shell make generate-configuration make dashboards ``` ## Deploy into OpenShift (OCP) -To deploy FL2M on OCP perform the following steps: +To deploy FLP on OCP perform the following steps: 1. Deploy OCP and make sure `kubectl` works with the cluster ```shell kubectl get namespace openshift ``` -2. Deploy FL2M (into `default` namespace) +2. Deploy FLP (into `default` namespace) ```shell kubectl config set-context --current --namespace=default make deploy ``` -3. Enable export OCP flowlogs into FL2M +3. Enable export OCP flowlogs into FLP ```shell -flowlogs2metrics_svc_ip=$(kubectl get svc flowlogs2metrics -o jsonpath='{.spec.clusterIP}') -./hack/enable-ocp-flow-export.sh $flowlogs2metrics_svc_ip +flowlogs-pipeline_svc_ip=$(kubectl get svc flowlogs-pipeline -o jsonpath='{.spec.clusterIP}') +./hack/enable-ocp-flow-export.sh $flowlogs-pipeline_svc_ip ``` 4. Verify flowlogs are captured ```shell -kubectl logs -l app=flowlogs2metrics -f +kubectl logs -l app=flowlogs-pipeline -f ``` ## Deploy with Kind and netflow-simulator (for development and exploration) -These instructions apply for deploying FL2M development and exploration environment with [kind](https://kind.sigs.k8s.io/) and [netflow-simulator](https://hub.docker.com/r/networkstatic/nflow-generator), +These instructions apply for deploying FLP development and exploration environment with [kind](https://kind.sigs.k8s.io/) and [netflow-simulator](https://hub.docker.com/r/networkstatic/nflow-generator), tested on Ubuntu 20.4 and Fedora 34. 1. Make sure the following commands are installed and can be run from the current shell: - make - go (version 1.17) - docker -1. To deploy the full simulated environment which includes a kind cluster with FL2M, Prometheus, Grafana, and +1. To deploy the full simulated environment which includes a kind cluster with FLP, Prometheus, Grafana, and netflow-simulator, run (note that depending on your user permissions, you may have to run this command under sudo): ```shell make local-deploy @@ -104,13 +104,13 @@ tested on Ubuntu 20.4 and Fedora 34. If the command is successful, the metrics will get generated and can be observed by running (note that depending on your user permissions, you may have to run this command under sudo): ```shell - kubectl logs -l app=flowlogs2metrics -f + kubectl logs -l app=flowlogs-pipeline -f ``` The metrics you see upon deployment are default and can be modified through configuration described [later](#Configuration). # Technology -FL2M is a framework. The main FL2M object is the **pipeline**. FL2M **pipeline** can be configured (see +FLP is a framework. The main FLP object is the **pipeline**. FLP **pipeline** can be configured (see [Configuration section](#Configuration)) to extract the flow-log records from a source in a standard format such as NetFLow or IPFIX, apply custom processing, and output the result as metrics (e.g., in Prometheus format). # Architecture @@ -129,13 +129,13 @@ It is expected that the **ingest** module will receive flows every so often, and # Configuration -It is possible to configure flowlogs2metrics using command-line-parameters, configuration file, environment variables, or any combination of those options. +It is possible to configure flowlogs-pipeline using command-line-parameters, configuration file, environment variables, or any combination of those options. For example: 1. Using command line parameters: -```./flowlogs2metrics --pipeline.ingest.type file --pipeline.ingest.file.filename hack/examples/ocp-ipfix-flowlogs.json``` +```./flowlogs-pipeline --pipeline.ingest.type file --pipeline.ingest.file.filename hack/examples/ocp-ipfix-flowlogs.json``` 2. Using configuration file: -- create under $HOME/.flowlogs2metrics.yaml the file: +- create under $HOME/.flowlogs-pipeline.yaml the file: ```yaml pipeline: ingest: @@ -143,14 +143,14 @@ pipeline: file: filename: hack/examples/ocp-ipfix-flowlogs.json ``` -- execute `./flowlogs2metrics` +- execute `./flowlogs-pipeline` 3. using environment variables: - set environment variables ```bash -export FLOWLOGS2METRICS_PIPELINE_INGEST_TYPE=file -export FLOWLOGS2METRICS_PIPELINE_INGEST_FILE_FILENAME=hack/examples/ocp-ipfix-flowlogs.json +export FLOWLOGS-PIPELINE_PIPELINE_INGEST_TYPE=file +export FLOWLOGS-PIPELINE_PIPELINE_INGEST_FILE_FILENAME=hack/examples/ocp-ipfix-flowlogs.json ``` -- execute `./flowlogs2metrics` +- execute `./flowlogs-pipeline` # Syntax of portions of the configuration file @@ -159,7 +159,7 @@ export FLOWLOGS2METRICS_PIPELINE_INGEST_FILE_FILENAME=hack/examples/ocp-ipfix-fl Supported options and stage types are provided by running: ``` -flowlogs2metrics --help +flowlogs-pipeline --help ``` ### Transform @@ -418,7 +418,7 @@ The loki writer persist flow-logs into [Loki](https://github.com/grafana/loki). tenant ID and with a set static labels and dynamic labels from the record fields. For example, sending flow-logs into tenant `theTenant` with labels from `foo` and `bar` fields -and including static label with key `job` with value `flowlogs2metrics`. +and including static label with key `job` with value `flowlogs-pipeline`. Additional parameters such as `url` and `batchWait` are defined in Loki writer API [docs/api.md](docs/api.md) @@ -431,27 +431,27 @@ pipeline: loki: url: http://loki.default.svc.cluster.local:3100 staticLabels: - job: flowlogs2metrics + job: flowlogs-pipeline batchWait: 1m labels: - foo - bar ``` -> Note: to view loki flow-logs in `grafana`:: Use the `Explore` tab and choose the `loki` datasource. In the `Log Browser` enter `{job="flowlogs2metrics"}` and press `Run query` +> Note: to view loki flow-logs in `grafana`:: Use the `Explore` tab and choose the `loki` datasource. In the `Log Browser` enter `{job="flowlogs-pipeline"}` and press `Run query` # Development ## Build - Clone this repository from github into a local machine (Linux/X86): - `git clone git@github.com:netobserv/flowlogs2metrics.git` -- Change directory into flowlogs2metrics into: - `cd flowlogs2metrics` + `git clone git@github.com:netobserv/flowlogs-pipeline.git` +- Change directory into flowlogs-pipeline into: + `cd flowlogs-pipeline` - Build the code: `make build` -FL2M uses `Makefile` to build, tests and deploy. Following is the output of `make help` : +FLP uses `Makefile` to build, tests and deploy. Following is the output of `make help` : ```bash @@ -464,9 +464,9 @@ General Develop lint Lint the code - build Build flowlogs2metrics executable and update the docs + build Build flowlogs-pipeline executable and update the docs dashboards Build grafana dashboards - docs Update flowlogs2metrics documentation + docs Update flowlogs-pipeline documentation clean Clean test Test benchmarks Benchmark diff --git a/cmd/apitodoc/main.go b/cmd/apitodoc/main.go index 3bd212226..3ebef054e 100644 --- a/cmd/apitodoc/main.go +++ b/cmd/apitodoc/main.go @@ -20,7 +20,7 @@ package main import ( "bytes" "fmt" - "github.com/netobserv/flowlogs2metrics/pkg/api" + "github.com/netobserv/flowlogs-pipeline/pkg/api" "io" "reflect" "strings" diff --git a/cmd/confgenerator/main.go b/cmd/confgenerator/main.go index 4cc4af9ce..20454aa85 100644 --- a/cmd/confgenerator/main.go +++ b/cmd/confgenerator/main.go @@ -21,7 +21,7 @@ import ( "encoding/json" "fmt" jsoniter "github.com/json-iterator/go" - "github.com/netobserv/flowlogs2metrics/pkg/confgen" + "github.com/netobserv/flowlogs-pipeline/pkg/confgen" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" "github.com/spf13/pflag" @@ -34,7 +34,7 @@ import ( var ( cfgFile string logLevel string - envPrefix = "FL2M_CONFGEN" + envPrefix = "FLP_CONFGEN" defaultLogFileName = ".confgen" ) @@ -60,7 +60,7 @@ func initConfig() { if err != nil { log.Fatal(err) } - // Search config in home directory with name ".fl2mconfgen" (without extension). + // Search config in home directory with name ".flpconfgen" (without extension). v.AddConfigPath(home) v.SetConfigName(defaultLogFileName) } @@ -126,7 +126,7 @@ func initFlags() { rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", fmt.Sprintf("config file (default is $HOME/%s)", defaultLogFileName)) rootCmd.PersistentFlags().StringVar(&logLevel, "log-level", "error", "Log level: debug, info, warning, error") rootCmd.PersistentFlags().StringVar(&confgen.Opt.SrcFolder, "srcFolder", "network_definitions", "source folder") - rootCmd.PersistentFlags().StringVar(&confgen.Opt.DestConfFile, "destConfFile", "/tmp/flowlogs2metrics.conf.yaml", "destination configuration file") + rootCmd.PersistentFlags().StringVar(&confgen.Opt.DestConfFile, "destConfFile", "/tmp/flowlogs-pipeline.conf.yaml", "destination configuration file") rootCmd.PersistentFlags().StringVar(&confgen.Opt.DestDocFile, "destDocFile", "/tmp/metrics.md", "destination documentation file (.md)") rootCmd.PersistentFlags().StringVar(&confgen.Opt.DestGrafanaJsonnetFolder, "destGrafanaJsonnetFolder", "/tmp/jsonnet", "destination grafana jsonnet folder") rootCmd.PersistentFlags().StringSliceVar(&confgen.Opt.SkipWithLabels, "skipWithLabels", nil, "Skip definitions with Labels") diff --git a/cmd/flowlogs2metrics/benchmark_test.go b/cmd/flowlogs-pipeline/benchmark_test.go similarity index 100% rename from cmd/flowlogs2metrics/benchmark_test.go rename to cmd/flowlogs-pipeline/benchmark_test.go diff --git a/cmd/flowlogs2metrics/main.go b/cmd/flowlogs-pipeline/main.go similarity index 93% rename from cmd/flowlogs2metrics/main.go rename to cmd/flowlogs-pipeline/main.go index b7d3a0cbb..89b6d99f3 100644 --- a/cmd/flowlogs2metrics/main.go +++ b/cmd/flowlogs-pipeline/main.go @@ -21,10 +21,10 @@ import ( "encoding/json" "fmt" jsoniter "github.com/json-iterator/go" - "github.com/netobserv/flowlogs2metrics/pkg/config" - "github.com/netobserv/flowlogs2metrics/pkg/health" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/utils" + "github.com/netobserv/flowlogs-pipeline/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/health" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/utils" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" "github.com/spf13/pflag" @@ -39,13 +39,13 @@ var ( Version string cfgFile string logLevel string - envPrefix = "FLOWLOGS2METRICS" - defaultLogFileName = ".flowlogs2metrics" + envPrefix = "FLOWLOGS-PIPILNE" + defaultLogFileName = ".flowlogs-pipeline" ) // rootCmd represents the root command var rootCmd = &cobra.Command{ - Use: "flowlogs2metrics", + Use: "flowlogs-pipeline", Short: "Expose network flow-logs from metrics", Run: func(cmd *cobra.Command, args []string) { run() @@ -65,7 +65,7 @@ func initConfig() { if err != nil { log.Fatal(err) } - // Search config in home directory with name ".flowlogs2metrics" (without extension). + // Search config in home directory with name ".flowlogs-pipeline" (without extension). v.AddConfigPath(home) v.SetConfigName(defaultLogFileName) } diff --git a/cmd/flowlogs2metrics/main_test.go b/cmd/flowlogs-pipeline/main_test.go similarity index 100% rename from cmd/flowlogs2metrics/main_test.go rename to cmd/flowlogs-pipeline/main_test.go diff --git a/contrib/dashboards/dashboard_details.json b/contrib/dashboards/dashboard_details.json index 90001d791..fdbb6a66f 100644 --- a/contrib/dashboards/dashboard_details.json +++ b/contrib/dashboards/dashboard_details.json @@ -53,7 +53,7 @@ "steppedLine": false, "targets": [ { - "expr": "topk(10,rate(fl2m_bandwidth_per_network_service[1m]))", + "expr": "topk(10,rate(flp_bandwidth_per_network_service[1m]))", "format": "time_series", "intervalFactor": 2, "legendFormat": "", @@ -138,7 +138,7 @@ "steppedLine": false, "targets": [ { - "expr": "topk(10,rate(fl2m_bandwidth_per_source_destination_subnet[1m]))", + "expr": "topk(10,rate(flp_bandwidth_per_source_destination_subnet[1m]))", "format": "time_series", "intervalFactor": 2, "legendFormat": "", @@ -223,7 +223,7 @@ "steppedLine": false, "targets": [ { - "expr": "topk(10,rate(fl2m_bandwidth_per_source_subnet[1m]))", + "expr": "topk(10,rate(flp_bandwidth_per_source_subnet[1m]))", "format": "time_series", "intervalFactor": 2, "legendFormat": "", @@ -308,7 +308,7 @@ "steppedLine": false, "targets": [ { - "expr": "topk(10,rate(fl2m_connections_per_destination_subnet[1m]))", + "expr": "topk(10,rate(flp_connections_per_destination_subnet[1m]))", "format": "time_series", "intervalFactor": 2, "legendFormat": "", @@ -393,7 +393,7 @@ "steppedLine": false, "targets": [ { - "expr": "topk(10,rate(fl2m_connections_per_source_subnet[1m]))", + "expr": "topk(10,rate(flp_connections_per_source_subnet[1m]))", "format": "time_series", "intervalFactor": 2, "legendFormat": "", @@ -478,7 +478,7 @@ "steppedLine": false, "targets": [ { - "expr": "topk(10,rate(fl2m_connections_per_tcp_flags[1m]))", + "expr": "topk(10,rate(flp_connections_per_tcp_flags[1m]))", "format": "time_series", "intervalFactor": 2, "legendFormat": "", @@ -563,7 +563,7 @@ "steppedLine": false, "targets": [ { - "expr": "topk(10,rate(fl2m_connections_per_destination_as[1m]))", + "expr": "topk(10,rate(flp_connections_per_destination_as[1m]))", "format": "time_series", "intervalFactor": 2, "legendFormat": "", @@ -648,7 +648,7 @@ "steppedLine": false, "targets": [ { - "expr": "topk(10,rate(fl2m_connections_per_source_as[1m]))", + "expr": "topk(10,rate(flp_connections_per_source_as[1m]))", "format": "time_series", "intervalFactor": 2, "legendFormat": "", @@ -733,7 +733,7 @@ "steppedLine": false, "targets": [ { - "expr": "topk(10,rate(fl2m_count_per_source_destination_subnet[1m]))", + "expr": "topk(10,rate(flp_count_per_source_destination_subnet[1m]))", "format": "time_series", "intervalFactor": 2, "legendFormat": "", @@ -818,7 +818,7 @@ "steppedLine": false, "targets": [ { - "expr": "topk(10,rate(fl2m_egress_per_destination_subnet[1m]))", + "expr": "topk(10,rate(flp_egress_per_destination_subnet[1m]))", "format": "time_series", "intervalFactor": 2, "legendFormat": "", @@ -903,7 +903,7 @@ "steppedLine": false, "targets": [ { - "expr": "topk(10,rate(fl2m_egress_per_namespace{aggregate=~\".*pod.*\"}[1m]))", + "expr": "topk(10,rate(flp_egress_per_namespace{aggregate=~\".*pod.*\"}[1m]))", "format": "time_series", "intervalFactor": 2, "legendFormat": "", @@ -988,7 +988,7 @@ "steppedLine": false, "targets": [ { - "expr": "topk(10,rate(fl2m_connections_per_destination_location[1m]))", + "expr": "topk(10,rate(flp_connections_per_destination_location[1m]))", "format": "time_series", "intervalFactor": 2, "legendFormat": "", @@ -1073,7 +1073,7 @@ "steppedLine": false, "targets": [ { - "expr": "rate(fl2m_mice_count{}[1m])", + "expr": "rate(flp_mice_count{}[1m])", "format": "time_series", "intervalFactor": 2, "legendFormat": "", @@ -1158,7 +1158,7 @@ "steppedLine": false, "targets": [ { - "expr": "rate(fl2m_elephant_count{}[1m])", + "expr": "rate(flp_elephant_count{}[1m])", "format": "time_series", "intervalFactor": 2, "legendFormat": "", @@ -1243,7 +1243,7 @@ "steppedLine": false, "targets": [ { - "expr": "topk(10,rate(fl2m_service_count[1m]))", + "expr": "topk(10,rate(flp_service_count[1m]))", "format": "time_series", "intervalFactor": 2, "legendFormat": "", @@ -1292,7 +1292,7 @@ "schemaVersion": 16, "style": "dark", "tags": [ - "fl2m", + "flp", "grafana", "dashboard", "details" diff --git a/contrib/dashboards/dashboard_manual_locations_on_map.json b/contrib/dashboards/dashboard_manual_locations_on_map.json index 9a6633118..35c817711 100644 --- a/contrib/dashboards/dashboard_manual_locations_on_map.json +++ b/contrib/dashboards/dashboard_manual_locations_on_map.json @@ -12,7 +12,7 @@ "limit": 100, "matchAny": false, "tags": [ - "fl2m", + "flp", "grafana", "dashboard", "details", @@ -139,7 +139,7 @@ "uid": "P1809F7CD0C75ACF3" }, "exemplar": false, - "expr": "fl2m_connections_per_destination_location", + "expr": "flp_connections_per_destination_location", "format": "table", "instant": true, "interval": "", @@ -161,7 +161,7 @@ "schemaVersion": 34, "style": "dark", "tags": [ - "fl2m", + "flp", "location", "map", "dashboard" diff --git a/contrib/dashboards/dashboard_manual_loki_logs.json b/contrib/dashboards/dashboard_manual_loki_logs.json index 623a676be..7c630c435 100644 --- a/contrib/dashboards/dashboard_manual_loki_logs.json +++ b/contrib/dashboards/dashboard_manual_loki_logs.json @@ -55,7 +55,7 @@ "type": "loki", "uid": "P982945308D3682D1" }, - "expr": "{job=\"flowlogs2metrics\"}", + "expr": "{job=\"flowlogs-pipeline\"}", "instant": false, "range": true, "refId": "A" @@ -69,7 +69,7 @@ "schemaVersion": 34, "style": "dark", "tags": [ - "fl2m", + "flp", "loki", "dashboard" ], diff --git a/contrib/dashboards/dashboard_totals.json b/contrib/dashboards/dashboard_totals.json index b4cf09b86..d6ab0c08c 100644 --- a/contrib/dashboards/dashboard_totals.json +++ b/contrib/dashboards/dashboard_totals.json @@ -72,7 +72,7 @@ "tableColumn": "", "targets": [ { - "expr": "sum(rate(fl2m_egress_per_destination_subnet[1m]))", + "expr": "sum(rate(flp_egress_per_destination_subnet[1m]))", "format": "time_series", "intervalFactor": 2, "legendFormat": "", @@ -153,7 +153,7 @@ "tableColumn": "", "targets": [ { - "expr": "count(fl2m_service_count)", + "expr": "count(flp_service_count)", "format": "time_series", "intervalFactor": 2, "legendFormat": "", @@ -179,7 +179,7 @@ "schemaVersion": 16, "style": "dark", "tags": [ - "fl2m", + "flp", "grafana", "dashboard", "total" diff --git a/contrib/dashboards/jsonnet/dashboard_details.jsonnet b/contrib/dashboards/jsonnet/dashboard_details.jsonnet index f518bae6a..8dbb39dfc 100644 --- a/contrib/dashboards/jsonnet/dashboard_details.jsonnet +++ b/contrib/dashboards/jsonnet/dashboard_details.jsonnet @@ -13,7 +13,7 @@ dashboard.new( schemaVersion=16, title="Flow-Logs to Metrics - Details", time_from="now-15m", - tags=['fl2m','grafana','dashboard','details'], + tags=['flp','grafana','dashboard','details'], ) .addPanel( graphPanel.new( @@ -22,7 +22,7 @@ dashboard.new( ) .addTarget( prometheus.target( - expr='topk(10,rate(fl2m_bandwidth_per_network_service[1m]))', + expr='topk(10,rate(flp_bandwidth_per_network_service[1m]))', ) ), gridPos={ x: 0, @@ -38,7 +38,7 @@ dashboard.new( ) .addTarget( prometheus.target( - expr='topk(10,rate(fl2m_bandwidth_per_source_destination_subnet[1m]))', + expr='topk(10,rate(flp_bandwidth_per_source_destination_subnet[1m]))', ) ), gridPos={ x: 0, @@ -54,7 +54,7 @@ dashboard.new( ) .addTarget( prometheus.target( - expr='topk(10,rate(fl2m_bandwidth_per_source_subnet[1m]))', + expr='topk(10,rate(flp_bandwidth_per_source_subnet[1m]))', ) ), gridPos={ x: 0, @@ -70,7 +70,7 @@ dashboard.new( ) .addTarget( prometheus.target( - expr='topk(10,rate(fl2m_connections_per_destination_subnet[1m]))', + expr='topk(10,rate(flp_connections_per_destination_subnet[1m]))', ) ), gridPos={ x: 0, @@ -86,7 +86,7 @@ dashboard.new( ) .addTarget( prometheus.target( - expr='topk(10,rate(fl2m_connections_per_source_subnet[1m]))', + expr='topk(10,rate(flp_connections_per_source_subnet[1m]))', ) ), gridPos={ x: 0, @@ -102,7 +102,7 @@ dashboard.new( ) .addTarget( prometheus.target( - expr='topk(10,rate(fl2m_connections_per_tcp_flags[1m]))', + expr='topk(10,rate(flp_connections_per_tcp_flags[1m]))', ) ), gridPos={ x: 0, @@ -118,7 +118,7 @@ dashboard.new( ) .addTarget( prometheus.target( - expr='topk(10,rate(fl2m_connections_per_destination_as[1m]))', + expr='topk(10,rate(flp_connections_per_destination_as[1m]))', ) ), gridPos={ x: 0, @@ -134,7 +134,7 @@ dashboard.new( ) .addTarget( prometheus.target( - expr='topk(10,rate(fl2m_connections_per_source_as[1m]))', + expr='topk(10,rate(flp_connections_per_source_as[1m]))', ) ), gridPos={ x: 0, @@ -150,7 +150,7 @@ dashboard.new( ) .addTarget( prometheus.target( - expr='topk(10,rate(fl2m_count_per_source_destination_subnet[1m]))', + expr='topk(10,rate(flp_count_per_source_destination_subnet[1m]))', ) ), gridPos={ x: 0, @@ -166,7 +166,7 @@ dashboard.new( ) .addTarget( prometheus.target( - expr='topk(10,rate(fl2m_egress_per_destination_subnet[1m]))', + expr='topk(10,rate(flp_egress_per_destination_subnet[1m]))', ) ), gridPos={ x: 0, @@ -182,7 +182,7 @@ dashboard.new( ) .addTarget( prometheus.target( - expr='topk(10,rate(fl2m_egress_per_namespace{aggregate=~".*pod.*"}[1m]))', + expr='topk(10,rate(flp_egress_per_namespace{aggregate=~".*pod.*"}[1m]))', ) ), gridPos={ x: 0, @@ -198,7 +198,7 @@ dashboard.new( ) .addTarget( prometheus.target( - expr='topk(10,rate(fl2m_connections_per_destination_location[1m]))', + expr='topk(10,rate(flp_connections_per_destination_location[1m]))', ) ), gridPos={ x: 0, @@ -214,7 +214,7 @@ dashboard.new( ) .addTarget( prometheus.target( - expr='rate(fl2m_mice_count{}[1m])', + expr='rate(flp_mice_count{}[1m])', ) ), gridPos={ x: 0, @@ -230,7 +230,7 @@ dashboard.new( ) .addTarget( prometheus.target( - expr='rate(fl2m_elephant_count{}[1m])', + expr='rate(flp_elephant_count{}[1m])', ) ), gridPos={ x: 0, @@ -246,7 +246,7 @@ dashboard.new( ) .addTarget( prometheus.target( - expr='topk(10,rate(fl2m_service_count[1m]))', + expr='topk(10,rate(flp_service_count[1m]))', ) ), gridPos={ x: 0, diff --git a/contrib/dashboards/jsonnet/dashboard_totals.jsonnet b/contrib/dashboards/jsonnet/dashboard_totals.jsonnet index 7e97da749..12bc7bda2 100644 --- a/contrib/dashboards/jsonnet/dashboard_totals.jsonnet +++ b/contrib/dashboards/jsonnet/dashboard_totals.jsonnet @@ -13,7 +13,7 @@ dashboard.new( schemaVersion=16, title="Flow-Logs to Metrics - Totals", time_from="now", - tags=['fl2m','grafana','dashboard','total'], + tags=['flp','grafana','dashboard','total'], ) .addPanel( singlestat.new( @@ -22,7 +22,7 @@ dashboard.new( ) .addTarget( prometheus.target( - expr='sum(rate(fl2m_egress_per_destination_subnet[1m]))', + expr='sum(rate(flp_egress_per_destination_subnet[1m]))', ) ), gridPos={ x: 0, @@ -38,7 +38,7 @@ dashboard.new( ) .addTarget( prometheus.target( - expr='count(fl2m_service_count)', + expr='count(flp_service_count)', ) ), gridPos={ x: 0, diff --git a/contrib/docker/Dockerfile b/contrib/docker/Dockerfile index 188584d65..4b8874fa2 100644 --- a/contrib/docker/Dockerfile +++ b/contrib/docker/Dockerfile @@ -13,7 +13,7 @@ COPY cmd/ cmd/ COPY pkg/ pkg/ # Build -RUN VERSION=$(date); CGO_ENABLED=0 GOOS=linux GO111MODULE=on GOARCH=amd64 go build -ldflags "-X 'main.Version=$VERSION'" ./cmd/flowlogs2metrics +RUN VERSION=$(date); CGO_ENABLED=0 GOOS=linux GO111MODULE=on GOARCH=amd64 go build -ldflags "-X 'main.Version=$VERSION'" ./cmd/flowlogs-pipeline # final stage FROM ubuntu @@ -21,9 +21,9 @@ RUN apt-get update -y RUN apt-get install -y netbase RUN apt-get install -y curl RUN apt-get install -y net-tools -COPY --from=builder /app/flowlogs2metrics /app/ +COPY --from=builder /app/flowlogs-pipeline /app/ # expose ports EXPOSE 2055 -ENTRYPOINT ["/app/flowlogs2metrics"] \ No newline at end of file +ENTRYPOINT ["/app/flowlogs-pipeline"] \ No newline at end of file diff --git a/contrib/kubernetes/deployment-netflow-simulator.yaml b/contrib/kubernetes/deployment-netflow-simulator.yaml index 657bf512b..783a693d9 100644 --- a/contrib/kubernetes/deployment-netflow-simulator.yaml +++ b/contrib/kubernetes/deployment-netflow-simulator.yaml @@ -18,7 +18,7 @@ spec: - name: netflowsimulator image: networkstatic/nflow-generator:latest args: - - "--target=$(FLOWLOGS2METRICS_SERVICE_HOST)" - - "--port=$(FLOWLOGS2METRICS_SERVICE_PORT_NETFLOW_LEGACY)" + - "--target=$(FLOWLOGS_PIPELINE_SERVICE_HOST)" + - "--port=$(FLOWLOGS_PIPELINE_SERVICE_PORT_NETFLOW_LEGACY)" - "--spike=http" imagePullPolicy: Always \ No newline at end of file diff --git a/contrib/kubernetes/deployment-prometheus.yaml b/contrib/kubernetes/deployment-prometheus.yaml index 8f4ff7842..0063917f4 100644 --- a/contrib/kubernetes/deployment-prometheus.yaml +++ b/contrib/kubernetes/deployment-prometheus.yaml @@ -82,6 +82,6 @@ data: rule_files: - /etc/prometheus/prometheus.rules scrape_configs: - - job_name: 'flowlogs2metrics' + - job_name: 'flowlogs-pipeline' static_configs: - - targets: ['flowlogs2metrics-metrics.default.svc.cluster.local:9102'] + - targets: ['flowlogs-pipeline-metrics.default.svc.cluster.local:9102'] diff --git a/contrib/kubernetes/deployment.yaml b/contrib/kubernetes/deployment.yaml index 1fefe3e61..496ccbf02 100644 --- a/contrib/kubernetes/deployment.yaml +++ b/contrib/kubernetes/deployment.yaml @@ -1,24 +1,24 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: flowlogs2metrics + name: flowlogs-pipeline labels: - app: flowlogs2metrics + app: flowlogs-pipeline spec: replicas: 1 selector: matchLabels: - app: flowlogs2metrics + app: flowlogs-pipeline template: metadata: labels: - app: flowlogs2metrics + app: flowlogs-pipeline spec: containers: - - name: flowlogs2metrics + - name: flowlogs-pipeline image: %DOCKER_IMG%:%DOCKER_TAG% args: - - "--config=/etc/flowlogs2metrics/flowlogs2metrics.conf.yaml" + - "--config=/etc/flowlogs-pipeline/flowlogs-pipeline.conf.yaml" ports: - containerPort: 6343 - containerPort: 2055 @@ -26,19 +26,19 @@ spec: imagePullPolicy: Always volumeMounts: - name: configuration - mountPath: "/etc/flowlogs2metrics/" + mountPath: "/etc/flowlogs-pipeline/" volumes: - name: configuration configMap: - name: flowlogs2metrics-configuration - serviceAccountName: flowlogs2metrics + name: flowlogs-pipeline-configuration + serviceAccountName: flowlogs-pipeline --- apiVersion: v1 kind: Service metadata: - name: flowlogs2metrics + name: flowlogs-pipeline labels: - app: flowlogs2metrics + app: flowlogs-pipeline spec: ports: - port: 6343 @@ -54,31 +54,31 @@ spec: protocol: UDP name: netflow-legacy selector: - app: flowlogs2metrics + app: flowlogs-pipeline --- apiVersion: v1 kind: Service metadata: - name: flowlogs2metrics-metrics + name: flowlogs-pipeline-metrics labels: - app: flowlogs2metrics + app: flowlogs-pipeline spec: ports: - port: 9102 targetPort: 9102 name: prometheous selector: - app: flowlogs2metrics + app: flowlogs-pipeline --- apiVersion: v1 kind: ServiceAccount metadata: - name: flowlogs2metrics + name: flowlogs-pipeline --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - name: flowlogs2metrics + name: flowlogs-pipeline rules: - apiGroups: ["*"] resources: ["*"] @@ -87,13 +87,13 @@ rules: apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: - name: flowlogs2metrics + name: flowlogs-pipeline subjects: - kind: ServiceAccount - name: flowlogs2metrics + name: flowlogs-pipeline namespace: default roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: flowlogs2metrics + name: flowlogs-pipeline --- diff --git a/contrib/kubernetes/flowlogs2metrics.conf.yaml b/contrib/kubernetes/flowlogs-pipeline.conf.yaml similarity index 98% rename from contrib/kubernetes/flowlogs2metrics.conf.yaml rename to contrib/kubernetes/flowlogs-pipeline.conf.yaml index 36540f3aa..45512efb1 100644 --- a/contrib/kubernetes/flowlogs2metrics.conf.yaml +++ b/contrib/kubernetes/flowlogs-pipeline.conf.yaml @@ -1,4 +1,4 @@ -# This file was generated automatically by flowlogs2metrics confgenerator +# This file was generated automatically by flowlogs-pipeline confgenerator log-level: error pipeline: decode: @@ -112,7 +112,7 @@ pipeline: - aggregate buckets: [] port: 9102 - prefix: fl2m_ + prefix: flp_ type: prom extract: aggregates: @@ -269,6 +269,6 @@ pipeline: loki: url: http://loki.default.svc.cluster.local:3100 staticLabels: - job: flowlogs2metrics + job: flowlogs-pipeline type: loki diff --git a/docs/confGenerator.md b/docs/confGenerator.md index f81fac78d..ce8258e77 100644 --- a/docs/confGenerator.md +++ b/docs/confGenerator.md @@ -3,7 +3,7 @@ confGenerator is a utility to generate from `metric definitions` provided by users as a set of files, folders and sub-folders the following: -1. flowlogs2metrics configuration files +1. flowlogs-pipeline configuration files 1. Visualization configuration (Grafana) 1. Metrics documentation @@ -21,7 +21,7 @@ Usage: Flags: --config string config file (default is $HOME/.confgen) - --destConfFile string destination configuration file (default "flowlogs2metrics.conf.yaml") + --destConfFile string destination configuration file (default "flowlogs-pipeline.conf.yaml") --destGrafanaJsonnetFolder string destination grafana jsonnet folder -h, --help help for confgenerator --log-level string Log level: debug, info, warning, error (default "error") @@ -30,17 +30,17 @@ Flags: ``` -> Note: The default location for network definitions in flowlogs2metrics is `/network_definitions` folder +> Note: The default location for network definitions in flowlogs-pipeline is `/network_definitions` folder The files and folder structure required as input for `confGenerator` are: 1. `config.yaml` - singleton file holding general information for configuration generation 1. `metric definition` files - each file represent one or more metrics including the documentation, -flowlogs2metrics pipeline steps and visualization configuration +flowlogs-pipeline pipeline steps and visualization configuration > Note: It is possible to place `metric definition` files in any sub-folder structure -> Note: It is possible to activate `ConfGenrator` with the default flowlogs2metrics configuration using the command `make generate-configuration`. +> Note: It is possible to activate `ConfGenrator` with the default flowlogs-pipeline configuration using the command `make generate-configuration`. > This command compiles the code and generates default outputs. ## How to write a network definitions @@ -61,7 +61,7 @@ For `Kind` deployment execute ```bash make local-redeploy ``` -> Note: Additional information on usage and deployment can be found in flowlogs2metrics README +> Note: Additional information on usage and deployment can be found in flowlogs-pipeline README > Note: learning from examples and existing metric definitions is very-useful @@ -71,7 +71,7 @@ In this section we explain how network definition are structured. This is usefu new network definitions as well as debugging and working with existing network definition. ```shell -#fl2m_confgen (1) +#flp_confgen (1) description: (2) Network definition description details: (3) @@ -108,14 +108,14 @@ encode: (9) visualization: (10) type: grafana grafana: - - expr: 'fl2m_metricName' (10.1) + - expr: 'flp_metricName' (10.1) type: graphPanel (10.2) dashboard: dashboardName (10.3) title: grafanaPanelTitle (10.4) ``` -(1) A fixed header `#fl2m_confgen` that must exist in every network definition file +(1) A fixed header `#flp_confgen` that must exist in every network definition file (2) (3) (4) description, details and usage of the definition file - used for docs (5) labels - used by visualization and docs diff --git a/docs/development.md b/docs/development.md index 683e4476d..dbe046571 100644 --- a/docs/development.md +++ b/docs/development.md @@ -2,24 +2,24 @@ ## Benchmarking -It is possible to benchmark the flowlogs2metrics using: +It is possible to benchmark the flowlogs-pipeline using: ```bash make benchmark ``` -This will execute the flowlogs2metrics `cmd/flowlogs2metrics/benchmark_test.go` benchmarks. -The benchmarks execute flowlogs2metrics with different configurations and measure execution time. -In addition, CPU profile information is generated and saved into `/tmp/flowlogs2metrics-cpu-profile.out` +This will execute the flowlogs-pipeline `cmd/flowlogs-pipeline/benchmark_test.go` benchmarks. +The benchmarks execute flowlogs-pipeline with different configurations and measure execution time. +In addition, CPU profile information is generated and saved into `/tmp/flowlogs-pipeline-cpu-profile.out` it is possible to observe the CPU profile information by executing the command: ```bash -go tool pprof -web /tmp/flowlogs2metrics-cpu-profile.out +go tool pprof -web /tmp/flowlogs-pipeline-cpu-profile.out ``` > Note: installed graphviz is a pre-req. ## OCP Flow logs correctness use the script `hack/deploy-and-monitor-k8s-network-workload.sh` to deploy on OCP synthetic demo workloads -and `flowlogs2metrics` components to observe and check correctness for the raw flow-logs generated by OCP. +and `flowlogs-pipeline` components to observe and check correctness for the raw flow-logs generated by OCP. The script deploys three workloads: (1) egress from the cluster @@ -27,7 +27,7 @@ The script deploys three workloads: (3) pod-to-pod traffic Each workload is deployed into separate namespace to ease monitoring. -The script also deploys `flowlogs2metrics` on OCP with specific configuration that doesn't include any +The script also deploys `flowlogs-pipeline` on OCP with specific configuration that doesn't include any aggregation and/or export to prometheus, just simple dump of the logs into stdout after enrichment with k8s information (e.g. pod-name, namespace etc.). This allows usage of simple tools, such as `grep` to focus on specific flow-logs generated by OCP. diff --git a/docs/metrics.md b/docs/metrics.md index d8313bbf3..e27ab90a8 100644 --- a/docs/metrics.md +++ b/docs/metrics.md @@ -2,9 +2,9 @@ > Note: this file was automatically generated, to update execute "make generate-configuration" > Note: the data was generated from network definitions under the network_definitions folder -# flowlogs2metrics Metrics +# flowlogs-pipeline Metrics -Each table below provides documentation for an exported flowlogs2metrics metric. +Each table below provides documentation for an exported flowlogs-pipeline metric. The documentation describes the metric, the collected information from network flow-logs and the transformation to generate the exported metric. @@ -19,7 +19,7 @@ and the transformation to generate the exported metric. | **Usage** | Evaluate network usage breakdown per network service | | **Labels** | bandwidth, graph, rate, network-service | | **Operation** | aggregate by `service` and `sum` field `bytes` | -| **Exposed as** | `fl2m_bandwidth_per_network_service` of type `counter` | +| **Exposed as** | `flp_bandwidth_per_network_service` of type `counter` | | **Visualized as** | "Bandwidth per network service" on dashboard `details` | ||| @@ -31,7 +31,7 @@ and the transformation to generate the exported metric. | **Usage** | Evaluate network usage breakdown per source / destination subnet pair | | **Labels** | bandwidth, graph, rate, subnet | | **Operation** | aggregate by `dstSubnet24, srcSubnet24` and `sum` field `bytes` | -| **Exposed as** | `fl2m_bandwidth_per_source_destination_subnet` of type `counter` | +| **Exposed as** | `flp_bandwidth_per_source_destination_subnet` of type `counter` | | **Visualized as** | "Bandwidth per src and destination subnet" on dashboard `details` | ||| @@ -43,7 +43,7 @@ and the transformation to generate the exported metric. | **Usage** | Evaluate network usage breakdown per source subnet | | **Labels** | bandwidth, graph, rate, subnet | | **Operation** | aggregate by `srcSubnet` and `sum` field `bytes` | -| **Exposed as** | `fl2m_bandwidth_per_source_subnet` of type `counter` | +| **Exposed as** | `flp_bandwidth_per_source_subnet` of type `counter` | | **Visualized as** | "Bandwidth per source subnet" on dashboard `details` | ||| @@ -55,7 +55,7 @@ and the transformation to generate the exported metric. | **Usage** | Evaluate network connections per subnet | | **Labels** | rate, subnet | | **Operation** | aggregate by `dstSubnet` and `sum` field `isNewFlow` | -| **Exposed as** | `fl2m_connections_per_destination_subnet` of type `counter` | +| **Exposed as** | `flp_connections_per_destination_subnet` of type `counter` | | **Visualized as** | "Connections rate per destinationIP /16 subnets" on dashboard `details` | ||| @@ -67,7 +67,7 @@ and the transformation to generate the exported metric. | **Usage** | Evaluate network connections per subnet | | **Labels** | rate, subnet | | **Operation** | aggregate by `srcSubnet` and `count` | -| **Exposed as** | `fl2m_connections_per_source_subnet` of type `counter` | +| **Exposed as** | `flp_connections_per_source_subnet` of type `counter` | | **Visualized as** | "Connections rate per sourceIP /16 subnets" on dashboard `details` | ||| @@ -79,7 +79,7 @@ and the transformation to generate the exported metric. | **Usage** | Evaluate difference in connections rate of different TCP Flags. Can be used, for example, to identify syn-attacks. | | **Labels** | rate, TCPFlags | | **Operation** | aggregate by `TCPFlags` and `count` | -| **Exposed as** | `fl2m_connections_per_tcp_flags` of type `counter` | +| **Exposed as** | `flp_connections_per_tcp_flags` of type `counter` | | **Visualized as** | "Connections rate per TCPFlags" on dashboard `details` | ||| @@ -91,7 +91,7 @@ and the transformation to generate the exported metric. | **Usage** | Evaluate amount of connections targeted at different Autonomous Systems | | **Labels** | rate, count, AS | | **Operation** | aggregate by `dstAS` and `count` | -| **Exposed as** | `fl2m_connections_per_destination_as` of type `counter` | +| **Exposed as** | `flp_connections_per_destination_as` of type `counter` | | **Visualized as** | "Connections rate per destination AS" on dashboard `details` | ||| @@ -103,7 +103,7 @@ and the transformation to generate the exported metric. | **Usage** | Evaluate amount of connections initiated by different Autonomous Systems | | **Labels** | rate, count, AS | | **Operation** | aggregate by `srcAS` and `count` | -| **Exposed as** | `fl2m_connections_per_source_as` of type `counter` | +| **Exposed as** | `flp_connections_per_source_as` of type `counter` | | **Visualized as** | "Connections rate per source AS" on dashboard `details` | ||| @@ -115,7 +115,7 @@ and the transformation to generate the exported metric. | **Usage** | Evaluate network usage breakdown per source / destination subnet pair | | **Labels** | count, graph, rate, subnet | | **Operation** | aggregate by `dstSubnet24, srcSubnet24` and `count` | -| **Exposed as** | `fl2m_count_per_source_destination_subnet` of type `counter` | +| **Exposed as** | `flp_count_per_source_destination_subnet` of type `counter` | | **Visualized as** | "Connections rate of src / destination subnet occurences" on dashboard `details` | ||| @@ -127,7 +127,7 @@ and the transformation to generate the exported metric. | **Usage** | Evaluate network usage breakdown per destination subnet | | **Labels** | bandwidth, graph, rate, subnet | | **Operation** | aggregate by `dstSubnet` and `sum` field `bytes` | -| **Exposed as** | `fl2m_egress_per_destination_subnet` of type `counter` | +| **Exposed as** | `flp_egress_per_destination_subnet` of type `counter` | | **Visualized as** | "Bandwidth per destination subnet" on dashboard `details` | | **Visualized as** | "Total bandwidth" on dashboard `totals` | ||| @@ -140,7 +140,7 @@ and the transformation to generate the exported metric. | **Usage** | Evaluate network usage breakdown per namespace | | **Labels** | kubernetes, bandwidth, graph | | **Operation** | aggregate by `srcK8S_Namespace, srcK8S_Type` and `sum` field `bytes` | -| **Exposed as** | `fl2m_egress_per_namespace` of type `counter` | +| **Exposed as** | `flp_egress_per_namespace` of type `counter` | | **Visualized as** | "Bandwidth per namespace" on dashboard `details` | ||| @@ -152,7 +152,7 @@ and the transformation to generate the exported metric. | **Usage** | Evaluate network connections geo-location | | **Labels** | rate, connections-count, geo-location, destinationIP | | **Operation** | aggregate by `dstLocation_CountryName` and `count` | -| **Exposed as** | `fl2m_connections_per_destination_location` of type `counter` | +| **Exposed as** | `flp_connections_per_destination_location` of type `counter` | | **Visualized as** | "Connections rate per destinationIP geo-location" on dashboard `details` | ||| @@ -165,8 +165,8 @@ and the transformation to generate the exported metric. | **Labels** | bandwidth, mice, elephant, rate | | **Operation** | aggregate by `mice_Evaluate` and `count` | | **Operation** | aggregate by `elephant_Evaluate` and `count` | -| **Exposed as** | `fl2m_mice_count` of type `counter` | -| **Exposed as** | `fl2m_elephant_count` of type `counter` | +| **Exposed as** | `flp_mice_count` of type `counter` | +| **Exposed as** | `flp_elephant_count` of type `counter` | | **Visualized as** | "Mice flows count" on dashboard `details` | | **Visualized as** | "Elephant flows count" on dashboard `details` | ||| @@ -179,7 +179,7 @@ and the transformation to generate the exported metric. | **Usage** | Evaluate network services | | **Labels** | rate, network-services, destination-port, destination-protocol | | **Operation** | aggregate by `service` and `count` | -| **Exposed as** | `fl2m_service_count` of type `counter` | +| **Exposed as** | `flp_service_count` of type `counter` | | **Visualized as** | "Network services connections rate" on dashboard `details` | | **Visualized as** | "Number of network services" on dashboard `totals` | ||| diff --git a/go.mod b/go.mod index efb91dde1..22c39b264 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/netobserv/flowlogs2metrics +module github.com/netobserv/flowlogs-pipeline go 1.17 @@ -53,6 +53,8 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect + github.com/onsi/ginkgo v1.16.2 // indirect + github.com/onsi/gomega v1.13.0 // indirect github.com/pelletier/go-toml v1.9.4 // indirect github.com/pierrec/lz4 v2.6.1+incompatible // indirect github.com/pkg/errors v0.9.1 // indirect @@ -66,6 +68,7 @@ require ( github.com/stretchr/objx v0.2.0 // indirect github.com/subosito/gotenv v1.2.0 // indirect go.uber.org/atomic v1.9.0 // indirect + go.uber.org/goleak v1.1.11-0.20210813005559-691160354723 // indirect golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 // indirect golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b // indirect @@ -74,6 +77,8 @@ require ( google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa // indirect google.golang.org/grpc v1.43.0 // indirect + gopkg.in/DATA-DOG/go-sqlmock.v1 v1.3.0 // indirect + gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.66.2 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect diff --git a/go.sum b/go.sum index c545a1f72..95be3817b 100644 --- a/go.sum +++ b/go.sum @@ -80,6 +80,8 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/HdrHistogram/hdrhistogram-go v0.9.0/go.mod h1:nxrse8/Tzg2tg3DZcZjm6qEclQKK70g0KxO61gFFZD4= +github.com/HdrHistogram/hdrhistogram-go v1.1.0/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= +github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= @@ -91,7 +93,9 @@ github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/sarama v1.30.1/go.mod h1:hGgx05L/DiW8XYBXeJdKIN6V2QUy2H6JqME5VT1NLRw= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/Shopify/toxiproxy/v2 v2.1.6-0.20210914104332-15ea381dcdae/go.mod h1:/cvHQkZ1fst0EmZnA5dFtiQdWCNCFYzb+uE2vqVgvx0= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= @@ -109,6 +113,7 @@ github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-metrics v0.3.3/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= @@ -119,7 +124,12 @@ github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:o github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.35.5/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k= +github.com/aws/aws-sdk-go v1.40.45/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= +github.com/aws/aws-sdk-go-v2 v1.9.1/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.8.1/go.mod h1:CM+19rL1+4dFWnOQKwDc7H1KwXTz+h61oUSHyhV0b3o= +github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -131,10 +141,13 @@ github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+Wji github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +github.com/casbin/casbin/v2 v2.37.0/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.0.2/go.mod h1:eEew/i+1Q6OrCDZh3WiXYv3+nJwBASZ8Bog/87DQnVg= +github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= @@ -144,6 +157,7 @@ github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5P github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= @@ -184,7 +198,9 @@ github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDD github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-resiliency v1.2.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= @@ -208,11 +224,14 @@ github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLi github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= +github.com/franela/goblin v0.0.0-20210519012713-85d372ac71e2/go.mod h1:VzmDKDJVZI3aJmnRI9VjAn9nJ8qPPsN1fqzr9dqInIo= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/frankban/quicktest v1.11.3 h1:8sXhOn0uLys67V8EsXLc6eszDs8VXWxL3iRvebPhedY= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= @@ -309,6 +328,8 @@ github.com/go-openapi/validate v0.19.8/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85n github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= @@ -342,6 +363,7 @@ github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zV github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -442,6 +464,8 @@ github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51 github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= +github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= @@ -452,7 +476,9 @@ github.com/grpc-ecosystem/grpc-gateway v1.15.0/go.mod h1:vO11I9oWA+KsxmfFQPhLnnI github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= github.com/hashicorp/consul/api v1.7.0/go.mod h1:1NSuaUUkFaJzMasbfq/11wKYWSR67Xn6r2DXKhuDNFg= +github.com/hashicorp/consul/api v1.10.1/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= github.com/hashicorp/consul/api v1.11.0/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= +github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.6.0/go.mod h1:fY08Y9z5SvJqevyZNy6WWPXiG3KwBPAvlcdx16zZ0fM= github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= @@ -462,6 +488,7 @@ github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtng github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v0.12.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.2.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= @@ -477,6 +504,7 @@ github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjG github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -500,6 +528,7 @@ github.com/heptiolabs/healthcheck v0.0.0-20211123025425-613501dd5deb/go.mod h1:N github.com/hetznercloud/hcloud-go v1.22.0/go.mod h1:xng8lbDUg+xM1dgc0yGHX5EeqbwIq7UYlMWMTx3SQVg= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= +github.com/hudl/fargo v1.4.0/go.mod h1:9Ai6uvFy5fQNq6VPKtg+Ceq1+eTY4nKUlR2JElEOcDo= github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= @@ -510,6 +539,7 @@ github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANyt github.com/influxdata/flux v0.65.1/go.mod h1:J754/zds0vvpfwuq7Gc2wRdVwEodfpCFM7mYlOw2LqY= github.com/influxdata/influxdb v1.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= +github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/influxdata/influxql v1.1.1-0.20200828144457-65d3ef77d385/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk= github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE= github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8= @@ -518,6 +548,12 @@ github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mq github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po= github.com/ip2location/ip2location-go/v9 v9.2.0 h1:ZWURUspTpe2gxMQGtcQScocBd73gZKUEWlHCFUJYLHk= github.com/ip2location/ip2location-go/v9 v9.2.0/go.mod h1:s5SV6YZL10TpfPpXw//7fEJC65G/yH7Oh+Tjq9JcQEQ= +github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs= +github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM= +github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o= +github.com/jcmturner/goidentity/v6 v6.0.1/go.mod h1:X1YW3bgtvwAXju7V3LCIMpY0Gbxyjn/mY9zx4tFonSg= +github.com/jcmturner/gokrb5/v8 v8.4.2/go.mod h1:sb+Xq/fTY5yktf/VxLsE3wlfPqQjp0aWNYyvBVK62bc= +github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= @@ -551,6 +587,7 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.9.8/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= @@ -592,6 +629,7 @@ github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kN github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= @@ -611,6 +649,9 @@ github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3N github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= github.com/miekg/dns v1.1.31/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/miekg/dns v1.1.43/go.mod h1:+evo5L0630/F6ca/Z9+GAqzhjGyn8/c+TBaOyfEl0V4= +github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= +github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= @@ -622,6 +663,7 @@ github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0Qu github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= @@ -642,19 +684,25 @@ github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRW github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= +github.com/nats-io/jwt v1.2.2/go.mod h1:/xX356yQA6LuXI9xWW7mZNpxgF2mBmGecH+Fj34sP5Q= +github.com/nats-io/jwt/v2 v2.0.3/go.mod h1:VRP+deawSXyhNjXmxPCHskrR6Mq50BqpEI5SEcNiGlY= github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats-server/v2 v2.5.0/go.mod h1:Kj86UtrXAL6LwYRA6H4RqzkHhK0Vcv2ZnKD5WbQ1t3g= github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +github.com/nats-io/nats.go v1.12.1/go.mod h1:BPko4oXsySz4aSWeFgOHLZs3G4Jq4ZAyE6/zMCxRT6w= github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nkeys v0.2.0/go.mod h1:XdZpAbhgyyODYqjTawOnIOI7VlbKSarI9Gfy1tqEu/s= +github.com/nats-io/nkeys v0.3.0/go.mod h1:gvUNGjVcM2IPr5rCsRsC6Wb3Hr2CQAm08dsxtV6A5y4= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/netobserv/loki-client-go v0.0.0-20211018150932-cb17208397a9 h1:c2swm3EamzgjBq9idNbEs5bNz20FJo/HK6uxyigXekQ= github.com/netobserv/loki-client-go v0.0.0-20211018150932-cb17208397a9/go.mod h1:LHXpc5tjKvsfZn0pwLKrvlgEhZcCaw3Di9mUEZGAI4E= github.com/netsampler/goflow2 v1.0.5-0.20220106210010-20e8e567090c h1:1Hk5lzky++7t4O/cLwMoPXDXGgpja35Nf/U6rXXjEns= github.com/netsampler/goflow2 v1.0.5-0.20220106210010-20e8e567090c/go.mod h1:yqw2cLe+lbnDN1+JKBqxoj2FKOA83iB8wV0aCKnlesg= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= @@ -666,14 +714,16 @@ github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.2 h1:HFB2fbVIlhIfCfOW81bZFbiC/RvnpXSdhbF2/DJr134= +github.com/onsi/ginkgo v1.16.2/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.13.0 h1:7lLHu94wT9Ij0o6EWWclhu0aOh32VxhkwEJvzuWPeak= +github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= @@ -689,6 +739,9 @@ github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxS github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.2.5/go.mod h1:KpXfKdgRDnnhsxw4pNIH9Md5lyFqKUa4YDFlwRYAMyE= +github.com/oschwald/geoip2-golang v1.5.0/go.mod h1:xdvYt5xQzB8ORWFqPnqMwZpCpgNagttWdoZLlJQzg7s= +github.com/oschwald/maxminddb-golang v1.8.0/go.mod h1:RXZtst0N6+FY/3qCNmZMBApR19cdQj43/NM9VkrNAis= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= @@ -698,6 +751,7 @@ github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUr github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= +github.com/performancecopilot/speed/v4 v4.0.0/go.mod h1:qxrSyuDGrTOWfV+uKRFhfxw6h/4HXRGUiZiufxo49BM= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= @@ -743,6 +797,7 @@ github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8b github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.14.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.31.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= @@ -758,6 +813,7 @@ github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/prometheus/prometheus v1.8.2-0.20201028100903-3245b3267b24 h1:V/4Cj2GytqdqK7OMEz6c4LNjey3SNyfw3pg5jPKtJvQ= github.com/prometheus/prometheus v1.8.2-0.20201028100903-3245b3267b24/go.mod h1:MDRkz271loM/PrYN+wUNEaTMDGSP760MQzB0yEjdgSQ= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= @@ -770,14 +826,13 @@ github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig= +github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/samuel/go-zookeeper v0.0.0-20200724154423-2164a8ac840e/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= github.com/segmentio/kafka-go v0.2.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= -github.com/segmentio/kafka-go v0.4.27 h1:sIhEozeL/TLN2mZ5dkG462vcGEWYKS+u31sXPjKhAM4= -github.com/segmentio/kafka-go v0.4.27/go.mod h1:XzMcoMjSzDGHcIwpWUI7GB43iKZ2fTVmryPSGLf/MPg= github.com/segmentio/kafka-go v0.4.28 h1:ATYbyenAlsoFxnV+VpIJMF87bvRuRsX7fezHNfpwkdM= github.com/segmentio/kafka-go v0.4.28/go.mod h1:XzMcoMjSzDGHcIwpWUI7GB43iKZ2fTVmryPSGLf/MPg= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= @@ -820,7 +875,9 @@ github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8q github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/amqp v1.0.0/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= +github.com/streadway/handy v0.0.0-20200128134331-0f66f006fb2e/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= @@ -843,8 +900,12 @@ github.com/uber/jaeger-client-go v2.25.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMW github.com/uber/jaeger-lib v2.4.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= +github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= +github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c h1:u40Z8hqBAAQyv+vATcGgV0YCnDjqSL7/q/JyPhhJSPk= github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= @@ -860,9 +921,13 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs= +go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= go.mongodb.org/mongo-driver v1.1.2/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= @@ -883,16 +948,19 @@ go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.10 h1:z+mqJhf6ss6BSfSM671tgKyZBFPTTJM+HLxnhPC3wu0= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.1.11-0.20210813005559-691160354723 h1:sHOAIxRGBp443oHZIPB+HsUGaksVCXVQENPxwTfQdH4= +go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -910,10 +978,16 @@ golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191202143827-86a70503ff7e/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210314154223-e6e6c4f2bb5b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210915214749-c084706c2272/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210920023735-84f357641f63 h1:kETrAMYZq6WVGPa8IIixL0CaEcIUNi+1WX7grUoi3y8= +golang.org/x/crypto v0.0.0-20210920023735-84f357641f63/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -941,7 +1015,6 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= @@ -1005,9 +1078,12 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY= golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1050,6 +1126,7 @@ golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190228124157-a34e9553db1e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1078,6 +1155,7 @@ golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20191128015809-6d18c012aee9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191224085550-c709ea063b76/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1107,6 +1185,7 @@ golang.org/x/sys v0.0.0-20201008064518-c1f3e3309c71/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1129,10 +1208,12 @@ golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 h1:XfKQ4OlFl8okEOr5UvAqFRVj8pY/4yfcXrddB8qAbU0= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1152,6 +1233,7 @@ golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1224,6 +1306,7 @@ golang.org/x/tools v0.0.0-20201020161133-226fd2f889ca/go.mod h1:z6u4i615ZeAfBE4X golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= @@ -1231,7 +1314,6 @@ golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5 h1:ouewzE6p+/VEB31YYnTbEJdi8pFqKp4P4n85vwo3DHA= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1241,6 +1323,7 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8T gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= +gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= @@ -1278,6 +1361,7 @@ google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdr google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1346,6 +1430,7 @@ google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEc google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= @@ -1405,12 +1490,15 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +gopkg.in/DATA-DOG/go-sqlmock.v1 v1.3.0 h1:FVCohIoYO7IJoDDVpV2pdq7SgrMH6wHnuTyrdrxJNoY= +gopkg.in/DATA-DOG/go-sqlmock.v1 v1.3.0/go.mod h1:OdE7CF6DbADk7lN8LIKRzRJTTZXIjtWgA5THM5lhBAw= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= @@ -1460,6 +1548,7 @@ k8s.io/client-go v0.23.2 h1:BNbOcxa99jxHH8mM1cPKGIrrKRnCSAfAtyonYGsbFtE= k8s.io/client-go v0.23.2/go.mod h1:k3YbsWg6GWdHF1THHTQP88X9RhB1DWPo3Dq7KfU/D1c= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= diff --git a/hack/deploy-and-monitor-k8s-network-workload.sh b/hack/deploy-and-monitor-k8s-network-workload.sh index 6b05aa8fc..c3479b99a 100755 --- a/hack/deploy-and-monitor-k8s-network-workload.sh +++ b/hack/deploy-and-monitor-k8s-network-workload.sh @@ -20,9 +20,9 @@ COMMON_POD_YAML=$(cat <<-END END ) -create-flowlogs2metrics-conf-file() { - echo "====> Creating flowlogs2metrics conf file (/tmp/flowlogs2metrics.conf.yaml)" - cat > /tmp/flowlogs2metrics.conf.yaml < Creating flowlogs-pipeline conf file (/tmp/flowlogs-pipeline.conf.yaml)" + cat > /tmp/flowlogs-pipeline.conf.yaml < Deploying flowlogs2metrics project" +deploy-flowlogs-pipeline() { + create-flowlogs-pipeline-conf-file + echo "====> Deploying flowlogs-pipeline project" oc project default || true - export FL2M_CONF_FILE=/tmp/flowlogs2metrics.conf.yaml + export FLP_CONF_FILE=/tmp/flowlogs-pipeline.conf.yaml make ocp-deploy } @@ -230,9 +230,9 @@ main() { deploy-ingress-workload deploy-egress-workload deploy-pod-to-pod-workload - deploy-flowlogs2metrics + deploy-flowlogs-pipeline echo ":::====> Done executing" - POD_NAME=$(oc get pod -n default -l app=flowlogs2metrics -o jsonpath="{.items[0].metadata.name}") + POD_NAME=$(oc get pod -n default -l app=flowlogs-pipeline -o jsonpath="{.items[0].metadata.name}") echo "Use: kubectl logs $POD_NAME | grep ingress-workload" echo "Use: kubectl logs $POD_NAME | grep egress-workload" echo "Use: kubectl logs $POD_NAME | grep pod-to-pod-workload" diff --git a/hack/update-docs.sh b/hack/update-docs.sh index 3aaf79697..94a72a95c 100755 --- a/hack/update-docs.sh +++ b/hack/update-docs.sh @@ -3,9 +3,9 @@ set -eou pipefail update-readme() { - # update flowlogs2metrics command line output - help=$(./flowlogs2metrics --help | sed ':a;N;$!ba;s|\n| \\n|g') - md_tag=AUTO-flowlogs2metrics_help + # update flowlogs-pipeline command line output + help=$(./flowlogs-pipeline --help | sed ':a;N;$!ba;s|\n| \\n|g') + md_tag=AUTO-flowlogs-pipeline_help sed -z -i 's|.*|'"\n\`\`\`bash\n$help\n\`\`\`\n"'|g' README.md # update makefile help output diff --git a/network_definitions/bandwidth_per_network_service.yaml b/network_definitions/bandwidth_per_network_service.yaml index 114cbc7d6..2e9a89a9c 100644 --- a/network_definitions/bandwidth_per_network_service.yaml +++ b/network_definitions/bandwidth_per_network_service.yaml @@ -1,4 +1,4 @@ -#fl2m_confgen +#flp_confgen description: This metric observes the network bandwidth per network service details: @@ -36,7 +36,7 @@ encode: visualization: type: grafana grafana: - - expr: 'topk(10,rate(fl2m_bandwidth_per_network_service[1m]))' + - expr: 'topk(10,rate(flp_bandwidth_per_network_service[1m]))' type: graphPanel dashboard: details title: diff --git a/network_definitions/bandwidth_per_src_dest_subnet.yaml b/network_definitions/bandwidth_per_src_dest_subnet.yaml index a9fd1eba5..69bb5cb8f 100644 --- a/network_definitions/bandwidth_per_src_dest_subnet.yaml +++ b/network_definitions/bandwidth_per_src_dest_subnet.yaml @@ -1,4 +1,4 @@ -#fl2m_confgen +#flp_confgen description: This metric observes the network bandwidth per source and destination subnets details: @@ -41,7 +41,7 @@ encode: visualization: type: grafana grafana: - - expr: 'topk(10,rate(fl2m_bandwidth_per_source_destination_subnet[1m]))' + - expr: 'topk(10,rate(flp_bandwidth_per_source_destination_subnet[1m]))' type: graphPanel dashboard: details title: diff --git a/network_definitions/bandwidth_per_src_subnet.yaml b/network_definitions/bandwidth_per_src_subnet.yaml index bb7739e5f..8435b2e1b 100644 --- a/network_definitions/bandwidth_per_src_subnet.yaml +++ b/network_definitions/bandwidth_per_src_subnet.yaml @@ -1,4 +1,4 @@ -#fl2m_confgen +#flp_confgen description: This metric observes the network bandwidth per source subnet details: @@ -36,7 +36,7 @@ encode: visualization: type: grafana grafana: - - expr: 'topk(10,rate(fl2m_bandwidth_per_source_subnet[1m]))' + - expr: 'topk(10,rate(flp_bandwidth_per_source_subnet[1m]))' type: graphPanel dashboard: details title: diff --git a/network_definitions/config.yaml b/network_definitions/config.yaml index bb316eeef..2db867364 100644 --- a/network_definitions/config.yaml +++ b/network_definitions/config.yaml @@ -1,4 +1,4 @@ -## This is the main configuration file for flowlogs2metrics. It holds +## This is the main configuration file for flowlogs-pipeline. It holds ## all parameters needed for the creation of the configuration ## description: @@ -30,25 +30,25 @@ transform: output: dstAS encode: prom: - prefix: fl2m_ + prefix: flp_ port: 9102 write: type: loki loki: url: http://loki.default.svc.cluster.local:3100 staticLabels: - job: flowlogs2metrics + job: flowlogs-pipeline visualization: grafana: dashboards: - name: "totals" title: "Flow-Logs to Metrics - Totals" time_from: "now" - tags: "['fl2m','grafana','dashboard','total']" + tags: "['flp','grafana','dashboard','total']" schemaVersion: "16" - name: "details" title: "Flow-Logs to Metrics - Details" time_from: "now-15m" - tags: "['fl2m','grafana','dashboard','details']" + tags: "['flp','grafana','dashboard','details']" schemaVersion: "16" diff --git a/network_definitions/connection_rate_per_dest_subnet.yaml b/network_definitions/connection_rate_per_dest_subnet.yaml index c37ccd6ff..08e87613d 100644 --- a/network_definitions/connection_rate_per_dest_subnet.yaml +++ b/network_definitions/connection_rate_per_dest_subnet.yaml @@ -1,4 +1,4 @@ -#fl2m_confgen +#flp_confgen description: This metric observes network connections rate per destination subnet details: @@ -39,7 +39,7 @@ encode: visualization: type: grafana grafana: - - expr: 'topk(10,rate(fl2m_connections_per_destination_subnet[1m]))' + - expr: 'topk(10,rate(flp_connections_per_destination_subnet[1m]))' type: graphPanel dashboard: details title: diff --git a/network_definitions/connection_rate_per_src_subnet.yaml b/network_definitions/connection_rate_per_src_subnet.yaml index cf2a8c4d4..cf95b6465 100644 --- a/network_definitions/connection_rate_per_src_subnet.yaml +++ b/network_definitions/connection_rate_per_src_subnet.yaml @@ -1,4 +1,4 @@ -#fl2m_confgen +#flp_confgen description: This metric observes network connections rate per source subnet details: @@ -34,7 +34,7 @@ encode: visualization: type: grafana grafana: - - expr: 'topk(10,rate(fl2m_connections_per_source_subnet[1m]))' + - expr: 'topk(10,rate(flp_connections_per_source_subnet[1m]))' type: graphPanel dashboard: details title: diff --git a/network_definitions/connection_rate_per_tcp_flags.yaml b/network_definitions/connection_rate_per_tcp_flags.yaml index 3e4bfa6d2..713332e9f 100644 --- a/network_definitions/connection_rate_per_tcp_flags.yaml +++ b/network_definitions/connection_rate_per_tcp_flags.yaml @@ -1,4 +1,4 @@ -#fl2m_confgen +#flp_confgen description: This metric observes network connections rate per TCPFlags details: @@ -28,7 +28,7 @@ encode: visualization: type: grafana grafana: - - expr: 'topk(10,rate(fl2m_connections_per_tcp_flags[1m]))' + - expr: 'topk(10,rate(flp_connections_per_tcp_flags[1m]))' type: graphPanel dashboard: details title: diff --git a/network_definitions/connections_per_dst_as.yaml b/network_definitions/connections_per_dst_as.yaml index ed4acbf1a..4960c719b 100644 --- a/network_definitions/connections_per_dst_as.yaml +++ b/network_definitions/connections_per_dst_as.yaml @@ -1,4 +1,4 @@ -#fl2m_confgen +#flp_confgen description: This metric counts network connections per destination Autonomous System (AS) details: @@ -29,7 +29,7 @@ encode: visualization: type: grafana grafana: - - expr: 'topk(10,rate(fl2m_connections_per_destination_as[1m]))' + - expr: 'topk(10,rate(flp_connections_per_destination_as[1m]))' type: graphPanel dashboard: details title: diff --git a/network_definitions/connections_per_src_as.yaml b/network_definitions/connections_per_src_as.yaml index 1fba5b400..7d761658a 100644 --- a/network_definitions/connections_per_src_as.yaml +++ b/network_definitions/connections_per_src_as.yaml @@ -1,4 +1,4 @@ -#fl2m_confgen +#flp_confgen description: This metric counts network connections per source Autonomous System (AS) details: @@ -29,7 +29,7 @@ encode: visualization: type: grafana grafana: - - expr: 'topk(10,rate(fl2m_connections_per_source_as[1m]))' + - expr: 'topk(10,rate(flp_connections_per_source_as[1m]))' type: graphPanel dashboard: details title: diff --git a/network_definitions/count_per_src_dest_subnet.yaml b/network_definitions/count_per_src_dest_subnet.yaml index a4de62167..d30a1f5b1 100644 --- a/network_definitions/count_per_src_dest_subnet.yaml +++ b/network_definitions/count_per_src_dest_subnet.yaml @@ -1,4 +1,4 @@ -#fl2m_confgen +#flp_confgen description: This metric counts the number of distinct source / destination subnet pairs details: @@ -40,7 +40,7 @@ encode: visualization: type: grafana grafana: - - expr: 'topk(10,rate(fl2m_count_per_source_destination_subnet[1m]))' + - expr: 'topk(10,rate(flp_count_per_source_destination_subnet[1m]))' type: graphPanel dashboard: details title: diff --git a/network_definitions/egress_bandwidth_per_dest_subnet.yaml b/network_definitions/egress_bandwidth_per_dest_subnet.yaml index f1ef80f9e..cad589a27 100644 --- a/network_definitions/egress_bandwidth_per_dest_subnet.yaml +++ b/network_definitions/egress_bandwidth_per_dest_subnet.yaml @@ -1,4 +1,4 @@ -#fl2m_confgen +#flp_confgen description: This metric observes the network bandwidth per destination subnet details: @@ -36,12 +36,12 @@ encode: visualization: type: grafana grafana: - - expr: 'topk(10,rate(fl2m_egress_per_destination_subnet[1m]))' + - expr: 'topk(10,rate(flp_egress_per_destination_subnet[1m]))' type: graphPanel dashboard: details title: Bandwidth per destination subnet - - expr: 'sum(rate(fl2m_egress_per_destination_subnet[1m]))' + - expr: 'sum(rate(flp_egress_per_destination_subnet[1m]))' type: singleStat dashboard: totals title: diff --git a/network_definitions/egress_bandwidth_per_namespace.yaml b/network_definitions/egress_bandwidth_per_namespace.yaml index e86b326ac..cbfa5d49e 100644 --- a/network_definitions/egress_bandwidth_per_namespace.yaml +++ b/network_definitions/egress_bandwidth_per_namespace.yaml @@ -1,4 +1,4 @@ -#fl2m_confgen +#flp_confgen description: This metric observes the network bandwidth per namespace details: @@ -36,7 +36,7 @@ encode: visualization: type: grafana grafana: - - expr: 'topk(10,rate(fl2m_egress_per_namespace{aggregate=~".*pod.*"}[1m]))' + - expr: 'topk(10,rate(flp_egress_per_namespace{aggregate=~".*Pod.*"}[1m]))' type: graphPanel dashboard: details title: diff --git a/network_definitions/geo-location_rate_per_dest.yaml b/network_definitions/geo-location_rate_per_dest.yaml index e1a386993..2502f4b66 100644 --- a/network_definitions/geo-location_rate_per_dest.yaml +++ b/network_definitions/geo-location_rate_per_dest.yaml @@ -1,4 +1,4 @@ -#fl2m_confgen +#flp_confgen description: This metric observes connections geo-location rate per destination IP details: @@ -35,7 +35,7 @@ encode: visualization: type: grafana grafana: - - expr: 'topk(10,rate(fl2m_connections_per_destination_location[1m]))' + - expr: 'topk(10,rate(flp_connections_per_destination_location[1m]))' type: graphPanel dashboard: details title: diff --git a/network_definitions/mice_elephants.yaml b/network_definitions/mice_elephants.yaml index a507e2e2c..dd31e8975 100644 --- a/network_definitions/mice_elephants.yaml +++ b/network_definitions/mice_elephants.yaml @@ -1,4 +1,4 @@ -#fl2m_confgen +#flp_confgen description: This metric counts mice and elephant flows details: @@ -49,12 +49,12 @@ encode: visualization: type: grafana grafana: - - expr: 'rate(fl2m_mice_count{}[1m])' + - expr: 'rate(flp_mice_count{}[1m])' type: graphPanel dashboard: details title: Mice flows count - - expr: 'rate(fl2m_elephant_count{}[1m])' + - expr: 'rate(flp_elephant_count{}[1m])' type: graphPanel dashboard: details title: diff --git a/network_definitions/network_services_count.yaml b/network_definitions/network_services_count.yaml index df8fe32f5..94def0563 100644 --- a/network_definitions/network_services_count.yaml +++ b/network_definitions/network_services_count.yaml @@ -1,4 +1,4 @@ -#fl2m_confgen +#flp_confgen description: This metric observes network services rate (total) details: @@ -36,12 +36,12 @@ encode: visualization: type: grafana grafana: - - expr: 'topk(10,rate(fl2m_service_count[1m]))' + - expr: 'topk(10,rate(flp_service_count[1m]))' type: graphPanel dashboard: details title: Network services connections rate - - expr: 'count(fl2m_service_count)' + - expr: 'count(flp_service_count)' type: singleStat dashboard: totals title: diff --git a/pkg/confgen/confgen.go b/pkg/confgen/confgen.go index 8282fd7ce..2fc678988 100644 --- a/pkg/confgen/confgen.go +++ b/pkg/confgen/confgen.go @@ -19,8 +19,8 @@ package confgen import ( "fmt" - "github.com/netobserv/flowlogs2metrics/pkg/api" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/extract/aggregate" + "github.com/netobserv/flowlogs-pipeline/pkg/api" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/extract/aggregate" log "github.com/sirupsen/logrus" "gopkg.in/yaml.v2" "io/ioutil" @@ -30,7 +30,7 @@ import ( var ( definitionExt = ".yaml" - definitionHeader = "#fl2m_confgen" + definitionHeader = "#flp_confgen" configFileName = "config.yaml" ) diff --git a/pkg/confgen/confgen_test.go b/pkg/confgen/confgen_test.go index 1308696fa..802760297 100644 --- a/pkg/confgen/confgen_test.go +++ b/pkg/confgen/confgen_test.go @@ -48,7 +48,7 @@ func Test_checkHeader(t *testing.T) { require.NoError(t, err) } -const networkDefinitionConfiguration = `#fl2m_confgen +const networkDefinitionConfiguration = `#flp_confgen description: test description details: diff --git a/pkg/confgen/config.go b/pkg/confgen/config.go index 87fb7e387..15e530f88 100644 --- a/pkg/confgen/config.go +++ b/pkg/confgen/config.go @@ -18,7 +18,7 @@ package confgen import ( - "github.com/netobserv/flowlogs2metrics/pkg/api" + "github.com/netobserv/flowlogs-pipeline/pkg/api" log "github.com/sirupsen/logrus" "gopkg.in/yaml.v2" "io/ioutil" diff --git a/pkg/confgen/config_test.go b/pkg/confgen/config_test.go index 9f6a9f627..4dffbf03d 100644 --- a/pkg/confgen/config_test.go +++ b/pkg/confgen/config_test.go @@ -18,7 +18,7 @@ package confgen import ( - "github.com/netobserv/flowlogs2metrics/pkg/api" + "github.com/netobserv/flowlogs-pipeline/pkg/api" "github.com/stretchr/testify/require" "os" "testing" @@ -42,7 +42,7 @@ func expectedConfig() *Config { } const testConfig = `--- -## This is the main configuration file for flowlogs2metrics. It holds +## This is the main configuration file for flowlogs-pipeline. It holds ## all parameters needed for the creation of the configuration ## description: diff --git a/pkg/confgen/dedup.go b/pkg/confgen/dedup.go index 0cc623a46..e08c621ff 100644 --- a/pkg/confgen/dedup.go +++ b/pkg/confgen/dedup.go @@ -18,8 +18,8 @@ package confgen import ( - "github.com/netobserv/flowlogs2metrics/pkg/api" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/extract/aggregate" + "github.com/netobserv/flowlogs-pipeline/pkg/api" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/extract/aggregate" log "github.com/sirupsen/logrus" "reflect" ) @@ -30,6 +30,7 @@ func (cg *ConfGen) dedupe() { } type void struct{} + var voidMember void func dedupeNetworkTransformRules(rules api.NetworkTransformRules) api.NetworkTransformRules { diff --git a/pkg/confgen/dedup_test.go b/pkg/confgen/dedup_test.go index 14212ef66..30354a887 100644 --- a/pkg/confgen/dedup_test.go +++ b/pkg/confgen/dedup_test.go @@ -15,12 +15,11 @@ * */ - package confgen import ( - "github.com/netobserv/flowlogs2metrics/pkg/api" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/extract/aggregate" + "github.com/netobserv/flowlogs-pipeline/pkg/api" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/extract/aggregate" "github.com/stretchr/testify/require" "testing" ) diff --git a/pkg/confgen/doc.go b/pkg/confgen/doc.go index 6264134cd..445ca5e09 100644 --- a/pkg/confgen/doc.go +++ b/pkg/confgen/doc.go @@ -19,8 +19,8 @@ package confgen import ( "fmt" - "github.com/netobserv/flowlogs2metrics/pkg/api" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/extract/aggregate" + "github.com/netobserv/flowlogs-pipeline/pkg/api" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/extract/aggregate" "io/ioutil" "path/filepath" "strings" @@ -100,9 +100,9 @@ func (cg *ConfGen) generateDoc(fileName string) error { > Note: this file was automatically generated, to update execute "make generate-configuration" > Note: the data was generated from network definitions under the %s folder -# flowlogs2metrics Metrics +# flowlogs-pipeline Metrics -Each table below provides documentation for an exported flowlogs2metrics metric. +Each table below provides documentation for an exported flowlogs-pipeline metric. The documentation describes the metric, the collected information from network flow-logs and the transformation to generate the exported metric. diff --git a/pkg/confgen/encode.go b/pkg/confgen/encode.go index f70cfb0cb..0c4401acd 100644 --- a/pkg/confgen/encode.go +++ b/pkg/confgen/encode.go @@ -20,7 +20,7 @@ package confgen import ( "encoding/json" jsoniter "github.com/json-iterator/go" - "github.com/netobserv/flowlogs2metrics/pkg/api" + "github.com/netobserv/flowlogs-pipeline/pkg/api" log "github.com/sirupsen/logrus" ) diff --git a/pkg/confgen/extract.go b/pkg/confgen/extract.go index f1624a527..5ac10455b 100644 --- a/pkg/confgen/extract.go +++ b/pkg/confgen/extract.go @@ -20,7 +20,7 @@ package confgen import ( "encoding/json" jsoniter "github.com/json-iterator/go" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/extract/aggregate" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/extract/aggregate" log "github.com/sirupsen/logrus" ) diff --git a/pkg/confgen/flowlogs2metrics_config.go b/pkg/confgen/flowlogs2metrics_config.go index 28ba0ccac..b64960992 100644 --- a/pkg/confgen/flowlogs2metrics_config.go +++ b/pkg/confgen/flowlogs2metrics_config.go @@ -74,7 +74,7 @@ func (cg *ConfGen) generateFlowlogs2MetricsConfig(fileName string) error { if err != nil { return err } - header := "# This file was generated automatically by flowlogs2metrics confgenerator" + header := "# This file was generated automatically by flowlogs-pipeline confgenerator" data := fmt.Sprintf("%s\n%s\n", header, configData) err = ioutil.WriteFile(fileName, []byte(data), 0664) if err != nil { diff --git a/pkg/confgen/transform.go b/pkg/confgen/transform.go index e4b845ae1..7a2e241b0 100644 --- a/pkg/confgen/transform.go +++ b/pkg/confgen/transform.go @@ -20,7 +20,7 @@ package confgen import ( "encoding/json" jsoniter "github.com/json-iterator/go" - "github.com/netobserv/flowlogs2metrics/pkg/api" + "github.com/netobserv/flowlogs-pipeline/pkg/api" log "github.com/sirupsen/logrus" ) diff --git a/pkg/health/health.go b/pkg/health/health.go index cae863371..ad3288fd7 100644 --- a/pkg/health/health.go +++ b/pkg/health/health.go @@ -19,8 +19,8 @@ package health import ( "github.com/heptiolabs/healthcheck" - "github.com/netobserv/flowlogs2metrics/pkg/config" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline" + "github.com/netobserv/flowlogs-pipeline/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline" log "github.com/sirupsen/logrus" "net" "net/http" diff --git a/pkg/health/health_test.go b/pkg/health/health_test.go index 96a35be57..1f03e4f17 100644 --- a/pkg/health/health_test.go +++ b/pkg/health/health_test.go @@ -2,8 +2,8 @@ package health import ( "fmt" - "github.com/netobserv/flowlogs2metrics/pkg/config" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline" + "github.com/netobserv/flowlogs-pipeline/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline" "github.com/stretchr/testify/require" "net/http" "net/url" diff --git a/pkg/pipeline/decode/decode.go b/pkg/pipeline/decode/decode.go index 6fa78721e..f1c710474 100644 --- a/pkg/pipeline/decode/decode.go +++ b/pkg/pipeline/decode/decode.go @@ -18,7 +18,7 @@ package decode import ( - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/config" log "github.com/sirupsen/logrus" ) diff --git a/pkg/pipeline/decode/decode_aws.go b/pkg/pipeline/decode/decode_aws.go index 210d28313..d14bc11b1 100644 --- a/pkg/pipeline/decode/decode_aws.go +++ b/pkg/pipeline/decode/decode_aws.go @@ -19,8 +19,8 @@ package decode import ( "encoding/json" - "github.com/netobserv/flowlogs2metrics/pkg/api" - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/api" + "github.com/netobserv/flowlogs-pipeline/pkg/config" log "github.com/sirupsen/logrus" "strings" ) diff --git a/pkg/pipeline/decode/decode_aws_test.go b/pkg/pipeline/decode/decode_aws_test.go index f301e7868..142e41301 100644 --- a/pkg/pipeline/decode/decode_aws_test.go +++ b/pkg/pipeline/decode/decode_aws_test.go @@ -20,8 +20,8 @@ package decode import ( "bufio" jsoniter "github.com/json-iterator/go" - "github.com/netobserv/flowlogs2metrics/pkg/config" - "github.com/netobserv/flowlogs2metrics/pkg/test" + "github.com/netobserv/flowlogs-pipeline/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/test" "github.com/stretchr/testify/require" "strings" "testing" diff --git a/pkg/pipeline/decode/decode_json.go b/pkg/pipeline/decode/decode_json.go index 553636301..c8894a09c 100644 --- a/pkg/pipeline/decode/decode_json.go +++ b/pkg/pipeline/decode/decode_json.go @@ -19,7 +19,7 @@ package decode import ( "encoding/json" - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/config" log "github.com/sirupsen/logrus" ) diff --git a/pkg/pipeline/decode/decode_json_test.go b/pkg/pipeline/decode/decode_json_test.go index a801ef900..2d689b12e 100644 --- a/pkg/pipeline/decode/decode_json_test.go +++ b/pkg/pipeline/decode/decode_json_test.go @@ -18,7 +18,7 @@ package decode import ( - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/config" "github.com/stretchr/testify/require" "testing" ) diff --git a/pkg/pipeline/decode/decode_test.go b/pkg/pipeline/decode/decode_test.go index 3ea09aae0..ef93866cd 100644 --- a/pkg/pipeline/decode/decode_test.go +++ b/pkg/pipeline/decode/decode_test.go @@ -18,7 +18,7 @@ package decode import ( - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/config" "github.com/stretchr/testify/require" "testing" ) diff --git a/pkg/pipeline/encode/encode.go b/pkg/pipeline/encode/encode.go index 23ad757e3..05cdbcaa2 100644 --- a/pkg/pipeline/encode/encode.go +++ b/pkg/pipeline/encode/encode.go @@ -18,7 +18,7 @@ package encode import ( - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/config" log "github.com/sirupsen/logrus" ) diff --git a/pkg/pipeline/encode/encode_json.go b/pkg/pipeline/encode/encode_json.go index 920de9116..abb7816d3 100644 --- a/pkg/pipeline/encode/encode_json.go +++ b/pkg/pipeline/encode/encode_json.go @@ -19,7 +19,7 @@ package encode import ( "encoding/json" - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/config" log "github.com/sirupsen/logrus" ) diff --git a/pkg/pipeline/encode/encode_json_test.go b/pkg/pipeline/encode/encode_json_test.go index 8c0646db9..e49d9aff1 100644 --- a/pkg/pipeline/encode/encode_json_test.go +++ b/pkg/pipeline/encode/encode_json_test.go @@ -18,7 +18,7 @@ package encode import ( - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/config" "github.com/stretchr/testify/require" "testing" ) diff --git a/pkg/pipeline/encode/encode_kafka.go b/pkg/pipeline/encode/encode_kafka.go index b8c4eb818..548360ddd 100644 --- a/pkg/pipeline/encode/encode_kafka.go +++ b/pkg/pipeline/encode/encode_kafka.go @@ -19,8 +19,8 @@ package encode import ( "encoding/json" - "github.com/netobserv/flowlogs2metrics/pkg/api" - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/api" + "github.com/netobserv/flowlogs-pipeline/pkg/config" kafkago "github.com/segmentio/kafka-go" log "github.com/sirupsen/logrus" "golang.org/x/net/context" diff --git a/pkg/pipeline/encode/encode_kafka_test.go b/pkg/pipeline/encode/encode_kafka_test.go index ee71d3e8d..423355b3a 100644 --- a/pkg/pipeline/encode/encode_kafka_test.go +++ b/pkg/pipeline/encode/encode_kafka_test.go @@ -20,8 +20,8 @@ package encode import ( "encoding/json" jsoniter "github.com/json-iterator/go" - "github.com/netobserv/flowlogs2metrics/pkg/config" - "github.com/netobserv/flowlogs2metrics/pkg/test" + "github.com/netobserv/flowlogs-pipeline/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/test" kafkago "github.com/segmentio/kafka-go" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" diff --git a/pkg/pipeline/encode/encode_prom.go b/pkg/pipeline/encode/encode_prom.go index 6ee8f08df..b05b7bb6e 100644 --- a/pkg/pipeline/encode/encode_prom.go +++ b/pkg/pipeline/encode/encode_prom.go @@ -21,9 +21,9 @@ import ( "container/list" "encoding/json" "fmt" - "github.com/netobserv/flowlogs2metrics/pkg/api" - "github.com/netobserv/flowlogs2metrics/pkg/config" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/utils" + "github.com/netobserv/flowlogs-pipeline/pkg/api" + "github.com/netobserv/flowlogs-pipeline/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/utils" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" log "github.com/sirupsen/logrus" diff --git a/pkg/pipeline/encode/encode_prom_test.go b/pkg/pipeline/encode/encode_prom_test.go index 82c9a557d..0c6db68cc 100644 --- a/pkg/pipeline/encode/encode_prom_test.go +++ b/pkg/pipeline/encode/encode_prom_test.go @@ -20,8 +20,8 @@ package encode import ( "container/list" jsoniter "github.com/json-iterator/go" - "github.com/netobserv/flowlogs2metrics/pkg/config" - "github.com/netobserv/flowlogs2metrics/pkg/test" + "github.com/netobserv/flowlogs-pipeline/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/test" "github.com/prometheus/client_golang/prometheus/testutil" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/pipeline/encode/encode_test.go b/pkg/pipeline/encode/encode_test.go index 81a05f158..4b4b67fad 100644 --- a/pkg/pipeline/encode/encode_test.go +++ b/pkg/pipeline/encode/encode_test.go @@ -18,7 +18,7 @@ package encode import ( - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/config" "github.com/stretchr/testify/require" "testing" ) diff --git a/pkg/pipeline/extract/aggregate/aggregate.go b/pkg/pipeline/extract/aggregate/aggregate.go index ef884c274..05ec9201a 100644 --- a/pkg/pipeline/extract/aggregate/aggregate.go +++ b/pkg/pipeline/extract/aggregate/aggregate.go @@ -19,7 +19,7 @@ package aggregate import ( "fmt" - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/config" log "github.com/sirupsen/logrus" "math" "sort" diff --git a/pkg/pipeline/extract/aggregate/aggregate_test.go b/pkg/pipeline/extract/aggregate/aggregate_test.go index f29c71c5d..24c53d4ab 100644 --- a/pkg/pipeline/extract/aggregate/aggregate_test.go +++ b/pkg/pipeline/extract/aggregate/aggregate_test.go @@ -19,8 +19,8 @@ package aggregate import ( "fmt" - "github.com/netobserv/flowlogs2metrics/pkg/config" - "github.com/netobserv/flowlogs2metrics/pkg/test" + "github.com/netobserv/flowlogs-pipeline/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/test" "github.com/stretchr/testify/require" "strconv" "testing" diff --git a/pkg/pipeline/extract/aggregate/aggregates.go b/pkg/pipeline/extract/aggregate/aggregates.go index a0aaf2af5..5623a52ba 100644 --- a/pkg/pipeline/extract/aggregate/aggregates.go +++ b/pkg/pipeline/extract/aggregate/aggregates.go @@ -20,7 +20,7 @@ package aggregate import ( "encoding/json" "fmt" - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/config" log "github.com/sirupsen/logrus" "reflect" ) diff --git a/pkg/pipeline/extract/aggregate/aggregates_test.go b/pkg/pipeline/extract/aggregate/aggregates_test.go index fc75c178f..4a7c7d50e 100644 --- a/pkg/pipeline/extract/aggregate/aggregates_test.go +++ b/pkg/pipeline/extract/aggregate/aggregates_test.go @@ -20,7 +20,7 @@ package aggregate import ( "bytes" jsoniter "github.com/json-iterator/go" - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/config" "github.com/spf13/viper" "github.com/stretchr/testify/require" "testing" diff --git a/pkg/pipeline/extract/extract.go b/pkg/pipeline/extract/extract.go index 1834fec61..e33ba87f8 100644 --- a/pkg/pipeline/extract/extract.go +++ b/pkg/pipeline/extract/extract.go @@ -18,7 +18,7 @@ package extract import ( - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/config" log "github.com/sirupsen/logrus" ) diff --git a/pkg/pipeline/extract/extract_aggregate.go b/pkg/pipeline/extract/extract_aggregate.go index af8c82fe8..eda135eca 100644 --- a/pkg/pipeline/extract/extract_aggregate.go +++ b/pkg/pipeline/extract/extract_aggregate.go @@ -18,8 +18,8 @@ package extract import ( - "github.com/netobserv/flowlogs2metrics/pkg/config" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/extract/aggregate" + "github.com/netobserv/flowlogs-pipeline/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/extract/aggregate" log "github.com/sirupsen/logrus" ) diff --git a/pkg/pipeline/ingest/ingest_collector.go b/pkg/pipeline/ingest/ingest_collector.go index e044c6625..96f9b02ed 100644 --- a/pkg/pipeline/ingest/ingest_collector.go +++ b/pkg/pipeline/ingest/ingest_collector.go @@ -22,9 +22,9 @@ import ( "encoding/binary" "encoding/json" "fmt" - "github.com/netobserv/flowlogs2metrics/pkg/api" - "github.com/netobserv/flowlogs2metrics/pkg/config" - pUtils "github.com/netobserv/flowlogs2metrics/pkg/pipeline/utils" + "github.com/netobserv/flowlogs-pipeline/pkg/api" + "github.com/netobserv/flowlogs-pipeline/pkg/config" + pUtils "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/utils" "net" "time" diff --git a/pkg/pipeline/ingest/ingest_file.go b/pkg/pipeline/ingest/ingest_file.go index 43ef62c82..55794621b 100644 --- a/pkg/pipeline/ingest/ingest_file.go +++ b/pkg/pipeline/ingest/ingest_file.go @@ -20,8 +20,8 @@ package ingest import ( "bufio" "fmt" - "github.com/netobserv/flowlogs2metrics/pkg/config" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/utils" + "github.com/netobserv/flowlogs-pipeline/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/utils" log "github.com/sirupsen/logrus" "os" "time" diff --git a/pkg/pipeline/ingest/ingest_kafka.go b/pkg/pipeline/ingest/ingest_kafka.go index 4cb472123..26c6d528b 100644 --- a/pkg/pipeline/ingest/ingest_kafka.go +++ b/pkg/pipeline/ingest/ingest_kafka.go @@ -20,9 +20,9 @@ package ingest import ( "encoding/json" "errors" - "github.com/netobserv/flowlogs2metrics/pkg/api" - "github.com/netobserv/flowlogs2metrics/pkg/config" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/utils" + "github.com/netobserv/flowlogs-pipeline/pkg/api" + "github.com/netobserv/flowlogs-pipeline/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/utils" kafkago "github.com/segmentio/kafka-go" log "github.com/sirupsen/logrus" "golang.org/x/net/context" diff --git a/pkg/pipeline/ingest/ingest_kafka_test.go b/pkg/pipeline/ingest/ingest_kafka_test.go index f0fc3a03d..cf9723a43 100644 --- a/pkg/pipeline/ingest/ingest_kafka_test.go +++ b/pkg/pipeline/ingest/ingest_kafka_test.go @@ -19,8 +19,8 @@ package ingest import ( jsoniter "github.com/json-iterator/go" - "github.com/netobserv/flowlogs2metrics/pkg/config" - "github.com/netobserv/flowlogs2metrics/pkg/test" + "github.com/netobserv/flowlogs-pipeline/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/test" kafkago "github.com/segmentio/kafka-go" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" diff --git a/pkg/pipeline/pipeline.go b/pkg/pipeline/pipeline.go index 8ae8bcbc1..48282252c 100644 --- a/pkg/pipeline/pipeline.go +++ b/pkg/pipeline/pipeline.go @@ -20,13 +20,13 @@ package pipeline import ( "fmt" "github.com/heptiolabs/healthcheck" - "github.com/netobserv/flowlogs2metrics/pkg/config" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/decode" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/encode" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/extract" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/ingest" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/transform" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/write" + "github.com/netobserv/flowlogs-pipeline/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/decode" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/encode" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/extract" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/ingest" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/transform" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/write" log "github.com/sirupsen/logrus" ) diff --git a/pkg/pipeline/pipeline_test.go b/pkg/pipeline/pipeline_test.go index 2c15a1c14..a144b6210 100644 --- a/pkg/pipeline/pipeline_test.go +++ b/pkg/pipeline/pipeline_test.go @@ -19,12 +19,12 @@ package pipeline import ( "github.com/json-iterator/go" - "github.com/netobserv/flowlogs2metrics/pkg/config" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/decode" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/ingest" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/transform" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/write" - "github.com/netobserv/flowlogs2metrics/pkg/test" + "github.com/netobserv/flowlogs-pipeline/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/decode" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/ingest" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/transform" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/write" + "github.com/netobserv/flowlogs-pipeline/pkg/test" "github.com/stretchr/testify/require" "testing" ) @@ -55,17 +55,17 @@ pipeline: - type: generic generic: - input: Bytes - output: fl2m_bytes + output: flp_bytes - input: DstAddr - output: fl2m_dstAddr + output: flp_dstAddr - input: DstPort - output: fl2m_dstPort + output: flp_dstPort - input: Packets - output: fl2m_packets + output: flp_packets - input: SrcAddr - output: fl2m_srcAddr + output: flp_srcAddr - input: SrcPort - output: fl2m_srcPort + output: flp_srcPort extract: type: none encode: diff --git a/pkg/pipeline/transform/location/location.go b/pkg/pipeline/transform/location/location.go index 9aaf93f11..1b7da4183 100644 --- a/pkg/pipeline/transform/location/location.go +++ b/pkg/pipeline/transform/location/location.go @@ -47,7 +47,7 @@ const ( DBFileLocation = "/tmp/location_db.bin" DBZIPFileLocation = "/tmp/location_db.bin" + ".zip" // REF: Original location from ip2location DB is: "https://www.ip2location.com/download/?token=OpOljbgT6K2WJnFrFBBmBzRVNpHlcYqNN4CMeGavvh0pPOpyu16gKQyqvDMxTDF4&file=DB9LITEBIN" - DbUrl = "https://raw.githubusercontent.com/netobserv/flowlogs2metrics/main/contrib/location/location.db" + DbUrl = "https://raw.githubusercontent.com/netobserv/flowlogs-pipeline/main/contrib/location/location.db" ) var locationDB *ip2location.DB @@ -74,7 +74,6 @@ func init() { locationDBMutex = &sync.Mutex{} } - func InitLocationDB() error { locationDBMutex.Lock() defer locationDBMutex.Unlock() diff --git a/pkg/pipeline/transform/transform.go b/pkg/pipeline/transform/transform.go index 0b004ef12..1a9621f29 100644 --- a/pkg/pipeline/transform/transform.go +++ b/pkg/pipeline/transform/transform.go @@ -19,8 +19,8 @@ package transform import ( "encoding/json" - "github.com/netobserv/flowlogs2metrics/pkg/api" - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/api" + "github.com/netobserv/flowlogs-pipeline/pkg/config" log "github.com/sirupsen/logrus" "os" ) diff --git a/pkg/pipeline/transform/transform_generic.go b/pkg/pipeline/transform/transform_generic.go index e6bd96b3d..cc71cc951 100644 --- a/pkg/pipeline/transform/transform_generic.go +++ b/pkg/pipeline/transform/transform_generic.go @@ -18,8 +18,8 @@ package transform import ( - "github.com/netobserv/flowlogs2metrics/pkg/api" - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/api" + "github.com/netobserv/flowlogs-pipeline/pkg/config" log "github.com/sirupsen/logrus" ) diff --git a/pkg/pipeline/transform/transform_generic_test.go b/pkg/pipeline/transform/transform_generic_test.go index 709cb7b05..678b09430 100644 --- a/pkg/pipeline/transform/transform_generic_test.go +++ b/pkg/pipeline/transform/transform_generic_test.go @@ -19,8 +19,8 @@ package transform import ( "github.com/json-iterator/go" - "github.com/netobserv/flowlogs2metrics/pkg/config" - "github.com/netobserv/flowlogs2metrics/pkg/test" + "github.com/netobserv/flowlogs-pipeline/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/test" "github.com/stretchr/testify/require" "testing" ) diff --git a/pkg/pipeline/transform/transform_multiple_test.go b/pkg/pipeline/transform/transform_multiple_test.go index 544c81fdc..d44827443 100644 --- a/pkg/pipeline/transform/transform_multiple_test.go +++ b/pkg/pipeline/transform/transform_multiple_test.go @@ -19,8 +19,8 @@ package transform import ( "github.com/json-iterator/go" - "github.com/netobserv/flowlogs2metrics/pkg/config" - "github.com/netobserv/flowlogs2metrics/pkg/test" + "github.com/netobserv/flowlogs-pipeline/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/test" "github.com/stretchr/testify/require" "testing" ) diff --git a/pkg/pipeline/transform/transform_network.go b/pkg/pipeline/transform/transform_network.go index d65b8ae1a..291705848 100644 --- a/pkg/pipeline/transform/transform_network.go +++ b/pkg/pipeline/transform/transform_network.go @@ -21,11 +21,11 @@ import ( "bytes" "fmt" "github.com/Knetic/govaluate" - "github.com/netobserv/flowlogs2metrics/pkg/api" - "github.com/netobserv/flowlogs2metrics/pkg/config" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/transform/connection_tracking" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/transform/kubernetes" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/transform/location" + "github.com/netobserv/flowlogs-pipeline/pkg/api" + "github.com/netobserv/flowlogs-pipeline/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/transform/connection_tracking" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/transform/kubernetes" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/transform/location" log "github.com/sirupsen/logrus" "honnef.co/go/netdb" "net" diff --git a/pkg/pipeline/transform/transform_network_test.go b/pkg/pipeline/transform/transform_network_test.go index 03da355a8..5e0c6ef88 100644 --- a/pkg/pipeline/transform/transform_network_test.go +++ b/pkg/pipeline/transform/transform_network_test.go @@ -19,10 +19,10 @@ package transform import ( jsoniter "github.com/json-iterator/go" - "github.com/netobserv/flowlogs2metrics/pkg/api" - "github.com/netobserv/flowlogs2metrics/pkg/config" - "github.com/netobserv/flowlogs2metrics/pkg/pipeline/transform/location" - "github.com/netobserv/flowlogs2metrics/pkg/test" + "github.com/netobserv/flowlogs-pipeline/pkg/api" + "github.com/netobserv/flowlogs-pipeline/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/transform/location" + "github.com/netobserv/flowlogs-pipeline/pkg/test" "github.com/stretchr/testify/require" "testing" ) diff --git a/pkg/pipeline/write/write.go b/pkg/pipeline/write/write.go index c00050f02..31c110d35 100644 --- a/pkg/pipeline/write/write.go +++ b/pkg/pipeline/write/write.go @@ -18,7 +18,7 @@ package write import ( - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/config" log "github.com/sirupsen/logrus" ) diff --git a/pkg/pipeline/write/write_loki.go b/pkg/pipeline/write/write_loki.go index 2e18bf222..536153f78 100644 --- a/pkg/pipeline/write/write_loki.go +++ b/pkg/pipeline/write/write_loki.go @@ -20,13 +20,13 @@ package write import ( "encoding/json" "fmt" - "github.com/netobserv/flowlogs2metrics/pkg/api" - pUtils "github.com/netobserv/flowlogs2metrics/pkg/pipeline/utils" + "github.com/netobserv/flowlogs-pipeline/pkg/api" + pUtils "github.com/netobserv/flowlogs-pipeline/pkg/pipeline/utils" "math" "strings" "time" - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/config" logAdapter "github.com/go-kit/kit/log/logrus" jsonIter "github.com/json-iterator/go" diff --git a/pkg/pipeline/write/write_loki_test.go b/pkg/pipeline/write/write_loki_test.go index bcfed3e13..cb4a1db8d 100644 --- a/pkg/pipeline/write/write_loki_test.go +++ b/pkg/pipeline/write/write_loki_test.go @@ -22,7 +22,7 @@ import ( "encoding/json" "fmt" jsoniter "github.com/json-iterator/go" - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/config" "github.com/spf13/viper" "testing" "time" diff --git a/pkg/pipeline/write/write_stdout.go b/pkg/pipeline/write/write_stdout.go index 3609d2026..5563443fb 100644 --- a/pkg/pipeline/write/write_stdout.go +++ b/pkg/pipeline/write/write_stdout.go @@ -19,7 +19,7 @@ package write import ( "fmt" - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/config" log "github.com/sirupsen/logrus" "time" ) diff --git a/pkg/pipeline/write/write_stdout_test.go b/pkg/pipeline/write/write_stdout_test.go index 10e226c4d..ea10f8d33 100644 --- a/pkg/pipeline/write/write_stdout_test.go +++ b/pkg/pipeline/write/write_stdout_test.go @@ -18,7 +18,7 @@ package write import ( - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/config" "github.com/stretchr/testify/require" "testing" ) diff --git a/pkg/pipeline/write/write_test.go b/pkg/pipeline/write/write_test.go index 9daa95529..f48d4e95a 100644 --- a/pkg/pipeline/write/write_test.go +++ b/pkg/pipeline/write/write_test.go @@ -18,7 +18,7 @@ package write import ( - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/config" "github.com/stretchr/testify/require" "testing" ) diff --git a/pkg/test/utils.go b/pkg/test/utils.go index a83d964a2..77c32f9ee 100644 --- a/pkg/test/utils.go +++ b/pkg/test/utils.go @@ -19,7 +19,7 @@ package test import ( "bytes" - "github.com/netobserv/flowlogs2metrics/pkg/config" + "github.com/netobserv/flowlogs-pipeline/pkg/config" "github.com/spf13/viper" "github.com/stretchr/testify/require" "testing" diff --git a/playground/README.md b/playground/README.md index c60b8f4d8..54b4e03a6 100644 --- a/playground/README.md +++ b/playground/README.md @@ -2,12 +2,12 @@ This directory contains some sample config yml files and sample data to run some tests. -The flowlogs2metrics application requires a config yml file and requires an input source. +The flowlogs-pipeline application requires a config yml file and requires an input source. The input source is specified in the yml file. A simple test program is to run the following (from the base directory). ``` -flowlogs2metrics playground/aws1.yml +flowlogs-pipeline playground/aws1.yml ``` The aws? examples use a small file of prepared aws flow logs. diff --git a/playground/goflow3.yml b/playground/goflow3.yml index ca438fd22..f84c70c40 100644 --- a/playground/goflow3.yml +++ b/playground/goflow3.yml @@ -10,23 +10,23 @@ pipeline: - type: generic generic: - input: Bytes - output: fl2m_bytes + output: flp_bytes - input: DstAddr - output: fl2m_dstAddr + output: flp_dstAddr - input: DstHostIP - output: fl2m_dstHostIP + output: flp_dstHostIP - input: DstPort - output: fl2m_dstPort + output: flp_dstPort - input: Packets - output: fl2m_packets + output: flp_packets - input: SrcAddr - output: fl2m_srcAddr + output: flp_srcAddr - input: SrcHostIP - output: fl2m_srcHostIP + output: flp_srcHostIP - input: SrcPort - output: fl2m_srcPort + output: flp_srcPort - input: TimeReceived - output: fl2m_timestamp + output: flp_timestamp extract: type: none encode: diff --git a/playground/prom1.yml b/playground/prom1.yml index 00cc46af2..8d2a7248e 100644 --- a/playground/prom1.yml +++ b/playground/prom1.yml @@ -34,7 +34,7 @@ pipeline: type: prom prom: port: 9102 - prefix: fl2m_ + prefix: flp_ expirytime: 15 metrics: - name: totalBytes