gitextract_xxir9y9t/ ├── .dockerignore ├── .github/ │ ├── dependabot.yml │ └── workflows/ │ ├── close_state_issues.yml │ ├── docs.yml │ ├── lint.yml │ ├── release.yml │ └── test.yml ├── .gitignore ├── .golangci.yml ├── .goreleaser.yml ├── Dockerfile ├── LICENSE ├── README.md ├── cmd/ │ └── demo/ │ ├── getresponse.textproto │ ├── setrequest.textproto │ ├── setrequest2.textproto │ └── subscriberesponses.textproto ├── config.json ├── config.toml ├── config.yaml ├── docs/ │ ├── CNAME │ ├── basic_usage.md │ ├── blog/ │ │ └── index.md │ ├── changelog.md │ ├── cmd/ │ │ ├── capabilities.md │ │ ├── collector.md │ │ ├── diff/ │ │ │ ├── diff.md │ │ │ ├── diff_set_to_notifs.md │ │ │ └── diff_setrequest.md │ │ ├── generate/ │ │ │ ├── generate_path.md │ │ │ └── generate_set_request.md │ │ ├── generate.md │ │ ├── get.md │ │ ├── getset.md │ │ ├── listen.md │ │ ├── path.md │ │ ├── processor.md │ │ ├── prompt.md │ │ ├── proxy.md │ │ ├── set.md │ │ └── subscribe.md │ ├── deployments/ │ │ ├── clusters/ │ │ │ ├── containerlab/ │ │ │ │ ├── cluster_with_gnmi_server_and_prometheus_output.md │ │ │ │ ├── cluster_with_influxdb_output.md │ │ │ │ ├── cluster_with_nats_input_and_prometheus_output.md │ │ │ │ └── cluster_with_prometheus_output.md │ │ │ ├── docker-compose/ │ │ │ │ ├── cluster_with_influxdb_output.md │ │ │ │ ├── cluster_with_nats_input_and_prometheus_output.md │ │ │ │ └── cluster_with_prometheus_output.md │ │ │ └── kubernetes/ │ │ │ └── cluster_with_prometheus_output.md │ │ ├── deployments_intro.md │ │ ├── pipelines/ │ │ │ └── docker-compose/ │ │ │ ├── forked_pipeline.md │ │ │ ├── gnmic_cluster_nats_prometheus.md │ │ │ ├── nats_influxdb.md │ │ │ └── nats_prometheus.md │ │ └── single-instance/ │ │ ├── containerlab/ │ │ │ ├── influxdb-output.md │ │ │ ├── kafka-output.md │ │ │ ├── multiple-outputs.md │ │ │ ├── nats-output.md │ │ │ ├── prometheus-output.md │ │ │ └── prometheus-remote-write-output.md │ │ └── docker-compose/ │ │ ├── influxdb-output.md │ │ ├── kafka-output.md │ │ ├── multiple-outputs.md │ │ ├── nats-output.md │ │ └── prometheus-output.md │ ├── global_flags.md │ ├── index.md │ ├── install.md │ ├── stylesheets/ │ │ └── extra.css │ └── user_guide/ │ ├── HA.md │ ├── actions/ │ │ └── actions.md │ ├── api/ │ │ ├── api_intro.md │ │ ├── cluster.md │ │ ├── configuration.md │ │ ├── other.md │ │ └── targets.md │ ├── caching.md │ ├── collector/ │ │ ├── collector_api.md │ │ ├── collector_configuration.md │ │ └── collector_intro.md │ ├── configuration_env.md │ ├── configuration_file.md │ ├── configuration_flags.md │ ├── configuration_intro.md │ ├── event_processors/ │ │ ├── event_add_tag.md │ │ ├── event_allow.md │ │ ├── event_combine.md │ │ ├── event_convert.md │ │ ├── event_data_convert.md │ │ ├── event_date_string.md │ │ ├── event_delete.md │ │ ├── event_drop.md │ │ ├── event_duration_convert.md │ │ ├── event_extract_tags.md │ │ ├── event_group_by.md │ │ ├── event_ieeefloat32.md │ │ ├── event_jq.md │ │ ├── event_merge.md │ │ ├── event_override_ts.md │ │ ├── event_plugin.md │ │ ├── event_rate_limit.md │ │ ├── event_starlark.md │ │ ├── event_strings.md │ │ ├── event_time_epoch.md │ │ ├── event_to_tag.md │ │ ├── event_trigger.md │ │ ├── event_value_tag.md │ │ ├── event_write.md │ │ └── intro.md │ ├── gnmi_server.md │ ├── golang_package/ │ │ ├── examples/ │ │ │ ├── capabilities.md │ │ │ ├── get.md │ │ │ ├── set.md │ │ │ └── subscribe.md │ │ ├── gnmi_options.md │ │ ├── intro.md │ │ └── target_options.md │ ├── inputs/ │ │ ├── input_intro.md │ │ ├── jetstream_input.md │ │ ├── kafka_input.md │ │ ├── nats_input.md │ │ └── stan_input.md │ ├── outputs/ │ │ ├── asciigraph_output.md │ │ ├── file_output.md │ │ ├── gnmi_output.md │ │ ├── influxdb_output.md │ │ ├── jetstream_output.md │ │ ├── kafka_output.md │ │ ├── nats_output.md │ │ ├── otlp_output.md │ │ ├── output_intro.md │ │ ├── prometheus_output.md │ │ ├── prometheus_write_output.md │ │ ├── snmp_output.md │ │ ├── stan_output.md │ │ ├── tcp_output.md │ │ └── udp_output.md │ ├── prompt_suggestions.md │ ├── subscriptions.md │ ├── targets/ │ │ ├── target_discovery/ │ │ │ ├── consul_discovery.md │ │ │ ├── discovery_intro.md │ │ │ ├── docker_discovery.md │ │ │ ├── file_discovery.md │ │ │ └── http_discovery.md │ │ ├── targets.md │ │ └── targets_session_sec.md │ └── tunnel_server.md ├── examples/ │ ├── deployments/ │ │ ├── 1.single-instance/ │ │ │ ├── 1.nats-output/ │ │ │ │ ├── containerlab/ │ │ │ │ │ ├── gnmic.yaml │ │ │ │ │ └── nats.clab.yaml │ │ │ │ └── docker-compose/ │ │ │ │ ├── docker-compose.yaml │ │ │ │ └── gnmic1.yaml │ │ │ ├── 10.prometheus-with-cache/ │ │ │ │ └── containerlab/ │ │ │ │ ├── gnmic.yaml │ │ │ │ ├── grafana/ │ │ │ │ │ └── datasources/ │ │ │ │ │ └── datasource.yaml │ │ │ │ ├── prometheus/ │ │ │ │ │ └── prometheus.yaml │ │ │ │ └── prometheus.clab.yaml │ │ │ ├── 11.kafka-kraft-output/ │ │ │ │ └── containerlab/ │ │ │ │ ├── gnmic.yaml │ │ │ │ └── kafka.clab.yaml │ │ │ ├── 2.kafka-output/ │ │ │ │ ├── containerlab/ │ │ │ │ │ ├── gnmic.yaml │ │ │ │ │ └── kafka.clab.yaml │ │ │ │ └── docker-compose/ │ │ │ │ ├── docker-compose.yaml │ │ │ │ └── gnmic1.yaml │ │ │ ├── 3.influxdb-output/ │ │ │ │ ├── containerlab/ │ │ │ │ │ ├── gnmic.yaml │ │ │ │ │ ├── grafana/ │ │ │ │ │ │ └── datasources/ │ │ │ │ │ │ └── datasource.yaml │ │ │ │ │ └── influxdb.clab.yaml │ │ │ │ └── docker-compose/ │ │ │ │ ├── docker-compose.yaml │ │ │ │ └── gnmic1.yaml │ │ │ ├── 4.prometheus-output/ │ │ │ │ ├── containerlab/ │ │ │ │ │ ├── gnmic.yaml │ │ │ │ │ ├── grafana/ │ │ │ │ │ │ └── datasources/ │ │ │ │ │ │ └── datasource.yaml │ │ │ │ │ ├── prometheus/ │ │ │ │ │ │ └── prometheus.yaml │ │ │ │ │ └── prometheus.clab.yaml │ │ │ │ └── docker-compose/ │ │ │ │ ├── docker-compose.yaml │ │ │ │ ├── gnmic1.yaml │ │ │ │ └── prometheus/ │ │ │ │ └── prometheus.yaml │ │ │ ├── 5.multiple-outputs/ │ │ │ │ ├── containerlab/ │ │ │ │ │ ├── gnmic.yaml │ │ │ │ │ ├── grafana/ │ │ │ │ │ │ └── datasources/ │ │ │ │ │ │ └── datasource.yaml │ │ │ │ │ ├── multiple-outputs.clab.yaml │ │ │ │ │ └── prometheus/ │ │ │ │ │ └── prometheus.yaml │ │ │ │ └── docker-compose/ │ │ │ │ ├── docker-compose.yaml │ │ │ │ ├── gnmic1.yaml │ │ │ │ └── prometheus/ │ │ │ │ └── prometheus.yaml │ │ │ ├── 6.prometheus-write-output/ │ │ │ │ └── containerlab/ │ │ │ │ ├── gnmic.yaml │ │ │ │ ├── grafana/ │ │ │ │ │ └── datasources/ │ │ │ │ │ └── datasource.yaml │ │ │ │ ├── prometheus/ │ │ │ │ │ └── prometheus.yaml │ │ │ │ └── prometheus.clab.yaml │ │ │ ├── 7.cortex-output/ │ │ │ │ └── containerlab/ │ │ │ │ ├── cortex/ │ │ │ │ │ └── single-process-config-blocks.yaml │ │ │ │ ├── cortexmetrics.clab.yaml │ │ │ │ ├── gnmic.yaml │ │ │ │ └── grafana/ │ │ │ │ └── datasources/ │ │ │ │ └── datasource.yaml │ │ │ ├── 8.victoria-metrics-output/ │ │ │ │ └── containerlab/ │ │ │ │ ├── gnmic.yaml │ │ │ │ ├── grafana/ │ │ │ │ │ └── datasources/ │ │ │ │ │ └── datasource.yaml │ │ │ │ └── victoriametrics.clab.yaml │ │ │ └── 9.jetstream-output/ │ │ │ └── containerlab/ │ │ │ ├── gnmic.yaml │ │ │ └── jetstream.clab.yaml │ │ ├── 2.clusters/ │ │ │ ├── 1.influxdb-output/ │ │ │ │ ├── containerlab/ │ │ │ │ │ ├── gnmic.yaml │ │ │ │ │ ├── grafana/ │ │ │ │ │ │ └── datasources/ │ │ │ │ │ │ └── datasource.yaml │ │ │ │ │ └── lab21.clab.yaml │ │ │ │ └── docker-compose/ │ │ │ │ ├── docker-compose.yaml │ │ │ │ └── gnmic.yaml │ │ │ ├── 2.prometheus-output/ │ │ │ │ ├── containerlab/ │ │ │ │ │ ├── gnmic.yaml │ │ │ │ │ ├── grafana/ │ │ │ │ │ │ └── datasources/ │ │ │ │ │ │ └── datasource.yaml │ │ │ │ │ ├── lab22.clab.yaml │ │ │ │ │ └── prometheus/ │ │ │ │ │ └── prometheus.yaml │ │ │ │ ├── docker-compose/ │ │ │ │ │ ├── docker-compose.yaml │ │ │ │ │ ├── gnmic.yaml │ │ │ │ │ └── prometheus/ │ │ │ │ │ └── prometheus.yaml │ │ │ │ └── kubernetes/ │ │ │ │ ├── consul/ │ │ │ │ │ ├── deployment.yaml │ │ │ │ │ └── service.yaml │ │ │ │ ├── gnmic-app/ │ │ │ │ │ ├── configmap.yaml │ │ │ │ │ ├── secret.yaml │ │ │ │ │ ├── service.yaml │ │ │ │ │ └── statefulset.yaml │ │ │ │ └── prometheus/ │ │ │ │ └── servicemonitor.yaml │ │ │ ├── 3.nats-input-prometheus-output/ │ │ │ │ ├── containerlab/ │ │ │ │ │ ├── gnmic.yaml │ │ │ │ │ ├── grafana/ │ │ │ │ │ │ └── datasources/ │ │ │ │ │ │ └── datasource.yaml │ │ │ │ │ ├── lab23.clab.yaml │ │ │ │ │ └── prometheus/ │ │ │ │ │ └── prometheus.yaml │ │ │ │ └── docker-compose/ │ │ │ │ ├── docker-compose.yaml │ │ │ │ ├── gnmic.yaml │ │ │ │ └── prometheus/ │ │ │ │ └── prometheus.yaml │ │ │ ├── 4.gnmi-server/ │ │ │ │ └── containerlab/ │ │ │ │ ├── gnmi-server.clab.yaml │ │ │ │ ├── gnmic-agg.yaml │ │ │ │ ├── gnmic.yaml │ │ │ │ ├── grafana/ │ │ │ │ │ ├── dashboards/ │ │ │ │ │ │ └── gNMIc/ │ │ │ │ │ │ ├── gnmic_compute_metrics.json │ │ │ │ │ │ └── gnmic_grpc_metrics.json │ │ │ │ │ ├── dashboards.yaml │ │ │ │ │ └── datasources/ │ │ │ │ │ └── datasource.yaml │ │ │ │ └── prometheus/ │ │ │ │ └── prometheus.yaml │ │ │ └── 5.shared-cache/ │ │ │ ├── jetstream/ │ │ │ │ └── containerlab/ │ │ │ │ ├── gnmic.yaml │ │ │ │ ├── grafana/ │ │ │ │ │ └── datasources/ │ │ │ │ │ └── datasource.yaml │ │ │ │ ├── lab25-1.clab.yaml │ │ │ │ └── prometheus/ │ │ │ │ └── prometheus.yaml │ │ │ ├── nats/ │ │ │ │ └── containerlab/ │ │ │ │ ├── gnmic.yaml │ │ │ │ ├── grafana/ │ │ │ │ │ └── datasources/ │ │ │ │ │ └── datasource.yaml │ │ │ │ ├── lab25-2.clab.yaml │ │ │ │ └── prometheus/ │ │ │ │ └── prometheus.yaml │ │ │ └── redis/ │ │ │ └── containerlab/ │ │ │ ├── gnmic.yaml │ │ │ ├── grafana/ │ │ │ │ └── datasources/ │ │ │ │ └── datasource.yaml │ │ │ ├── lab25-3.clab.yaml │ │ │ └── prometheus/ │ │ │ └── prometheus.yaml │ │ └── 3.pipelines/ │ │ ├── 1.gnmic-nats-gnmic-prometheus/ │ │ │ ├── containerlab/ │ │ │ │ ├── gnmic-collector.yaml │ │ │ │ ├── gnmic-relay.yaml │ │ │ │ ├── grafana/ │ │ │ │ │ └── datasources/ │ │ │ │ │ └── datasource.yaml │ │ │ │ ├── lab31.clab.yaml │ │ │ │ └── prometheus/ │ │ │ │ └── prometheus.yaml │ │ │ └── docker-compose/ │ │ │ ├── docker-compose.yaml │ │ │ ├── gnmic-collector.yaml │ │ │ ├── gnmic-relay.yaml │ │ │ └── prometheus/ │ │ │ └── prometheus.yaml │ │ ├── 2.gnmic-nats-gnmic-influxdb/ │ │ │ ├── containerlab/ │ │ │ │ ├── gnmic-collector.yaml │ │ │ │ ├── gnmic-relay.yaml │ │ │ │ ├── grafana/ │ │ │ │ │ └── datasources/ │ │ │ │ │ └── datasource.yaml │ │ │ │ └── lab32.clab.yaml │ │ │ └── docker-compose/ │ │ │ ├── docker-compose.yaml │ │ │ ├── gnmic-collector.yaml │ │ │ └── gnmic-relay.yaml │ │ ├── 3a.gnmic-cluster-nats-gnmic-prometheus/ │ │ │ ├── containerlab/ │ │ │ │ ├── gnmic-relay.yaml │ │ │ │ ├── gnmic.yaml │ │ │ │ ├── grafana/ │ │ │ │ │ └── datasources/ │ │ │ │ │ └── datasource.yaml │ │ │ │ ├── lab33a.clab.yaml │ │ │ │ └── prometheus/ │ │ │ │ └── prometheus.yaml │ │ │ └── docker-compose/ │ │ │ ├── docker-compose.yaml │ │ │ ├── gnmic-collector.yaml │ │ │ ├── gnmic-relay.yaml │ │ │ └── prometheus/ │ │ │ └── prometheus.yaml │ │ ├── 3b.gnmic-cluster-nats-gnmic-cluster-prometheus/ │ │ │ ├── containerlab/ │ │ │ │ ├── gnmic-relay.yaml │ │ │ │ ├── gnmic.yaml │ │ │ │ ├── grafana/ │ │ │ │ │ └── datasources/ │ │ │ │ │ └── datasource.yaml │ │ │ │ ├── lab33b.clab.yaml │ │ │ │ └── prometheus/ │ │ │ │ └── prometheus.yaml │ │ │ └── docker-compose/ │ │ │ ├── docker-compose.yaml │ │ │ ├── gnmic-collector.yaml │ │ │ ├── gnmic-relay.yaml │ │ │ └── prometheus/ │ │ │ └── prometheus.yaml │ │ └── 4.gnmic-nats-gnmic-prometheus-gnmic-influxdb/ │ │ └── docker-compose/ │ │ ├── docker-compose.yaml │ │ ├── gnmic-collector.yaml │ │ ├── gnmic-relay1.yaml │ │ ├── gnmic-relay2.yaml │ │ └── prometheus/ │ │ └── prometheus.yaml │ ├── pkg/ │ │ ├── capabilities_rpc/ │ │ │ └── main.go │ │ ├── get_rpc/ │ │ │ └── main.go │ │ ├── set_rpc/ │ │ │ └── main.go │ │ └── subscribe_rpc/ │ │ └── main.go │ ├── plugins/ │ │ ├── demo/ │ │ │ └── main.go │ │ ├── event-add-hostname/ │ │ │ ├── README.md │ │ │ └── event-add-hostname.go │ │ ├── event-gnmi-get/ │ │ │ ├── README.md │ │ │ └── event-gnmi-get.go │ │ ├── go-event-plugin/ │ │ │ └── event-go-plugin.go │ │ └── minimal/ │ │ └── event-my-processor.go │ └── set-request-templates/ │ └── Nokia/ │ └── SRL/ │ ├── 1.interfaces/ │ │ ├── interfaces_template.gotmpl │ │ ├── interfaces_template_vars.yaml │ │ └── subinterfaces_template.gotmpl │ ├── 2.network-instance/ │ │ ├── network_instance_bgp_evpn_template.gotmpl │ │ ├── network_instance_bgp_template.gotmpl │ │ ├── network_instance_bgp_vpn_template.gotmpl │ │ ├── network_instance_template.gotmpl │ │ └── network_instance_template_vars.yaml │ └── 3.acl/ │ ├── acl_template.gotmpl │ └── acl_template_vars.yaml ├── go.mod ├── go.sum ├── goreleaser-alpine.dockerfile ├── goreleaser-scratch.dockerfile ├── install.sh ├── main.go ├── mkdocs.yml ├── pkg/ │ ├── actions/ │ │ ├── action.go │ │ ├── all/ │ │ │ └── all.go │ │ ├── gnmi_action/ │ │ │ ├── gnmi_action.go │ │ │ ├── gnmi_action_test.go │ │ │ └── options.go │ │ ├── http_action/ │ │ │ ├── http_action.go │ │ │ └── http_action_test.go │ │ ├── script_action/ │ │ │ ├── options.go │ │ │ └── script_action.go │ │ └── template_action/ │ │ ├── options.go │ │ └── template_action.go │ ├── api/ │ │ ├── gnmi_msgs.go │ │ ├── gnmi_msgs_test.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── path/ │ │ │ ├── path.go │ │ │ └── path_test.go │ │ ├── server/ │ │ │ ├── options.go │ │ │ └── server.go │ │ ├── target/ │ │ │ ├── subscribe.go │ │ │ └── target.go │ │ ├── target.go │ │ ├── target_test.go │ │ ├── testutils/ │ │ │ └── utils.go │ │ ├── tunnel.go │ │ ├── tunnel_test.go │ │ ├── types/ │ │ │ ├── sasl.go │ │ │ ├── subscription.go │ │ │ ├── target.go │ │ │ └── tls.go │ │ └── utils/ │ │ ├── tls.go │ │ ├── utils.go │ │ └── utils_test.go │ ├── app/ │ │ ├── api.go │ │ ├── app.go │ │ ├── capabilities.go │ │ ├── clustering.go │ │ ├── clustering_test.go │ │ ├── const.go │ │ ├── diff.go │ │ ├── generate.go │ │ ├── generatePath.go │ │ ├── get.go │ │ ├── getset.go │ │ ├── gnmi_client.go │ │ ├── gnmi_client_subscribe.go │ │ ├── gnmi_server.go │ │ ├── inputs.go │ │ ├── loaders.go │ │ ├── locker.go │ │ ├── logging.go │ │ ├── metrics.go │ │ ├── outputs.go │ │ ├── path.go │ │ ├── path_test.go │ │ ├── plugins.go │ │ ├── pprof.go │ │ ├── processor.go │ │ ├── prompt.go │ │ ├── proxy.go │ │ ├── routes.go │ │ ├── set-to-notifs.go │ │ ├── set.go │ │ ├── setrequest.go │ │ ├── subscribe.go │ │ ├── subscribe_once.go │ │ ├── subscribe_poll.go │ │ ├── subscribe_prompt.go │ │ ├── target.go │ │ ├── tree.go │ │ ├── tunnel.go │ │ ├── utils.go │ │ └── version.go │ ├── cache/ │ │ ├── cache.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── jetstream_cache.go │ │ ├── jetstream_cache_test.go │ │ ├── nats_cache.go │ │ ├── oc_cache.go │ │ ├── oc_cache_test.go │ │ ├── options.go │ │ └── redis_cache.go │ ├── cmd/ │ │ ├── capabilities/ │ │ │ └── capabilities.go │ │ ├── collector/ │ │ │ ├── collector.go │ │ │ ├── inputs.go │ │ │ ├── ouputs.go │ │ │ ├── processors.go │ │ │ ├── subscriptions.go │ │ │ └── targets.go │ │ ├── completion.go │ │ ├── diff/ │ │ │ └── diff.go │ │ ├── generate/ │ │ │ ├── generate.go │ │ │ ├── generatePath.go │ │ │ └── generateSetRequest.go │ │ ├── get/ │ │ │ └── get.go │ │ ├── getset/ │ │ │ └── getset.go │ │ ├── listener/ │ │ │ └── listener.go │ │ ├── path/ │ │ │ └── path.go │ │ ├── processor/ │ │ │ └── processor.go │ │ ├── prompt.go │ │ ├── prompt_test.go │ │ ├── proxy/ │ │ │ └── proxy.go │ │ ├── root.go │ │ ├── set/ │ │ │ └── set.go │ │ ├── subscribe/ │ │ │ └── subscribe.go │ │ ├── tree/ │ │ │ └── tree.go │ │ └── version/ │ │ ├── version.go │ │ └── versionUpgrade.go │ ├── collector/ │ │ ├── api/ │ │ │ ├── const/ │ │ │ │ └── const.go │ │ │ └── server/ │ │ │ ├── apiserver.go │ │ │ ├── apply.go │ │ │ ├── assignment.go │ │ │ ├── cluster.go │ │ │ ├── inputs.go │ │ │ ├── metrics.go │ │ │ ├── outputs.go │ │ │ ├── processors.go │ │ │ ├── routes.go │ │ │ ├── sse.go │ │ │ ├── subscriptions.go │ │ │ ├── targets.go │ │ │ └── tunnel_target_match.go │ │ ├── collector.go │ │ ├── env/ │ │ │ ├── env.go │ │ │ └── env_test.go │ │ ├── managers/ │ │ │ ├── cluster/ │ │ │ │ ├── assigner.go │ │ │ │ ├── cluster_manager.go │ │ │ │ ├── election.go │ │ │ │ ├── membership.go │ │ │ │ ├── placement.go │ │ │ │ ├── rebalance.go │ │ │ │ └── utils.go │ │ │ ├── inputs/ │ │ │ │ └── inputs_manager.go │ │ │ ├── outputs/ │ │ │ │ └── outputs_manager.go │ │ │ └── targets/ │ │ │ ├── cluster.go │ │ │ ├── loader.go │ │ │ ├── metrics.go │ │ │ ├── targets_manager.go │ │ │ └── tunnel_server.go │ │ └── store/ │ │ ├── store.go │ │ └── types.go │ ├── config/ │ │ ├── actions.go │ │ ├── api_server.go │ │ ├── clustering.go │ │ ├── config.go │ │ ├── config_test.go │ │ ├── diff.go │ │ ├── environment.go │ │ ├── gnmi_ext.go │ │ ├── gnmi_server.go │ │ ├── inputs.go │ │ ├── loader.go │ │ ├── locker.go │ │ ├── outputs.go │ │ ├── outputs_test.go │ │ ├── plugins.go │ │ ├── processors.go │ │ ├── processors_test.go │ │ ├── set.go │ │ ├── set_test.go │ │ ├── subscriptions.go │ │ ├── subscriptions_test.go │ │ ├── targets.go │ │ ├── targets_test.go │ │ └── tunnel_server.go │ ├── file/ │ │ └── file.go │ ├── formatters/ │ │ ├── all/ │ │ │ └── all.go │ │ ├── event.go │ │ ├── event_add_tag/ │ │ │ ├── event_add_tag.go │ │ │ └── event_add_tag_test.go │ │ ├── event_allow/ │ │ │ ├── event_allow.go │ │ │ └── event_allow_test.go │ │ ├── event_combine/ │ │ │ ├── event_combine.go │ │ │ └── event_combine_test/ │ │ │ └── event_combine_test.go │ │ ├── event_convert/ │ │ │ ├── event_convert.go │ │ │ └── event_convert_test.go │ │ ├── event_data_convert/ │ │ │ ├── event_data_convert.go │ │ │ └── event_data_convert_test.go │ │ ├── event_date_string/ │ │ │ ├── event_date_string.go │ │ │ └── event_date_string_test.go │ │ ├── event_delete/ │ │ │ ├── event_delete.go │ │ │ └── event_delete_test.go │ │ ├── event_drop/ │ │ │ ├── event_drop.go │ │ │ └── event_drop_test.go │ │ ├── event_duration_convert/ │ │ │ ├── event_duration_convert.go │ │ │ └── event_duration_convert_test.go │ │ ├── event_extract_tags/ │ │ │ ├── event_extract_tags.go │ │ │ └── event_extract_tags_test.go │ │ ├── event_group_by/ │ │ │ ├── event_group_by.go │ │ │ └── event_group_by_test.go │ │ ├── event_ieeefloat32/ │ │ │ ├── event_ieeefloat32.go │ │ │ └── event_ieeefloat32_test.go │ │ ├── event_jq/ │ │ │ ├── event_jq.go │ │ │ └── event_jq_test.go │ │ ├── event_merge/ │ │ │ ├── event_merge.go │ │ │ └── event_merge_test.go │ │ ├── event_override_ts/ │ │ │ ├── event_override_ts.go │ │ │ └── event_override_ts_test.go │ │ ├── event_plugin/ │ │ │ ├── plugin.go │ │ │ └── rpc.go │ │ ├── event_rate_limit/ │ │ │ ├── event_rate_limit.go │ │ │ └── event_rate_limit_test.go │ │ ├── event_starlark/ │ │ │ ├── dict.go │ │ │ ├── event.go │ │ │ ├── event_starlark.go │ │ │ └── event_starlark_test.go │ │ ├── event_strings/ │ │ │ ├── event_strings.go │ │ │ └── event_strings_test.go │ │ ├── event_test.go │ │ ├── event_time_epoch/ │ │ │ ├── event_time_epoch.go │ │ │ └── event_time_epoch_test.go │ │ ├── event_to_tag/ │ │ │ ├── event_to_tag.go │ │ │ └── event_to_tag_test.go │ │ ├── event_trigger/ │ │ │ ├── event_trigger.go │ │ │ └── event_trigger_test.go │ │ ├── event_value_tag/ │ │ │ ├── event_value_tag.go │ │ │ └── event_value_tag_test.go │ │ ├── event_value_tag_v2/ │ │ │ ├── event_value_tag_v2.go │ │ │ └── event_value_tag_v2_test.go │ │ ├── event_write/ │ │ │ ├── event_write.go │ │ │ └── event_write_test.go │ │ ├── flat.go │ │ ├── formats.go │ │ ├── json.go │ │ ├── msg.go │ │ ├── plugin_manager/ │ │ │ └── manager.go │ │ ├── processors.go │ │ └── processors_test.go │ ├── gtemplate/ │ │ ├── template.go │ │ └── template_funcs.go │ ├── inputs/ │ │ ├── all/ │ │ │ └── all.go │ │ ├── input.go │ │ ├── jetstream_input/ │ │ │ ├── jetstream_input.go │ │ │ └── jetstream_input_test.go │ │ ├── kafka_input/ │ │ │ ├── kafka_input.go │ │ │ └── kafka_scram_client.go │ │ └── nats_input/ │ │ └── nats_input.go │ ├── loaders/ │ │ ├── all/ │ │ │ └── all.go │ │ ├── consul_loader/ │ │ │ ├── consul_loader.go │ │ │ ├── consul_loader_metrics.go │ │ │ ├── consul_loader_test.go │ │ │ └── options.go │ │ ├── docker_loader/ │ │ │ ├── docker_loader.go │ │ │ ├── docker_loader_metrics.go │ │ │ └── options.go │ │ ├── file_loader/ │ │ │ ├── file_loader.go │ │ │ ├── file_loader_metrics.go │ │ │ └── options.go │ │ ├── http_loader/ │ │ │ ├── http_loader.go │ │ │ ├── http_loader_metrics.go │ │ │ ├── http_loader_test.go │ │ │ └── options.go │ │ ├── loaders.go │ │ ├── loaders_test.go │ │ └── option.go │ ├── lockers/ │ │ ├── all/ │ │ │ └── all.go │ │ ├── consul_locker/ │ │ │ ├── consul_locker.go │ │ │ └── consul_registration.go │ │ ├── k8s_locker/ │ │ │ ├── k8s_locker.go │ │ │ └── k8s_registration.go │ │ ├── locker.go │ │ └── redis_locker/ │ │ ├── redis_locker.go │ │ └── redis_registration.go │ ├── logging/ │ │ └── logging.go │ ├── outputs/ │ │ ├── all/ │ │ │ └── all.go │ │ ├── asciigraph_output/ │ │ │ └── asciigraph.go │ │ ├── file/ │ │ │ ├── file_metrics.go │ │ │ ├── file_output.go │ │ │ └── rotating_file.go │ │ ├── gnmi_output/ │ │ │ ├── gnmi_output.go │ │ │ ├── gnmi_server.go │ │ │ ├── gnmi_server_get.go │ │ │ ├── gnmi_server_set.go │ │ │ └── gnmi_server_subscribe.go │ │ ├── influxdb_output/ │ │ │ ├── influxdb_cache.go │ │ │ └── influxdb_output.go │ │ ├── kafka_output/ │ │ │ ├── kafka_metrics.go │ │ │ ├── kafka_output.go │ │ │ └── kafka_scram_client.go │ │ ├── nats_outputs/ │ │ │ ├── jetstream/ │ │ │ │ ├── jetstream_output.go │ │ │ │ ├── jetstream_output_metrics.go │ │ │ │ └── jetstream_output_test.go │ │ │ └── nats/ │ │ │ ├── nats_metrics.go │ │ │ └── nats_output.go │ │ ├── options.go │ │ ├── otlp_output/ │ │ │ ├── otlp_converter.go │ │ │ ├── otlp_metrics.go │ │ │ ├── otlp_output.go │ │ │ └── otlp_output_test.go │ │ ├── output.go │ │ ├── prometheus_output/ │ │ │ ├── prometheus_common.go │ │ │ ├── prometheus_common_test.go │ │ │ ├── prometheus_output/ │ │ │ │ ├── prometheus_cache.go │ │ │ │ ├── prometheus_metrics.go │ │ │ │ ├── prometheus_output.go │ │ │ │ └── prometheus_service_registration.go │ │ │ └── prometheus_write_output/ │ │ │ ├── prometheus_write_client.go │ │ │ ├── prometheus_write_metrics.go │ │ │ └── prometheus_write_output.go │ │ ├── protometa.go │ │ ├── snmp_output/ │ │ │ ├── snmp_metrics.go │ │ │ └── snmp_output.go │ │ ├── tcp_output/ │ │ │ └── tcp_output.go │ │ └── udp_output/ │ │ └── udp_output.go │ ├── pipeline/ │ │ └── pipeline.go │ ├── utils/ │ │ ├── authbrearer.go │ │ ├── gnmi.go │ │ ├── gnmiext.go │ │ └── store.go │ └── version/ │ └── version.go └── tests/ ├── api.sh ├── capabilities_cmd.sh ├── clab/ │ ├── labN.clab.yaml │ ├── loaders/ │ │ ├── gnmic-agg.yaml │ │ ├── gnmic-docker-loader.yaml │ │ ├── gnmic-file-loader.yaml │ │ ├── loaders.clab.yaml │ │ ├── loaders.clab_vars.yaml │ │ └── targets/ │ │ └── targets.yaml │ ├── telemetry/ │ │ ├── gnmic-agg.yaml │ │ ├── gnmic.yaml │ │ ├── grafana/ │ │ │ ├── dashboards.yaml │ │ │ └── datasources/ │ │ │ └── datasource.yaml │ │ ├── prometheus/ │ │ │ └── prometheus.yaml │ │ └── telemetry.clab.yaml │ └── test_lab1.clab.yaml ├── cleanup.sh ├── cluster_checks.sh ├── cluster_funcs.sh ├── configs/ │ ├── gnmic1.yaml │ ├── gnmic2.yaml │ ├── gnmic3.yaml │ ├── gnmic4.yaml │ ├── gnmic_env.yaml │ └── node/ │ ├── interface.json │ ├── interface.yaml │ ├── replace_request_file.yaml │ └── update_request_file.yaml ├── consul_templates/ │ └── all_services.tpl ├── dashboards/ │ └── gNMIc/ │ ├── gnmic_compute_metrics.json │ └── gnmic_grpc_metrics.json ├── deploy.sh ├── env_vars.sh ├── generate_cmd.sh ├── generate_path_cmd.sh ├── get_cmd.sh ├── loaders.sh ├── metrics/ │ ├── gnmic.yaml │ ├── grafana/ │ │ ├── dashboards.yaml │ │ └── datasources/ │ │ └── datasource.yaml │ ├── metrics.clab.yaml │ ├── prometheus/ │ │ └── prometheus.yaml │ └── run.sh ├── run.sh ├── run_tests.sh ├── set_cmd.sh ├── subscribe_once_cmd.sh ├── telemetry_labs.sh └── version_cmd.sh