master c69eb859248f cached
940 files
97.3 MB
2.2M tokens
183 symbols
1 requests
Download .txt
Showing preview only (9,071K chars total). Download the full file or copy to clipboard to get everything.
Repository: yandex-cloud/yc-solution-library-for-security
Branch: master
Commit: c69eb859248f
Files: 940
Total size: 97.3 MB

Directory structure:
gitextract_eoozv27b/

├── .gitignore
├── CATALOG.md
├── README.md
├── README_EN.md
├── auditlogs/
│   ├── _use_cases_and_searches/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── Use-casesANDsearches.docx
│   │   └── Use-casesANDsearches_RU.docx
│   ├── cilium-s3/
│   │   ├── Dockerfile
│   │   ├── Dockerfile old
│   │   ├── README.md
│   │   ├── cmd/
│   │   │   └── cilium-exporter/
│   │   │       └── main.go
│   │   ├── config.yaml.example
│   │   ├── go.mod
│   │   ├── go.sum
│   │   ├── internal/
│   │   │   ├── hubble/
│   │   │   │   └── observer.go
│   │   │   └── s3/
│   │   │       └── sender.go
│   │   └── kubernetes/
│   │       └── cilium-s3-chart/
│   │           ├── .helmignore
│   │           ├── Chart.yaml
│   │           ├── cilium-s3-chart-0.1.0.tgz
│   │           ├── index.yaml
│   │           ├── templates/
│   │           │   ├── deployment.yaml
│   │           │   └── secret.yaml
│   │           └── values.yaml
│   ├── export-auditlogs-to-ArcSight/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── Use-cases.docx
│   │   ├── arcsight_content/
│   │   │   ├── README.md
│   │   │   ├── YandexCloud.arb
│   │   │   ├── flex/
│   │   │   │   ├── map.0.properties
│   │   │   │   └── yc.jsonparser.properties
│   │   │   ├── samples/
│   │   │   │   ├── 041738547.json
│   │   │   │   ├── 042624546.json
│   │   │   │   ├── 134730901.json
│   │   │   │   ├── 151859118.json
│   │   │   │   └── 155732665.json
│   │   │   └── Поля ArcSight_JSON.docx
│   │   └── images/
│   │       ├── arcsight.drawio
│   │       └── arcsight_2.drawio
│   ├── export-auditlogs-to-ELK_k8s/
│   │   ├── README.md
│   │   ├── examples/
│   │   │   ├── README.md
│   │   │   ├── main.tf
│   │   │   ├── provider.tf
│   │   │   ├── terraform.tfvars.example
│   │   │   └── variables.tf
│   │   ├── images/
│   │   │   ├── Logo-scheme.drawio
│   │   │   └── Tech_scheme.drawio
│   │   ├── k8s-events-siem-worker/
│   │   │   └── 2.0.0/
│   │   │       ├── Dockerfile
│   │   │       ├── Dockerfile.old
│   │   │       ├── README.md
│   │   │       └── function/
│   │   │           ├── main.py
│   │   │           └── requirements.txt
│   │   └── modules/
│   │       ├── 00-sa-and-bucket.tf
│   │       ├── 01-function-and-mq.tf
│   │       ├── 02-worker.tf
│   │       ├── 03-infra.tf
│   │       ├── 04-audit-export.tf
│   │       ├── 05-falco.tf
│   │       ├── 06-kyverno.tf
│   │       ├── Readme.md
│   │       ├── chart/
│   │       │   ├── .helmignore
│   │       │   ├── Chart.yaml
│   │       │   ├── templates/
│   │       │   │   ├── _helpers.tpl
│   │       │   │   ├── _server.tpl
│   │       │   │   ├── server-cm.yaml
│   │       │   │   ├── server-deploy.yaml
│   │       │   │   └── server-secret.yaml
│   │       │   └── values.yaml
│   │       ├── function/
│   │       │   ├── Makefile
│   │       │   ├── main.py
│   │       │   ├── requirements.txt
│   │       │   └── test.py
│   │       ├── outputs.tf
│   │       ├── pusher/
│   │       │   ├── Makefile
│   │       │   ├── main.py
│   │       │   ├── requirements.txt
│   │       │   └── test.py
│   │       ├── templates/
│   │       │   ├── auditlog-worker-limits.yaml
│   │       │   ├── falco-base.yaml
│   │       │   ├── falco-worker-limits.yaml
│   │       │   ├── falcosidekick-base.yaml
│   │       │   ├── kubeconfig-template.yaml.tpl
│   │       │   ├── kyverno-base.yaml
│   │       │   ├── kyverno-worker-limits.yaml
│   │       │   ├── policy-reporter-base.yaml
│   │       │   └── yc-mk8s.ca
│   │       ├── variables.tf
│   │       └── versions.tf
│   ├── export-auditlogs-to-ELK_k8s_old/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── example/
│   │   │   ├── README.md
│   │   │   ├── README_RU.md
│   │   │   ├── main.tf
│   │   │   └── provider.tf
│   │   ├── images/
│   │   │   ├── Logo-scheme.drawio
│   │   │   └── Tech_scheme.drawio
│   │   ├── security-events-to-siem-importer/
│   │   │   ├── 01-function-and-mq.tf
│   │   │   ├── 02-coi-worker.tf
│   │   │   ├── README.md
│   │   │   ├── pusher/
│   │   │   │   ├── Makefile
│   │   │   │   ├── main.py
│   │   │   │   ├── requirements.txt
│   │   │   │   └── test.py
│   │   │   ├── variables.tf
│   │   │   ├── versions.tf
│   │   │   └── worker/
│   │   │       ├── Dockerfile
│   │   │       ├── cloud-init.tpl.yaml
│   │   │       ├── docker-compose.yml
│   │   │       ├── docker-declaration-auditlog.yaml
│   │   │       ├── docker-declaration-falco.yaml
│   │   │       ├── docker-declaration-kyverno.yaml
│   │   │       └── function/
│   │   │           ├── main.py
│   │   │           └── requirements.txt
│   │   └── security-events-to-storage-exporter/
│   │       ├── 00-infra.tf
│   │       ├── 01-audit-export.tf
│   │       ├── 02-kubernetes-falco.tf
│   │       ├── 03-kyverno.tf
│   │       ├── README.md
│   │       ├── example/
│   │       │   ├── main.tf
│   │       │   └── provider.tf
│   │       ├── function/
│   │       │   ├── Makefile
│   │       │   ├── main.py
│   │       │   ├── requirements.txt
│   │       │   └── test.py
│   │       ├── outputs.tf
│   │       ├── templates/
│   │       │   ├── falco-base.yaml
│   │       │   ├── falcosidekick-base.yaml
│   │       │   ├── kubeconfig-template.yaml.tpl
│   │       │   └── yc-mk8s.ca
│   │       ├── variables.tf
│   │       └── versions.tf
│   ├── export-auditlogs-to-ELK_main/
│   │   ├── AUTHORS
│   │   ├── CONFIGURE-HA.md
│   │   ├── CONFIGURE-HA_RU.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── backup/
│   │   │   ├── ECS-mapping_new.docx
│   │   │   ├── curl_play with elk.sh
│   │   │   ├── kms_decrypt_cmds.sh
│   │   │   ├── last_backup/
│   │   │   │   ├── falco_pipeline_backup.json
│   │   │   │   ├── k8s-mapping-ba.json
│   │   │   │   ├── k8s_audit_dashboard-back.ndjson
│   │   │   │   ├── k8s_audit_dashboard-future.ndjson
│   │   │   │   ├── k8s_audit_detections-back.ndjson
│   │   │   │   ├── k8s_dashboard.ndjson
│   │   │   │   └── trails_dashboard-backup.ndjson
│   │   │   ├── mapping6.json
│   │   │   └── objects/
│   │   │       ├── dashboard.ndjson
│   │   │       ├── dashboard_backup.ndjson
│   │   │       ├── detections.ndjson
│   │   │       ├── filters.ndjson
│   │   │       ├── filters_backup.ndjson
│   │   │       ├── kibana_index_pattern.ndjson
│   │   │       ├── kibana_search2.ndjson
│   │   │       ├── pipeline3.json
│   │   │       ├── searches.ndjson
│   │   │       └── searches_backup.ndjson
│   │   ├── docker/
│   │   │   ├── Dockerfile
│   │   │   └── docker-compose.yml
│   │   ├── functions/
│   │   │   ├── main.py
│   │   │   └── requirements.txt
│   │   ├── images/
│   │   │   └── elastic.drawio
│   │   ├── papers/
│   │   │   ├── ECS-mapping.docx
│   │   │   ├── Описание объектов eng.docx
│   │   │   └── Описание объектов.docx
│   │   ├── terraform/
│   │   │   ├── README.md
│   │   │   ├── README_RU.md
│   │   │   ├── example/
│   │   │   │   ├── README.md
│   │   │   │   ├── README_RU.md
│   │   │   │   ├── main.tf
│   │   │   │   ├── provider.tf
│   │   │   │   └── variables.tf
│   │   │   └── modules/
│   │   │       ├── yc-elastic-trail/
│   │   │       │   ├── cloud-init_lin.tpl.yaml
│   │   │       │   ├── docker-declaration.yaml
│   │   │       │   ├── main.tf
│   │   │       │   ├── variables.tf
│   │   │       │   └── versions.tf
│   │   │       └── yc-managed-elk/
│   │   │           ├── main.tf
│   │   │           ├── outputs.tf
│   │   │           ├── variables.tf
│   │   │           └── versions.tf
│   │   ├── update-elk-scheme/
│   │   │   ├── Dockerfile
│   │   │   ├── README.md
│   │   │   ├── function/
│   │   │   │   ├── main.py
│   │   │   │   └── requirements.txt
│   │   │   └── include/
│   │   │       ├── audit-trail/
│   │   │       │   ├── backup/
│   │   │       │   │   ├── detections.ndjson
│   │   │       │   │   └── filters.ndjson
│   │   │       │   ├── dashboard.ndjson
│   │   │       │   ├── detections.ndjson
│   │   │       │   ├── filters.ndjson
│   │   │       │   ├── index-pattern.ndjson
│   │   │       │   ├── index-template.json
│   │   │       │   ├── mapping.json
│   │   │       │   ├── pipeline.json
│   │   │       │   └── search.ndjson
│   │   │       ├── k8s-audit/
│   │   │       │   ├── dashboard.ndjson
│   │   │       │   ├── detections.ndjson
│   │   │       │   ├── filters.ndjson
│   │   │       │   ├── index-pattern.ndjson
│   │   │       │   ├── index-template.json
│   │   │       │   ├── mapping.json
│   │   │       │   ├── pipeline.json
│   │   │       │   └── search.ndjson
│   │   │       ├── k8s-falco/
│   │   │       │   ├── detections.ndjson
│   │   │       │   ├── filters.ndjson
│   │   │       │   ├── index-pattern.ndjson
│   │   │       │   ├── index-template.json
│   │   │       │   ├── mapping.json
│   │   │       │   ├── pipeline.json
│   │   │       │   └── search.ndjson
│   │   │       └── k8s-kyverno/
│   │   │           ├── dashboard-back2.ndjson
│   │   │           ├── dashboard-backup.ndjson
│   │   │           ├── dashboard.ndjson
│   │   │           ├── detections-back.ndjson
│   │   │           ├── detections.ndjson
│   │   │           ├── filters-back.ndjson
│   │   │           ├── filters.ndjson
│   │   │           ├── index-pattern.ndjson
│   │   │           ├── index-template.json
│   │   │           ├── mapping.json
│   │   │           ├── pipeline.json
│   │   │           └── search.ndjson
│   │   └── workshop-guide/
│   │       ├── README.md
│   │       ├── example/
│   │       │   ├── audit_trails_demo/
│   │       │   │   ├── main.tf
│   │       │   │   ├── provider.tf
│   │       │   │   └── variables.tf
│   │       │   ├── k8s_demo/
│   │       │   │   ├── README.md
│   │       │   │   ├── example/
│   │       │   │   │   ├── README.md
│   │       │   │   │   ├── main.tf
│   │       │   │   │   └── provider.tf
│   │       │   │   ├── images/
│   │       │   │   │   ├── Logo-scheme.drawio
│   │       │   │   │   └── Tech_scheme.drawio
│   │       │   │   ├── security-events-to-siem-importer/
│   │       │   │   │   ├── 01-function-and-mq.tf
│   │       │   │   │   ├── 02-coi-worker.tf
│   │       │   │   │   ├── README.md
│   │       │   │   │   ├── pusher/
│   │       │   │   │   │   ├── Makefile
│   │       │   │   │   │   ├── main.py
│   │       │   │   │   │   ├── requirements.txt
│   │       │   │   │   │   └── test.py
│   │       │   │   │   ├── variables.tf
│   │       │   │   │   ├── versions.tf
│   │       │   │   │   └── worker/
│   │       │   │   │       ├── Dockerfile
│   │       │   │   │       ├── cloud-init.tpl.yaml
│   │       │   │   │       ├── docker-compose.yml
│   │       │   │   │       ├── docker-declaration-auditlog.yaml
│   │       │   │   │       ├── docker-declaration-falco.yaml
│   │       │   │   │       ├── docker-declaration-kyverno.yaml
│   │       │   │   │       └── function/
│   │       │   │   │           ├── main.py
│   │       │   │   │           └── requirements.txt
│   │       │   │   └── security-events-to-storage-exporter/
│   │       │   │       ├── 00-infra.tf
│   │       │   │       ├── 01-audit-export.tf
│   │       │   │       ├── 02-kubernetes-falco.tf
│   │       │   │       ├── 03-kyverno.tf
│   │       │   │       ├── README.md
│   │       │   │       ├── charts/
│   │       │   │       │   └── policy-reporter/
│   │       │   │       │       ├── Chart.yaml
│   │       │   │       │       ├── charts/
│   │       │   │       │       │   ├── kyvernoPlugin-0.5.2.tgz
│   │       │   │       │       │   ├── monitoring-1.4.2.tgz
│   │       │   │       │       │   └── ui-1.8.5.tgz
│   │       │   │       │       ├── config.yaml
│   │       │   │       │       ├── templates/
│   │       │   │       │       │   ├── _helpers.tpl
│   │       │   │       │       │   ├── clusterrole.yaml
│   │       │   │       │       │   ├── clusterrolebinding.yaml
│   │       │   │       │       │   ├── deployment.yaml
│   │       │   │       │       │   ├── prioritymap.yaml
│   │       │   │       │       │   ├── role.yaml
│   │       │   │       │       │   ├── rolebinding.yaml
│   │       │   │       │       │   ├── service.yaml
│   │       │   │       │       │   ├── serviceaccount.yaml
│   │       │   │       │       │   └── targetssecret.yaml
│   │       │   │       │       └── values.yaml
│   │       │   │       ├── example/
│   │       │   │       │   ├── main.tf
│   │       │   │       │   └── provider.tf
│   │       │   │       ├── function/
│   │       │   │       │   ├── Makefile
│   │       │   │       │   ├── main.py
│   │       │   │       │   ├── requirements.txt
│   │       │   │       │   └── test.py
│   │       │   │       ├── outputs.tf
│   │       │   │       ├── templates/
│   │       │   │       │   ├── falco-base.yaml
│   │       │   │       │   ├── falcosidekick-base.yaml
│   │       │   │       │   ├── kubeconfig-template.yaml.tpl
│   │       │   │       │   └── yc-mk8s.ca
│   │       │   │       ├── variables.tf
│   │       │   │       └── versions.tf
│   │       │   └── modules/
│   │       │       └── yc-elastic-trail/
│   │       │           ├── cloud-init_lin.tpl.yaml
│   │       │           ├── docker-declaration.yaml
│   │       │           ├── main.tf
│   │       │           ├── variables.tf
│   │       │           └── versions.tf
│   │       └── preparation/
│   │           ├── folders.txt
│   │           ├── main.tf
│   │           ├── provider.tf
│   │           └── variables.tf
│   ├── export-auditlogs-to-Opensearch/
│   │   ├── CONFIGURE-HA.md
│   │   ├── CONFIGURE-HA_RU.md
│   │   ├── README.md
│   │   ├── README_EN.md
│   │   ├── deploy-of-opensearch/
│   │   │   ├── docker-compose.yaml
│   │   │   └── opensearch_dashboards.yml
│   │   ├── functions/
│   │   │   ├── Dockerfile
│   │   │   ├── main.py
│   │   │   └── requirements.txt
│   │   ├── images/
│   │   │   └── elastic.drawio
│   │   ├── terraform/
│   │   │   ├── README.md
│   │   │   ├── backup_README.md
│   │   │   ├── main.tf
│   │   │   ├── modules/
│   │   │   │   └── yc-opensearch-trail/
│   │   │   │       ├── cloud-init_lin.tpl.yaml
│   │   │   │       ├── docker-declaration.yaml
│   │   │   │       ├── main.tf
│   │   │   │       ├── variables.tf
│   │   │   │       └── versions.tf
│   │   │   ├── provider.tf
│   │   │   ├── terraform_tfvars
│   │   │   └── variables.tf
│   │   └── update-opensearch-scheme/
│   │       ├── content-for-transfer/
│   │       │   ├── dashboard.ndjson
│   │       │   ├── filters.ndjson
│   │       │   ├── monitor.json
│   │       │   ├── search.ndjson
│   │       │   └── trigger_action_example.json
│   │       └── include/
│   │           └── audit-trail/
│   │               ├── alert.json
│   │               ├── dashboard.ndjson
│   │               ├── detections.ndjson
│   │               ├── filters.ndjson
│   │               ├── index-pattern.ndjson
│   │               ├── index-template.json
│   │               ├── ism-policy.json
│   │               ├── mapping.json
│   │               ├── pipeline.json
│   │               └── search.ndjson
│   ├── export-auditlogs-to-Splunk/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── docker/
│   │   │   ├── Dockerfile
│   │   │   └── docker-compose.yml
│   │   ├── functions/
│   │   │   ├── main.py
│   │   │   └── requirements.txt
│   │   ├── images/
│   │   │   └── splun.drawio
│   │   └── terraform/
│   │       ├── example/
│   │       │   ├── README.md
│   │       │   ├── main.tf
│   │       │   ├── provider.tf
│   │       │   └── variables.tf
│   │       └── modules/
│   │           └── yc-splunk-trail/
│   │               ├── cloud-init_lin.tpl.yaml
│   │               ├── docker-declaration.yaml
│   │               ├── main.tf
│   │               ├── variables.tf
│   │               └── versions.tf
│   ├── export-auditlogs-to-wazuh/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── packer/
│   │   │   ├── README.md
│   │   │   ├── ansible/
│   │   │   │   ├── ansible.cfg
│   │   │   │   ├── playbook.yaml
│   │   │   │   └── roles/
│   │   │   │       └── wazuh/
│   │   │   │           ├── files/
│   │   │   │           │   ├── configs/
│   │   │   │           │   │   ├── local_internal_options.conf
│   │   │   │           │   │   └── ossec.conf
│   │   │   │           │   ├── decoders/
│   │   │   │           │   │   └── local_decoder.xml
│   │   │   │           │   ├── local_internal_options.conf
│   │   │   │           │   ├── shared/
│   │   │   │           │   │   ├── agent-template.conf
│   │   │   │           │   │   ├── ar.conf
│   │   │   │           │   │   └── default/
│   │   │   │           │   │       ├── agent.conf
│   │   │   │           │   │       ├── bpfdoor_check.yml
│   │   │   │           │   │       ├── cis_apache2224_rcl.txt
│   │   │   │           │   │       ├── cis_debian_linux_rcl.txt
│   │   │   │           │   │       ├── cis_mysql5-6_community_rcl.txt
│   │   │   │           │   │       ├── cis_mysql5-6_enterprise_rcl.txt
│   │   │   │           │   │       ├── cis_rhel5_linux_rcl.txt
│   │   │   │           │   │       ├── cis_rhel6_linux_rcl.txt
│   │   │   │           │   │       ├── cis_rhel7_linux_rcl.txt
│   │   │   │           │   │       ├── cis_rhel_linux_rcl.txt
│   │   │   │           │   │       ├── cis_sles11_linux_rcl.txt
│   │   │   │           │   │       ├── cis_sles12_linux_rcl.txt
│   │   │   │           │   │       ├── cis_win2012r2_domainL1_rcl.txt
│   │   │   │           │   │       ├── cis_win2012r2_domainL2_rcl.txt
│   │   │   │           │   │       ├── cis_win2012r2_memberL1_rcl.txt
│   │   │   │           │   │       ├── cis_win2012r2_memberL2_rcl.txt
│   │   │   │           │   │       ├── log4j_check.yml
│   │   │   │           │   │       ├── merged.mg
│   │   │   │           │   │       ├── rootkit_files.txt
│   │   │   │           │   │       ├── rootkit_trojans.txt
│   │   │   │           │   │       ├── system_audit_rcl.txt
│   │   │   │           │   │       ├── system_audit_ssh.txt
│   │   │   │           │   │       ├── win_applications_rcl.txt
│   │   │   │           │   │       ├── win_audit_rcl.txt
│   │   │   │           │   │       └── win_malware_rcl.txt
│   │   │   │           │   └── wodle/
│   │   │   │           │       ├── yandex/
│   │   │   │           │       │   └── yandex
│   │   │   │           │       └── yandex-clamav/
│   │   │   │           │           ├── yandex-clamav
│   │   │   │           │           └── yandex-clamav.py
│   │   │   │           ├── handlers/
│   │   │   │           │   └── main.yml
│   │   │   │           ├── tasks/
│   │   │   │           │   └── main.yml
│   │   │   │           ├── templates/
│   │   │   │           │   ├── freshclam.j2
│   │   │   │           │   └── ossec.j2
│   │   │   │           └── vars/
│   │   │   │               └── main.yml
│   │   │   └── template.pkr.hcl
│   │   └── terraform/
│   │       ├── deployment/
│   │       │   ├── README.md
│   │       │   ├── main.tf
│   │       │   ├── outputs.tf
│   │       │   ├── profile.tftpl
│   │       │   └── variables.tf
│   │       └── modules/
│   │           ├── s3/
│   │           │   ├── README.md
│   │           │   ├── main.tf
│   │           │   ├── outputs.tf
│   │           │   ├── terraform.tf
│   │           │   └── variable.tf
│   │           ├── vm/
│   │           │   ├── README.md
│   │           │   ├── main.tf
│   │           │   ├── outputs.tf
│   │           │   ├── terraform.tf
│   │           │   └── variables.tf
│   │           └── vpc/
│   │               ├── README.md
│   │               ├── main.tf
│   │               ├── outputs.tf
│   │               ├── terraform.tf
│   │               └── variables.tf
│   ├── export-k8s-to-s3/
│   │   ├── README.md
│   │   └── terraform/
│   │       ├── 00-sa-and-bucket.tf
│   │       ├── 03-infra.tf
│   │       ├── 04-audit-export.tf
│   │       ├── function/
│   │       │   ├── main.py
│   │       │   └── requirements.txt
│   │       ├── provider.tf
│   │       └── variables.tf
│   ├── export-k8s-to-s3-cloud-logging/
│   │   ├── README.md
│   │   └── terraform/
│   │       ├── function/
│   │       │   ├── main.py
│   │       │   └── requirements.txt
│   │       ├── main.tf
│   │       ├── outputs.tf
│   │       ├── provider.tf
│   │       └── variables.tf
│   ├── export-k8s-to-yds/
│   │   ├── README.md
│   │   └── terraform/
│   │       ├── 00-sa-and-bucket.tf
│   │       ├── 03-infra.tf
│   │       ├── 04-audit-export.tf
│   │       ├── function/
│   │       │   ├── main.py
│   │       │   └── requirements.txt
│   │       ├── provider.tf
│   │       ├── terraformrc
│   │       └── variables.tf
│   ├── trail_monitoring/
│   │   ├── README.md
│   │   └── README_RU.md
│   └── trails-function-detector/
│       ├── README.md
│       ├── README_RU.md
│       ├── example/
│       │   ├── README.md
│       │   ├── README_RU.md
│       │   ├── main.tf
│       │   └── provider.tf
│       ├── function/
│       │   ├── main.py
│       │   └── requirements.txt
│       ├── images/
│       │   ├── Logo-scheme.drawio
│       │   └── Tech_scheme.drawio
│       ├── main.tf
│       ├── variables.tf
│       └── versions.tf
├── auth_and_access/
│   ├── ad-sync/
│   │   ├── README.md
│   │   └── Sync-YCLDAPUsers-v2.ps1
│   ├── iam/
│   │   ├── .gitignore
│   │   ├── .pre-commit-config.yaml
│   │   ├── README.md
│   │   ├── examples/
│   │   │   ├── custom roles/
│   │   │   │   ├── README.md
│   │   │   │   ├── cloud.tf
│   │   │   │   ├── organization.tf
│   │   │   │   ├── projects.tf
│   │   │   │   ├── terraform.tfvars.example
│   │   │   │   ├── variables.tf
│   │   │   │   └── versions.tf
│   │   │   ├── organization/
│   │   │   │   ├── README.md
│   │   │   │   ├── main.tf
│   │   │   │   ├── variables.tf
│   │   │   │   └── versions.tf
│   │   │   ├── small/
│   │   │   │   ├── README.md
│   │   │   │   ├── main.tf
│   │   │   │   ├── outputs.tf
│   │   │   │   ├── variables.tf
│   │   │   │   └── versions.tf
│   │   │   ├── use usernames/
│   │   │   │   ├── README.md
│   │   │   │   ├── main.tf
│   │   │   │   ├── variables.tf
│   │   │   │   └── versions.tf
│   │   │   └── webinar_example/
│   │   │       ├── README.md
│   │   │       ├── dev/
│   │   │       │   ├── main.tf
│   │   │       │   ├── variables.tf
│   │   │       │   └── versions.tf
│   │   │       ├── iam_mgmt/
│   │   │       │   ├── main.tf
│   │   │       │   ├── outputs.tf
│   │   │       │   ├── variables.tf
│   │   │       │   └── versions.tf
│   │   │       ├── modules/
│   │   │       │   ├── iam/
│   │   │       │   │   ├── .gitignore
│   │   │       │   │   ├── .pre-commit-config.yaml
│   │   │       │   │   ├── README.md
│   │   │       │   │   ├── examples/
│   │   │       │   │   │   └── dev_folder/
│   │   │       │   │   │       ├── main.tf
│   │   │       │   │   │       ├── outputs.tf
│   │   │       │   │   │       ├── variables.tf
│   │   │       │   │   │       └── versions.tf
│   │   │       │   │   ├── main.tf
│   │   │       │   │   ├── outputs.tf
│   │   │       │   │   ├── variables.tf
│   │   │       │   │   └── versions.tf
│   │   │       │   └── networking/
│   │   │       │       ├── .gitignore
│   │   │       │       ├── .pre-commit-config.yaml
│   │   │       │       ├── README.md
│   │   │       │       ├── main.tf
│   │   │       │       ├── outputs.tf
│   │   │       │       ├── variables.tf
│   │   │       │       └── versions.tf
│   │   │       └── prod/
│   │   │           ├── main.tf
│   │   │           ├── variables.tf
│   │   │           └── versions.tf
│   │   ├── main.tf
│   │   ├── outputs.tf
│   │   ├── variables.tf
│   │   └── versions.tf
│   ├── keycloak/
│   │   ├── README.md
│   │   ├── examples/
│   │   │   ├── README.md
│   │   │   ├── env-yc.sh
│   │   │   ├── install.sh
│   │   │   ├── keycloak-config/
│   │   │   │   ├── main.tf
│   │   │   │   └── sync.sh
│   │   │   └── keycloak-deploy/
│   │   │       ├── main.tf
│   │   │       └── variables.tf
│   │   ├── keycloak-config/
│   │   │   ├── README.md
│   │   │   ├── federation.tf
│   │   │   ├── keycloak-config.tf
│   │   │   ├── providers.tf
│   │   │   ├── variables.tf
│   │   │   └── yc-root.crt
│   │   └── keycloak-deploy/
│   │       ├── README.md
│   │       ├── dns-cm.tf
│   │       ├── kc-setup.sh
│   │       ├── kc-vm-init.tpl
│   │       ├── keycloak-vm.tf
│   │       ├── postgress.tf
│   │       ├── providers.tf
│   │       ├── variables.tf
│   │       └── vpc.tf
│   ├── org_iac_iam/
│   │   ├── README.md
│   │   ├── cloud-level-state/
│   │   │   ├── README.md
│   │   │   ├── folders_and_bindings.tf
│   │   │   ├── provider.tf
│   │   │   ├── terraform_tfvars
│   │   │   ├── variables.tf
│   │   │   └── vpc.tf
│   │   ├── images/
│   │   │   └── iam_iac.drawio
│   │   ├── module_keycloak/
│   │   │   ├── federation.tf
│   │   │   ├── kc-le-cert.sh
│   │   │   ├── kc-setup.sh
│   │   │   ├── kc-users-gen.sh
│   │   │   ├── keycloak.tf
│   │   │   ├── postgress.tf
│   │   │   ├── realm.json
│   │   │   ├── user-resources.tf
│   │   │   ├── variables.tf
│   │   │   └── versions.tf
│   │   ├── org_level_clouds_and_fed.tf
│   │   ├── org_level_folders.tf
│   │   ├── org_level_grant_viewer.tf
│   │   ├── org_level_groups_and_users.tf
│   │   ├── org_level_prepare_users.tf
│   │   ├── org_level_security_provis.tf
│   │   ├── provider.tf
│   │   ├── terraform_tfvars
│   │   └── variables.tf
│   └── scripts/
│       ├── README.md
│       ├── list_Ips.sh
│       ├── list_ips.ps1
│       └── yc_list_roles.ps1
├── configuration/
│   └── hardening_bucket/
│       ├── README.md
│       ├── README_RU.md
│       ├── images/
│       │   └── Схема.drawio
│       ├── main.tf
│       ├── variables.tf
│       └── versions.tf
├── encrypt_and_keys/
│   ├── encrypt_disk_VM/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── cloud-init_lin.tpl.yaml
│   │   ├── images/
│   │   │   └── Схема.drawio
│   │   ├── main.tf
│   │   ├── provider.tf
│   │   ├── script.sh
│   │   └── variables.tf
│   ├── manage_secrets/
│   │   ├── terraform+KMS+COI/
│   │   │   ├── README.md
│   │   │   ├── README_RU.md
│   │   │   ├── cloud-init_lin.tpl.yaml
│   │   │   ├── docker/
│   │   │   │   ├── Dockerfile
│   │   │   │   └── functions/
│   │   │   │       ├── main.py
│   │   │   │       └── requirements.txt
│   │   │   ├── docker-declaration.yaml
│   │   │   ├── main.tf
│   │   │   ├── variables.tf
│   │   │   └── versions.tf
│   │   ├── terraform-lockbox-vm-credentials/
│   │   │   ├── 00-provider.tf
│   │   │   ├── 01-vpc.tf
│   │   │   ├── 02-service-account.tf
│   │   │   ├── 03-kms-and-ssh-keys.tf
│   │   │   ├── 04-lockbox-secret.tf
│   │   │   ├── 05-postgres.tf
│   │   │   ├── 06-kc-vm.tf
│   │   │   ├── README.md
│   │   │   ├── kc-install.yml
│   │   │   ├── openssl.cnf
│   │   │   ├── terraform.tfvars.example
│   │   │   └── variables.tf
│   │   └── windows-vm-secure-passwords/
│   │       ├── README.md
│   │       ├── init-example.ps1
│   │       └── terraform-example/
│   │           ├── 00-provider.tf
│   │           ├── 01-vpc.tf
│   │           ├── 02-kms-and-ssh-keys.tf
│   │           ├── 03-service-account.tf
│   │           ├── 04-lockbox-secret.tf
│   │           ├── 05-windows-vm.tf
│   │           ├── init.ps1
│   │           ├── terraform.tfvars.example
│   │           └── variables.tf
│   └── vault2lockbox/
│       ├── readme.md
│       ├── requirements.txt
│       └── vault_to_lockbox_migrator.py
├── kubernetes-security/
│   ├── auth_and_access/
│   │   └── role-model-example/
│   │       ├── README.md
│   │       ├── README_RU.md
│   │       ├── end/
│   │       │   └── README.md
│   │       ├── kubernetes/
│   │       │   ├── README.md
│   │       │   ├── bad-pods/
│   │       │   │   ├── deployments/
│   │       │   │   │   ├── everything-allowed-exec-deployment.yaml
│   │       │   │   │   ├── hostipc-exec-deployment.yaml
│   │       │   │   │   ├── hostnetwork-exec-deployment.yaml
│   │       │   │   │   ├── hostpath-exec-deployment.yaml
│   │       │   │   │   ├── hostpid-exec-deployment.yaml
│   │       │   │   │   ├── nothing-allowed-exec-deployment.yaml
│   │       │   │   │   ├── priv-and-hostpid-exec-deployment.yaml
│   │       │   │   │   └── priv-exec-deployment.yaml
│   │       │   │   └── pods/
│   │       │   │       ├── everything-allowed-exec-pod.yaml
│   │       │   │       ├── hostipc-exec-pod.yaml
│   │       │   │       ├── hostnetwork-exec-pod.yaml
│   │       │   │       ├── hostpath-exec-pod.yaml
│   │       │   │       ├── hostpid-exec-pod.yaml
│   │       │   │       ├── nothing-allowed-exec-pod.yaml
│   │       │   │       ├── priv-and-hostpid-exec-pod.yaml
│   │       │   │       └── priv-exec-pod.yaml
│   │       │   ├── gatekeeper-policies/
│   │       │   │   ├── disallow-host-namespaces.yaml
│   │       │   │   ├── disallow-host-network.yaml
│   │       │   │   ├── disallow-privileged-containers.yaml
│   │       │   │   ├── disallow-proc-mount.yaml
│   │       │   │   ├── restrics-host-path.yaml
│   │       │   │   └── restrict-sysctls.yaml
│   │       │   └── kyverno-policies/
│   │       │       ├── disallow-adding-capabilities.yaml
│   │       │       ├── disallow-host-namespaces.yaml
│   │       │       ├── disallow-host-path.yaml
│   │       │       ├── disallow-host-ports.yaml
│   │       │       ├── disallow-privileged-containers.yaml
│   │       │       ├── disallow-proc-mount.yaml
│   │       │       ├── disallow-selinux.yaml
│   │       │       ├── restrict-apparmor-profiles.yaml
│   │       │       └── restrict-sysctls.yaml
│   │       └── terraform/
│   │           ├── iam/
│   │           │   ├── .gitignore
│   │           │   ├── README.md
│   │           │   ├── main.tf
│   │           │   ├── outputs.tf
│   │           │   ├── variables.tf
│   │           │   └── versions.tf
│   │           ├── modules/
│   │           │   └── iam/
│   │           │       ├── .pre-commit-config.yaml
│   │           │       ├── README.md
│   │           │       ├── main.tf
│   │           │       ├── outputs.tf
│   │           │       ├── variables.tf
│   │           │       └── versions.tf
│   │           └── staging/
│   │               ├── .gitignore
│   │               ├── 01-network.tf
│   │               ├── 02-kubernetes.tf
│   │               ├── README.md
│   │               ├── outputs.tf
│   │               ├── variables.tf
│   │               └── versions.tf
│   ├── choice_of_solutions/
│   │   └── Сравнение функций k8s решений.docx
│   ├── cve-quickfix/
│   │   ├── CVE-2021-4034/
│   │   │   ├── CVE-2021-4034-fix-ds.yaml
│   │   │   └── Readme.md
│   │   └── CVE-2022-0185/
│   │       ├── CVE-2022-0185-fix-ds.yaml
│   │       └── Readme.md
│   ├── encrypt_and_keys/
│   │   └── secret-management/
│   │       ├── README.md
│   │       └── README_RU.md
│   ├── kyverno-custom-policies/
│   │   ├── README.md
│   │   ├── allow-actions-with-policys-only-silo-sa.yaml
│   │   ├── deny-attach-by-pod-and-container.yaml
│   │   ├── mutate-securitycontext-seccomp-deployment.yaml
│   │   ├── mutate-securitycontext-seccomp-pod.yaml
│   │   └── restrict-image-registries.yaml
│   ├── osquery-kubequery/
│   │   ├── Docker/
│   │   │   └── Dockerfile
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── filebeat-helm/
│   │   │   └── values.yaml
│   │   ├── fluentsplunk-helm/
│   │   │   └── values.yaml
│   │   ├── kubequery/
│   │   │   ├── kubequery-with-elastic-filebeat/
│   │   │   │   ├── configmap-filebeat.yaml
│   │   │   │   └── deployment.yaml
│   │   │   └── kubequery-with-splunk/
│   │   │       ├── configmap-fluentd.yaml
│   │   │       └── deployment.yaml
│   │   └── osquery-install-daemonset/
│   │       ├── configmap-config.yaml
│   │       ├── configmap-pack_conf.yaml
│   │       ├── daemonset.yaml
│   │       ├── helm-charts/
│   │       │   └── osquery-ds-yc/
│   │       │       ├── .helmignore
│   │       │       ├── Chart.yaml
│   │       │       ├── osquery-ds-yc-0.1.0.tgz
│   │       │       ├── templates/
│   │       │       │   ├── _helpers.tpl
│   │       │       │   ├── configmap-config.yaml
│   │       │       │   ├── configmap-packs.yaml
│   │       │       │   ├── daemonset.yaml
│   │       │       │   ├── network-policy-egress.yaml
│   │       │       │   └── network-policy-ingress.yaml
│   │       │       └── values.yaml
│   │       ├── instruction.sh
│   │       ├── network-policys.yaml
│   │       └── ns.yaml
│   ├── starboard_and_yc-cr/
│   │   └── README.md
│   └── use-cases-k8s/
│       └── README.md
├── malware-defense/
│   └── kaspersy-install-in-yc/
│       ├── README.md
│       ├── README_RU.md
│       ├── cloud-init_lin.tpl.yaml
│       ├── cloud-init_win.tpl.yaml
│       ├── docker-declaration.yaml
│       ├── images/
│       │   └── Kaspersky.drawio
│       ├── network.tf
│       ├── updates/
│       │   ├── kesl-11.2.0.4528/
│       │   │   ├── akinstall.sh
│       │   │   ├── autoinstall.ini
│       │   │   ├── kesl-gui_11.2.0-4528_amd64.deb
│       │   │   ├── kesl.kud
│       │   │   ├── kesl_11.2.0-4528_amd64.deb
│       │   │   ├── kpd.loc/
│       │   │   │   ├── de.ini
│       │   │   │   ├── en.ini
│       │   │   │   ├── fr.ini
│       │   │   │   ├── ja.ini
│       │   │   │   └── ru.ini
│       │   │   ├── ksn_license.de
│       │   │   ├── ksn_license.en
│       │   │   ├── ksn_license.fr
│       │   │   ├── ksn_license.ja
│       │   │   ├── ksn_license.ru
│       │   │   ├── license.de
│       │   │   ├── license.en
│       │   │   ├── license.fr
│       │   │   ├── license.ja
│       │   │   └── license.ru
│       │   └── klcfginst.msi
│       ├── variables.tf
│       ├── versions.tf
│       └── virtual_machines.tf
├── network-sec/
│   ├── checkpoint-1VM/
│   │   ├── README.md
│   │   └── README_RU.md
│   ├── checkpoint-2VM_active-active/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── check-init-sms.yaml
│   │   ├── check-init_gw-a.yaml
│   │   ├── check-init_gw-b.yaml
│   │   ├── cloud-init_win.tpl.yaml
│   │   ├── folders.tf
│   │   ├── images/
│   │   │   ├── network_diagram_backup.drawio
│   │   │   └── network_diagram_final.drawio
│   │   ├── network.tf
│   │   ├── provider.tf
│   │   ├── variables.tf
│   │   └── vms.tf
│   ├── checkpoint-2VM_active-passive/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── check-init-sms.yaml
│   │   ├── check-init_gw-a.yaml
│   │   ├── check-init_gw-b.yaml
│   │   ├── cloud-init_win.tpl.yaml
│   │   ├── folders.tf
│   │   ├── images/
│   │   │   └── network_diagram_final.drawio
│   │   ├── modules/
│   │   │   ├── multi-vpc-infra/
│   │   │   │   ├── .gitignore
│   │   │   │   ├── .pre-commit-config.yaml
│   │   │   │   ├── README.md
│   │   │   │   ├── main.tf
│   │   │   │   ├── outputs.tf
│   │   │   │   ├── variables.tf
│   │   │   │   └── versions.tf
│   │   │   └── multi-vpc-protected-network/
│   │   │       ├── .gitignore
│   │   │       ├── checker_function.tf
│   │   │       ├── functions/
│   │   │       │   ├── checker_function/
│   │   │       │   │   ├── main.py
│   │   │       │   │   └── requirements.txt
│   │   │       │   └── switcher_function/
│   │   │       │       ├── main.py
│   │   │       │       └── requirements.txt
│   │   │       ├── main.tf
│   │   │       ├── switcher_function/
│   │   │       │   ├── main.py
│   │   │       │   └── requirements.txt
│   │   │       ├── switcher_function.tf
│   │   │       ├── templates/
│   │   │       │   └── route.switcher.tpl.yaml
│   │   │       ├── variables.tf
│   │   │       └── versions.tf
│   │   ├── network.tf
│   │   ├── provider.tf
│   │   ├── route-switcher.tf
│   │   ├── variables.tf
│   │   └── vms.tf
│   ├── ipsec-sgw/
│   │   ├── README.md
│   │   ├── compute.tf
│   │   ├── examples/
│   │   │   ├── .gitignore
│   │   │   ├── env-yc.sh
│   │   │   ├── main.tf
│   │   │   └── variables.tf
│   │   ├── ipsec-configs.tf
│   │   ├── outputs.tf
│   │   ├── providers.tf
│   │   ├── samples/
│   │   │   ├── cisco-asa-sample.txt
│   │   │   ├── cisco-iosxe-sample.txt
│   │   │   ├── mikrotik-chr-sample.txt
│   │   │   ├── unknown-sample.txt
│   │   │   └── yc-strongswan-sample.txt
│   │   ├── sgw-vm-init.tpl
│   │   ├── templates/
│   │   │   ├── ipsec-cisco-asa.tpl
│   │   │   ├── ipsec-cisco-iosxe.tpl
│   │   │   ├── ipsec-mikrotik-chr.tpl
│   │   │   ├── ipsec-unknown.tpl
│   │   │   └── ipsec-yc.tpl
│   │   ├── variables.tf
│   │   └── vpc.tf
│   ├── remote-access-vpn/
│   │   ├── README.md
│   │   ├── firezone/
│   │   │   ├── compute.tf
│   │   │   ├── network.tf
│   │   │   ├── output.tf
│   │   │   ├── postgress.tf
│   │   │   ├── provider.tf
│   │   │   ├── security.tf
│   │   │   ├── templates/
│   │   │   │   └── cloud-init_firezone.tpl.yaml
│   │   │   └── variables.tf
│   │   ├── keycloak-config/
│   │   │   ├── keycloak-config.tf
│   │   │   ├── main.tf
│   │   │   ├── output.tf
│   │   │   └── provider.tf
│   │   ├── keycloak-deploy/
│   │   │   ├── cert-manager.tf
│   │   │   ├── kc-config.tf
│   │   │   ├── keycloak-vm.tf
│   │   │   ├── network.tf
│   │   │   ├── output.tf
│   │   │   ├── provider.tf
│   │   │   ├── security.tf
│   │   │   ├── templates/
│   │   │   │   ├── kc-config.tpl
│   │   │   │   └── kc-vm-init.tpl
│   │   │   └── variables.tf
│   │   ├── main/
│   │   │   ├── main.tf
│   │   │   └── output.tf
│   │   └── settings/
│   │       └── outputs.tf
│   ├── segmentation/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── SG.tf
│   │   ├── VM.tf
│   │   ├── cloud-init-bastion.tpl.yaml
│   │   ├── cloud-init.tpl.yaml
│   │   ├── output.tf
│   │   ├── provider.tf
│   │   ├── sa_and_key/
│   │   │   ├── sa.tf
│   │   │   ├── variables.tf
│   │   │   └── versions.tf
│   │   ├── terraform.tfvars_example
│   │   ├── variables.tf
│   │   ├── versions.tf
│   │   └── vpc.tf
│   └── vpn/
│       ├── README.md
│       ├── README_RU.md
│       ├── SG.tf
│       ├── backend.tf
│       ├── cloud-init.tpl.yaml
│       ├── docker-compose.yaml
│       ├── docker-declaration.yaml
│       ├── frontend.tf
│       ├── ipsec-init.tpl.yaml
│       ├── output.tf
│       ├── provider.tf
│       ├── remote-init.tpl.yaml
│       ├── remote.tf
│       ├── sa.tf
│       ├── terraform.tfvars.example
│       ├── variables.tf
│       ├── versions.tf
│       ├── vpc.tf
│       └── vpn.tf
├── secure_ci_cd/
│   ├── devsecops-scale/
│   │   └── README.md
│   └── secure_ci_cd_with_webinar/
│       ├── README.md
│       ├── free_secure_ci_cd/
│       │   ├── .gitlab-ci.yml
│       │   ├── .push_to_prod_registry.yml
│       │   ├── README.md
│       │   ├── dast-config/
│       │   │   ├── log4shell.conf
│       │   │   └── log4shell.yaml
│       │   ├── k8s-manifest.yaml
│       │   └── log4shell-vulnerable-app/
│       │       ├── Dockerfile
│       │       ├── LICENSE
│       │       ├── README.md
│       │       ├── build.gradle
│       │       ├── gradle/
│       │       │   └── wrapper/
│       │       │       ├── gradle-wrapper.jar
│       │       │       └── gradle-wrapper.properties
│       │       ├── gradlew
│       │       ├── gradlew.bat
│       │       ├── settings.gradle
│       │       └── src/
│       │           └── main/
│       │               ├── java/
│       │               │   └── fr/
│       │               │       └── christophetd/
│       │               │           └── log4shell/
│       │               │               └── vulnerableapp/
│       │               │                   ├── MainController.java
│       │               │                   └── VulnerableAppApplication.java
│       │               └── resources/
│       │                   └── application.properties
│       ├── gitlab_instance_sec_checklist/
│       │   ├── README.md
│       │   └── gitlab_instance_isolate.md
│       └── ultimate_secure_ci_cd/
│           ├── .gitlab-ci.yml
│           ├── .push_to_prod_registry.yml
│           ├── README.md
│           ├── k8s-manifest.yaml
│           └── log4shell-vulnerable-app/
│               ├── Dockerfile
│               ├── LICENSE
│               ├── README.md
│               ├── build.gradle
│               ├── gradle/
│               │   └── wrapper/
│               │       ├── gradle-wrapper.jar
│               │       └── gradle-wrapper.properties
│               ├── gradlew
│               ├── gradlew.bat
│               ├── settings.gradle
│               └── src/
│                   └── main/
│                       ├── java/
│                       │   └── fr/
│                       │       └── christophetd/
│                       │           └── log4shell/
│                       │               └── vulnerableapp/
│                       │                   ├── MainController.java
│                       │                   └── VulnerableAppApplication.java
│                       └── resources/
│                           └── application.properties
├── terraform-sec/
│   ├── checkov-yc/
│   │   ├── .gitlab-ci(audit_mode).yml
│   │   ├── .gitlab-ci(blocking_mode).yml
│   │   ├── .gitlab-ci(blocking_mode_with_specific_checks_in_audit).yml
│   │   ├── README.md
│   │   └── README_RU.md
│   └── remote-backend/
│       └── README.md
├── vuln-mgmt/
│   ├── anti-ddos-lt/
│   │   ├── README.md
│   │   └── README_RU.md
│   ├── unmng-waf-ptaf-cluster/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── images/
│   │   │   └── ha-proxy.drawio
│   │   ├── main/
│   │   │   ├── cloud-init_lin.tpl.yaml
│   │   │   ├── cloud-init_lin.tpl_1.yaml
│   │   │   ├── cloud-init_lin.tpl_2.yaml
│   │   │   ├── function/
│   │   │   │   └── handler.sh
│   │   │   ├── functions.tf
│   │   │   ├── network.tf
│   │   │   ├── variables.tf
│   │   │   ├── versions.tf
│   │   │   └── vms.tf
│   │   └── prepare/
│   │       ├── README.md
│   │       ├── app_vms.tf
│   │       ├── declaration.yaml
│   │       ├── network.tf
│   │       ├── variables.tf
│   │       └── versions.tf
│   └── vulnerable-web-app-waf-test/
│       ├── README.md
│       ├── README_RU.md
│       ├── cloud_config.yaml
│       ├── declaration.yaml
│       ├── network_tasks.tf
│       ├── output.tf
│       ├── provider.tf
│       ├── variables.tf
│       └── vm_tasks.tf
└── yandex-Cloud-Security-Checklist/
    └── README.md

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
# Apple temporary
.DS_Store

# Word temporary
~$*.doc*

# Compiled files
*.tfstate
*.tfstate.backup
*.tfstate.lock.info
*.tfvars
.terraform.lock.hcl

# logs
*.log
*s3cfg

# zip files
*.zip
*gatekeeper-library/

# Directories
.terraform/
.vagrant/

# SSH Keys
*.pem
key.json
sa-key.json

# Backup files
*.bak

# Ignored Terraform files
*gitignore*.tf

# Ignored vscode files
.vscode/

# Ignore Any Generated JSON Files
operations/automation-script/apply.json
operations/automation-script/configversion.json
operations/automation-script/run.template.json
operations/automation-script/run.json
operations/automation-script/variable.template.json
operations/automation-script/variable.json
operations/automation-script/workspace.template.json
operations/automation-script/workspace.json
operations/sentinel-policies-scripts/create-policy.template.json
operations/sentinel-policies-scripts/create-policy.json
operations/variable-scripts/variable.template.json
operations/variable-scripts/variable.json

*.kubeconfig*
.idea/
default/var/wazuh-install-files.tar
default/var/wazuh-install-files
rules/
!shared/default/


================================================
FILE: CATALOG.md
================================================
# 🔐 Yandex.Cloud Security Solution Library
**Yandex.Cloud Security Solution Library** — это набор примеров и рекомендаций, собранных в публичном репозитории на GitHub. Они помогут компаниям, которые хотят построить безопасную инфруструктуру в Облаке и соответствовать требованиям различных регуляторов и стандартов.
Команда Yandex.Cloud проработала самые распространённые задачи, которые возникают при построении безопасности в облаке, протестировала и подробно описала необходимые сценарии.

#### Вводный вебинар 
[![image](https://user-images.githubusercontent.com/85429798/146542425-b250c494-9a3c-4744-897d-5f65849355d5.png)](https://www.youtube.com/watch?v=WZOB9ow0WrA)


#### ☑️ Стандарт по защите облачной инфраструктуры Yandex Cloud 1.0
Чеклист по безопасности в облачной инфраструкутре Yandex Cloud

https://cloud.yandex.ru/docs/security/standard/all

# Список решений
- 🕸 Сетевая безопасность
  - [Пример настройки Security Groups (dev/stage/prod): Terraform](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/network-sec/segmentation/README_RU.md)
  - [Пример установки 1 ВМ-Межсетевой экран (NGFW): Checkpoint](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/network-sec/checkpoint-1VM/README_RU.md)
  - [Пример установки 2 ВМ NGFW Checkpoint: **Active-Active**](https://github.com/yandex-cloud/yc-solution-library-for-security/blob/master/network-sec/checkpoint-2VM_active-active/README_RU.md)
  - [Пример установки 2 ВМ NGFW Checkpoint: **Active-Passive**](https://github.com/yandex-cloud/yc-solution-library-for-security/blob/master/network-sec/checkpoint-2VM_active-passive/README_RU.md)
  - [Пример создания site-to-site VPN соединения с Yandex Cloud: Terraform](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/network-sec/vpn/README_RU.md)
- 🔑 Аутентификация и управление доступом
  - [Развертывание и управление организацией и правами доступа через IaC terraform](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auth_and_access/org_iac_iam)
  - [Развёртывание федерации удостоверений в Yandex Cloud на базе решения Keycloak](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auth_and_access/keycloak)
  - [IAM модуль (с примерами использования)](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auth_and_access/iam#identity-and-access-management-iam-terraform-module-for-yandexcloud)
  - [Скрипт синхронизации пользователей и групп LDAP](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auth_and_access/ad-sync)
- 🦠 Защита от вредоносного кода
  - [Развертывание Kaspersky Antivirus в Yandex.Cloud (Compute Instance, COI)](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/malware-defense/kaspersy-install-in-yc/README_RU.md)
- 🐞 Управление уязвимостями
  - [Отказоустойчивая эксплуатация PT Application Firewall на базе Yandex.Cloud](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/vuln-mgmt/unmng-waf-ptaf-cluster/README_RU.md)
  - [Установка уязвимого веб приложения (dvwa) в Яндекс Облаке (с помощью terraform) для тестирования managed WAF](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/vuln-mgmt/vulnerable-web-app-waf-test/README_RU.md)
  - [Тестирование AntiDDos системы с помощью Yandex Load Testing](https://github.com/yandex-cloud/yc-solution-library-for-security/blob/master/vuln-mgmt/anti-ddos-lt/README_RU.md)
- 🔏 Шифрование данных и управление ключами/секретами
  - [Шифрование секретов средствами KMS при передачи их в контейнер ВМ COI Yandex.Cloud:Terraform](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/encrypt_and_keys/manage_secrets/terraform%2BKMS%2BCOI)
  - [Шифрование диска ВМ в Облаке с помощью YC KMS](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/encrypt_and_keys/encrypt_disk_VM)
  - [Vault-to-Lockbox Migrator](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/encrypt_and_keys/vault2lockbox)
  - [Lockbox Безопасная передача паролей в Windows](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/encrypt_and_keys/manage_secrets/windows-vm-secure-passwords)
  - [Использование Lockbox для получения паролей в VM](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/encrypt_and_keys/manage_secrets/terraform-lockbox-vm-credentials)
- 🔎 Сбор, мониторинг и анализ аудит логов
  - [Сбор, мониторинг и анализ аудит логов Yandex Cloud в Yandex Managed Opensearch](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-Opensearch/README.md)
  - [Сбор, мониторинг и анализ аудит логов в Yandex Managed Service for Elasticsearch (ELK)](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-ELK_main/README_RU.md)
  - [Сбор, мониторинг и анализ аудит логов во внешний SIEM ArcSight](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-ArcSight/README_RU.md)
  - [Сбор, мониторинг и анализ аудит логов во внешний Splunk](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-Splunk/README_RU.md)
  - [Сбор, мониторинг и анализ аудит логов во внешний Wazuh](https://github.com/yandex-cloud/yc-solution-library-for-security/blob/master/auditlogs/export-auditlogs-to-wazuh/README_RU.md)
  - [Use cases и важные события безопасности в аудит логах](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/_use_cases_and_searches/README_RU.md)
  - [Trails-function-detector: Оповещения и реагирование на события ИБ Audit trails с помощью Cloud Logging/Cloud Functions + Telegram](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/trails-function-detector/README_RU.md)
  - [Мониторинг Audit Trails и событий в Yandex Cloud Monitoring](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/trail_monitoring/README_RU.md)
- 👮 Безопасная конфигурация
  - [Пример безопасной конфигурации Yandex Cloud Object Storage: Terraform](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/configuration/hardening_bucket/README_RU.md)
  - (Скоро) запрет доступа к метадате
##
<a href="https://kubernetes.io/">
    <img src="https://github.com/magnologan/awesome-k8s-security/blob/master/logo.png"
         alt="Kubernetes logo" title="Kubernetes" height="50" width="50" />
</a></br>

- Безопасность Kubernetes
  - Аутентификация и управление доступом Managed Kubernetes:
    - [Пример настройки ролевых моделей и политик в Managed Service for Kubernetes](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/kubernetes-security/auth_and_access/role-model-example/README_RU.md)
  - Сбор, мониторинг и анализ аудит логов:
    - [Анализ логов безопасности k8s в ELK: аудит-логи, policy engine, falco](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-ELK_k8s)
    - [Экспорт Cilium Flow Logs в Object Storage(s3)](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/cilium-s3)
    - [Экспорт k8s аудит логов в s3/object storage](https://github.com/yandex-cloud/yc-solution-library-for-security/blob/master/auditlogs/export-k8s-to-s3/README.md)
    - [Экспорт k8s аудит логов в Yandex Data Streams/Kinesis Data Streams](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-k8s-to-yds)
  - Шифрование данных и управление ключами/секретами Managed Kubernetes
    - [Управление секретами c SecretManager(Lockbox,Vault)](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/kubernetes-security/encrypt_and_keys/secret-management/README_RU.md)
  - Безопасная конфигурация Managed Kubernetes:
    - [osquery и kubequery в k8s: osquery (защита k8s nodes), kubequery (анализ конфиг. всего k8s) ](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/kubernetes-security/osquery-kubequery/README_RU.md)
  - CVE mitigations:
    - [CVE-2022-0185](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/kubernetes-security/cve-quickfix/CVE-2022-0185)
    - [CVE-2021-4034](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/kubernetes-security/cve-quickfix/CVE-2021-4034)
  - [Таблица сравениня функций решений по безопасности k8s](https://github.com/yandex-cloud/yc-solution-library-for-security/blob/master/kubernetes-security/choice_of_solutions/Сравнение_функций_k8s_security.pdf)
  - [Интеграция Starboard с Yandex Cloud Container Registry с целью сканирования запущенных образов](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/kubernetes-security/starboard_and_yc-cr/README_RU.md)

##
<a href="https://kubernetes.io/">
    <img src="https://logowik.com/content/uploads/images/gitlab8368.jpg"
         alt="Kubernetes logo" title="Kubernetes" height="50" width="50" />
</a></br>

- CI/CD Security
  - Secure CI/CD на базе Managed GitLab:
    - [Вебинар+материалы:Обнаружение Log4shell и др. уязвимостей в CI/CD на базе Managed GitLab](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/secure_ci_cd/secure_ci_cd_with_webinar):
      - [Обнаружение уязвимостей в CI/CD (Ultimate лицензия)](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/secure_ci_cd/secure_ci_cd_with_webinar)
      - [Обнаружение уязвимостей в CI/CD (Free лицензия)](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/secure_ci_cd/secure_ci_cd_with_webinar)
      - [Security in Gtilab instance check-list](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/secure_ci_cd/secure_ci_cd_with_webinar/gitlab_instance_sec_checklist/README_RU.md)
  - [Выступление про комплаенс и devsecops](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/secure_ci_cd/devsecops-scale/README.md) 

#
<a href="https://kubernetes.io/">
    <img src="https://ih1.redbubble.net/image.1599940690.1956/st,small,507x507-pad,600x600,f8f8f8.jpg"
         alt="Kubernetes logo" title="Kubernetes" height="50" width="50" />
</a></br>

- Безопасность Terraform
  - [Сканирование tf файлов с помощью checkov](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/terraform-sec/checkov-yc)
  - [Хранение состояния Terraform в Yandex.Cloud Object Storage](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/terraform-sec/remote-backend)
    
#
<a href="https://kubernetes.io/">
    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/8/83/Telegram_2019_Logo.svg/1200px-Telegram_2019_Logo.svg.png"
         alt="Kubernetes logo" title="Kubernetes" height="50" width="50" />
</a></br>


# Обратная связь и пожелания
- Доработки, ошибки, contribute: Заводите, пожалуйста с помощью github issue/pr
- Вопросы, пожелания, консультации: Пишите нам в телеграм https://t.me/YandexCloudSecurity

#### Референсная архитектура
![Refer_arc](https://user-images.githubusercontent.com/85429798/132501079-0bd89876-2cc9-405b-aac3-ea65ac1fb6d2.png)


================================================
FILE: README.md
================================================
# Yandex Cloud Security Solutions Library

This repo contains Security Solutions from Yandex Cloud Team. 

The repository is Archived.
🚚 Solutions from this repository has been moved to https://github.com/yandex-cloud-examples/yc-security-solutions-library


================================================
FILE: README_EN.md
================================================
# 🔐 Yandex.Cloud Security Solution Library

**Yandex.Cloud Security Solution Library** is a set of examples and recommendations collected in a public repository on GitHub. Its purpose is to help companies build a secure infrastructure in the cloud and meet the requirements of various regulators and standards. Yandex.Cloud team has selected the most common tasks that arise when building security in the cloud. They have tested and described relevant scenarios in detail.

#### Brief webinar 
[![image](https://user-images.githubusercontent.com/85429798/146542425-b250c494-9a3c-4744-897d-5f65849355d5.png)](https://www.youtube.com/watch?v=WZOB9ow0WrA)


#### ☑️ Yandex.Cloud Security Checklist
Checklist for security in the Yandex.Cloud infrastructure

https://cloud.yandex.com/en/docs/overview/security/domains/checklist

# List of solutions
- 🕸 Network security
  - [Example of setting up Security Groups (dev/stage/prod): Terraform](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/network-sec/segmentation)
  - [Example of installing a VM instance with a firewall (NGFW): Check Point](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/network-sec/checkpoint-1VM)
  - [Example of installing two VM instances with an NGFW Check Point: **Active-Active**](https://github.com/yandex-cloud/yc-solution-library-for-security/blob/master/network-sec/checkpoint-2VM_active-active/README.md)
  - [Example of installing two NGFW Check Point VMs: **Active-Passive**](https://github.com/yandex-cloud/yc-solution-library-for-security/blob/master/network-sec/checkpoint-2VM_active-passive/README.md)
  - [An example of creating a site-to-site VPN connection to Yandex.Cloud: Terraform](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/network-sec/vpn)
- 🔑 Authentication and access control
  - [Развертывание и управление организацией и правами доступа через IaC terraform](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auth_and_access/org_iac_iam)
  - [IAM module with usage examples](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auth_and_access/iam#identity-and-access-management-iam-terraform-module-for-yandexcloud)
  - [LDAP user and group synchronization script](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auth_and_access/ad-sync)
- 🦠 Protection against malicious code
  - [Deploying Kaspersky Antivirus in Yandex.Cloud (Compute Instance, COI)](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/malware-defense/kaspersy-install-in-yc)
- 🐞 Vulnerability management
  - [Fault-tolerant operation of PT Application Firewall based on Yandex.Cloud](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/vuln-mgmt/unmng-waf-ptaf-cluster)
  - [Installing a vulnerable web application (DVWA) in Yandex.Cloud using Terraform for Managed WAF testing](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/vuln-mgmt/vulnerable-web-app-waf-test)
  - [Testing AntiDDos system using Yandex Load Testing](https://github.com/yandex-cloud/yc-solution-library-for-security/blob/master/vuln-mgmt/anti-ddos-lt/README.md)
- 🔏 Data encryption and key and secret management
  - [Encrypting secrets with KMS when transferring the keys to the COI VM container Yandex.Cloud: Terraform](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/encrypt_and_keys/terraform%2BKMS%2BCOI)
  - [Encrypting a VM disk in the cloud using YC KMS](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/encrypt_and_keys/encrypt_disk_VM)
  - [Yandex Cloud Lockbox password solution](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/encrypt_and_keys/terraform-lockbox-vm-credentials)
- 🔎 Collecting, monitoring, and analyzing audit logs
  - [Collecting, monitoring and analyzing audit logs in Yandex Managed Opensearch](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-Opensearch/README_EN.md)
  - [Collecting, monitoring and analyzing audit logs in Yandex Managed Service for Elasticsearch (ELK)](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-ELK_main)
  - [Collecting, monitoring, and analyzing audit logs in an external SIEM ArcSight](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-ArcSight)
  - [Collecting, monitoring, and analyzing audit logs in an external Splunk](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-Splunk)
  - [Collecting, monitoring, and analyzing audit logs in an external Wazuh](https://github.com/yandex-cloud/yc-solution-library-for-security/blob/master/auditlogs/export-auditlogs-to-wazuh/README.md)
  - [Use cases and important security events in audit logs](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/_use_cases_and_searches)
  - [Trails-function-detector: Alerts and response to Information Security events in Audit Trails using Cloud Logging and Cloud Functions + Telegram](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/trails-function-detector)
  - [Monitoring Audit Trails and events in Yandex Cloud Monitoring](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/trail_monitoring)
- 👮 Secure configuration
  - [Example of a secure configuration for Yandex Cloud Object Storage: Terraform](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/configuration/hardening_bucket)
##
<a href="https://kubernetes.io/">
    <img src="https://github.com/magnologan/awesome-k8s-security/blob/master/logo.png"
         alt="Kubernetes logo" title="Kubernetes" height="50" width="50" />
</a></br>

- Kubernetes security
  - Authentication and access control in Managed Kubernetes:
    - [Example of setting up role-based models and policies in Yandex Managed Service for Kubernetes](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/kubernetes-security/auth_and_access/role-model-example)
  - Collecting, monitoring, and analyzing audit logs:
    - [Analyzing K8s security logs in ELK: audit logs, Policy Engine, Falco](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-ELK_k8s)
    - [Exporting Cilium Flow Logs to Object Storage (S3)](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/cilium-s3)
    - [Export of kubernetes audit logs to s3/object storage](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-k8s-to-s3)
    - [Export of kubernetes audit logs to Yandex Data Streams/Kinesis Data Streams](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-k8s-to-yds)
  - Data encryption and key/secret management in Managed Kubernetes
    - [Secret Management with Secret Manager (Lockbox, Vault)](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/kubernetes-security/encrypt_and_keys/secret-management)
  - Secure configuration of Managed Kubernetes:
    - [Osquery and kubequery in K8s: Osquery (protecting K8s nodes), kubequery (analyzing the configuration of the entire K8s)](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/kubernetes-security/osquery-kubequery)
  - CVE mitigations:
    - [CVE-2022-0185](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/kubernetes-security/cve-quickfix/CVE-2022-0185)
    - [CVE-2021-4034](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/kubernetes-security/cve-quickfix/CVE-2021-4034)
  - [Feature comparison table of k8s security solution](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/kubernetes-security/choice_of_solutions)
  - [Starboard integration with Yandex Cloud Container Registry to scan running images](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/kubernetes-security/starboard_and_yc-cr)

##
<a href="https://kubernetes.io/">
    <img src="https://logowik.com/content/uploads/images/gitlab8368.jpg"
         alt="Kubernetes logo" title="Kubernetes" height="50" width="50" />
</a></br>

- CI/CD Security
  - Secure CI/CD on Managed GitLab:
    - [Webinar+materials: Detection of Log4shell and other vulnerabilities in CI / CD based on Managed GitLab](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/secure_ci_cd/secure_ci_cd_with_webinar):
      - [Vulnerability detection in CI/CD (Ultimate license)](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/secure_ci_cd/secure_ci_cd_with_webinar/ultimate_secure_ci_cd)
      - [Vulnerability detection in CI/CD (Free license)](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/secure_ci_cd/secure_ci_cd_with_webinar/free_secure_ci_cd)
      - [Security in Gtilab instance check-list](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/secure_ci_cd/secure_ci_cd_with_webinar/gitlab_instance_sec_checklist)
  - [Speech about compliance and devsesop](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/secure_ci_cd/devsecops-scale/README.md)

##
<a href="https://kubernetes.io/">
    <img src="https://ih1.redbubble.net/image.1599940690.1956/st,small,507x507-pad,600x600,f8f8f8.jpg"
         alt="Kubernetes logo" title="Kubernetes" height="50" width="50" />
</a></br>

- Terraform security
  - [Scan tf manifests with checkov](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/terraform-sec/checkov-yc)
  - [Terraform state in Yandex.Cloud using Object Storage](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/terraform-sec/remote-backend)
    
#
<a href="https://kubernetes.io/">
    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/8/83/Telegram_2019_Logo.svg/1200px-Telegram_2019_Logo.svg.png"
         alt="Kubernetes logo" title="Kubernetes" height="50" width="50" />
</a></br>



# Feedback 
- Improvements, bugs, contribute: Please start using github issue/pr
- Questions, wishes, consultations: Write to us in telegram https://t.me/YandexCloudSecurity

#### Reference architecture
![Refer_arc](https://user-images.githubusercontent.com/85429798/132501079-0bd89876-2cc9-405b-aac3-ea65ac1fb6d2.png)


================================================
FILE: auditlogs/_use_cases_and_searches/README.md
================================================
# Use cases and important security events in audit logs
This section contains use cases and important security events on the Yandex.Cloud platform.

Actual Use Cases and important security events are collected in the repository file here.[Use-casesANDsearches.pdf](https://github.com/yandex-cloud/yc-solution-library-for-security/blob/master/auditlogs/_use_cases_and_searches/Use-casesANDsearches.pdf)

You can ship audit logs from the service [Audit Trails](https://cloud.yandex.ru/docs/audit-trails/) in [Cloud Logging](https://cloud.yandex.ru/docs/audit-trails/operations/export-cloud-logging) or in [Yandex Managed Service for Elasticsearch (ELK)](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-ELK_main) or in your [other own SIEM](https://cloud.yandex.ru/docs/audit-trails/concepts/export-siem)

## Syntax of file
Event analysis expressions are prepared in KQL (ElsticSearch) and CloudLogging to choose
![image](https://user-images.githubusercontent.com/85429798/185589916-ffe26b9b-fec4-489c-ae18-72835bfd5b91.png)

## Example Analysis of Events in Cloud Logging
![Screen Shot 2022-02-15 at 17 11 06](https://user-images.githubusercontent.com/85429798/154079879-db576283-3afb-4bc5-a1d7-4e7de9dcb987.png)

## An example of event analysis in ELK
![image](https://user-images.githubusercontent.com/85429798/154079995-10c9d330-3e2e-4b7e-bc97-31a8b71611db.png)

## An example of event analysis in YQ
![image](https://user-images.githubusercontent.com/85429798/185590295-e556e9b9-721b-419f-a864-179b0c2d42ad.png)


================================================
FILE: auditlogs/_use_cases_and_searches/README_RU.md
================================================
# Use cases и важные события безопасности в аудит логах
В данном разделе собраны use cases и важные события безопасности платформы Yandex.Cloud.

Актуальные Use cases и важные события безопасности собраны в файле репозитория здесь [Use_Cases.pdf](https://github.com/yandex-cloud/yc-solution-library-for-security/blob/master/auditlogs/_use_cases_and_searches/Use-casesANDsearches.pdf)

Вы можете отгружать аудит логи из сервиса [Audit Trails](https://cloud.yandex.ru/docs/audit-trails/) в [Cloud Logging](https://cloud.yandex.ru/docs/audit-trails/operations/export-cloud-logging) или в [Yandex Managed Service for Elasticsearch (ELK)](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-ELK_main) либо в ваш [собственный SIEM](https://cloud.yandex.ru/docs/audit-trails/concepts/export-siem)

## Синтаксис файла
Выражения по анализу событий подготовлены на языке KQL(ElsticSearch) и Cloudlogging на выбор
![image](https://user-images.githubusercontent.com/85429798/154081374-843f5c6d-a881-404a-b618-3693f1d3a11b.png)

## Пример анализа событий в Cloud Logging
![Screen Shot 2022-02-15 at 17 11 06](https://user-images.githubusercontent.com/85429798/154079879-db576283-3afb-4bc5-a1d7-4e7de9dcb987.png)

## Пример анализа событий в ELK
![image](https://user-images.githubusercontent.com/85429798/154079995-10c9d330-3e2e-4b7e-bc97-31a8b71611db.png)


================================================
FILE: auditlogs/cilium-s3/Dockerfile
================================================
FROM golang:1.16-alpine AS build
##
## Build
##
WORKDIR /cilium-splunk

COPY go.mod ./
COPY go.sum ./

RUN go mod download

COPY ./cmd/cilium-exporter ./cmd/cilium-exporter
COPY ./internal ./internal
COPY ./config.yaml.example ./

RUN go build -o /cilium-exporter ./cmd/cilium-exporter/main.go 

##
## Deploy
##
#FROM golang:1.16-alpine
FROM alpine:3.14
WORKDIR /
COPY --from=build /cilium-exporter /cilium-exporter
ENTRYPOINT ["/cilium-exporter"]




================================================
FILE: auditlogs/cilium-s3/Dockerfile old
================================================
FROM golang:1.16-alpine

WORKDIR /cilium-splunk

COPY go.mod ./
COPY go.sum ./

RUN go mod download

COPY ./cmd/cilium-exporter ./cmd/cilium-exporter
COPY ./internal ./internal
COPY ./config.yaml.example ./

RUN go build -o /bin/cilium-exporter ./cmd/cilium-exporter/main.go 

CMD [ "/bin/cilium-exporter" ]



================================================
FILE: auditlogs/cilium-s3/README.md
================================================
# "cilium-s3" Export flow logs of Cilium to Yandex Cloud Object Storage

<img width="1081" alt="Снимок экрана 2021-10-23 в 20 40 23" src="https://user-images.githubusercontent.com/85429798/138566364-3f6beb5b-aab9-4bb3-8d14-c7f108aaa1d6.png">

<img width="607" alt="Снимок экрана 2021-10-23 в 20 38 08" src="https://user-images.githubusercontent.com/85429798/138566328-f1a32606-47aa-4a4d-bf68-a346d3c87a74.png">

<img width="607" alt="Снимок экрана 2021-10-23 в 20 38 08" src="https://user-images.githubusercontent.com/85429798/138566529-cf6aadb4-df28-4de1-83ce-360523a12588.png">



# Version

**Version-1.0**
- Changelog:
    - First version
- Docker images:
    - `cr.yandex/sol/cilium-s3:1`
- Helm chart:
    - `cr.yandex/sol/cilium-s3-chart:0.1.0`

## Solution Description
Connects via gRPC to hubble-relay and sends netflow events to Object Storage
Then you can pick up these events from Object Storage to any SIEM using [GeeseFS](https://cloud.yandex.ru/docs/storage/tools/geesefs) or other aws compatible plugins

Or using prepared Object Storage integrations in the following SIEMs:
- [Object storage to Splunk](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-Splunk)
- Cilium flow logs to Elasticsearch Скоро!!!

## Installing with helm

#### Prerequisites 
- :white_check_mark: Yandex Managed Service for Kubernetes® [with Cilium CNI enabled](https://cloud.yandex.ru/docs/managed-kubernetes/quickstart#kubernetes-cluster-create)
- :white_check_mark: [Object Storage Bucket](https://cloud.yandex.ru/docs/storage/quickstart)
- :white_check_mark: [Created static keys for service account](https://cloud.yandex.ru/docs/iam/operations/sa/create-access-key)
- :white_check_mark: [Installed Helm client](https://helm.sh/ru/docs/intro/install/)

#### Install helm-chart 

Install helm hart by replacing the values with your own (specified in the prerequisites)

```Python
helm install cilium-s3-chart oci://cr.yandex/sol/cilium-s3-chart --version 0.1.0 --namespace cilium-s3 --create-namespace \
--set yandex.secretaccesskey=<your-secretaccesskey> \
--set yandex.bucket=<your-Bucket-name> \
--set yandex.accesskeyid=<your-accesskeyid> \
--set yandex.prefix=<your-secretaccesskey> (например:k8s-cilium-flow-logs/cluster-id-1232145gfg) 

```

```
Helm values:
yandex:
-    accesskeyid: ""  # yandex access key
-    secretaccesskey: ""  # yandex secret access key
-    bucket: ""  # Yandex storage, bucket name
-    hubble_url: "hubble-relay.kube-system.svc.cluster.local:80" # Hubble-url
-    prefix: "k8s-cilium-flow-logs/" # Prefix of bucket folder
-    region: "ru-central1" # region of S3
-    endpoint: "https://storage.yandexcloud.net" # endpoint of S3
```


================================================
FILE: auditlogs/cilium-s3/cmd/cilium-exporter/main.go
================================================
package main

import (
	"cilium-splunk/internal/hubble"
	"cilium-splunk/internal/s3"
	"context"
	"flag"
	"os"
	"os/signal"
	"syscall"
	"time"

	"github.com/aws/aws-sdk-go/aws"
	observerpb "github.com/cilium/cilium/api/v1/observer"
	"github.com/heetch/confita"
	"github.com/heetch/confita/backend/env"
	"github.com/heetch/confita/backend/file"
	"go.uber.org/zap"
	"go.uber.org/zap/zapcore"
	"golang.org/x/sync/errgroup"
)

type S3Config struct {
	Region          string `config:"S3_REGION,backend=env"`
	Endpoint        string `config:"S3_ENDPOINT,backend=env"`
	Bucket          string `config:"S3_BUCKET,backend=env"`
	Prefix          string `config:"S3_PREFIX,backend=env"`
	AccessKeyID     string `config:"S3_ACCESS_KEY_ID,backend=env" yaml:"access-key-id"`
	SecretAccessKey string `config:"S3_SECRET_ACCESS_KEY,backend=env" yaml:"secret-access-key"`
}

type Config struct {
	//Old string
	// HubbleRelayUrl string   `config:"hubble-relay-url,required" yaml:"hubble-relay-url"`
	//Есть сомнения, что так заработает (надо сделать чтобы через env)
	HubbleRelayUrl string   `config:"hubble-relay-url,required,backend=env"`
	S3             S3Config `config:"s3"`
}

var workerPoolSize = 1

var cfg = &Config{
	S3: S3Config{
		Region:   "ru-central1",
		Endpoint: "https://storage.yandexcloud.net",
	},
	HubbleRelayUrl: "hubble-relay.kube-system.svc.cluster.local:80",
}

var logger *zap.Logger
var debug bool

func init() {
	configPath := flag.String("config", "config.yaml", "Path to config file")
	flag.BoolVar(&debug, "debug", false, "Debug logger")
	flag.Parse()

	var level zapcore.Level = zapcore.InfoLevel
	if debug {
		level = zapcore.DebugLevel
	}

	logger = zap.New(zapcore.NewCore(
		zapcore.NewJSONEncoder(zap.NewProductionEncoderConfig()),
		zapcore.Lock(os.Stdout),
		zap.NewAtomicLevelAt(level),
	))

	err := confita.NewLoader(
		file.NewOptionalBackend(*configPath),
		env.NewBackend(),
	).Load(context.Background(), cfg)
	if err != nil {
		logger.Fatal(err.Error())
	}
	logger.Debug("Config loaded", zap.Any("config", cfg))
}

func main() {
	defer logger.Sync()

	ctx, done := context.WithCancel(context.Background())
	g, gctx := errgroup.WithContext(ctx)

	g.Go(func() error {
		signalChannel := make(chan os.Signal, 1)
		signal.Notify(signalChannel, os.Interrupt, syscall.SIGTERM)

		select {
		case sig := <-signalChannel:
			logger.Info("Received signal", zap.Any("signal", sig))
			done()
			time.AfterFunc(3*time.Second, func() {
				logger.Sync()
				logger.Fatal("Exit deadline exeeded")
			})
		case <-gctx.Done():
			logger.Info("Closing signal goroutine")
			return gctx.Err()
		}

		return nil
	})

	senderChan := make(chan observerpb.GetFlowsResponse)
	observer := hubble.NewObserver(&senderChan, cfg.HubbleRelayUrl, logger)

	awsConfig := aws.NewConfig()
	if debug {
		awsConfig.WithLogLevel(aws.LogDebug)
	}
	sender := s3.NewSender(&senderChan, s3.S3Config{
		Region:          cfg.S3.Region,
		Endpoint:        cfg.S3.Endpoint,
		Bucket:          cfg.S3.Bucket,
		Prefix:          cfg.S3.Prefix,
		AccessKeyID:     cfg.S3.AccessKeyID,
		SecretAccessKey: cfg.S3.SecretAccessKey,
	}, awsConfig, logger)

	g.Go(func() error {
		gctx := gctx
		return observer.Start(gctx)
	})
	for i := 0; i < workerPoolSize; i++ {
		g.Go(func() error {
			gctx := gctx
			return sender.Worker(gctx)
		})
	}

	if err := g.Wait(); err == nil || err == context.Canceled {
		logger.Info("Finished clean")
	} else {
		logger.Error("Error while waiting for goroutines", zap.Error(err))
	}
}


================================================
FILE: auditlogs/cilium-s3/config.yaml.example
================================================
s3:
  bucket: "k8s-logs"
  prefix: "k8s/b1gnusj8glj1pkr3ru0e/b1gpl1hi60t84gv7gg8o/catfr1ki8briuhgra3qm"
  access-key-id: "..." # Can be set using S3_ACCESS_KEY_ID env
  secret-access-key: "..." # Can be set using S3_SECRET_ACCESS_KEY env

hubble-relay-url: "hubble-relay.kube-system.svc.cluster.local:80" # Defaults to "hubble-relay.kube-system.svc.cluster.local:80"

================================================
FILE: auditlogs/cilium-s3/go.mod
================================================
module cilium-splunk

go 1.17

require (
	github.com/aws/aws-sdk-go v1.41.1
	github.com/cilium/cilium v1.10.4
	github.com/heetch/confita v0.10.0
	go.uber.org/zap v1.19.1
	google.golang.org/grpc v1.41.0
)

require (
	github.com/BurntSushi/toml v0.4.1 // indirect
	github.com/pkg/errors v0.9.1 // indirect
	go.uber.org/atomic v1.9.0 // indirect
	go.uber.org/multierr v1.7.0 // indirect
	gopkg.in/yaml.v2 v2.4.0 // indirect
)

require (
	github.com/golang/protobuf v1.5.2 // indirect
	github.com/jmespath/go-jmespath v0.4.0 // indirect
	golang.org/x/net v0.0.0-20211011170408-caeb26a5c8c0 // indirect
	golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
	golang.org/x/sys v0.0.0-20211013075003-97ac67df715c // indirect
	golang.org/x/text v0.3.7 // indirect
	google.golang.org/genproto v0.0.0-20211013025323-ce878158c4d4 // indirect
	google.golang.org/protobuf v1.27.1 // indirect
)


================================================
FILE: auditlogs/cilium-s3/go.sum
================================================
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4=
cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M=
cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc=
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk=
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/Azure/azure-sdk-for-go v54.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
github.com/Azure/go-autorest/autorest v0.11.1/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw=
github.com/Azure/go-autorest/autorest v0.11.12/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw=
github.com/Azure/go-autorest/autorest v0.11.17/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw=
github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=
github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg=
github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A=
github.com/Azure/go-autorest/autorest/adal v0.9.11/go.mod h1:nBKAnTomx8gDtl+3ZCJv2v0KACFHWTB2drffI1B68Pk=
github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M=
github.com/Azure/go-autorest/autorest/azure/auth v0.5.7/go.mod h1:AkzUsqkrdmNhfP2i54HqINVQopw0CLDnvHpJ88Zz1eI=
github.com/Azure/go-autorest/autorest/azure/cli v0.4.2/go.mod h1:7qkJkT+j6b+hIpzMOwPChJhTqS8VbsqqgULzMNRugoM=
github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=
github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74=
github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k=
github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k=
github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE=
github.com/Azure/go-autorest/autorest/validation v0.2.0/go.mod h1:3EEqHnBxQGHXRYq3HT1WyXAvT7LLY3tl70hw6tQIbjI=
github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc=
github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8=
github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8=
github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk=
github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v0.4.1 h1:GaI7EiDXDRfa8VshkTj7Fym7ha+y8/XxIgD2okUIjLw=
github.com/BurntSushi/toml v0.4.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/DataDog/datadog-go v2.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA=
github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
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/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=
github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
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=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0=
github.com/aliyun/alibaba-cloud-sdk-go v1.61.957/go.mod h1:pUKYbK5JQ+1Dfxk80P0qxGqe5dkxDoabbZS7zOcouyA=
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878/go.mod h1:3AMJUQhVx52RsWOnlkpikZr01T/yAVN2gn0861vByNg=
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=
github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A=
github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg=
github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg=
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU=
github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48=
github.com/aws/aws-sdk-go v1.41.1 h1:TR9j7i73tzV8ELPMc0LkImSRLljRJ+gQeArKBC7IfVE=
github.com/aws/aws-sdk-go v1.41.1/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.3.2/go.mod h1:7OaACgj2SX3XGWnrIjGlJM22h6yD6MEWKvm7levnnM8=
github.com/aws/aws-sdk-go-v2 v1.3.3/go.mod h1:7OaACgj2SX3XGWnrIjGlJM22h6yD6MEWKvm7levnnM8=
github.com/aws/aws-sdk-go-v2/config v1.1.6/go.mod h1:Kx90DDOgkMpRfSkzGbF13AVXHHfBNct1liO+95KxXsU=
github.com/aws/aws-sdk-go-v2/credentials v1.1.6/go.mod h1:q1wQ5jHdFNhc4wnNcOEpnovs4keJA5Ds+qESCnfEsgU=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.6/go.mod h1:0+fWMitrmIpENiY8/1DyhdYPUCAPvd9UNz9mtCsEoLQ=
github.com/aws/aws-sdk-go-v2/service/ec2 v1.5.0/go.mod h1:3iBezuZtNxZnKX7Zv2JB/lGyGCSYOES8TMq4WSXPBl0=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.6/go.mod h1:L0KWr0ASo83PRZu9NaZaDsw3koS6PspKv137DMDZjHo=
github.com/aws/aws-sdk-go-v2/service/sso v1.1.5/go.mod h1:bpGz0tidC4y39sZkQSkpO/J0tzWCMXHbw6FZ0j1GkWM=
github.com/aws/aws-sdk-go-v2/service/sts v1.3.0/go.mod h1:ssRzzJ2RZOVuKj2Vx1YE7ypfil/BIlgmQnCSW4DistU=
github.com/aws/smithy-go v1.3.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E=
github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
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/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=
github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ=
github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s=
github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ=
github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
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/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
github.com/cilium/cilium v1.10.4 h1:xW56mkiRhxshPcS30IhsCBPwSFEgV3xcQSWMZyg8oq4=
github.com/cilium/cilium v1.10.4/go.mod h1:lWTUj3a9NwQKl+6wUCt0iVPySWpsAqm+1lfAXyig1LI=
github.com/cilium/customvet v0.0.0-20201209211516-9852765c1ac4/go.mod h1:MEn5V1CejgUNFP3Y1JKmBC6Mb9TuK53ecHG9lffctFg=
github.com/cilium/deepequal-gen v0.0.0-20200406125435-ad6a9003139e/go.mod h1:c4R5wxGyXhbM6zyKeRKNIc9aab5EZi4z4oOSZvUMvZA=
github.com/cilium/ebpf v0.5.1-0.20210421150058-a4ee356536f3/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs=
github.com/cilium/ipam v0.0.0-20201106170308-4184bc4bf9d6/go.mod h1:Ascfar4FtgB+K+mwqbZpSb3WVZ5sPFIarg+iAOXNZqI=
github.com/cilium/proxy v0.0.0-20210511221533-82a70d56bf32/go.mod h1:mvauc94lqkyJunRsU9Ef5FIsixi8vBeDoxuMYoGBemk=
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/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=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go v0.0.0-20201211205326-cc1b757b3edd/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY=
github.com/containernetworking/cni v0.8.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY=
github.com/containernetworking/plugins v0.9.0/go.mod h1:dbWv4dI0QrBGuVgj+TuVQ6wJRZVOhrCQj91YyC92sxg=
github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
github.com/coreos/etcd v3.3.3+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU=
github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ=
github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s=
github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8=
github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8=
github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE=
github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/docker/libnetwork v0.0.0-20190128195551-d8d4c8cf03d7/go.mod h1:93m0aTqz6z+g32wla4l4WxTrdtvBRmVzYRkYvasA5Z8=
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/channels v1.1.0/go.mod h1:jMm2qB5Ubtg9zLd+inMZd2/NUvXgzmWXsDaLyQIGfH0=
github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs=
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=
github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/envoyproxy/protoc-gen-validate v0.4.2-0.20210105193028-872b28c45782/go.mod h1:xL5IroIBOR+aTp0IZk48epGwBV3+LcuaosPL0pr0hE0=
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k=
github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4=
github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20=
github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/fsnotify/fsnotify v1.4.10-0.20200417215612-7f4cf4dd2b52/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o=
github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp40uXYvFoEVrNEPqRc=
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM=
github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU=
github.com/go-openapi/analysis v0.19.10/go.mod h1:qmhS3VNFxBlquFJ0RGoDtylO9y4pgTAUNE9AEEMdlJQ=
github.com/go-openapi/analysis v0.19.16/go.mod h1:GLInF007N83Ad3m8a/CbQ5TPzdnGT7workfHwuVjNVk=
github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
github.com/go-openapi/errors v0.19.6/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
github.com/go-openapi/errors v0.19.7/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0=
github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg=
github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg=
github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs=
github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI=
github.com/go-openapi/loads v0.19.4/go.mod h1:zZVHonKd8DXyxyw4yfnVjPzBjIQcLt0CCsn0N0ZrQsk=
github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY=
github.com/go-openapi/loads v0.19.6/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc=
github.com/go-openapi/loads v0.19.7/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc=
github.com/go-openapi/loads v0.20.0/go.mod h1:2LhKquiE513rN5xC6Aan6lYOSddlL8Mp20AW9kpviM4=
github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA=
github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64=
github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4=
github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo=
github.com/go-openapi/runtime v0.19.16/go.mod h1:5P9104EJgYcizotuXhEuUrzVc+j1RiSjahULvYmlv98=
github.com/go-openapi/runtime v0.19.24/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk=
github.com/go-openapi/runtime v0.19.26/go.mod h1:BvrQtn6iVb2QmiVXRsFAm6ZCAZBpbVKFfN6QWCp582M=
github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc=
github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
github.com/go-openapi/spec v0.19.5/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
github.com/go-openapi/spec v0.19.15/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU=
github.com/go-openapi/spec v0.20.0/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU=
github.com/go-openapi/spec v0.20.3/go.mod h1:gG4F8wdEDN+YPBMVnzE85Rbhf+Th2DTvA9nFPQ5AYEg=
github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY=
github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk=
github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk=
github.com/go-openapi/strfmt v0.19.11/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc=
github.com/go-openapi/strfmt v0.20.0/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc=
github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY=
github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY=
github.com/go-openapi/swag v0.19.12/go.mod h1:eFdyEBkTdoAf/9RXBvj4cr1nH7GD8Kzo5HTt47gr72M=
github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA=
github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo=
github.com/go-openapi/validate v0.19.5/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4=
github.com/go-openapi/validate v0.19.10/go.mod h1:RKEZTUWDkxKQxN2jDT7ZnZi2bhZlbNMAuKvKB+IaGx8=
github.com/go-openapi/validate v0.19.12/go.mod h1:Rzou8hA/CBw8donlS6WNEUQupNvUZ0waH08tGe6kAQ4=
github.com/go-openapi/validate v0.19.15/go.mod h1:tbn/fdOwYHgrhPBzidZfJC2MIVvs9GA7monOmWBbeCI=
github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE9E4k54HpKcJ0=
github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA=
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=
github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs=
github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI=
github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI=
github.com/gobuffalo/flect v0.2.0/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80=
github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk=
github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28=
github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo=
github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk=
github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw=
github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360=
github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg=
github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE=
github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8=
github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ=
github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw=
github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/goji/httpauth v0.0.0-20160601135302-2da839ab0f4d/go.mod h1:nnjvkQ9ptGaCkuDUx6wNykzzlUixGxvkme+H/lnzb+A=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gopacket v1.1.19/go.mod h1:iJ8V8n6KS+z2U1A8pUwu8bW5SyEMkXJB8Yo/Vo+TKTo=
github.com/google/gops v0.3.18/go.mod h1:Pfp8hWGIFdV/7rY9/O/U5WgdjYQXf/GiEK4NVuVd2ZE=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/renameio v1.0.0/go.mod h1:t/HQoYBZSsWSNK35C6CO/TpPLDVWvxOHboWUAweKUpk=
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
github.com/googleapis/gnostic v0.1.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg=
github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
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/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.4.0/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=
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
github.com/grpc-ecosystem/grpc-gateway v1.8.6/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE=
github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI=
github.com/hashicorp/go-hclog v0.8.0/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ=
github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
github.com/hashicorp/go-immutable-radix v1.3.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY=
github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs=
github.com/hashicorp/go-retryablehttp v0.5.4/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs=
github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8=
github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A=
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-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
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=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
github.com/hashicorp/memberlist v0.1.7/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE=
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
github.com/hashicorp/vault/api v1.0.4/go.mod h1:gDcqh3WGcR1cpF5AJz/B1UFheUEneMoIospckxBxk6Q=
github.com/hashicorp/vault/sdk v0.1.13/go.mod h1:B+hVj7TpuQY1Y/GPbCpffmgd+tSEwvhkWnjtSYCaS2M=
github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM=
github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM=
github.com/heetch/confita v0.10.0 h1:00V4eQPDU71v9nZD7N/DsSb9cnPJh59CjrpQPfln47A=
github.com/heetch/confita v0.10.0/go.mod h1:W6GDCVPvi2LpvdEriwZTu2fyxuK+Grx1vY302gtWfvM=
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/iancoleman/strcase v0.0.0-20180726023541-3605ed457bf7/go.mod h1:SK73tn/9oHe+/Y0h39VT4UCxmurVJkR5NA7kMEAOgSE=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
github.com/ishidawataru/sctp v0.0.0-20180213033435-07191f837fed/go.mod h1:DM4VvS+hD/kDi1U1QsX2fnZowwBhqD0Dk3bRPKF/Oc8=
github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA=
github.com/jeremywohl/flatten v1.0.1/go.mod h1:4AmD/VxjWcI5SRB0n6szE2A6s2fsNHDLO0nAlMHgfLQ=
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/josharian/native v0.0.0-20200817173448-b6b71def0850/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w=
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
github.com/jsimonetti/rtnetlink v0.0.0-20190606172950-9527aa82566a/go.mod h1:Oz+70psSo5OFh8DBl0Zv2ACw7Esh6pPUphlvZG9x7uw=
github.com/jsimonetti/rtnetlink v0.0.0-20200117123717-f846d4f6c1f4/go.mod h1:WGuG/smIU4J/54PblvSbh+xvCZmpJnFgr3ds6Z55XMQ=
github.com/jsimonetti/rtnetlink v0.0.0-20201009170750-9c6f07d100c1/go.mod h1:hqoO/u39cqLeBLebZ8fWdE96O7FxrAsRYhnVOdgHxok=
github.com/jsimonetti/rtnetlink v0.0.0-20201216134343-bde56ed16391/go.mod h1:cR77jAZG3Y3bsb8hF6fHJbFoyFukLFOkQ98S0pQz3xw=
github.com/jsimonetti/rtnetlink v0.0.0-20201220180245-69540ac93943/go.mod h1:z4c53zj6Eex712ROyh8WI0ihysb5j2ROyV42iNogmAs=
github.com/jsimonetti/rtnetlink v0.0.0-20210122163228-8d122574c736/go.mod h1:ZXpIyOK59ZnN7J0BV99cZUPmsqDRZ3eq5X+st7u/oSA=
github.com/jsimonetti/rtnetlink v0.0.0-20210212075122-66c871082f2b/go.mod h1:8w9Rh8m+aHZIG69YPGGem1i5VzoyRC8nw2kA8B+ik5U=
github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4=
github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
github.com/keybase/go-ps v0.0.0-20190827175125-91aafc93ba19/go.mod h1:hY+WOq6m2FpbvyrI93sMaypsttvaIL5nhVR92dTMUcQ=
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM=
github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=
github.com/lyft/protoc-gen-star v0.5.1/go.mod h1:9toiA3cC7z5uVbODF7kEQ91Xn7XNFkVUl+SrEe+ZORU=
github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ=
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o=
github.com/mattn/go-shellwords v1.0.10/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
github.com/mdlayher/arp v0.0.0-20190313224443-98a83c8a2717/go.mod h1:eOj1DDj3NAZ6yv+WafaKzY37MFZ58TdfIhQ+8nQbiis=
github.com/mdlayher/ethernet v0.0.0-20190313224307-5b5fc417d966/go.mod h1:5s5p/sMJ6sNsFl6uCh85lkFGV8kLuIYJCRJLavVJwvg=
github.com/mdlayher/ethernet v0.0.0-20190606142754-0394541c37b7/go.mod h1:U6ZQobyTjI/tJyq2HG+i/dfSoFUt8/aZCM+GKtmFk/Y=
github.com/mdlayher/ethtool v0.0.0-20210210192532-2b88debcdd43/go.mod h1:+t7E0lkKfbBsebllff1xdTmyJt8lH37niI6kwFk9OTo=
github.com/mdlayher/genetlink v1.0.0/go.mod h1:0rJ0h4itni50A86M2kHcgS85ttZazNt7a8H2a2cw0Gc=
github.com/mdlayher/ndp v0.0.0-20190419144644-012988d57f9a/go.mod h1:KcNh3mzU4B90fthp1xbbYGrdpDyoU/qJHJMR/0gLueU=
github.com/mdlayher/netlink v0.0.0-20190409211403-11939a169225/go.mod h1:eQB3mZE4aiYnlUsyGGCOpPETfdQq4Jhsgf1fk3cwQaA=
github.com/mdlayher/netlink v1.0.0/go.mod h1:KxeJAFOFLG6AjpyDkQ/iIhxygIUKD+vcwqcnu43w/+M=
github.com/mdlayher/netlink v1.1.0/go.mod h1:H4WCitaheIsdF9yOYu8CFmCgQthAPIWZmcKp9uZHgmY=
github.com/mdlayher/netlink v1.1.1/go.mod h1:WTYpFb/WTvlRJAyKhZL5/uy69TDDpHHu2VZmb2XgV7o=
github.com/mdlayher/netlink v1.2.0/go.mod h1:kwVW1io0AZy9A1E2YYgaD4Cj+C+GPkU6klXCMzIJ9p8=
github.com/mdlayher/netlink v1.2.1/go.mod h1:bacnNlfhqHqqLo4WsYeXSqfyXkInQ9JneWI68v1KwSU=
github.com/mdlayher/netlink v1.2.2-0.20210123213345-5cc92139ae3e/go.mod h1:bacnNlfhqHqqLo4WsYeXSqfyXkInQ9JneWI68v1KwSU=
github.com/mdlayher/netlink v1.3.0/go.mod h1:xK/BssKuwcRXHrtN04UBkwQ6dY9VviGGuriDdoPSWys=
github.com/mdlayher/netlink v1.4.0/go.mod h1:dRJi5IABcZpBD2A3D0Mv/AiX8I9uDEu5oGkAVrekmf8=
github.com/mdlayher/raw v0.0.0-20190313224157-43dbcdd7739d/go.mod h1:r1fbeITl2xL/zLbVnNHFyOzQJTgr/3fpf1lJX/cjzR8=
github.com/mdlayher/raw v0.0.0-20190606142536-fef19f00fc18/go.mod h1:7EpbotpCmVZcu+KCX4g9WaRNuu11uyhiW7+Le1dKawg=
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso=
github.com/mikioh/ipaddr v0.0.0-20190404000644-d465c8ab6721/go.mod h1:Ickgr2WtCLZ2MDGd4Gr0geeCH5HybhRJbonOgQpvSxc=
github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw=
github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo=
github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg=
github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
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.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c=
github.com/moby/term v0.0.0-20201216013528-df9cb8a40635/go.mod h1:FBS0z0QWA44HXygs7VXDUOGoN/1TV3RuWkLO04am3wc=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
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/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k=
github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w=
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/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
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/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
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/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.8.1/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA=
github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc=
github.com/onsi/gomega v1.10.5/go.mod h1:gza4q3jKQJijlu05nKWRCW/GavJumGt8aNRxWg7mt48=
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis=
github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74=
github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA=
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/optiopay/kafka v0.0.0-20171218140449-a1e0071f1ce8/go.mod h1:+j8QXtnwphDeotPJadizkD7zY32Aa0/017iz+r4ToEQ=
github.com/osrg/gobgp v2.0.0+incompatible/go.mod h1:vGVJPLW6JFDD7WA1vJsjB8OKmbbC2TKwHtr90CZS/u4=
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=
github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac=
github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o=
github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc=
github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA=
github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM=
github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs=
github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og=
github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
github.com/prometheus/client_golang v1.9.0/go.mod h1:FqZLKOZnGdFAhOK4nqGHa7D66IdsO+O441Eve7ptJDU=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.2.1-0.20200623203004-60555c9708c7/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA=
github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A=
github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
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=
github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
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/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc=
github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4=
github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=
github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM=
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/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
github.com/servak/go-fastping v0.0.0-20160802140958-5718d12e20a0/go.mod h1:udnTWkGp1ZiRsEU6rPpITf4oM2aLVcoGY/Z100KY4zY=
github.com/shirou/gopsutil/v3 v3.21.2/go.mod h1:ghfMypLDrFSWN2c9cDYFLHyynQ+QUht0cv/18ZqVczw=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4=
github.com/spf13/afero v1.3.4/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=
github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI=
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
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/handy v0.0.0-20190108123426-d5acb3125c2a/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/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/tklauser/go-sysconf v0.3.4/go.mod h1:Cl2c8ZRWfHD5IrfHo9VN+FX9kCFjIOyVklgXycLB6ek=
github.com/tklauser/numcpus v0.2.1/go.mod h1:9aU+wOc6WjUIZEwWMP62PL/41d65P+iks1gBkr4QyP8=
github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
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/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
github.com/vishvananda/netlink v1.0.0/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk=
github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho=
github.com/vishvananda/netlink v1.1.1-0.20210510164352-d17758a128bf/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho=
github.com/vishvananda/netns v0.0.0-20190625233234-7109fa855b0f/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI=
github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0=
github.com/vishvananda/netns v0.0.0-20201230012202-c4f3ca719c73/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0=
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=
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
github.com/xlab/treeprint v1.0.0/go.mod h1:IoImgRak9i3zJyuxOKUP1v4UZd1tMoKkq/Cimt1uhCg=
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
gitlab.com/golang-commonmark/puny v0.0.0-20180912090636-2cd490539afe/go.mod h1:P9LSM1KVzrIstFgUaveuwiAm8PK5VTB3yJEU8kqlbrU=
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ=
go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg=
go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg=
go.etcd.io/etcd v0.5.0-alpha.5.0.20201125193152-8a03d2e9614b/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg=
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=
go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
go.mongodb.org/mongo-driver v1.4.3/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
go.mongodb.org/mongo-driver v1.4.4/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
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/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 h1:zaiO/rmgFjbmCXdSYJWQcdvOCsthmdaHfr3Gm2Kx4Ec=
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.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
go.uber.org/zap v1.19.1 h1:ue41HOKd1vGURxrmeKIgELGb3jPW9DMUDGtsinblHwI=
go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI=
go.universe.tf/metallb v0.9.6/go.mod h1:mJnnUITBIRREP/BMjZWxa6K2Rh8QA1zJZEhuBD9pf5M=
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-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
golang.org/x/crypto v0.0.0-20190506204251-e1dfcc566284/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/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-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/crypto v0.0.0-20210503195802-e9a32991a82e/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
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/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=
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.1-0.20200828183125-ce943fd02449/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190313220215-9f648a60d977/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190419010253-1f3472d942ba/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20191007182048-72f939374954/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201216054612-986b41b23924/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210224082022-3d97a244fca7/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20210504132125-bbd867fde50d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211011170408-caeb26a5c8c0 h1:qOfNqBm5gk93LjGZo1MJaKY6Bph39zOKz1Hz2ogHj1w=
golang.org/x/net v0.0.0-20211011170408-caeb26a5c8c0/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
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-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190209173611-3b5209105503/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-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190411185658-b44545bcd369/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190418153312-f0ce4c0180be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190508220229-2d0786266e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190516110030-61b9204099cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606122018-79a91cf218c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/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-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-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201009025420-dfb3f7c4e634/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201118182958-a01c418693c7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201214210602-f9fddec55a1e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201218084310-7d0127a74742/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210110051926-789bb1bd4061/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210123111255-9b0068b26619/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210216163648-f7da38b97c65/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210217105451-b926d437f341/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210309040221-94ec62e08169/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210503173754-0981d6026fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211013075003-97ac67df715c h1:taxlMj0D/1sOAuv/CbSD+MMDof2vbyPTqz5FNYKpXt8=
golang.org/x/sys v0.0.0-20211013075003-97ac67df715c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
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-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
golang.org/x/tools v0.0.0-20200324175852-6fb6f5a9fc59/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200616195046-dc31b401abb5/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/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=
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=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.zx2c4.com/wireguard v0.0.0-20210427022245-097af6e1351b/go.mod h1:a057zjmoc00UN7gVkaJt2sXVK523kMJcogDTEvPIasg=
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20210506160403-92e472f520a5/go.mod h1:+1XihzyZUBJcSc5WO9SwNA7v26puQwOEDwanaxfNXPQ=
google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
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=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s=
google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=
google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20211013025323-ce878158c4d4 h1:NBxB1XxiWpGqkPUiJ9PoBXkHV5A9+GohMOA+EmWoPbU=
google.golang.org/genproto v0.0.0-20211013025323-ce878158c4d4/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
google.golang.org/grpc v1.41.0 h1:f+PlOh7QV4iIJkPrx5NQ7qaNGFQ3OTse67yaDHfju4E=
google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
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/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw=
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/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=
gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=
gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/ini.v1 v1.42.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20190905181640-827449938966/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk=
gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8=
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
k8s.io/api v0.18.2/go.mod h1:SJCWI7OLzhZSvbY7U8zwNl9UA4o1fizoug34OV/2r78=
k8s.io/api v0.20.2/go.mod h1:d7n6Ehyzx+S+cE3VhTGfVNNqtGc/oL9DCdYYahlurV8=
k8s.io/api v0.21.3/go.mod h1:hUgeYHUbBp23Ue4qdX9tR8/ANi/g3ehylAqDn9NWVOg=
k8s.io/apiextensions-apiserver v0.18.2/go.mod h1:q3faSnRGmYimiocj6cHQ1I3WpLqmDgJFlKL37fC4ZvY=
k8s.io/apiextensions-apiserver v0.21.3/go.mod h1:kl6dap3Gd45+21Jnh6utCx8Z2xxLm8LGDkprcd+KbsE=
k8s.io/apimachinery v0.18.2/go.mod h1:9SnR/e11v5IbyPCGbvJViimtJ0SwHG4nfZFjU77ftcA=
k8s.io/apimachinery v0.20.2/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU=
k8s.io/apimachinery v0.21.3/go.mod h1:H/IM+5vH9kZRNJ4l3x/fXP/5bOPJaVP/guptnZPeCFI=
k8s.io/apiserver v0.18.2/go.mod h1:Xbh066NqrZO8cbsoenCwyDJ1OSi8Ag8I2lezeHxzwzw=
k8s.io/apiserver v0.21.3/go.mod h1:eDPWlZG6/cCCMj/JBcEpDoK+I+6i3r9GsChYBHSbAzU=
k8s.io/client-go v0.18.2/go.mod h1:Xcm5wVGXX9HAA2JJ2sSBUn3tCJ+4SVlCbl2MNNv+CIU=
k8s.io/client-go v0.20.2/go.mod h1:kH5brqWqp7HDxUFKoEgiI4v8G1xzbe9giaCenUWJzgE=
k8s.io/client-go v0.21.3/go.mod h1:+VPhCgTsaFmGILxR/7E1N0S+ryO010QBeNCv5JwRGYU=
k8s.io/code-generator v0.18.2/go.mod h1:+UHX5rSbxmR8kzS+FAv7um6dtYrZokQvjHpDSYRVkTc=
k8s.io/code-generator v0.21.3/go.mod h1:K3y0Bv9Cz2cOW2vXUrNZlFbflhuPvuadW6JdnN6gGKo=
k8s.io/component-base v0.18.2/go.mod h1:kqLlMuhJNHQ9lz8Z7V5bxUUtjFZnrypArGl58gmDfUM=
k8s.io/component-base v0.21.3/go.mod h1:kkuhtfEHeZM6LkX0saqSK8PbdO7A0HigUngmhhrwfGQ=
k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/gengo v0.0.0-20200114144118-36b2048a9120/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/gengo v0.0.0-20200205140755-e0e292d8aa12/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E=
k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/klog v0.3.1/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
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=
k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.8.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec=
k8s.io/kube-openapi v0.0.0-20200121204235-bf4fb3bd569c/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E=
k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM=
k8s.io/kube-openapi v0.0.0-20210305001622-591a79e4bda7/go.mod h1:wXW5VT87nVfh/iLV8FpR2uDvrFyomxbtb1KivDbvPTE=
k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/goversion v1.2.0/go.mod h1:Eih9y/uIBS3ulggl7KNJ09xGSLcuNaLgmvvqa07sgfo=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.7/go.mod h1:PHgbrJT7lCHcxMU+mDHEm+nx46H4zuuHZkDP6icnhu0=
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.19/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg=
sigs.k8s.io/controller-tools v0.3.1-0.20200716001835-4a903ddb7005/go.mod h1:G9rHdZMVlBDocIxGkK3jHLWqcTMNvveypYJwrvYKjWU=
sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=
sigs.k8s.io/structured-merge-diff/v3 v3.0.0/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=
sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw=
sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4=
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU=


================================================
FILE: auditlogs/cilium-s3/internal/hubble/observer.go
================================================
package hubble

import (
	"context"
	"time"

	observerpb "github.com/cilium/cilium/api/v1/observer"
	"go.uber.org/zap"
	"google.golang.org/grpc"
)

type Observer struct {
	logger     *zap.Logger
	url        string
	senderChan chan observerpb.GetFlowsResponse
}

func NewObserver(senderChan *chan observerpb.GetFlowsResponse, url string, logger *zap.Logger) *Observer {
	return &Observer{
		logger:     logger.Named("observer"),
		url:        url,
		senderChan: *senderChan,
	}
}

func (o *Observer) Start(ctx context.Context) error {
	dialCtx, cancel := context.WithTimeout(ctx, 5*time.Second)
	defer cancel()

	conn, err := grpc.DialContext(dialCtx, o.url, grpc.WithInsecure(), grpc.WithBlock())
	if err != nil {
		return err
	}
	defer conn.Close()

	client := observerpb.NewObserverClient(conn)

	flows, err := client.GetFlows(ctx, &observerpb.GetFlowsRequest{
		Follow: true,
	})
	if err != nil {
		return err
	}

	o.logger.Info("Observer started")
	for {
		flow, err := flows.Recv()
		if err != nil {
			return err
		}
		o.logger.Debug("Flow received", zap.Any("flow", flow))
		o.senderChan <- *flow
	}
}


================================================
FILE: auditlogs/cilium-s3/internal/s3/sender.go
================================================
package s3

import (
	"bytes"
	"context"
	"fmt"
	"time"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/credentials"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/s3"
	observerpb "github.com/cilium/cilium/api/v1/observer"
	"go.uber.org/zap"
)

type S3Config struct {
	Region          string
	Endpoint        string
	Bucket          string
	Prefix          string
	AccessKeyID     string
	SecretAccessKey string
}

type Sender struct {
	logger     *zap.Logger
	senderChan chan observerpb.GetFlowsResponse
	s3Config   S3Config
	awsConfig  *aws.Config
}

func NewSender(senderChan *chan observerpb.GetFlowsResponse, s3Config S3Config, awsConfig *aws.Config, logger *zap.Logger) *Sender {
	return &Sender{
		senderChan: *senderChan,
		s3Config:   s3Config,
		logger:     logger.Named("sender"),
		awsConfig:  awsConfig,
	}
}

func (s *Sender) Worker(ctx context.Context) error {
	cfg := &aws.Config{
		Region:      aws.String(s.s3Config.Region),
		Endpoint:    aws.String(s.s3Config.Endpoint),
		Credentials: credentials.NewStaticCredentials(s.s3Config.AccessKeyID, s.s3Config.SecretAccessKey, ""),
	}
	s3Session, err := session.NewSession(cfg, s.awsConfig)
	if err != nil {
		return err
	}
	s3Client := s3.New(s3Session)

	s.logger.Info("Sender started")

	for {
		select {
		case flow := <-s.senderChan:
			j, err := flow.MarshalJSON()
			if err != nil {
				return err
			}

			t := time.Now()
			key := fmt.Sprintf("%s/%s.json", s.s3Config.Prefix, t.UTC().Format(time.RFC3339Nano))

			_, err = s3Client.PutObject(&s3.PutObjectInput{
				Bucket: aws.String(s.s3Config.Bucket),
				Key:    aws.String(key),
				Body:   bytes.NewReader(j),
			})
			if err != nil {
				return err
			}
			s.logger.Info("Event sent", zap.String("key", key))
		case <-ctx.Done():
			s.logger.Info("Context done, exiting...")
			return nil
		}
	}
}


================================================
FILE: auditlogs/cilium-s3/kubernetes/cilium-s3-chart/.helmignore
================================================
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/


================================================
FILE: auditlogs/cilium-s3/kubernetes/cilium-s3-chart/Chart.yaml
================================================
apiVersion: v2
name: cilium-s3-chart
description: A Helm chart for Kubernetes

# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application

# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.0

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "1.16.0"


================================================
FILE: auditlogs/cilium-s3/kubernetes/cilium-s3-chart/index.yaml
================================================
apiVersion: v1
entries: {}
generated: "2021-10-23T19:09:38.012479+03:00"


================================================
FILE: auditlogs/cilium-s3/kubernetes/cilium-s3-chart/templates/deployment.yaml
================================================
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: cilium-s3
  name: cilium-s3
spec:
  replicas: 1
  selector:
    matchLabels:
      app: cilium-s3
  template:
    metadata:
      labels:
        app: cilium-s3
    spec:
      containers:
      - env:
        - name: S3_REGION
          value: {{ .Values.yandex.region }}  
        - name: S3_ENDPOINT
          value: {{ .Values.yandex.endpoint }}  
        - name: S3_BUCKET
          value: {{ .Values.yandex.bucket }} 
        - name: S3_PREFIX
          value: {{ .Values.yandex.prefix }} 
        - name: S3_ACCESS_KEY_ID
          value:  {{ .Values.yandex.accesskeyid }} 
        - name: hubble-relay-url
          value: {{ .Values.yandex.hubble_url }} 
        image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
        securityContext:
          runAsUser: 1234
          runAsNonRoot: true
          privileged: false
          allowPrivilegeEscalation: false
          readOnlyRootFilesystem: true
          capabilities:
            drop:
              - all
        envFrom:
        - secretRef:
            name: s3-secret-cilium
        name: cilium-s3-deployment
        resources:
          limits:
            memory: "128Mi"
            cpu: "500m"


================================================
FILE: auditlogs/cilium-s3/kubernetes/cilium-s3-chart/templates/secret.yaml
================================================
apiVersion: v1
data:
  S3_SECRET_ACCESS_KEY: {{ .Values.yandex.secretaccesskey | b64enc }}
kind: Secret
metadata:
  name: s3-secret-cilium


================================================
FILE: auditlogs/cilium-s3/kubernetes/cilium-s3-chart/values.yaml
================================================
# Default values for cilium-s3-chart.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

replicaCount: 1

image:
  repository: cr.yandex/crpjfmfou6gflobbfvfv/cilium-s3
  pullPolicy: IfNotPresent
  # Overrides the image tag whose default is the chart appVersion.
  tag: "latest"

imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""

serviceAccount:
  # Specifies whether a service account should be created
  create: true
  # Annotations to add to the service account
  annotations: {}
  # The name of the service account to use.
  # If not set and create is true, a name is generated using the fullname template
  name: ""

podAnnotations: {}

podSecurityContext: {}
  # fsGroup: 2000

securityContext: {}
  # capabilities:
  #   drop:
  #   - ALL
  # readOnlyRootFilesystem: true
  # runAsNonRoot: true
  # runAsUser: 1000

service:
  type: ClusterIP
  port: 80

ingress:
  enabled: false
  className: ""
  annotations: {}
    # kubernetes.io/ingress.class: nginx
    # kubernetes.io/tls-acme: "true"
  hosts:
    - host: chart-example.local
      paths:
        - path: /
          pathType: ImplementationSpecific
  tls: []
  #  - secretName: chart-example-tls
  #    hosts:
  #      - chart-example.local

resources: {}
  # We usually recommend not to specify default resources and to leave this as a conscious
  # choice for the user. This also increases chances charts run on environments with little
  # resources, such as Minikube. If you do want to specify resources, uncomment the following
  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  # limits:
  #   cpu: 100m
  #   memory: 128Mi
  # requests:
  #   cpu: 100m
  #   memory: 128Mi

yandex:
    accesskeyid: ""  # yandex access key
    secretaccesskey: ""  # yandex secret access key
    bucket: ""  # Yandex storage, bucket name
    hubble_url: "hubble-relay.kube-system.svc.cluster.local:80" # Hubble-url
    prefix: "k8s-cilium-flow-logs/" # Prefix of bucket folder
    region: "ru-central1" # region of S3
    endpoint: "https://storage.yandexcloud.net" # endpoint of S3



================================================
FILE: auditlogs/export-auditlogs-to-ArcSight/README.md
================================================
# Collecting, monitoring, and analyzing audit logs in an external SIEM ArcSight
![Dashboard](https://user-images.githubusercontent.com/85429798/128209194-bc4eb274-1b97-4271-a712-e00a5f3f9b84.png)
![Scenarios](https://user-images.githubusercontent.com/85429798/128209212-a705f950-4eea-4305-8f21-decfc2ab7af0.png)

## Table of Contents

- [Collecting, monitoring, and analyzing audit logs in an external SIEM ArcSight](#)
  * [Solution description](#solution-description)
  * [Two log shipping scenarios](#two-log-shipping-scenarios)
  * [Solution diagram](#solution-diagram)
  * [Security Content](#security-content)
  * [Long-term storing of logs in S3](#long-term-storing-of-logs-in-s3)
  * [Instructions for scenarios](#instruction-for-scenarios)
      - [Prerequisites for scenarios](#prerequisites-for-scenarios)
      - [Scenario #1: Uploading log files to ArcSight from a server located inside the infrastructure of the customer's remote site](#prerequisites-for-scenarios)
      - [Scenario #2: Uploading log files to ArcSight using a VM located in Yandex.Cloud](#prerequisites-for-scenarios)
  * [Support and consulting services](#supportconsulting-services)


## Solution description
The current version of Security Content is available [here]([https://gitlab.ast-security.ru:14855/rodion/yandexcloudflex](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-ArcSight/arcsight_content)). Our support partner is ATB.
The solution lets you collect, monitor, and analyze audit logs in Yandex.Cloud from the following sources:

- [Yandex Audit Trails](https://cloud.yandex.ru/docs/audit-trails/)


## Two log shipping scenarios
- [x] Uploading log files to ArcSight from a server located inside the infrastructure of the customer's remote site

- [x] Uploading log files to ArcSight using a VM located in Yandex.Cloud


## Solution diagram
#### Scenario #1: Uploading log files to ArcSight from a server located inside the infrastructure of the customer's remote site
Description: 
- JSON files with logs are stored in S3.
- The s3fs utility is installed on a server in the customer's infrastructure, which allows you to mount an S3 Bucket as a local folder in your OS.
- A standard ArcSight Connector is installed on a server in the customer's infrastructure.
- Security content is loaded from the current repository.
- ArcSight Connector uses security content to read files, parses the files, and sends them to the ArcSight server.

![Diagram](https://user-images.githubusercontent.com/85429798/128553857-a6837742-8e63-4d8c-967a-be92454a0cb0.png)


#### Scenario #2: Uploading log files to ArcSight using a VM located in Yandex.Cloud
 
![Diagram](https://user-images.githubusercontent.com/85429798/128553811-2d25dcc7-0500-446b-96ea-35a8fe8959ba.png)


## Security Content
Security Content - ArcSight objects that are loaded according to the instructions. All the content has been developed together with our partner ATB, leveraging the long-term expertise of the Yandex.Cloud Security team and our cloud customers.

The current version of Security Content is available [here](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-ArcSight/arcsight_content).

The solution contains the following Security Content:
- Parsing file (and map file).
- Dashboard that shows useful statistics.
- A set of Filters, Active channels, Active lists.
- A set of correlation Rules. [Detailed description of the list of correlation rules](./Use-cases.docx ) (the client should specify the alert destination).
All relevant event fields have been converted to a [Common Event Format](https://community.microfocus.com/cyberres/productdocs/w/connector-documentation/38809/arcsight-common-event-format-cef-implementation-standard).

For a detailed description of field mapping, see the file [Поля ArcSight_JSON.docx](https://gitlab.ast-security.ru:14855/rodion/yandexcloudflex/blob/master/Поля%20ArcSight_JSON.docx).


## Long-term storage of logs in S3
By default, these instructions suggest deleting files after reading, but you can both store Audit Trails audit logs in S3 on a long-term basis and send them to ArcSight.
For this you need to create two Audit Trails in different S3 buckets:
- The first bucket will be used only for storage.
- The second bucket will be used for integration with ArcSight.


## Instructions for scenarios
#### Prerequisites for scenarios
- :white_check_mark: Object Storage Bucket for Audit Trails ([instructions](https://cloud.yandex.ru/docs/storage/quickstart)).
- :white_check_mark: Audit Trails service enabled in the UI ([instructions](https://cloud.yandex.ru/docs/audit-trails/quickstart)).


#### Scenario #1: Uploading log files to ArcSight from a server located inside the infrastructure of the customer's remote site
1) Install the s3fs utility on the server inside the remote site infrastructure and prepare it for operation [follow the instructions](https://cloud.yandex.ru/docs/storage/tools/s3fs). Result: an Object Storage Bucket mounted as a folder and hosting Audit Trails JSON files. For example, `/var/trails/`.

2) Install ArcSight SmartConnector (FlexAgent — JSON Folder Follower) software on your server [follow the official instructions](https://www.microfocus.com/documentation/arcsight/arcsight-smartconnectors/AS_smartconn_install/).

3) During the installation, select *ArcSight FlexConnector JSON Folder Follower* and specify the previously mounted `/var/trails/` folder.

4) Specify the JSON configuration filename prefix: `yc`.

5) Complete the connector installation. 

6) Download all Security Content files from [here](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-ArcSight/arcsight_content).

7) Copy the yc.jsonparser.properties file to the `<agent installation folder >/current/user/agent/flexagent`.

8) Copy the file map.0.properties in `<agent installation folder>/current/user/agent/map`.

9) Edit the file `<agent installation folder>/current/user/agent/agent.properties`:
```
agents[0].mode=DeleteFile
agents[0].proccessfoldersrecursively=true
```

10) Start the connector and make sure that events are arriving
![Events](https://user-images.githubusercontent.com/85429798/128209247-c1582fc9-ea2a-4908-9c95-618ac1a097ee.png)


## Support and consulting services
Our support partner, ATB, provides the following services on a paid basis:
- Installing and configuring the connector.
- Connecting new data sources with security events.
- Developing new correlation rules and visualization tools.
- Developing mechanisms for responding to incidents.

Partner's contact details:
+7 (499) 648-75-48
info@ast-security.ru

![image](https://user-images.githubusercontent.com/85429798/128419821-aa2a4c85-7c67-4173-b21b-f0ec6b96e9e3.png)


================================================
FILE: auditlogs/export-auditlogs-to-ArcSight/README_RU.md
================================================
# Сбор, мониторинг и анализ аудит логов во внешний SIEM ArcSight
![Дашборд](https://user-images.githubusercontent.com/85429798/128209194-bc4eb274-1b97-4271-a712-e00a5f3f9b84.png)
![Сценарии](https://user-images.githubusercontent.com/85429798/128209212-a705f950-4eea-4305-8f21-decfc2ab7af0.png)

## Содержание

- [Сбор, мониторинг и анализ аудит логов во внешний SIEM ArcSight](#)
  * [Описание решения](#описание-решения)
  * [Два сценария отгрузки логов](#два-сценария-отгрузки-логов)
  * [Схема решения](#схема-решения)
  * [Security Content](#security-content)
  * [Долгосрочное хранение логов в S3](#долгосрочное-хранение-логов-в-s3)
  * [Инструкция для сценариев](#инструкция-для-сценариев)
      - [Пререквизиты для сценариев:](#пререквизиты-для-сценариев)
      - [Сценарий №1 - Загрузка лог файлов в  ArcSight с сервера, который находится внутри инфраструктуры удаленной площадки Заказчика](#пререквизиты-для-сценариев)
      - [Сценарий №2 - Загрузка лог файлов в  ArcSight с помощью ВМ, которая находится в Yandex Cloud "](#пререквизиты-для-сценариев)
  * [Поддержка/Консалтинговые услуги](#поддержкаконсалтинговые-услуги)


## Описание решения
Актуальная версия Security Content находится [здесь](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-ArcSight/arcsight_content) сервис партнёр по поддержке ООО «АТБ»
Решение позволяет собирать, мониторить и анализировать аудит логи в Yandex.Cloud со следующих источников:

- [Yandex Audit Trails](https://cloud.yandex.ru/docs/audit-trails/)


## Два сценария отгрузки логов
- [x] Загрузка лог файлов в ArcSight с сервера, который находится внутри инфраструктуры удаленной площадки Заказчика

- [x] Загрузка лог файлов в ArcSight с помощью ВМ, которая находится в Yandex.Cloud 


## Схема решения
#### Сценарий №1 - Загрузка лог файлов в ArcSight с сервера, который находится внутри инфраструктуры удаленной площадки Заказчика
Описание: 
- JSON файлы с логами хранятся в S3
- На сервер в инфраструктуре заказчика устанавливается утилита s3fs, которая позволяет монтировать S3 bucket, как локальную папку в ОС
- На сервер в инфраструктуре заказчика устанавливается стандартный ArcSight Connector
- Загруается security content из текущего репозитория
- ArcSight Connector с помощью security content вычитывает файлы, парсит и отправляет на сервер ArcSight 

![Схема](https://user-images.githubusercontent.com/85429798/128553857-a6837742-8e63-4d8c-967a-be92454a0cb0.png)


#### Сценарий №2 - Загрузка лог файлов в ArcSight с помощью ВМ, которая находится в Yandex Cloud
 
![Схема](https://user-images.githubusercontent.com/85429798/128553811-2d25dcc7-0500-446b-96ea-35a8fe8959ba.png)


## Security Content
Security Content - объекты ArcSight, которые загружаются по инструкции. Весь контент разработан совместно с командой партнером ООО «АТБ» с учетом многолетнего опыта Security команды Yandex.Cloud и на основе опыта Клиентов облака.

Актуальная версия Security Content находится [здесь](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-ArcSight/arcsight_content) 

Содержит следующий Security Content:
- Parsing file (+map file)
- Dashboard, на котором отражена полезная статистика
- Набор Filters, Active channels, Active lists
- Набор Правил корреляции (Rules). [Подробное описание списка правил корреляции](./Use-cases.docx) (Клиенту самостоятельно необходимо указать назначение уведомлений)
- Все интересные поля событий преобразованы в формат [Common Event Format](https://community.microfocus.com/cyberres/productdocs/w/connector-documentation/38809/arcsight-common-event-format-cef-implementation-standard)

Подробное описание мапинга полей в файле [Поля ArcSight_JSON.docx](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-ArcSight/arcsight_content)


## Долгосрочное хранение логов в S3
По умолчанию данная инструция предлагает удалять файлы после вычитывания, но вы можете одновременно хранить аудит логи Audit Trails в S3 на долгосрочной основе и отсылать в ArcSight.
Для этого необходимо создать два Audit Trails в разных S3 бакетах:
- Первый бакет будет использоваться только для хранения 
- Второй бакет будет использоваться для интеграции с ArcSight 


## Инструкция для сценариев
#### Пререквизиты для сценариев
- :white_check_mark: Object Storage Bucket для Audit Trails ([инструкция](https://cloud.yandex.ru/docs/storage/quickstart))
- :white_check_mark: Включенный сервис Audit Trails в UI ([инструкция](https://cloud.yandex.ru/docs/audit-trails/quickstart))


#### Сценарий № 1 - Загрузка лог файлов в ArcSight с сервера, который находится внутри инфраструктуры удаленной площадки Заказчика
1) Установите на сервер внутри инфраструктуры удаленной площадки и подготовьте к работе утилиту s3fs [согласно инструкции](https://cloud.yandex.ru/docs/storage/tools/s3fs). Результат: смонтированный в качестве папки Object Storage бакет, в котором находятся json файлы Audit Trails. Например: `/var/trails/`

2) Установите на ваш сервер ПО ArcSight SmartConnector (FlexAgent - JSON Folder follower) [согласно официальной инструкции](https://www.microfocus.com/documentation/arcsight/arcsight-smartconnectors/AS_smartconn_install/)

3) При установке выбирете *ArcSight FlexConnector JSON Folder Follower* и укажите примонтированную папку ранее `/var/trails/`

4) Укажите JSON configuration filename prefix - `yc`

5) Завершите установку connector 

6) Скачайте все файлы Security Content [здесь](https://github.com/yandex-cloud/yc-solution-library-for-security/tree/master/auditlogs/export-auditlogs-to-ArcSight/arcsight_content)

7) Скопируйте файл `yc.jsonparser.properties` в `<папку установки агента>/current/user/agent/flexagent`

8) Скопируйте файл `map.0.properties` в `<папку установки агента>/current/user/agent/map`

9) отредактируйте файл `<папку установки агента>/current/user/agent/agent.properties` следующим образом:
- `agents[0].mode=DeleteFile`
- `agents[0].proccessfoldersrecursively=true` 

10) Запустите коннектор и убедитесь, что события поступают
![События](https://user-images.githubusercontent.com/85429798/128209247-c1582fc9-ea2a-4908-9c95-618ac1a097ee.png)


#### Сценарий №2 - Загрузка лог файлов в ArcSight с помощью ВМ, которая находится в Yandex.Cloud

- ручное 
- пререквизиты, что должен быть впн или интерконнект
- через терраформ пример с установкой VPN соединения


## Поддержка/Консалтинговые услуги
Компания сервис партнёр по поддержке – ООО «АТБ» готова оказывать следующие услуги на платной основе:
- Установка и настройка коннектора
- Подключение новых источников данных о событиях безопасности
- Разработка новых правил корреляции и средств визуализации
- Разработка механизмов реагирования на возникающие инциденты

Контактные данные партнёра:
- +7 (499) 648-75-48
- info@ast-security.ru

![image](https://user-images.githubusercontent.com/85429798/128419821-aa2a4c85-7c67-4173-b21b-f0ec6b96e9e3.png)


================================================
FILE: auditlogs/export-auditlogs-to-ArcSight/arcsight_content/README.md
================================================
# YandexCloudFlex

ArcSight FlexAgent for YandexCloud (JSON Folder follower)

================================================
FILE: auditlogs/export-auditlogs-to-ArcSight/arcsight_content/flex/map.0.properties
================================================
event.name,set.event.deviceFacility,set.event.deviceAction,set.event.name,set.event.priority
yandex.cloud.audit.resourcemanager.CreateCloud,resourcemanager,CreateCloud,Создание облака,8
yandex.cloud.audit.resourcemanager.CreateFolder,resourcemanager,CreateFolder,Создание каталога,5
yandex.cloud.audit.resourcemanager.DeleteCloud,resourcemanager,DeleteCloud,Удаление облака,8
yandex.cloud.audit.resourcemanager.DeleteFolder,resourcemanager,DeleteFolder,Удаление каталога,8
yandex.cloud.audit.resourcemanager.UpdateCloud,resourcemanager,UpdateCloud,Изменение облака,8
yandex.cloud.audit.resourcemanager.UpdateCloudAccessBindings,resourcemanager,UpdateCloudAccessBindings,Обновление привязок прав доступа для облака,5
yandex.cloud.audit.resourcemanager.UpdateFolder,resourcemanager,UpdateFolder,Обновление каталога,5
yandex.cloud.audit.resourcemanager.UpdateFolderAccessBindings,resourcemanager,UpdateFolderAccessBindings,Обновление привязок прав доступа для каталога,5
yandex.cloud.audit.iam.AddFederatedUserAccounts,iam,AddFederatedUserAccounts,Добавление пользователя в федерацию,5
yandex.cloud.audit.iam.CreateAccessKey,iam,CreateAccessKey,Создание ключа доступа,8
yandex.cloud.audit.iam.CreateApiKey,iam,CreateApiKey,Создание API-ключа,8
yandex.cloud.audit.iam.CreateCertificate,iam,CreateCertificate,Добавление сертификата для федерации,8
yandex.cloud.audit.iam.CreateFederation,iam,CreateFederation,Создание федерации,8
yandex.cloud.audit.iam.CreateIamCookieForSubject,iam,CreateIamCookieForSubject,Вход федеративного пользователя,3
yandex.cloud.audit.iam.CreateKey,iam,CreateKey,Создание пары ключей для сервисного аккаунта,8
yandex.cloud.audit.iam.CreateServiceAccount,iam,CreateServiceAccount,Создание сервисного аккаунта,8
yandex.cloud.audit.iam.DeleteAccessKey,iam,DeleteAccessKey,Удаление ключа доступа,8
yandex.cloud.audit.iam.DeleteApiKey,iam,DeleteApiKey,Удаление API-ключа,8
yandex.cloud.audit.iam.DeleteCertificate,iam,DeleteCertificate,Удаление сертификата для федерации,8
yandex.cloud.audit.iam.DeleteFederation,iam,DeleteFederation,Удаление федерации,8
yandex.cloud.audit.iam.DeleteKey,iam,DeleteKey,Удаление пары ключей для сервисного аккаунта,8
yandex.cloud.audit.iam.DeleteServiceAccount,iam,DeleteServiceAccount,Удаление сервисного аккаунта,8
yandex.cloud.audit.iam.UpdateAccessKey,iam,UpdateAccessKey,Обновление ключа доступа,8
yandex.cloud.audit.iam.UpdateApiKey,iam,UpdateApiKey,Обновление API-ключа,8
yandex.cloud.audit.iam.UpdateCertificate,iam,UpdateCertificate,Обновление сертификата,8
yandex.cloud.audit.iam.UpdateFederation,iam,UpdateFederation,Обновление федерации,8
yandex.cloud.audit.iam.UpdateKey,iam,UpdateKey,Обновление пары ключей,8
yandex.cloud.audit.iam.UpdateServiceAccount,iam,UpdateServiceAccount,Обновление сервисного аккаунта,8
yandex.cloud.audit.iam.UpdateServiceAccountAccessBindings,iam,UpdateServiceAccountAccessBindings,Обновление списка привязок прав доступа,8
yandex.cloud.audit.compute.AddInstanceOneToOneNat,compute,AddInstanceOneToOneNat,Добавление публичного IP-адреса виртуальной машине,8
yandex.cloud.audit.compute.AttachInstanceDisk,compute,AttachInstanceDisk,Подключение диска к ВМ,3
yandex.cloud.audit.compute.CreateDisk,compute,CreateDisk,Создание диска,5
yandex.cloud.audit.compute.CreateImage,compute,CreateImage,Создание образа диска,3
yandex.cloud.audit.compute.CreateInstance,compute,CreateInstance,Создание ВМ,5
yandex.cloud.audit.compute.CreateSnapshot,compute,CreateSnapshot,Создание снимка диска,3
yandex.cloud.audit.compute.DeleteDisk,compute,DeleteDisk,Удаление диска,5
yandex.cloud.audit.compute.DeleteImage,compute,DeleteImage,Удаление образа диска,3
yandex.cloud.audit.compute.DeleteInstance,compute,DeleteInstance,Удаление ВМ,8
yandex.cloud.audit.compute.DeleteSnapshot,compute,DeleteSnapshot,Удаление снимка диска,3
yandex.cloud.audit.compute.DetachInstanceDisk,compute,DetachInstanceDisk,Отключение диска от ВМ,3
yandex.cloud.audit.compute.RemoveInstanceOneToOneNat,compute,RemoveInstanceOneToOneNat,Удаление публичного IP-адреса ВМ,3
yandex.cloud.audit.compute.RestartInstance,compute,RestartInstance,Перезагрузка ВМ,3
yandex.cloud.audit.compute.StartInstance,compute,StartInstance,Запуск ВМ,3
yandex.cloud.audit.compute.StopInstance,compute,StopInstance,Остановка ВМ,3
yandex.cloud.audit.compute.UpdateDisk,compute,UpdateDisk,Изменение диска,3
yandex.cloud.audit.compute.UpdateImage,compute,UpdateImage,Изменение образа диска,3
yandex.cloud.audit.compute.UpdateInstance,compute,UpdateInstance,Изменение ВМ,3
yandex.cloud.audit.compute.UpdateInstanceMetadata,compute,UpdateInstanceMetadata,Изменение метаданных ВМ,5
yandex.cloud.audit.compute.UpdateInstanceNetworkInterface,compute,UpdateInstanceNetworkInterface,Изменение сетевых настроек ВМ,5
yandex.cloud.audit.compute.UpdateSnapshot,compute,UpdateSnapshot,Изменение снимка диска,3
yandex.cloud.audit.compute.instancegroup.CreateInstanceGroup,compute,CreateInstanceGroup,Создание группы ВМ,3
yandex.cloud.audit.compute.instancegroup.DeleteInstanceGroup,compute,DeleteInstanceGroup,Удаление группы ВМ,8
yandex.cloud.audit.compute.instancegroup.StartInstanceGroup,compute,StartInstanceGroup,Запуск группы ВМ,3
yandex.cloud.audit.compute.instancegroup.StopInstanceGroup,compute,StopInstanceGroup,Остановка группы ВМ,3
yandex.cloud.audit.compute.instancegroup.UpdateInstanceGroup,compute,UpdateInstanceGroup,Изменение группы ВМ,3
yandex.cloud.audit.compute.instancegroup.UpdateInstanceGroupAccessBindings,compute,UpdateInstanceGroupAccessBindings,Назначение роли на группу ВМ,5
yandex.cloud.audit.kms.CancelDeleteSymmetricKey,kms,CancelDeleteSymmetricKey,Отмена ранее запланированного уничтожения ключа,8
yandex.cloud.audit.kms.CancelSymmetricKeyVersionDestruction,kms,CancelSymmetricKeyVersionDestruction,Отмена ранее запланированного уничтожения версии симметричного ключа,8
yandex.cloud.audit.kms.CreateSymmetricKey,kms,CreateSymmetricKey,Создание симметричного ключа,8
yandex.cloud.audit.kms.DeleteSymmetricKey,kms,DeleteSymmetricKey,Удаление симметричного ключа,8
yandex.cloud.audit.kms.RotateSymmetricKey,kms,RotateSymmetricKey,Ротация симметричного ключа,8
yandex.cloud.audit.kms.ScheduleSymmetricKeyVersionDestruction,kms,ScheduleSymmetricKeyVersionDestruction,Запланирование уничтожения версии симметричного ключа,8
yandex.cloud.audit.kms.SetPrimarySymmetricKeyVersion,kms,SetPrimarySymmetricKeyVersion,Выбор основной версии симметричного ключа,5
yandex.cloud.audit.kms.SetSymmetricKeyAccessBindings,kms,SetSymmetricKeyAccessBindings,Выбор привязок прав доступа для симметричного ключа,8
yandex.cloud.audit.kms.UpdateSymmetricKey,kms,UpdateSymmetricKey,Изменение симметричного ключа,8
yandex.cloud.audit.kms.UpdateSymmetricKeyAccessBindings,kms,UpdateSymmetricKeyAccessBindings,Обновление привязок прав доступа для симметричного ключа,8
yandex.cloud.audit.storage.BucketAclUpdate,storage,BucketAclUpdate,Изменение ACL бакета,8
yandex.cloud.audit.storage.BucketCorsUpdate,storage,BucketCorsUpdate,Изменение конфигурации CORS бакета,8
yandex.cloud.audit.storage.BucketCreate,storage,BucketCreate,Создание бакета,5
yandex.cloud.audit.storage.BucketDelete,storage,BucketDelete,Удаление бакета,8
yandex.cloud.audit.storage.BucketHttpsUpdate,storage,BucketHttpsUpdate,Изменение HTTPS-конфигурации для бакета,8
yandex.cloud.audit.storage.BucketLifecycleUpdate,storage,BucketLifecycleUpdate,Изменение жизненного цикла объекта в бакете,5
yandex.cloud.audit.storage.BucketPolicyUpdate,storage,BucketPolicyUpdate,Изменение политик доступа бакета,8
yandex.cloud.audit.storage.BucketUpdate,storage,BucketUpdate,Изменение бакета,3
yandex.cloud.audit.storage.BucketWebsiteUpdate,storage,BucketWebsiteUpdate,Изменение конфигурации веб-сайта,3
yandex.cloud.audit.storage.ObjectCreate,storage,ObjectCreate,Создание объекта в бакете,3
yandex.cloud.audit.storage.ObjectDelete,storage,ObjectDelete,Удаление объекта в бакете,5
yandex.cloud.audit.storage.ObjectUpdate,storage,ObjectUpdate,Изменение объекта в бакете,3
yandex.cloud.audit.network.CreateNetwork,network,CreateNetwork,Создание облачной сети,8
yandex.cloud.audit.network.CreateRouteTable,network,CreateRouteTable,Создание таблицы маршрутизации,3
yandex.cloud.audit.network.CreateSecurityGroup,network,CreateSecurityGroup,Создание группы безопасности,8
yandex.cloud.audit.network.CreateSubnet,network,CreateSubnet,Созд
Download .txt
gitextract_eoozv27b/

├── .gitignore
├── CATALOG.md
├── README.md
├── README_EN.md
├── auditlogs/
│   ├── _use_cases_and_searches/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── Use-casesANDsearches.docx
│   │   └── Use-casesANDsearches_RU.docx
│   ├── cilium-s3/
│   │   ├── Dockerfile
│   │   ├── Dockerfile old
│   │   ├── README.md
│   │   ├── cmd/
│   │   │   └── cilium-exporter/
│   │   │       └── main.go
│   │   ├── config.yaml.example
│   │   ├── go.mod
│   │   ├── go.sum
│   │   ├── internal/
│   │   │   ├── hubble/
│   │   │   │   └── observer.go
│   │   │   └── s3/
│   │   │       └── sender.go
│   │   └── kubernetes/
│   │       └── cilium-s3-chart/
│   │           ├── .helmignore
│   │           ├── Chart.yaml
│   │           ├── cilium-s3-chart-0.1.0.tgz
│   │           ├── index.yaml
│   │           ├── templates/
│   │           │   ├── deployment.yaml
│   │           │   └── secret.yaml
│   │           └── values.yaml
│   ├── export-auditlogs-to-ArcSight/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── Use-cases.docx
│   │   ├── arcsight_content/
│   │   │   ├── README.md
│   │   │   ├── YandexCloud.arb
│   │   │   ├── flex/
│   │   │   │   ├── map.0.properties
│   │   │   │   └── yc.jsonparser.properties
│   │   │   ├── samples/
│   │   │   │   ├── 041738547.json
│   │   │   │   ├── 042624546.json
│   │   │   │   ├── 134730901.json
│   │   │   │   ├── 151859118.json
│   │   │   │   └── 155732665.json
│   │   │   └── Поля ArcSight_JSON.docx
│   │   └── images/
│   │       ├── arcsight.drawio
│   │       └── arcsight_2.drawio
│   ├── export-auditlogs-to-ELK_k8s/
│   │   ├── README.md
│   │   ├── examples/
│   │   │   ├── README.md
│   │   │   ├── main.tf
│   │   │   ├── provider.tf
│   │   │   ├── terraform.tfvars.example
│   │   │   └── variables.tf
│   │   ├── images/
│   │   │   ├── Logo-scheme.drawio
│   │   │   └── Tech_scheme.drawio
│   │   ├── k8s-events-siem-worker/
│   │   │   └── 2.0.0/
│   │   │       ├── Dockerfile
│   │   │       ├── Dockerfile.old
│   │   │       ├── README.md
│   │   │       └── function/
│   │   │           ├── main.py
│   │   │           └── requirements.txt
│   │   └── modules/
│   │       ├── 00-sa-and-bucket.tf
│   │       ├── 01-function-and-mq.tf
│   │       ├── 02-worker.tf
│   │       ├── 03-infra.tf
│   │       ├── 04-audit-export.tf
│   │       ├── 05-falco.tf
│   │       ├── 06-kyverno.tf
│   │       ├── Readme.md
│   │       ├── chart/
│   │       │   ├── .helmignore
│   │       │   ├── Chart.yaml
│   │       │   ├── templates/
│   │       │   │   ├── _helpers.tpl
│   │       │   │   ├── _server.tpl
│   │       │   │   ├── server-cm.yaml
│   │       │   │   ├── server-deploy.yaml
│   │       │   │   └── server-secret.yaml
│   │       │   └── values.yaml
│   │       ├── function/
│   │       │   ├── Makefile
│   │       │   ├── main.py
│   │       │   ├── requirements.txt
│   │       │   └── test.py
│   │       ├── outputs.tf
│   │       ├── pusher/
│   │       │   ├── Makefile
│   │       │   ├── main.py
│   │       │   ├── requirements.txt
│   │       │   └── test.py
│   │       ├── templates/
│   │       │   ├── auditlog-worker-limits.yaml
│   │       │   ├── falco-base.yaml
│   │       │   ├── falco-worker-limits.yaml
│   │       │   ├── falcosidekick-base.yaml
│   │       │   ├── kubeconfig-template.yaml.tpl
│   │       │   ├── kyverno-base.yaml
│   │       │   ├── kyverno-worker-limits.yaml
│   │       │   ├── policy-reporter-base.yaml
│   │       │   └── yc-mk8s.ca
│   │       ├── variables.tf
│   │       └── versions.tf
│   ├── export-auditlogs-to-ELK_k8s_old/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── example/
│   │   │   ├── README.md
│   │   │   ├── README_RU.md
│   │   │   ├── main.tf
│   │   │   └── provider.tf
│   │   ├── images/
│   │   │   ├── Logo-scheme.drawio
│   │   │   └── Tech_scheme.drawio
│   │   ├── security-events-to-siem-importer/
│   │   │   ├── 01-function-and-mq.tf
│   │   │   ├── 02-coi-worker.tf
│   │   │   ├── README.md
│   │   │   ├── pusher/
│   │   │   │   ├── Makefile
│   │   │   │   ├── main.py
│   │   │   │   ├── requirements.txt
│   │   │   │   └── test.py
│   │   │   ├── variables.tf
│   │   │   ├── versions.tf
│   │   │   └── worker/
│   │   │       ├── Dockerfile
│   │   │       ├── cloud-init.tpl.yaml
│   │   │       ├── docker-compose.yml
│   │   │       ├── docker-declaration-auditlog.yaml
│   │   │       ├── docker-declaration-falco.yaml
│   │   │       ├── docker-declaration-kyverno.yaml
│   │   │       └── function/
│   │   │           ├── main.py
│   │   │           └── requirements.txt
│   │   └── security-events-to-storage-exporter/
│   │       ├── 00-infra.tf
│   │       ├── 01-audit-export.tf
│   │       ├── 02-kubernetes-falco.tf
│   │       ├── 03-kyverno.tf
│   │       ├── README.md
│   │       ├── example/
│   │       │   ├── main.tf
│   │       │   └── provider.tf
│   │       ├── function/
│   │       │   ├── Makefile
│   │       │   ├── main.py
│   │       │   ├── requirements.txt
│   │       │   └── test.py
│   │       ├── outputs.tf
│   │       ├── templates/
│   │       │   ├── falco-base.yaml
│   │       │   ├── falcosidekick-base.yaml
│   │       │   ├── kubeconfig-template.yaml.tpl
│   │       │   └── yc-mk8s.ca
│   │       ├── variables.tf
│   │       └── versions.tf
│   ├── export-auditlogs-to-ELK_main/
│   │   ├── AUTHORS
│   │   ├── CONFIGURE-HA.md
│   │   ├── CONFIGURE-HA_RU.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── backup/
│   │   │   ├── ECS-mapping_new.docx
│   │   │   ├── curl_play with elk.sh
│   │   │   ├── kms_decrypt_cmds.sh
│   │   │   ├── last_backup/
│   │   │   │   ├── falco_pipeline_backup.json
│   │   │   │   ├── k8s-mapping-ba.json
│   │   │   │   ├── k8s_audit_dashboard-back.ndjson
│   │   │   │   ├── k8s_audit_dashboard-future.ndjson
│   │   │   │   ├── k8s_audit_detections-back.ndjson
│   │   │   │   ├── k8s_dashboard.ndjson
│   │   │   │   └── trails_dashboard-backup.ndjson
│   │   │   ├── mapping6.json
│   │   │   └── objects/
│   │   │       ├── dashboard.ndjson
│   │   │       ├── dashboard_backup.ndjson
│   │   │       ├── detections.ndjson
│   │   │       ├── filters.ndjson
│   │   │       ├── filters_backup.ndjson
│   │   │       ├── kibana_index_pattern.ndjson
│   │   │       ├── kibana_search2.ndjson
│   │   │       ├── pipeline3.json
│   │   │       ├── searches.ndjson
│   │   │       └── searches_backup.ndjson
│   │   ├── docker/
│   │   │   ├── Dockerfile
│   │   │   └── docker-compose.yml
│   │   ├── functions/
│   │   │   ├── main.py
│   │   │   └── requirements.txt
│   │   ├── images/
│   │   │   └── elastic.drawio
│   │   ├── papers/
│   │   │   ├── ECS-mapping.docx
│   │   │   ├── Описание объектов eng.docx
│   │   │   └── Описание объектов.docx
│   │   ├── terraform/
│   │   │   ├── README.md
│   │   │   ├── README_RU.md
│   │   │   ├── example/
│   │   │   │   ├── README.md
│   │   │   │   ├── README_RU.md
│   │   │   │   ├── main.tf
│   │   │   │   ├── provider.tf
│   │   │   │   └── variables.tf
│   │   │   └── modules/
│   │   │       ├── yc-elastic-trail/
│   │   │       │   ├── cloud-init_lin.tpl.yaml
│   │   │       │   ├── docker-declaration.yaml
│   │   │       │   ├── main.tf
│   │   │       │   ├── variables.tf
│   │   │       │   └── versions.tf
│   │   │       └── yc-managed-elk/
│   │   │           ├── main.tf
│   │   │           ├── outputs.tf
│   │   │           ├── variables.tf
│   │   │           └── versions.tf
│   │   ├── update-elk-scheme/
│   │   │   ├── Dockerfile
│   │   │   ├── README.md
│   │   │   ├── function/
│   │   │   │   ├── main.py
│   │   │   │   └── requirements.txt
│   │   │   └── include/
│   │   │       ├── audit-trail/
│   │   │       │   ├── backup/
│   │   │       │   │   ├── detections.ndjson
│   │   │       │   │   └── filters.ndjson
│   │   │       │   ├── dashboard.ndjson
│   │   │       │   ├── detections.ndjson
│   │   │       │   ├── filters.ndjson
│   │   │       │   ├── index-pattern.ndjson
│   │   │       │   ├── index-template.json
│   │   │       │   ├── mapping.json
│   │   │       │   ├── pipeline.json
│   │   │       │   └── search.ndjson
│   │   │       ├── k8s-audit/
│   │   │       │   ├── dashboard.ndjson
│   │   │       │   ├── detections.ndjson
│   │   │       │   ├── filters.ndjson
│   │   │       │   ├── index-pattern.ndjson
│   │   │       │   ├── index-template.json
│   │   │       │   ├── mapping.json
│   │   │       │   ├── pipeline.json
│   │   │       │   └── search.ndjson
│   │   │       ├── k8s-falco/
│   │   │       │   ├── detections.ndjson
│   │   │       │   ├── filters.ndjson
│   │   │       │   ├── index-pattern.ndjson
│   │   │       │   ├── index-template.json
│   │   │       │   ├── mapping.json
│   │   │       │   ├── pipeline.json
│   │   │       │   └── search.ndjson
│   │   │       └── k8s-kyverno/
│   │   │           ├── dashboard-back2.ndjson
│   │   │           ├── dashboard-backup.ndjson
│   │   │           ├── dashboard.ndjson
│   │   │           ├── detections-back.ndjson
│   │   │           ├── detections.ndjson
│   │   │           ├── filters-back.ndjson
│   │   │           ├── filters.ndjson
│   │   │           ├── index-pattern.ndjson
│   │   │           ├── index-template.json
│   │   │           ├── mapping.json
│   │   │           ├── pipeline.json
│   │   │           └── search.ndjson
│   │   └── workshop-guide/
│   │       ├── README.md
│   │       ├── example/
│   │       │   ├── audit_trails_demo/
│   │       │   │   ├── main.tf
│   │       │   │   ├── provider.tf
│   │       │   │   └── variables.tf
│   │       │   ├── k8s_demo/
│   │       │   │   ├── README.md
│   │       │   │   ├── example/
│   │       │   │   │   ├── README.md
│   │       │   │   │   ├── main.tf
│   │       │   │   │   └── provider.tf
│   │       │   │   ├── images/
│   │       │   │   │   ├── Logo-scheme.drawio
│   │       │   │   │   └── Tech_scheme.drawio
│   │       │   │   ├── security-events-to-siem-importer/
│   │       │   │   │   ├── 01-function-and-mq.tf
│   │       │   │   │   ├── 02-coi-worker.tf
│   │       │   │   │   ├── README.md
│   │       │   │   │   ├── pusher/
│   │       │   │   │   │   ├── Makefile
│   │       │   │   │   │   ├── main.py
│   │       │   │   │   │   ├── requirements.txt
│   │       │   │   │   │   └── test.py
│   │       │   │   │   ├── variables.tf
│   │       │   │   │   ├── versions.tf
│   │       │   │   │   └── worker/
│   │       │   │   │       ├── Dockerfile
│   │       │   │   │       ├── cloud-init.tpl.yaml
│   │       │   │   │       ├── docker-compose.yml
│   │       │   │   │       ├── docker-declaration-auditlog.yaml
│   │       │   │   │       ├── docker-declaration-falco.yaml
│   │       │   │   │       ├── docker-declaration-kyverno.yaml
│   │       │   │   │       └── function/
│   │       │   │   │           ├── main.py
│   │       │   │   │           └── requirements.txt
│   │       │   │   └── security-events-to-storage-exporter/
│   │       │   │       ├── 00-infra.tf
│   │       │   │       ├── 01-audit-export.tf
│   │       │   │       ├── 02-kubernetes-falco.tf
│   │       │   │       ├── 03-kyverno.tf
│   │       │   │       ├── README.md
│   │       │   │       ├── charts/
│   │       │   │       │   └── policy-reporter/
│   │       │   │       │       ├── Chart.yaml
│   │       │   │       │       ├── charts/
│   │       │   │       │       │   ├── kyvernoPlugin-0.5.2.tgz
│   │       │   │       │       │   ├── monitoring-1.4.2.tgz
│   │       │   │       │       │   └── ui-1.8.5.tgz
│   │       │   │       │       ├── config.yaml
│   │       │   │       │       ├── templates/
│   │       │   │       │       │   ├── _helpers.tpl
│   │       │   │       │       │   ├── clusterrole.yaml
│   │       │   │       │       │   ├── clusterrolebinding.yaml
│   │       │   │       │       │   ├── deployment.yaml
│   │       │   │       │       │   ├── prioritymap.yaml
│   │       │   │       │       │   ├── role.yaml
│   │       │   │       │       │   ├── rolebinding.yaml
│   │       │   │       │       │   ├── service.yaml
│   │       │   │       │       │   ├── serviceaccount.yaml
│   │       │   │       │       │   └── targetssecret.yaml
│   │       │   │       │       └── values.yaml
│   │       │   │       ├── example/
│   │       │   │       │   ├── main.tf
│   │       │   │       │   └── provider.tf
│   │       │   │       ├── function/
│   │       │   │       │   ├── Makefile
│   │       │   │       │   ├── main.py
│   │       │   │       │   ├── requirements.txt
│   │       │   │       │   └── test.py
│   │       │   │       ├── outputs.tf
│   │       │   │       ├── templates/
│   │       │   │       │   ├── falco-base.yaml
│   │       │   │       │   ├── falcosidekick-base.yaml
│   │       │   │       │   ├── kubeconfig-template.yaml.tpl
│   │       │   │       │   └── yc-mk8s.ca
│   │       │   │       ├── variables.tf
│   │       │   │       └── versions.tf
│   │       │   └── modules/
│   │       │       └── yc-elastic-trail/
│   │       │           ├── cloud-init_lin.tpl.yaml
│   │       │           ├── docker-declaration.yaml
│   │       │           ├── main.tf
│   │       │           ├── variables.tf
│   │       │           └── versions.tf
│   │       └── preparation/
│   │           ├── folders.txt
│   │           ├── main.tf
│   │           ├── provider.tf
│   │           └── variables.tf
│   ├── export-auditlogs-to-Opensearch/
│   │   ├── CONFIGURE-HA.md
│   │   ├── CONFIGURE-HA_RU.md
│   │   ├── README.md
│   │   ├── README_EN.md
│   │   ├── deploy-of-opensearch/
│   │   │   ├── docker-compose.yaml
│   │   │   └── opensearch_dashboards.yml
│   │   ├── functions/
│   │   │   ├── Dockerfile
│   │   │   ├── main.py
│   │   │   └── requirements.txt
│   │   ├── images/
│   │   │   └── elastic.drawio
│   │   ├── terraform/
│   │   │   ├── README.md
│   │   │   ├── backup_README.md
│   │   │   ├── main.tf
│   │   │   ├── modules/
│   │   │   │   └── yc-opensearch-trail/
│   │   │   │       ├── cloud-init_lin.tpl.yaml
│   │   │   │       ├── docker-declaration.yaml
│   │   │   │       ├── main.tf
│   │   │   │       ├── variables.tf
│   │   │   │       └── versions.tf
│   │   │   ├── provider.tf
│   │   │   ├── terraform_tfvars
│   │   │   └── variables.tf
│   │   └── update-opensearch-scheme/
│   │       ├── content-for-transfer/
│   │       │   ├── dashboard.ndjson
│   │       │   ├── filters.ndjson
│   │       │   ├── monitor.json
│   │       │   ├── search.ndjson
│   │       │   └── trigger_action_example.json
│   │       └── include/
│   │           └── audit-trail/
│   │               ├── alert.json
│   │               ├── dashboard.ndjson
│   │               ├── detections.ndjson
│   │               ├── filters.ndjson
│   │               ├── index-pattern.ndjson
│   │               ├── index-template.json
│   │               ├── ism-policy.json
│   │               ├── mapping.json
│   │               ├── pipeline.json
│   │               └── search.ndjson
│   ├── export-auditlogs-to-Splunk/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── docker/
│   │   │   ├── Dockerfile
│   │   │   └── docker-compose.yml
│   │   ├── functions/
│   │   │   ├── main.py
│   │   │   └── requirements.txt
│   │   ├── images/
│   │   │   └── splun.drawio
│   │   └── terraform/
│   │       ├── example/
│   │       │   ├── README.md
│   │       │   ├── main.tf
│   │       │   ├── provider.tf
│   │       │   └── variables.tf
│   │       └── modules/
│   │           └── yc-splunk-trail/
│   │               ├── cloud-init_lin.tpl.yaml
│   │               ├── docker-declaration.yaml
│   │               ├── main.tf
│   │               ├── variables.tf
│   │               └── versions.tf
│   ├── export-auditlogs-to-wazuh/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── packer/
│   │   │   ├── README.md
│   │   │   ├── ansible/
│   │   │   │   ├── ansible.cfg
│   │   │   │   ├── playbook.yaml
│   │   │   │   └── roles/
│   │   │   │       └── wazuh/
│   │   │   │           ├── files/
│   │   │   │           │   ├── configs/
│   │   │   │           │   │   ├── local_internal_options.conf
│   │   │   │           │   │   └── ossec.conf
│   │   │   │           │   ├── decoders/
│   │   │   │           │   │   └── local_decoder.xml
│   │   │   │           │   ├── local_internal_options.conf
│   │   │   │           │   ├── shared/
│   │   │   │           │   │   ├── agent-template.conf
│   │   │   │           │   │   ├── ar.conf
│   │   │   │           │   │   └── default/
│   │   │   │           │   │       ├── agent.conf
│   │   │   │           │   │       ├── bpfdoor_check.yml
│   │   │   │           │   │       ├── cis_apache2224_rcl.txt
│   │   │   │           │   │       ├── cis_debian_linux_rcl.txt
│   │   │   │           │   │       ├── cis_mysql5-6_community_rcl.txt
│   │   │   │           │   │       ├── cis_mysql5-6_enterprise_rcl.txt
│   │   │   │           │   │       ├── cis_rhel5_linux_rcl.txt
│   │   │   │           │   │       ├── cis_rhel6_linux_rcl.txt
│   │   │   │           │   │       ├── cis_rhel7_linux_rcl.txt
│   │   │   │           │   │       ├── cis_rhel_linux_rcl.txt
│   │   │   │           │   │       ├── cis_sles11_linux_rcl.txt
│   │   │   │           │   │       ├── cis_sles12_linux_rcl.txt
│   │   │   │           │   │       ├── cis_win2012r2_domainL1_rcl.txt
│   │   │   │           │   │       ├── cis_win2012r2_domainL2_rcl.txt
│   │   │   │           │   │       ├── cis_win2012r2_memberL1_rcl.txt
│   │   │   │           │   │       ├── cis_win2012r2_memberL2_rcl.txt
│   │   │   │           │   │       ├── log4j_check.yml
│   │   │   │           │   │       ├── merged.mg
│   │   │   │           │   │       ├── rootkit_files.txt
│   │   │   │           │   │       ├── rootkit_trojans.txt
│   │   │   │           │   │       ├── system_audit_rcl.txt
│   │   │   │           │   │       ├── system_audit_ssh.txt
│   │   │   │           │   │       ├── win_applications_rcl.txt
│   │   │   │           │   │       ├── win_audit_rcl.txt
│   │   │   │           │   │       └── win_malware_rcl.txt
│   │   │   │           │   └── wodle/
│   │   │   │           │       ├── yandex/
│   │   │   │           │       │   └── yandex
│   │   │   │           │       └── yandex-clamav/
│   │   │   │           │           ├── yandex-clamav
│   │   │   │           │           └── yandex-clamav.py
│   │   │   │           ├── handlers/
│   │   │   │           │   └── main.yml
│   │   │   │           ├── tasks/
│   │   │   │           │   └── main.yml
│   │   │   │           ├── templates/
│   │   │   │           │   ├── freshclam.j2
│   │   │   │           │   └── ossec.j2
│   │   │   │           └── vars/
│   │   │   │               └── main.yml
│   │   │   └── template.pkr.hcl
│   │   └── terraform/
│   │       ├── deployment/
│   │       │   ├── README.md
│   │       │   ├── main.tf
│   │       │   ├── outputs.tf
│   │       │   ├── profile.tftpl
│   │       │   └── variables.tf
│   │       └── modules/
│   │           ├── s3/
│   │           │   ├── README.md
│   │           │   ├── main.tf
│   │           │   ├── outputs.tf
│   │           │   ├── terraform.tf
│   │           │   └── variable.tf
│   │           ├── vm/
│   │           │   ├── README.md
│   │           │   ├── main.tf
│   │           │   ├── outputs.tf
│   │           │   ├── terraform.tf
│   │           │   └── variables.tf
│   │           └── vpc/
│   │               ├── README.md
│   │               ├── main.tf
│   │               ├── outputs.tf
│   │               ├── terraform.tf
│   │               └── variables.tf
│   ├── export-k8s-to-s3/
│   │   ├── README.md
│   │   └── terraform/
│   │       ├── 00-sa-and-bucket.tf
│   │       ├── 03-infra.tf
│   │       ├── 04-audit-export.tf
│   │       ├── function/
│   │       │   ├── main.py
│   │       │   └── requirements.txt
│   │       ├── provider.tf
│   │       └── variables.tf
│   ├── export-k8s-to-s3-cloud-logging/
│   │   ├── README.md
│   │   └── terraform/
│   │       ├── function/
│   │       │   ├── main.py
│   │       │   └── requirements.txt
│   │       ├── main.tf
│   │       ├── outputs.tf
│   │       ├── provider.tf
│   │       └── variables.tf
│   ├── export-k8s-to-yds/
│   │   ├── README.md
│   │   └── terraform/
│   │       ├── 00-sa-and-bucket.tf
│   │       ├── 03-infra.tf
│   │       ├── 04-audit-export.tf
│   │       ├── function/
│   │       │   ├── main.py
│   │       │   └── requirements.txt
│   │       ├── provider.tf
│   │       ├── terraformrc
│   │       └── variables.tf
│   ├── trail_monitoring/
│   │   ├── README.md
│   │   └── README_RU.md
│   └── trails-function-detector/
│       ├── README.md
│       ├── README_RU.md
│       ├── example/
│       │   ├── README.md
│       │   ├── README_RU.md
│       │   ├── main.tf
│       │   └── provider.tf
│       ├── function/
│       │   ├── main.py
│       │   └── requirements.txt
│       ├── images/
│       │   ├── Logo-scheme.drawio
│       │   └── Tech_scheme.drawio
│       ├── main.tf
│       ├── variables.tf
│       └── versions.tf
├── auth_and_access/
│   ├── ad-sync/
│   │   ├── README.md
│   │   └── Sync-YCLDAPUsers-v2.ps1
│   ├── iam/
│   │   ├── .gitignore
│   │   ├── .pre-commit-config.yaml
│   │   ├── README.md
│   │   ├── examples/
│   │   │   ├── custom roles/
│   │   │   │   ├── README.md
│   │   │   │   ├── cloud.tf
│   │   │   │   ├── organization.tf
│   │   │   │   ├── projects.tf
│   │   │   │   ├── terraform.tfvars.example
│   │   │   │   ├── variables.tf
│   │   │   │   └── versions.tf
│   │   │   ├── organization/
│   │   │   │   ├── README.md
│   │   │   │   ├── main.tf
│   │   │   │   ├── variables.tf
│   │   │   │   └── versions.tf
│   │   │   ├── small/
│   │   │   │   ├── README.md
│   │   │   │   ├── main.tf
│   │   │   │   ├── outputs.tf
│   │   │   │   ├── variables.tf
│   │   │   │   └── versions.tf
│   │   │   ├── use usernames/
│   │   │   │   ├── README.md
│   │   │   │   ├── main.tf
│   │   │   │   ├── variables.tf
│   │   │   │   └── versions.tf
│   │   │   └── webinar_example/
│   │   │       ├── README.md
│   │   │       ├── dev/
│   │   │       │   ├── main.tf
│   │   │       │   ├── variables.tf
│   │   │       │   └── versions.tf
│   │   │       ├── iam_mgmt/
│   │   │       │   ├── main.tf
│   │   │       │   ├── outputs.tf
│   │   │       │   ├── variables.tf
│   │   │       │   └── versions.tf
│   │   │       ├── modules/
│   │   │       │   ├── iam/
│   │   │       │   │   ├── .gitignore
│   │   │       │   │   ├── .pre-commit-config.yaml
│   │   │       │   │   ├── README.md
│   │   │       │   │   ├── examples/
│   │   │       │   │   │   └── dev_folder/
│   │   │       │   │   │       ├── main.tf
│   │   │       │   │   │       ├── outputs.tf
│   │   │       │   │   │       ├── variables.tf
│   │   │       │   │   │       └── versions.tf
│   │   │       │   │   ├── main.tf
│   │   │       │   │   ├── outputs.tf
│   │   │       │   │   ├── variables.tf
│   │   │       │   │   └── versions.tf
│   │   │       │   └── networking/
│   │   │       │       ├── .gitignore
│   │   │       │       ├── .pre-commit-config.yaml
│   │   │       │       ├── README.md
│   │   │       │       ├── main.tf
│   │   │       │       ├── outputs.tf
│   │   │       │       ├── variables.tf
│   │   │       │       └── versions.tf
│   │   │       └── prod/
│   │   │           ├── main.tf
│   │   │           ├── variables.tf
│   │   │           └── versions.tf
│   │   ├── main.tf
│   │   ├── outputs.tf
│   │   ├── variables.tf
│   │   └── versions.tf
│   ├── keycloak/
│   │   ├── README.md
│   │   ├── examples/
│   │   │   ├── README.md
│   │   │   ├── env-yc.sh
│   │   │   ├── install.sh
│   │   │   ├── keycloak-config/
│   │   │   │   ├── main.tf
│   │   │   │   └── sync.sh
│   │   │   └── keycloak-deploy/
│   │   │       ├── main.tf
│   │   │       └── variables.tf
│   │   ├── keycloak-config/
│   │   │   ├── README.md
│   │   │   ├── federation.tf
│   │   │   ├── keycloak-config.tf
│   │   │   ├── providers.tf
│   │   │   ├── variables.tf
│   │   │   └── yc-root.crt
│   │   └── keycloak-deploy/
│   │       ├── README.md
│   │       ├── dns-cm.tf
│   │       ├── kc-setup.sh
│   │       ├── kc-vm-init.tpl
│   │       ├── keycloak-vm.tf
│   │       ├── postgress.tf
│   │       ├── providers.tf
│   │       ├── variables.tf
│   │       └── vpc.tf
│   ├── org_iac_iam/
│   │   ├── README.md
│   │   ├── cloud-level-state/
│   │   │   ├── README.md
│   │   │   ├── folders_and_bindings.tf
│   │   │   ├── provider.tf
│   │   │   ├── terraform_tfvars
│   │   │   ├── variables.tf
│   │   │   └── vpc.tf
│   │   ├── images/
│   │   │   └── iam_iac.drawio
│   │   ├── module_keycloak/
│   │   │   ├── federation.tf
│   │   │   ├── kc-le-cert.sh
│   │   │   ├── kc-setup.sh
│   │   │   ├── kc-users-gen.sh
│   │   │   ├── keycloak.tf
│   │   │   ├── postgress.tf
│   │   │   ├── realm.json
│   │   │   ├── user-resources.tf
│   │   │   ├── variables.tf
│   │   │   └── versions.tf
│   │   ├── org_level_clouds_and_fed.tf
│   │   ├── org_level_folders.tf
│   │   ├── org_level_grant_viewer.tf
│   │   ├── org_level_groups_and_users.tf
│   │   ├── org_level_prepare_users.tf
│   │   ├── org_level_security_provis.tf
│   │   ├── provider.tf
│   │   ├── terraform_tfvars
│   │   └── variables.tf
│   └── scripts/
│       ├── README.md
│       ├── list_Ips.sh
│       ├── list_ips.ps1
│       └── yc_list_roles.ps1
├── configuration/
│   └── hardening_bucket/
│       ├── README.md
│       ├── README_RU.md
│       ├── images/
│       │   └── Схема.drawio
│       ├── main.tf
│       ├── variables.tf
│       └── versions.tf
├── encrypt_and_keys/
│   ├── encrypt_disk_VM/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── cloud-init_lin.tpl.yaml
│   │   ├── images/
│   │   │   └── Схема.drawio
│   │   ├── main.tf
│   │   ├── provider.tf
│   │   ├── script.sh
│   │   └── variables.tf
│   ├── manage_secrets/
│   │   ├── terraform+KMS+COI/
│   │   │   ├── README.md
│   │   │   ├── README_RU.md
│   │   │   ├── cloud-init_lin.tpl.yaml
│   │   │   ├── docker/
│   │   │   │   ├── Dockerfile
│   │   │   │   └── functions/
│   │   │   │       ├── main.py
│   │   │   │       └── requirements.txt
│   │   │   ├── docker-declaration.yaml
│   │   │   ├── main.tf
│   │   │   ├── variables.tf
│   │   │   └── versions.tf
│   │   ├── terraform-lockbox-vm-credentials/
│   │   │   ├── 00-provider.tf
│   │   │   ├── 01-vpc.tf
│   │   │   ├── 02-service-account.tf
│   │   │   ├── 03-kms-and-ssh-keys.tf
│   │   │   ├── 04-lockbox-secret.tf
│   │   │   ├── 05-postgres.tf
│   │   │   ├── 06-kc-vm.tf
│   │   │   ├── README.md
│   │   │   ├── kc-install.yml
│   │   │   ├── openssl.cnf
│   │   │   ├── terraform.tfvars.example
│   │   │   └── variables.tf
│   │   └── windows-vm-secure-passwords/
│   │       ├── README.md
│   │       ├── init-example.ps1
│   │       └── terraform-example/
│   │           ├── 00-provider.tf
│   │           ├── 01-vpc.tf
│   │           ├── 02-kms-and-ssh-keys.tf
│   │           ├── 03-service-account.tf
│   │           ├── 04-lockbox-secret.tf
│   │           ├── 05-windows-vm.tf
│   │           ├── init.ps1
│   │           ├── terraform.tfvars.example
│   │           └── variables.tf
│   └── vault2lockbox/
│       ├── readme.md
│       ├── requirements.txt
│       └── vault_to_lockbox_migrator.py
├── kubernetes-security/
│   ├── auth_and_access/
│   │   └── role-model-example/
│   │       ├── README.md
│   │       ├── README_RU.md
│   │       ├── end/
│   │       │   └── README.md
│   │       ├── kubernetes/
│   │       │   ├── README.md
│   │       │   ├── bad-pods/
│   │       │   │   ├── deployments/
│   │       │   │   │   ├── everything-allowed-exec-deployment.yaml
│   │       │   │   │   ├── hostipc-exec-deployment.yaml
│   │       │   │   │   ├── hostnetwork-exec-deployment.yaml
│   │       │   │   │   ├── hostpath-exec-deployment.yaml
│   │       │   │   │   ├── hostpid-exec-deployment.yaml
│   │       │   │   │   ├── nothing-allowed-exec-deployment.yaml
│   │       │   │   │   ├── priv-and-hostpid-exec-deployment.yaml
│   │       │   │   │   └── priv-exec-deployment.yaml
│   │       │   │   └── pods/
│   │       │   │       ├── everything-allowed-exec-pod.yaml
│   │       │   │       ├── hostipc-exec-pod.yaml
│   │       │   │       ├── hostnetwork-exec-pod.yaml
│   │       │   │       ├── hostpath-exec-pod.yaml
│   │       │   │       ├── hostpid-exec-pod.yaml
│   │       │   │       ├── nothing-allowed-exec-pod.yaml
│   │       │   │       ├── priv-and-hostpid-exec-pod.yaml
│   │       │   │       └── priv-exec-pod.yaml
│   │       │   ├── gatekeeper-policies/
│   │       │   │   ├── disallow-host-namespaces.yaml
│   │       │   │   ├── disallow-host-network.yaml
│   │       │   │   ├── disallow-privileged-containers.yaml
│   │       │   │   ├── disallow-proc-mount.yaml
│   │       │   │   ├── restrics-host-path.yaml
│   │       │   │   └── restrict-sysctls.yaml
│   │       │   └── kyverno-policies/
│   │       │       ├── disallow-adding-capabilities.yaml
│   │       │       ├── disallow-host-namespaces.yaml
│   │       │       ├── disallow-host-path.yaml
│   │       │       ├── disallow-host-ports.yaml
│   │       │       ├── disallow-privileged-containers.yaml
│   │       │       ├── disallow-proc-mount.yaml
│   │       │       ├── disallow-selinux.yaml
│   │       │       ├── restrict-apparmor-profiles.yaml
│   │       │       └── restrict-sysctls.yaml
│   │       └── terraform/
│   │           ├── iam/
│   │           │   ├── .gitignore
│   │           │   ├── README.md
│   │           │   ├── main.tf
│   │           │   ├── outputs.tf
│   │           │   ├── variables.tf
│   │           │   └── versions.tf
│   │           ├── modules/
│   │           │   └── iam/
│   │           │       ├── .pre-commit-config.yaml
│   │           │       ├── README.md
│   │           │       ├── main.tf
│   │           │       ├── outputs.tf
│   │           │       ├── variables.tf
│   │           │       └── versions.tf
│   │           └── staging/
│   │               ├── .gitignore
│   │               ├── 01-network.tf
│   │               ├── 02-kubernetes.tf
│   │               ├── README.md
│   │               ├── outputs.tf
│   │               ├── variables.tf
│   │               └── versions.tf
│   ├── choice_of_solutions/
│   │   └── Сравнение функций k8s решений.docx
│   ├── cve-quickfix/
│   │   ├── CVE-2021-4034/
│   │   │   ├── CVE-2021-4034-fix-ds.yaml
│   │   │   └── Readme.md
│   │   └── CVE-2022-0185/
│   │       ├── CVE-2022-0185-fix-ds.yaml
│   │       └── Readme.md
│   ├── encrypt_and_keys/
│   │   └── secret-management/
│   │       ├── README.md
│   │       └── README_RU.md
│   ├── kyverno-custom-policies/
│   │   ├── README.md
│   │   ├── allow-actions-with-policys-only-silo-sa.yaml
│   │   ├── deny-attach-by-pod-and-container.yaml
│   │   ├── mutate-securitycontext-seccomp-deployment.yaml
│   │   ├── mutate-securitycontext-seccomp-pod.yaml
│   │   └── restrict-image-registries.yaml
│   ├── osquery-kubequery/
│   │   ├── Docker/
│   │   │   └── Dockerfile
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── filebeat-helm/
│   │   │   └── values.yaml
│   │   ├── fluentsplunk-helm/
│   │   │   └── values.yaml
│   │   ├── kubequery/
│   │   │   ├── kubequery-with-elastic-filebeat/
│   │   │   │   ├── configmap-filebeat.yaml
│   │   │   │   └── deployment.yaml
│   │   │   └── kubequery-with-splunk/
│   │   │       ├── configmap-fluentd.yaml
│   │   │       └── deployment.yaml
│   │   └── osquery-install-daemonset/
│   │       ├── configmap-config.yaml
│   │       ├── configmap-pack_conf.yaml
│   │       ├── daemonset.yaml
│   │       ├── helm-charts/
│   │       │   └── osquery-ds-yc/
│   │       │       ├── .helmignore
│   │       │       ├── Chart.yaml
│   │       │       ├── osquery-ds-yc-0.1.0.tgz
│   │       │       ├── templates/
│   │       │       │   ├── _helpers.tpl
│   │       │       │   ├── configmap-config.yaml
│   │       │       │   ├── configmap-packs.yaml
│   │       │       │   ├── daemonset.yaml
│   │       │       │   ├── network-policy-egress.yaml
│   │       │       │   └── network-policy-ingress.yaml
│   │       │       └── values.yaml
│   │       ├── instruction.sh
│   │       ├── network-policys.yaml
│   │       └── ns.yaml
│   ├── starboard_and_yc-cr/
│   │   └── README.md
│   └── use-cases-k8s/
│       └── README.md
├── malware-defense/
│   └── kaspersy-install-in-yc/
│       ├── README.md
│       ├── README_RU.md
│       ├── cloud-init_lin.tpl.yaml
│       ├── cloud-init_win.tpl.yaml
│       ├── docker-declaration.yaml
│       ├── images/
│       │   └── Kaspersky.drawio
│       ├── network.tf
│       ├── updates/
│       │   ├── kesl-11.2.0.4528/
│       │   │   ├── akinstall.sh
│       │   │   ├── autoinstall.ini
│       │   │   ├── kesl-gui_11.2.0-4528_amd64.deb
│       │   │   ├── kesl.kud
│       │   │   ├── kesl_11.2.0-4528_amd64.deb
│       │   │   ├── kpd.loc/
│       │   │   │   ├── de.ini
│       │   │   │   ├── en.ini
│       │   │   │   ├── fr.ini
│       │   │   │   ├── ja.ini
│       │   │   │   └── ru.ini
│       │   │   ├── ksn_license.de
│       │   │   ├── ksn_license.en
│       │   │   ├── ksn_license.fr
│       │   │   ├── ksn_license.ja
│       │   │   ├── ksn_license.ru
│       │   │   ├── license.de
│       │   │   ├── license.en
│       │   │   ├── license.fr
│       │   │   ├── license.ja
│       │   │   └── license.ru
│       │   └── klcfginst.msi
│       ├── variables.tf
│       ├── versions.tf
│       └── virtual_machines.tf
├── network-sec/
│   ├── checkpoint-1VM/
│   │   ├── README.md
│   │   └── README_RU.md
│   ├── checkpoint-2VM_active-active/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── check-init-sms.yaml
│   │   ├── check-init_gw-a.yaml
│   │   ├── check-init_gw-b.yaml
│   │   ├── cloud-init_win.tpl.yaml
│   │   ├── folders.tf
│   │   ├── images/
│   │   │   ├── network_diagram_backup.drawio
│   │   │   └── network_diagram_final.drawio
│   │   ├── network.tf
│   │   ├── provider.tf
│   │   ├── variables.tf
│   │   └── vms.tf
│   ├── checkpoint-2VM_active-passive/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── check-init-sms.yaml
│   │   ├── check-init_gw-a.yaml
│   │   ├── check-init_gw-b.yaml
│   │   ├── cloud-init_win.tpl.yaml
│   │   ├── folders.tf
│   │   ├── images/
│   │   │   └── network_diagram_final.drawio
│   │   ├── modules/
│   │   │   ├── multi-vpc-infra/
│   │   │   │   ├── .gitignore
│   │   │   │   ├── .pre-commit-config.yaml
│   │   │   │   ├── README.md
│   │   │   │   ├── main.tf
│   │   │   │   ├── outputs.tf
│   │   │   │   ├── variables.tf
│   │   │   │   └── versions.tf
│   │   │   └── multi-vpc-protected-network/
│   │   │       ├── .gitignore
│   │   │       ├── checker_function.tf
│   │   │       ├── functions/
│   │   │       │   ├── checker_function/
│   │   │       │   │   ├── main.py
│   │   │       │   │   └── requirements.txt
│   │   │       │   └── switcher_function/
│   │   │       │       ├── main.py
│   │   │       │       └── requirements.txt
│   │   │       ├── main.tf
│   │   │       ├── switcher_function/
│   │   │       │   ├── main.py
│   │   │       │   └── requirements.txt
│   │   │       ├── switcher_function.tf
│   │   │       ├── templates/
│   │   │       │   └── route.switcher.tpl.yaml
│   │   │       ├── variables.tf
│   │   │       └── versions.tf
│   │   ├── network.tf
│   │   ├── provider.tf
│   │   ├── route-switcher.tf
│   │   ├── variables.tf
│   │   └── vms.tf
│   ├── ipsec-sgw/
│   │   ├── README.md
│   │   ├── compute.tf
│   │   ├── examples/
│   │   │   ├── .gitignore
│   │   │   ├── env-yc.sh
│   │   │   ├── main.tf
│   │   │   └── variables.tf
│   │   ├── ipsec-configs.tf
│   │   ├── outputs.tf
│   │   ├── providers.tf
│   │   ├── samples/
│   │   │   ├── cisco-asa-sample.txt
│   │   │   ├── cisco-iosxe-sample.txt
│   │   │   ├── mikrotik-chr-sample.txt
│   │   │   ├── unknown-sample.txt
│   │   │   └── yc-strongswan-sample.txt
│   │   ├── sgw-vm-init.tpl
│   │   ├── templates/
│   │   │   ├── ipsec-cisco-asa.tpl
│   │   │   ├── ipsec-cisco-iosxe.tpl
│   │   │   ├── ipsec-mikrotik-chr.tpl
│   │   │   ├── ipsec-unknown.tpl
│   │   │   └── ipsec-yc.tpl
│   │   ├── variables.tf
│   │   └── vpc.tf
│   ├── remote-access-vpn/
│   │   ├── README.md
│   │   ├── firezone/
│   │   │   ├── compute.tf
│   │   │   ├── network.tf
│   │   │   ├── output.tf
│   │   │   ├── postgress.tf
│   │   │   ├── provider.tf
│   │   │   ├── security.tf
│   │   │   ├── templates/
│   │   │   │   └── cloud-init_firezone.tpl.yaml
│   │   │   └── variables.tf
│   │   ├── keycloak-config/
│   │   │   ├── keycloak-config.tf
│   │   │   ├── main.tf
│   │   │   ├── output.tf
│   │   │   └── provider.tf
│   │   ├── keycloak-deploy/
│   │   │   ├── cert-manager.tf
│   │   │   ├── kc-config.tf
│   │   │   ├── keycloak-vm.tf
│   │   │   ├── network.tf
│   │   │   ├── output.tf
│   │   │   ├── provider.tf
│   │   │   ├── security.tf
│   │   │   ├── templates/
│   │   │   │   ├── kc-config.tpl
│   │   │   │   └── kc-vm-init.tpl
│   │   │   └── variables.tf
│   │   ├── main/
│   │   │   ├── main.tf
│   │   │   └── output.tf
│   │   └── settings/
│   │       └── outputs.tf
│   ├── segmentation/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── SG.tf
│   │   ├── VM.tf
│   │   ├── cloud-init-bastion.tpl.yaml
│   │   ├── cloud-init.tpl.yaml
│   │   ├── output.tf
│   │   ├── provider.tf
│   │   ├── sa_and_key/
│   │   │   ├── sa.tf
│   │   │   ├── variables.tf
│   │   │   └── versions.tf
│   │   ├── terraform.tfvars_example
│   │   ├── variables.tf
│   │   ├── versions.tf
│   │   └── vpc.tf
│   └── vpn/
│       ├── README.md
│       ├── README_RU.md
│       ├── SG.tf
│       ├── backend.tf
│       ├── cloud-init.tpl.yaml
│       ├── docker-compose.yaml
│       ├── docker-declaration.yaml
│       ├── frontend.tf
│       ├── ipsec-init.tpl.yaml
│       ├── output.tf
│       ├── provider.tf
│       ├── remote-init.tpl.yaml
│       ├── remote.tf
│       ├── sa.tf
│       ├── terraform.tfvars.example
│       ├── variables.tf
│       ├── versions.tf
│       ├── vpc.tf
│       └── vpn.tf
├── secure_ci_cd/
│   ├── devsecops-scale/
│   │   └── README.md
│   └── secure_ci_cd_with_webinar/
│       ├── README.md
│       ├── free_secure_ci_cd/
│       │   ├── .gitlab-ci.yml
│       │   ├── .push_to_prod_registry.yml
│       │   ├── README.md
│       │   ├── dast-config/
│       │   │   ├── log4shell.conf
│       │   │   └── log4shell.yaml
│       │   ├── k8s-manifest.yaml
│       │   └── log4shell-vulnerable-app/
│       │       ├── Dockerfile
│       │       ├── LICENSE
│       │       ├── README.md
│       │       ├── build.gradle
│       │       ├── gradle/
│       │       │   └── wrapper/
│       │       │       ├── gradle-wrapper.jar
│       │       │       └── gradle-wrapper.properties
│       │       ├── gradlew
│       │       ├── gradlew.bat
│       │       ├── settings.gradle
│       │       └── src/
│       │           └── main/
│       │               ├── java/
│       │               │   └── fr/
│       │               │       └── christophetd/
│       │               │           └── log4shell/
│       │               │               └── vulnerableapp/
│       │               │                   ├── MainController.java
│       │               │                   └── VulnerableAppApplication.java
│       │               └── resources/
│       │                   └── application.properties
│       ├── gitlab_instance_sec_checklist/
│       │   ├── README.md
│       │   └── gitlab_instance_isolate.md
│       └── ultimate_secure_ci_cd/
│           ├── .gitlab-ci.yml
│           ├── .push_to_prod_registry.yml
│           ├── README.md
│           ├── k8s-manifest.yaml
│           └── log4shell-vulnerable-app/
│               ├── Dockerfile
│               ├── LICENSE
│               ├── README.md
│               ├── build.gradle
│               ├── gradle/
│               │   └── wrapper/
│               │       ├── gradle-wrapper.jar
│               │       └── gradle-wrapper.properties
│               ├── gradlew
│               ├── gradlew.bat
│               ├── settings.gradle
│               └── src/
│                   └── main/
│                       ├── java/
│                       │   └── fr/
│                       │       └── christophetd/
│                       │           └── log4shell/
│                       │               └── vulnerableapp/
│                       │                   ├── MainController.java
│                       │                   └── VulnerableAppApplication.java
│                       └── resources/
│                           └── application.properties
├── terraform-sec/
│   ├── checkov-yc/
│   │   ├── .gitlab-ci(audit_mode).yml
│   │   ├── .gitlab-ci(blocking_mode).yml
│   │   ├── .gitlab-ci(blocking_mode_with_specific_checks_in_audit).yml
│   │   ├── README.md
│   │   └── README_RU.md
│   └── remote-backend/
│       └── README.md
├── vuln-mgmt/
│   ├── anti-ddos-lt/
│   │   ├── README.md
│   │   └── README_RU.md
│   ├── unmng-waf-ptaf-cluster/
│   │   ├── README.md
│   │   ├── README_RU.md
│   │   ├── images/
│   │   │   └── ha-proxy.drawio
│   │   ├── main/
│   │   │   ├── cloud-init_lin.tpl.yaml
│   │   │   ├── cloud-init_lin.tpl_1.yaml
│   │   │   ├── cloud-init_lin.tpl_2.yaml
│   │   │   ├── function/
│   │   │   │   └── handler.sh
│   │   │   ├── functions.tf
│   │   │   ├── network.tf
│   │   │   ├── variables.tf
│   │   │   ├── versions.tf
│   │   │   └── vms.tf
│   │   └── prepare/
│   │       ├── README.md
│   │       ├── app_vms.tf
│   │       ├── declaration.yaml
│   │       ├── network.tf
│   │       ├── variables.tf
│   │       └── versions.tf
│   └── vulnerable-web-app-waf-test/
│       ├── README.md
│       ├── README_RU.md
│       ├── cloud_config.yaml
│       ├── declaration.yaml
│       ├── network_tasks.tf
│       ├── output.tf
│       ├── provider.tf
│       ├── variables.tf
│       └── vm_tasks.tf
└── yandex-Cloud-Security-Checklist/
    └── README.md
Download .txt
SYMBOL INDEX (183 symbols across 36 files)

FILE: auditlogs/cilium-s3/cmd/cilium-exporter/main.go
  type S3Config (line 23) | type S3Config struct
  type Config (line 32) | type Config struct
  function init (line 53) | func init() {
  function main (line 79) | func main() {

FILE: auditlogs/cilium-s3/internal/hubble/observer.go
  type Observer (line 12) | type Observer struct
    method Start (line 26) | func (o *Observer) Start(ctx context.Context) error {
  function NewObserver (line 18) | func NewObserver(senderChan *chan observerpb.GetFlowsResponse, url strin...

FILE: auditlogs/cilium-s3/internal/s3/sender.go
  type S3Config (line 17) | type S3Config struct
  type Sender (line 26) | type Sender struct
    method Worker (line 42) | func (s *Sender) Worker(ctx context.Context) error {
  function NewSender (line 33) | func NewSender(senderChan *chan observerpb.GetFlowsResponse, s3Config S3...

FILE: auditlogs/export-auditlogs-to-ELK_k8s/k8s-events-siem-worker/2.0.0/function/main.py
  function get_jwt (line 13) | def get_jwt():
  function get_token (line 33) | def get_token():
  function decrypt_secret_kms (line 44) | def decrypt_secret_kms(secret):
  function get_elastic_cert (line 54) | def get_elastic_cert():
  function create_config_index (line 140) | def create_config_index():
  function get_config_index_state (line 157) | def get_config_index_state():
  function create_ingest_pipeline (line 166) | def create_ingest_pipeline():
  function create_index_template (line 178) | def create_index_template():
  function create_lifecycle_policy (line 189) | def create_lifecycle_policy():
  function create_first_index (line 213) | def create_first_index():
  function create_index_alias (line 222) | def create_index_alias():
  function refresh_index (line 236) | def refresh_index():
  function get_detections_engine (line 245) | def get_detections_engine():
  function configure_kibana (line 256) | def configure_kibana():
  function delete_object_s3 (line 327) | def delete_object_s3(s3_bucket, s3_object):
  function delete_sqs_message (line 341) | def delete_sqs_message(msg):
  function process_s3_batch (line 349) | def process_s3_batch(bucket, folder, local=None):
  function upload_logs (line 421) | def upload_logs():

FILE: auditlogs/export-auditlogs-to-ELK_k8s/modules/function/main.py
  function get_random_alphanumeric_string (line 13) | def get_random_alphanumeric_string(length):
  function handler (line 25) | def handler(event, context):

FILE: auditlogs/export-auditlogs-to-ELK_k8s/modules/function/test.py
  function test (line 1) | def test(a):

FILE: auditlogs/export-auditlogs-to-ELK_k8s/modules/pusher/main.py
  function handler (line 17) | def handler(event, context):

FILE: auditlogs/export-auditlogs-to-ELK_k8s/modules/pusher/test.py
  function test (line 1) | def test(a):

FILE: auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/pusher/main.py
  function handler (line 17) | def handler(event, context):

FILE: auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/pusher/test.py
  function test (line 1) | def test(a):

FILE: auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/worker/function/main.py
  function get_token (line 11) | def get_token():
  function decrypt_secret_kms (line 17) | def decrypt_secret_kms(secret):
  function get_elastic_cert (line 27) | def get_elastic_cert():
  function create_config_index (line 113) | def create_config_index():
  function get_config_index_state (line 130) | def get_config_index_state():
  function create_ingest_pipeline (line 139) | def create_ingest_pipeline():
  function create_index_template (line 151) | def create_index_template():
  function create_lifecycle_policy (line 162) | def create_lifecycle_policy():
  function create_first_index (line 186) | def create_first_index():
  function create_index_alias (line 195) | def create_index_alias():
  function refresh_index (line 209) | def refresh_index():
  function get_detections_engine (line 218) | def get_detections_engine():
  function configure_kibana (line 229) | def configure_kibana():
  function delete_object_s3 (line 300) | def delete_object_s3(s3_bucket, s3_object):
  function delete_sqs_message (line 314) | def delete_sqs_message(msg):
  function process_s3_batch (line 322) | def process_s3_batch(bucket, folder, local=None):
  function upload_logs (line 394) | def upload_logs():

FILE: auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/function/main.py
  function get_random_alphanumeric_string (line 13) | def get_random_alphanumeric_string(length):
  function handler (line 25) | def handler(event, context):

FILE: auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/function/test.py
  function test (line 1) | def test(a):

FILE: auditlogs/export-auditlogs-to-ELK_main/functions/main.py
  function get_token (line 10) | def get_token():
  function decrypt_secret_kms (line 16) | def decrypt_secret_kms(secret):
  function get_elastic_cert (line 26) | def get_elastic_cert():
  function create_config_index (line 82) | def create_config_index():
  function get_config_index_state (line 98) | def get_config_index_state():
  function create_ingest_pipeline (line 107) | def create_ingest_pipeline():
  function create_index_template (line 119) | def create_index_template():
  function create_lifecycle_policy (line 131) | def create_lifecycle_policy():
  function create_first_index (line 155) | def create_first_index():
  function create_index_alias (line 164) | def create_index_alias():
  function refresh_index (line 178) | def refresh_index():
  function get_detections_engine (line 187) | def get_detections_engine():
  function configure_kibana (line 198) | def configure_kibana():
  function download_s3_folder (line 259) | def download_s3_folder(s3_bucket, s3_folder, local_folder=None):
  function delete_objects_s3 (line 277) | def delete_objects_s3(s3_bucket, s3_folder):
  function upload_docs_bulk (line 294) | def upload_docs_bulk(s3_bucket, s3_folder):
  function upload_logs (line 325) | def upload_logs():

FILE: auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/function/main.py
  function get_token (line 8) | def get_token():
  function decrypt_secret_kms (line 14) | def decrypt_secret_kms(secret):
  function get_elastic_cert (line 24) | def get_elastic_cert():
  function get_config_index_state (line 50) | def get_config_index_state(index):
  function refresh_index_pattern (line 68) | def refresh_index_pattern(key):
  function refresh_filters (line 86) | def refresh_filters(key):
  function refresh_searches (line 103) | def refresh_searches(key):
  function refresh_dashboards (line 120) | def refresh_dashboards(key):
  function refresh_detections (line 137) | def refresh_detections(key):

FILE: auditlogs/export-auditlogs-to-ELK_main/workshop-guide/example/k8s_demo/security-events-to-siem-importer/pusher/main.py
  function handler (line 17) | def handler(event, context):

FILE: auditlogs/export-auditlogs-to-ELK_main/workshop-guide/example/k8s_demo/security-events-to-siem-importer/pusher/test.py
  function test (line 1) | def test(a):

FILE: auditlogs/export-auditlogs-to-ELK_main/workshop-guide/example/k8s_demo/security-events-to-siem-importer/worker/function/main.py
  function get_token (line 11) | def get_token():
  function decrypt_secret_kms (line 17) | def decrypt_secret_kms(secret):
  function get_elastic_cert (line 27) | def get_elastic_cert():
  function create_config_index (line 113) | def create_config_index():
  function get_config_index_state (line 130) | def get_config_index_state():
  function create_ingest_pipeline (line 139) | def create_ingest_pipeline():
  function create_index_template (line 151) | def create_index_template():
  function create_lifecycle_policy (line 162) | def create_lifecycle_policy():
  function create_first_index (line 186) | def create_first_index():
  function create_index_alias (line 195) | def create_index_alias():
  function refresh_index (line 209) | def refresh_index():
  function get_detections_engine (line 218) | def get_detections_engine():
  function configure_kibana (line 229) | def configure_kibana():
  function delete_object_s3 (line 300) | def delete_object_s3(s3_bucket, s3_object):
  function delete_sqs_message (line 314) | def delete_sqs_message(msg):
  function process_s3_batch (line 322) | def process_s3_batch(bucket, folder, local=None):
  function upload_logs (line 394) | def upload_logs():

FILE: auditlogs/export-auditlogs-to-ELK_main/workshop-guide/example/k8s_demo/security-events-to-storage-exporter/function/main.py
  function get_random_alphanumeric_string (line 13) | def get_random_alphanumeric_string(length):
  function handler (line 25) | def handler(event, context):

FILE: auditlogs/export-auditlogs-to-ELK_main/workshop-guide/example/k8s_demo/security-events-to-storage-exporter/function/test.py
  function test (line 1) | def test(a):

FILE: auditlogs/export-auditlogs-to-Opensearch/functions/main.py
  function get_token (line 10) | def get_token():
  function decrypt_secret_kms (line 15) | def decrypt_secret_kms(secret):
  function create_tenant (line 77) | def create_tenant():
  function create_config_index (line 88) | def create_config_index():
  function get_config_index_state (line 104) | def get_config_index_state():
  function create_ingest_pipeline (line 115) | def create_ingest_pipeline():
  function create_lifecycle_policy (line 129) | def create_lifecycle_policy():
  function create_index_template (line 143) | def create_index_template():
  function create_first_index (line 155) | def create_first_index():
  function create_index_alias (line 164) | def create_index_alias():
  function refresh_index (line 178) | def refresh_index():
  function configure_kibana (line 189) | def configure_kibana():
  function download_s3_folder (line 243) | def download_s3_folder(s3_bucket, s3_folder, local_folder=None):
  function delete_objects_s3 (line 261) | def delete_objects_s3(s3_bucket, s3_folder):
  function upload_docs_bulk (line 277) | def upload_docs_bulk(s3_bucket, s3_folder):
  function upload_logs (line 308) | def upload_logs():

FILE: auditlogs/export-auditlogs-to-Splunk/functions/main.py
  function get_token (line 9) | def get_token():
  function decrypt_secret_kms (line 14) | def decrypt_secret_kms(secret):
  function download_s3_folder (line 56) | def download_s3_folder(s3_bucket, s3_folder, local_folder=None):
  function delete_objects_s3 (line 73) | def delete_objects_s3(s3_bucket, s3_folder):
  function upload_docs_bulk (line 89) | def upload_docs_bulk(s3_bucket, s3_folder):
  function upload_logs (line 122) | def upload_logs():

FILE: auditlogs/export-auditlogs-to-wazuh/packer/ansible/roles/wazuh/files/wodle/yandex-clamav/yandex-clamav.py
  function get_buckets (line 16) | def get_buckets():
  function get_matching_s3_keys (line 29) | def get_matching_s3_keys(bucket_name, prefix='', suffix=''):

FILE: auditlogs/export-k8s-to-s3-cloud-logging/terraform/function/main.py
  function get_random_alphanumeric_string (line 14) | def get_random_alphanumeric_string(length):
  function handler (line 27) | def handler(event, context):

FILE: auditlogs/export-k8s-to-s3/terraform/function/main.py
  function get_random_alphanumeric_string (line 13) | def get_random_alphanumeric_string(length):
  function handler (line 25) | def handler(event, context):

FILE: auditlogs/export-k8s-to-yds/terraform/function/main.py
  function get_random_alphanumeric_string (line 13) | def get_random_alphanumeric_string(length):
  function handler (line 31) | def handler(event, context):

FILE: auditlogs/trails-function-detector/function/main.py
  function handler (line 32) | def handler(event, context):
  function main_parse (line 42) | def main_parse(event):
  function prepare_for_alert (line 63) | def prepare_for_alert(json_dict):
  function rule_sg (line 76) | def rule_sg(g):
  function rule_bucket (line 126) | def rule_bucket(g):
  function rule_secret (line 155) | def rule_secret(g):
  function rule_any_event (line 198) | def rule_any_event(g):
  function send_message (line 214) | def send_message(text, event_type):
  function get_token (line 241) | def get_token():
  function del_rule (line 248) | def del_rule(sg_id, sg_rule_id):
  function del_perm_secret (line 265) | def del_perm_secret(secret_id, role_id, sa_id):

FILE: encrypt_and_keys/manage_secrets/terraform+KMS+COI/docker/functions/main.py
  function get_token (line 9) | def get_token():
  function decrypt_secret_kms (line 14) | def decrypt_secret_kms(secret):

FILE: encrypt_and_keys/vault2lockbox/vault_to_lockbox_migrator.py
  function vault_list_keys (line 51) | def vault_list_keys(root):
  function vault_get_secrets (line 84) | def vault_get_secrets(path, version, current_version, custom_metadata):
  function vault_get_metadata (line 100) | def vault_get_metadata(path):
  function yandex_prepare_secrets_from_file (line 117) | def yandex_prepare_secrets_from_file():
  function yandex_prepare_secrets_from_var (line 134) | def yandex_prepare_secrets_from_var():
  function yandex_create_secrets (line 145) | def yandex_create_secrets(path, secret_json):
  function yandex_create_secret_payloads (line 171) | def yandex_create_secret_payloads(secret_dict):
  function yandex_get_secrets (line 184) | def yandex_get_secrets():
  function yandex_create_simple_secrets (line 198) | def yandex_create_simple_secrets():
  function yandex_delete_all_secrets (line 231) | def yandex_delete_all_secrets():
  function get_confirmation (line 262) | def get_confirmation(prompt):
  function dump_to_screen (line 270) | def dump_to_screen():
  function save_to_file (line 276) | def save_to_file():
  function migrate (line 287) | def migrate():
  function create_secrets (line 294) | def create_secrets():
  function print_help (line 303) | def print_help():
  function load_config (line 314) | def load_config():

FILE: network-sec/checkpoint-2VM_active-passive/modules/multi-vpc-protected-network/functions/checker_function/main.py
  function get_config (line 15) | def get_config(bucket,path,endpoint_url='https://storage.yandexcloud.net'):
  function check_router_statuses (line 34) | def check_router_statuses(config,iam_token):
  function failover (line 89) | def failover(route_table_id,subnet_list,iam_token):
  function put_config (line 111) | def put_config(bucket,path,config,endpoint_url='https://storage.yandexcl...
  function handler (line 132) | def handler(event, context):

FILE: network-sec/checkpoint-2VM_active-passive/modules/multi-vpc-protected-network/functions/switcher_function/main.py
  function failover (line 15) | def failover(route_table_id,subnet_id,iam_token):
  function retry_rt_switch_operation (line 29) | def retry_rt_switch_operation(route_table_id,subnet_id, iam_token,num_tr...
  function check_operation (line 45) | def check_operation(operation_id,iam_token):
  function handler (line 65) | def handler(event, context):

FILE: network-sec/checkpoint-2VM_active-passive/modules/multi-vpc-protected-network/switcher_function/main.py
  function failover (line 15) | def failover(route_table_id,subnet_id,iam_token):
  function handler (line 48) | def handler(event, context):

FILE: secure_ci_cd/secure_ci_cd_with_webinar/free_secure_ci_cd/log4shell-vulnerable-app/src/main/java/fr/christophetd/log4shell/vulnerableapp/MainController.java
  class MainController (line 11) | @RestController
    method index (line 16) | @GetMapping("/")

FILE: secure_ci_cd/secure_ci_cd_with_webinar/free_secure_ci_cd/log4shell-vulnerable-app/src/main/java/fr/christophetd/log4shell/vulnerableapp/VulnerableAppApplication.java
  class VulnerableAppApplication (line 6) | @SpringBootApplication
    method main (line 9) | public static void main(String[] args) {

FILE: secure_ci_cd/secure_ci_cd_with_webinar/ultimate_secure_ci_cd/log4shell-vulnerable-app/src/main/java/fr/christophetd/log4shell/vulnerableapp/MainController.java
  class MainController (line 11) | @RestController
    method index (line 16) | @GetMapping("/")

FILE: secure_ci_cd/secure_ci_cd_with_webinar/ultimate_secure_ci_cd/log4shell-vulnerable-app/src/main/java/fr/christophetd/log4shell/vulnerableapp/VulnerableAppApplication.java
  class VulnerableAppApplication (line 6) | @SpringBootApplication
    method main (line 9) | public static void main(String[] args) {
Condensed preview — 940 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (9,430K chars).
[
  {
    "path": ".gitignore",
    "chars": 1111,
    "preview": "# Apple temporary\n.DS_Store\n\n# Word temporary\n~$*.doc*\n\n# Compiled files\n*.tfstate\n*.tfstate.backup\n*.tfstate.lock.info\n"
  },
  {
    "path": "CATALOG.md",
    "chars": 11408,
    "preview": "# 🔐 Yandex.Cloud Security Solution Library\n**Yandex.Cloud Security Solution Library** — это набор примеров и рекомендаци"
  },
  {
    "path": "README.md",
    "chars": 257,
    "preview": "# Yandex Cloud Security Solutions Library\n\nThis repo contains Security Solutions from Yandex Cloud Team. \n\nThe repositor"
  },
  {
    "path": "README_EN.md",
    "chars": 10672,
    "preview": "# 🔐 Yandex.Cloud Security Solution Library\n\n**Yandex.Cloud Security Solution Library** is a set of examples and recommen"
  },
  {
    "path": "auditlogs/_use_cases_and_searches/README.md",
    "chars": 1573,
    "preview": "# Use cases and important security events in audit logs\nThis section contains use cases and important security events on"
  },
  {
    "path": "auditlogs/_use_cases_and_searches/README_RU.md",
    "chars": 1399,
    "preview": "# Use cases и важные события безопасности в аудит логах\nВ данном разделе собраны use cases и важные события безопасности"
  },
  {
    "path": "auditlogs/cilium-s3/Dockerfile",
    "chars": 450,
    "preview": "FROM golang:1.16-alpine AS build\n##\n## Build\n##\nWORKDIR /cilium-splunk\n\nCOPY go.mod ./\nCOPY go.sum ./\n\nRUN go mod downlo"
  },
  {
    "path": "auditlogs/cilium-s3/Dockerfile old",
    "chars": 309,
    "preview": "FROM golang:1.16-alpine\n\nWORKDIR /cilium-splunk\n\nCOPY go.mod ./\nCOPY go.sum ./\n\nRUN go mod download\n\nCOPY ./cmd/cilium-e"
  },
  {
    "path": "auditlogs/cilium-s3/README.md",
    "chars": 2722,
    "preview": "# \"cilium-s3\" Export flow logs of Cilium to Yandex Cloud Object Storage\n\n<img width=\"1081\" alt=\"Снимок экрана 2021-10-23"
  },
  {
    "path": "auditlogs/cilium-s3/cmd/cilium-exporter/main.go",
    "chars": 3495,
    "preview": "package main\n\nimport (\n\t\"cilium-splunk/internal/hubble\"\n\t\"cilium-splunk/internal/s3\"\n\t\"context\"\n\t\"flag\"\n\t\"os\"\n\t\"os/signa"
  },
  {
    "path": "auditlogs/cilium-s3/config.yaml.example",
    "chars": 366,
    "preview": "s3:\n  bucket: \"k8s-logs\"\n  prefix: \"k8s/b1gnusj8glj1pkr3ru0e/b1gpl1hi60t84gv7gg8o/catfr1ki8briuhgra3qm\"\n  access-key-id:"
  },
  {
    "path": "auditlogs/cilium-s3/go.mod",
    "chars": 880,
    "preview": "module cilium-splunk\n\ngo 1.17\n\nrequire (\n\tgithub.com/aws/aws-sdk-go v1.41.1\n\tgithub.com/cilium/cilium v1.10.4\n\tgithub.co"
  },
  {
    "path": "auditlogs/cilium-s3/go.sum",
    "chars": 131263,
    "preview": "cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=\ncloud.google.com/go v0.34.0/go.mod h1"
  },
  {
    "path": "auditlogs/cilium-s3/internal/hubble/observer.go",
    "chars": 1109,
    "preview": "package hubble\n\nimport (\n\t\"context\"\n\t\"time\"\n\n\tobserverpb \"github.com/cilium/cilium/api/v1/observer\"\n\t\"go.uber.org/zap\"\n\t"
  },
  {
    "path": "auditlogs/cilium-s3/internal/s3/sender.go",
    "chars": 1876,
    "preview": "package s3\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"fmt\"\n\t\"time\"\n\n\t\"github.com/aws/aws-sdk-go/aws\"\n\t\"github.com/aws/aws-sdk-go/aw"
  },
  {
    "path": "auditlogs/cilium-s3/kubernetes/cilium-s3-chart/.helmignore",
    "chars": 349,
    "preview": "# Patterns to ignore when building packages.\n# This supports shell glob matching, relative path matching, and\n# negation"
  },
  {
    "path": "auditlogs/cilium-s3/kubernetes/cilium-s3-chart/Chart.yaml",
    "chars": 1151,
    "preview": "apiVersion: v2\nname: cilium-s3-chart\ndescription: A Helm chart for Kubernetes\n\n# A chart can be either an 'application' "
  },
  {
    "path": "auditlogs/cilium-s3/kubernetes/cilium-s3-chart/index.yaml",
    "chars": 73,
    "preview": "apiVersion: v1\nentries: {}\ngenerated: \"2021-10-23T19:09:38.012479+03:00\"\n"
  },
  {
    "path": "auditlogs/cilium-s3/kubernetes/cilium-s3-chart/templates/deployment.yaml",
    "chars": 1250,
    "preview": "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  labels:\n    app: cilium-s3\n  name: cilium-s3\nspec:\n  replicas: 1\n  sele"
  },
  {
    "path": "auditlogs/cilium-s3/kubernetes/cilium-s3-chart/templates/secret.yaml",
    "chars": 139,
    "preview": "apiVersion: v1\ndata:\n  S3_SECRET_ACCESS_KEY: {{ .Values.yandex.secretaccesskey | b64enc }}\nkind: Secret\nmetadata:\n  name"
  },
  {
    "path": "auditlogs/cilium-s3/kubernetes/cilium-s3-chart/values.yaml",
    "chars": 2122,
    "preview": "# Default values for cilium-s3-chart.\n# This is a YAML-formatted file.\n# Declare variables to be passed into your templa"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ArcSight/README.md",
    "chars": 6858,
    "preview": "# Collecting, monitoring, and analyzing audit logs in an external SIEM ArcSight\n![Dashboard](https://user-images.githubu"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ArcSight/README_RU.md",
    "chars": 6982,
    "preview": "# Сбор, мониторинг и анализ аудит логов во внешний SIEM ArcSight\n![Дашборд](https://user-images.githubusercontent.com/85"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ArcSight/arcsight_content/README.md",
    "chars": 76,
    "preview": "# YandexCloudFlex\n\nArcSight FlexAgent for YandexCloud (JSON Folder follower)"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ArcSight/arcsight_content/flex/map.0.properties",
    "chars": 9637,
    "preview": "event.name,set.event.deviceFacility,set.event.deviceAction,set.event.name,set.event.priority\r\nyandex.cloud.audit.resourc"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ArcSight/arcsight_content/flex/yc.jsonparser.properties",
    "chars": 4163,
    "preview": "#Yandex Cloud Cloud Trail JSON log parser\r\n#Author: Rodion Chekharin rch@ast-security.ru\r\n\r\ntrigger.node.location=/\r\ntok"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ArcSight/arcsight_content/samples/041738547.json",
    "chars": 3537,
    "preview": "[{\"event_id\":\"874ac94d-bf3e-412f-ab04-9e7bd47bf61c\",\"event_source\":\"storage\",\"event_type\":\"yandex.cloud.audit.storage.Ob"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ArcSight/arcsight_content/samples/042624546.json",
    "chars": 27794,
    "preview": "[{\"event_id\":\"aje66ojt2ru8be4qvvc3\",\"event_source\":\"iam\",\"event_type\":\"yandex.cloud.audit.iam.UpdateServiceAccount\",\"eve"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ArcSight/arcsight_content/samples/134730901.json",
    "chars": 5952,
    "preview": "[{\"event_id\":\"ffb497d2-ec5f-4d81-ade0-4a587c9fb7ff\",\"event_source\":\"storage\",\"event_type\":\"yandex.cloud.audit.storage.Bu"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ArcSight/arcsight_content/samples/151859118.json",
    "chars": 13453,
    "preview": "[{\"event_id\":\"enpp3pi7h4l4b0m24ue4\",\"event_source\":\"network\",\"event_type\":\"yandex.cloud.audit.network.CreateSubnet\",\"eve"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ArcSight/arcsight_content/samples/155732665.json",
    "chars": 2609,
    "preview": "[{\"event_id\":\"aje08icd1utpv6sdut0s\",\"event_source\":\"iam\",\"event_type\":\"yandex.cloud.audit.iam.CreateAccessKey\",\"event_ti"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ArcSight/images/arcsight.drawio",
    "chars": 133800,
    "preview": "<mxfile host=\"Electron\" modified=\"2021-08-06T17:56:35.615Z\" agent=\"5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/5"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ArcSight/images/arcsight_2.drawio",
    "chars": 258725,
    "preview": "<mxfile host=\"Electron\" modified=\"2021-08-06T18:07:53.490Z\" agent=\"5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/5"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/README.md",
    "chars": 7341,
    "preview": "## Yandex.Cloud: Analyzing K8s security logs in ELK: audit logs, Policy Engine, Falco \n\n![image](https://user-images.git"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/examples/README.md",
    "chars": 2342,
    "preview": "## Terraform test script \n\nPrerequisites:\n- ✅ Cluster of Managed K8s.\n- ✅ Managed ELK.\n- ✅ A service account that can wr"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/examples/main.tf",
    "chars": 2028,
    "preview": "module \"security-events-to-siem-importer\" {\n  source                         = \"../modules\"\n  folder_id                 "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/examples/provider.tf",
    "chars": 372,
    "preview": "terraform {\n  required_version = \">= 0.14\"\n\n  required_providers {\n    yandex = {\n      source  = \"yandex-cloud/yandex\"\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/examples/terraform.tfvars.example",
    "chars": 1585,
    "preview": "folder_id                      = \"example\"\ncloud_id                       = \"example\"\ncluster_name                   = \""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/examples/variables.tf",
    "chars": 3960,
    "preview": "# Variables for Import\n\n# Initial variables\nvariable \"folder_id\" {\n  description = \"The Yandex.Cloud folder id.\"\n  type "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/images/Logo-scheme.drawio",
    "chars": 102438,
    "preview": "<mxfile host=\"Electron\" modified=\"2021-09-17T13:02:53.075Z\" agent=\"5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/5"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/images/Tech_scheme.drawio",
    "chars": 283482,
    "preview": "<mxfile host=\"Electron\" modified=\"2021-09-17T13:08:59.264Z\" agent=\"5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/5"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/k8s-events-siem-worker/2.0.0/Dockerfile",
    "chars": 584,
    "preview": "FROM python:3.9.10-slim\n# docker build нужно запускать из папки auditlogs чтобы был правильный контекст при подборе incl"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/k8s-events-siem-worker/2.0.0/Dockerfile.old",
    "chars": 219,
    "preview": "FROM python:3.9.10-slim\nWORKDIR /app\nCOPY /function /app/function\nCOPY /include /app/include\nRUN python3 -m pip install "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/k8s-events-siem-worker/2.0.0/README.md",
    "chars": 393,
    "preview": "# Yandex Cloud Solution Library for Security \n\nDocker image for the [Worker](https://github.com/yandex-cloud/yc-solution"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/k8s-events-siem-worker/2.0.0/function/main.py",
    "chars": 16799,
    "preview": "import base64\nimport boto3\nimport botocore\nimport json\nimport os\nimport requests\nimport time\nimport jwt\n\n\n# Function - G"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/k8s-events-siem-worker/2.0.0/function/requirements.txt",
    "chars": 42,
    "preview": "boto3\nrequests\nbotocore\nPyJWT\ncryptography"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/00-sa-and-bucket.tf",
    "chars": 1986,
    "preview": "# Create resource for timer\nresource \"null_resource\" \"previous\" {}\n\n# Create timer\nresource \"time_sleep\" \"wait_timer\" {\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/01-function-and-mq.tf",
    "chars": 8496,
    "preview": "data \"archive_file\" \"function_pusher\" {\n  type        = \"zip\"\n  source_dir  = \"${path.module}/pusher\"\n  output_path = \"$"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/02-worker.tf",
    "chars": 5549,
    "preview": "locals {\n  common_values_yaml = {\n    server = {\n      image = \"${var.worker_docker_image}\"\n      envVars = {\n        el"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/03-infra.tf",
    "chars": 1033,
    "preview": "data \"yandex_iam_service_account\" \"bucket_sa\" {\n  depends_on = [yandex_iam_service_account.sa-writer]\n  name       = var"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/04-audit-export.tf",
    "chars": 1657,
    "preview": "data \"archive_file\" \"function_export\" {\n  type        = \"zip\"\n  source_dir  = \"${path.module}/function\"\n  output_path = "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/05-falco.tf",
    "chars": 1405,
    "preview": "resource \"helm_release\" \"falco\" {\n  depends_on       = [helm_release.policy_reporter]\n  name             = \"falco\"\n  cha"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/06-kyverno.tf",
    "chars": 1983,
    "preview": "resource \"helm_release\" \"kyverno-policies\" {\n  depends_on = [\n    helm_release.kyverno\n  ]\n  count      = var.kyverno_en"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/Readme.md",
    "chars": 13322,
    "preview": "## Requirements\n\n| Name | Version |\n|------|---------|\n| <a name=\"requirement_terraform\"></a> [terraform](#requirement\\_"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/chart/.helmignore",
    "chars": 349,
    "preview": "# Patterns to ignore when building packages.\n# This supports shell glob matching, relative path matching, and\n# negation"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/chart/Chart.yaml",
    "chars": 120,
    "preview": "apiVersion: v2\nappVersion: 0.2.0\ndescription: A Helm chart for Kubernetes\nname: worker\ntype: application\nversion: 0.2.2\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/chart/templates/_helpers.tpl",
    "chars": 2146,
    "preview": "{{/* Sanitizes given string. */}}\n{{- define \"sanitize\" -}}\n{{- $name := regexReplaceAll \"[[:^alnum:]]\" . \"-\" -}}\n{{- re"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/chart/templates/_server.tpl",
    "chars": 871,
    "preview": "{{/* Expands the name of the server. */}}\n{{- define \"server.name\" -}}\n{{- if .Values.server.nameOverride }}\n{{- include"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/chart/templates/server-cm.yaml",
    "chars": 1720,
    "preview": "apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: {{ include \"server.name\" . | quote }}\n  labels:\n    {{- include \"server"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/chart/templates/server-deploy.yaml",
    "chars": 3334,
    "preview": "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: {{ include \"server.name\" . | quote }}\n  labels:\n    {{- include \""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/chart/templates/server-secret.yaml",
    "chars": 329,
    "preview": "apiVersion: v1\nkind: Secret\nmetadata:\n  name: {{ include \"server.name\" . | quote }}\n  labels:\n    {{- include \"server.la"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/chart/values.yaml",
    "chars": 2263,
    "preview": "# Image pull policy. Possible values: Always, Never, IfNotPresent.\npullPolicy: IfNotPresent\n# Image pull secret name.\npu"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/function/Makefile",
    "chars": 482,
    "preview": "all: clean dependencies package\n\nclean:\n\trm -rf dist/\n\ndirs:\n\tmkdir -p dist/\n\ndependencies: dirs\n\tdocker run --rm \\\n\t\t-v"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/function/main.py",
    "chars": 1258,
    "preview": "import json\n\nimport os\nimport sys\nimport uuid\nimport boto3\nimport string\nimport random\n\nfrom datetime import datetime\n\n\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/function/requirements.txt",
    "chars": 14,
    "preview": "botocore\nboto3"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/function/test.py",
    "chars": 22,
    "preview": "def test(a):\n    pass\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/outputs.tf",
    "chars": 298,
    "preview": "output \"service_account_id\" {\n  value     = data.yandex_iam_service_account.bucket_sa.id\n  sensitive = true\n}\n\noutput \"f"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/pusher/Makefile",
    "chars": 482,
    "preview": "all: clean dependencies package\n\nclean:\n\trm -rf dist/\n\ndirs:\n\tmkdir -p dist/\n\ndependencies: dirs\n\tdocker run --rm \\\n\t\t-v"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/pusher/main.py",
    "chars": 2095,
    "preview": "import boto3\nimport json\nimport os\n\nclient = boto3.client(\n    service_name='sqs',\n    endpoint_url='https://message-que"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/pusher/requirements.txt",
    "chars": 14,
    "preview": "botocore\nboto3"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/pusher/test.py",
    "chars": 22,
    "preview": "def test(a):\n    pass\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/templates/auditlog-worker-limits.yaml",
    "chars": 92,
    "preview": "resources:\n  requests:\n    memory: 512Mi\n    cpu: 500m\n  limits:\n    memory: 1Gi\n    cpu: 1\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/templates/falco-base.yaml",
    "chars": 1313,
    "preview": "image:\n  registry: docker.io\n  repository: falcosecurity/falco\n  pullPolicy: IfNotPresent\n\ndocker:\n  enabled: true\n  soc"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/templates/falco-worker-limits.yaml",
    "chars": 92,
    "preview": "resources:\n  requests:\n    memory: 512Mi\n    cpu: 500m\n  limits:\n    memory: 1Gi\n    cpu: 1\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/templates/falcosidekick-base.yaml",
    "chars": 56,
    "preview": "\n# enable falcosidekick deployment\nimage:\n  tag: 2.24.0\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/templates/kubeconfig-template.yaml.tpl",
    "chars": 332,
    "preview": "apiVersion: v1\nclusters:\n- cluster:\n    certificate-authority-data: ${cluster_ca_certificate}\n    server: ${endpoint}\n  "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/templates/kyverno-base.yaml",
    "chars": 81,
    "preview": "resources:\n  requests:\n    cpu: 100m\n    memory: 256Mi\n  limits:\n    memory: 1Gi\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/templates/kyverno-worker-limits.yaml",
    "chars": 92,
    "preview": "resources:\n  requests:\n    memory: 512Mi\n    cpu: 500m\n  limits:\n    memory: 1Gi\n    cpu: 1\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/templates/policy-reporter-base.yaml",
    "chars": 81,
    "preview": "resources:\n  requests:\n    cpu: 100m\n    memory: 256Mi\n  limits:\n    memory: 1Gi\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/templates/yc-mk8s.ca",
    "chars": 1424,
    "preview": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRX"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/variables.tf",
    "chars": 3960,
    "preview": "# Variables for Import\n\n# Initial variables\nvariable \"folder_id\" {\n  description = \"The Yandex.Cloud folder id.\"\n  type "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s/modules/versions.tf",
    "chars": 252,
    "preview": "terraform {\n  required_version = \">= 0.14\"\n\n  required_providers {\n    yandex = {\n      source  = \"yandex-cloud/yandex\"\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/README.md",
    "chars": 10395,
    "preview": "## Yandex.Cloud: Analyzing K8s security logs in ELK: audit logs, Policy Engine, Falco \n\n![image](https://user-images.git"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/README_RU.md",
    "chars": 10046,
    "preview": "## Yandex Cloud: Анализ логов безопасности k8s в ELK: аудит-логи, policy engine, falco \n\n![image](https://user-images.gi"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/example/README.md",
    "chars": 2404,
    "preview": "## Terraform test script \n\nPrerequisites:\n- ✅ Cluster Managed K8s.\n- ✅ Managed ELK.\n- ✅ A service account that can write"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/example/README_RU.md",
    "chars": 2283,
    "preview": "## Тестовый скрипт terraform \n\nПререквизиты\n- ✅ Cluster Managed k8s\n- ✅ Managed ELK\n- ✅ Сервисный аккаунт, который может"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/example/main.tf",
    "chars": 1861,
    "preview": "//Вызов модуля security-events-to-storage-exporter\nmodule \"security-events-to-storage-exporter\" {\n    source = \"../secur"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/example/provider.tf",
    "chars": 272,
    "preview": "terraform {\n  required_providers {\n    yandex = {\n      source = \"yandex-cloud/yandex\"\n    }\n  }\n}\n\nprovider \"yandex\" {\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/images/Logo-scheme.drawio",
    "chars": 102438,
    "preview": "<mxfile host=\"Electron\" modified=\"2021-09-17T13:02:53.075Z\" agent=\"5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/5"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/images/Tech_scheme.drawio",
    "chars": 283482,
    "preview": "<mxfile host=\"Electron\" modified=\"2021-09-17T13:08:59.264Z\" agent=\"5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/5"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/01-function-and-mq.tf",
    "chars": 6287,
    "preview": "\nresource \"yandex_iam_service_account_static_access_key\" \"sa_static_key\" {\n  service_account_id = var.service_account_id"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/02-coi-worker.tf",
    "chars": 6839,
    "preview": "resource \"tls_private_key\" \"ssh\" {\n    algorithm = \"RSA\"\n    rsa_bits  = \"4096\"\n}\n\nresource \"local_file\" \"private_key\" {"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/README.md",
    "chars": 1823,
    "preview": "# Security-events-to-siem-importer\n\nОписание: Модуль, который через очередь читает логи из бакета и кладет их Elastic\n\n\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/pusher/Makefile",
    "chars": 482,
    "preview": "all: clean dependencies package\n\nclean:\n\trm -rf dist/\n\ndirs:\n\tmkdir -p dist/\n\ndependencies: dirs\n\tdocker run --rm \\\n\t\t-v"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/pusher/main.py",
    "chars": 1792,
    "preview": "import boto3\nimport json\nimport os\n\nclient = boto3.client(\n    service_name='sqs',\n    endpoint_url='https://message-que"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/pusher/requirements.txt",
    "chars": 14,
    "preview": "botocore\nboto3"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/pusher/test.py",
    "chars": 22,
    "preview": "def test(a):\n    pass\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/variables.tf",
    "chars": 676,
    "preview": "variable \"folder_id\" {\n\n}\n\nvariable \"log_bucket_name\" {\n\n}\n\nvariable \"service_account_id\" {\n #functions.invoker, storage"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/versions.tf",
    "chars": 156,
    "preview": "terraform {\n  required_version = \">= 0.14\"\n\n  required_providers {\n    yandex = {\n      source  = \"yandex-cloud/yandex\"\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/worker/Dockerfile",
    "chars": 625,
    "preview": "FROM python:3.9.1-slim\nRUN apt-get update\n# docker build нужно запускать из папки auditlogs чтобы был правильный контекс"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/worker/cloud-init.tpl.yaml",
    "chars": 178,
    "preview": "#cloud-config\n#ssh_pwauth: no\nusers:\n  - name: yc-user\n    sudo: ALL=(ALL) NOPASSWD:ALL\n    groups: sudo\n    shell: /bin"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/worker/docker-compose.yml",
    "chars": 107,
    "preview": "version: \"3.6\"\nservices:\n  app:\n    build: .\n    stdin_open: true\n    tty: true\n    volumes:\n      - .:/app"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/worker/docker-declaration-auditlog.yaml",
    "chars": 878,
    "preview": "spec:\n  containers:\n  - env:\n    - name: KMS_KEY_ID\n      value: ${KMS_KEY_ID}\n    - name: ELASTIC_SERVER\n      value: $"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/worker/docker-declaration-falco.yaml",
    "chars": 876,
    "preview": "spec:\n  containers:\n  - env:\n    - name: KMS_KEY_ID\n      value: ${KMS_KEY_ID}\n    - name: ELASTIC_SERVER\n      value: $"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/worker/docker-declaration-kyverno.yaml",
    "chars": 882,
    "preview": "spec:\n  containers:\n  - env:\n    - name: KMS_KEY_ID\n      value: ${KMS_KEY_ID}\n    - name: ELASTIC_SERVER\n      value: $"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/worker/function/main.py",
    "chars": 16062,
    "preview": "import base64\nimport boto3\nimport botocore\nimport json\nimport os\nimport requests\nimport time\n\n\n# Function - Get token\nde"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-siem-importer/worker/function/requirements.txt",
    "chars": 23,
    "preview": "boto3\nrequests\nbotocore"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/00-infra.tf",
    "chars": 3052,
    "preview": "data \"yandex_iam_service_account\" \"bucket_sa\" {\n  service_account_id = var.log_bucket_service_account_id\n}\n\ndata \"yandex"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/01-audit-export.tf",
    "chars": 2012,
    "preview": "//выдача прав на создание функции\nresource \"yandex_resourcemanager_folder_iam_binding\" \"create_funct\" {\n  count = var.fu"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/02-kubernetes-falco.tf",
    "chars": 1346,
    "preview": "resource \"helm_release\" \"falco\" {\n  depends_on = [\n    helm_release.policy_repoter\n  ]\n  name       = \"falco\"\n  chart   "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/03-kyverno.tf",
    "chars": 1395,
    "preview": "resource \"helm_release\" \"kyverno-policies\" {\n    depends_on = [\n    helm_release.kyverno\n  ]\n  name       = \"kyverno-pol"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/README.md",
    "chars": 1551,
    "preview": "# security-events-to-storage-exporter\nОписание: Модуль для включения логирования кластера k8s. На текущий момент он наст"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/example/main.tf",
    "chars": 665,
    "preview": "// Вызов модуля\nmodule \"cilium_cluster_1_export\" {\n    source = \"../../security-events-to-storage-exporter/\" # путь до м"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/example/provider.tf",
    "chars": 272,
    "preview": "terraform {\n  required_providers {\n    yandex = {\n      source = \"yandex-cloud/yandex\"\n    }\n  }\n}\n\nprovider \"yandex\" {\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/function/Makefile",
    "chars": 482,
    "preview": "all: clean dependencies package\n\nclean:\n\trm -rf dist/\n\ndirs:\n\tmkdir -p dist/\n\ndependencies: dirs\n\tdocker run --rm \\\n\t\t-v"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/function/main.py",
    "chars": 1346,
    "preview": "import json\n\nimport os\nimport sys\nimport uuid\nimport boto3\nimport string\nimport random\n\nfrom datetime import datetime\n\n\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/function/requirements.txt",
    "chars": 14,
    "preview": "botocore\nboto3"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/function/test.py",
    "chars": 22,
    "preview": "def test(a):\n    pass\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/outputs.tf",
    "chars": 287,
    "preview": "output \"service_account_id\" {\n  value = data.yandex_iam_service_account.bucket_sa.id\n  sensitive = true\n}\n\noutput \"folde"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/templates/falco-base.yaml",
    "chars": 1233,
    "preview": "image:\n  registry: docker.io\n  repository: falcosecurity/falco\n  pullPolicy: IfNotPresent\n\ndocker:\n  enabled: true\n  soc"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/templates/falcosidekick-base.yaml",
    "chars": 56,
    "preview": "\n# enable falcosidekick deployment\nimage:\n  tag: 2.24.0\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/templates/kubeconfig-template.yaml.tpl",
    "chars": 332,
    "preview": "apiVersion: v1\nclusters:\n- cluster:\n    certificate-authority-data: ${cluster_ca_certificate}\n    server: ${endpoint}\n  "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/templates/yc-mk8s.ca",
    "chars": 1424,
    "preview": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRX"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/variables.tf",
    "chars": 388,
    "preview": "\n\n\n\n\nvariable \"folder_id\" {\n\n}\n\nvariable \"cluster_name\" {\n\n}\n\nvariable \"log_bucket_service_account_id\" {\n\n}\n\nvariable \"f"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_k8s_old/security-events-to-storage-exporter/versions.tf",
    "chars": 246,
    "preview": "\nterraform {\n  required_version = \">= 0.14\"\n\n  required_providers {\n    yandex = {\n      source  = \"yandex-cloud/yandex\""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/AUTHORS",
    "chars": 273,
    "preview": "The following authors have created the source code of \"Yandex Cloud Audit Trails for Elastic Integration\"\npublished and "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/CONFIGURE-HA.md",
    "chars": 6501,
    "preview": "# Recommendations for high data availability\n\nOur Elasticsearch example is installed in the basic configuration.\nIn term"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/CONFIGURE-HA_RU.md",
    "chars": 6766,
    "preview": "# Рекомендации для высокой доступности данных\n\nНаш пример ElasticSearch устанавливается в базовой конфигурации.\nВ части "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/LICENSE",
    "chars": 577,
    "preview": "Copyright 2021 YANDEX LLC\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this fi"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/README.md",
    "chars": 8926,
    "preview": "# Collecting, monitoring and analyzing audit logs in Yandex Managed Service for Elasticsearch (ELK)\n\n![Dashboard](https:"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/README_RU.md",
    "chars": 9247,
    "preview": "# Сбор, мониторинг и анализ аудит логов в Yandex Managed Service for Elasticsearch (ELK)\n\n![Дашборд](https://user-images"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/curl_play with elk.sh",
    "chars": 3576,
    "preview": "Описание всего:>>>\n\nОписание разовой загрузки объектов данных в ELK (bash скрипт либо питон) >>>\n\nСоздаем сам индекс\ncur"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/kms_decrypt_cmds.sh",
    "chars": 740,
    "preview": "\nПолучить токен:\nTOKEN=$(curl -H Metadata-Flavor:Google 169.254.169.254/computeMetadata/v1/instance/service-accounts/def"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/last_backup/falco_pipeline_backup.json",
    "chars": 788,
    "preview": "{\n\"description\": \"k8s pipeline\",\n\"processors\": [\n  {\n    \"set\": {\n      \"field\": \"event.kind\",\n      \"value\": \"event\",\n "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/last_backup/k8s-mapping-ba.json",
    "chars": 620,
    "preview": "{     \n  \"settings\" : {\n    \"number_of_replicas\" : 2\n  },\n  \"mappings\": {\n    \"properties\": {\n      \"source\" : {\n       "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/last_backup/k8s_audit_dashboard-back.ndjson",
    "chars": 72790,
    "preview": "{\"attributes\":{\"description\":\"\",\"hits\":0,\"kibanaSavedObjectMeta\":{\"searchSourceJSON\":\"{\\\"query\\\":{\\\"language\\\":\\\"kuery\\\""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/last_backup/k8s_audit_dashboard-future.ndjson",
    "chars": 106659,
    "preview": "{\"attributes\":{\"description\":\"\",\"hits\":0,\"kibanaSavedObjectMeta\":{\"searchSourceJSON\":\"{\\\"query\\\":{\\\"language\\\":\\\"kuery\\\""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/last_backup/k8s_audit_detections-back.ndjson",
    "chars": 13684,
    "preview": "{\"id\":\"1260bb20-fd12-11eb-b912-d99e9986f72b\",\"updated_at\":\"2021-08-14T15:12:43.320Z\",\"updated_by\":\"admin\",\"created_at\":\""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/last_backup/k8s_dashboard.ndjson",
    "chars": 94452,
    "preview": "{\"attributes\":{\"description\":\"\",\"hits\":0,\"kibanaSavedObjectMeta\":{\"searchSourceJSON\":\"{\\\"query\\\":{\\\"language\\\":\\\"kuery\\\""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/last_backup/trails_dashboard-backup.ndjson",
    "chars": 45919,
    "preview": "{\"attributes\":{\"description\":\"\",\"hits\":0,\"kibanaSavedObjectMeta\":{\"searchSourceJSON\":\"{\\\"query\\\":{\\\"language\\\":\\\"kuery\\\""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/mapping6.json",
    "chars": 36319,
    "preview": "{\n    \"mappings\" : {\n      \"properties\" : {\n        \"authentication\" : {\n          \"type\" : \"object\"\n        },\n        "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/objects/dashboard.ndjson",
    "chars": 45919,
    "preview": "{\"attributes\":{\"description\":\"\",\"hits\":0,\"kibanaSavedObjectMeta\":{\"searchSourceJSON\":\"{\\\"query\\\":{\\\"language\\\":\\\"kuery\\\""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/objects/dashboard_backup.ndjson",
    "chars": 40638,
    "preview": "{\"attributes\":{\"description\":\"\",\"hits\":0,\"kibanaSavedObjectMeta\":{\"searchSourceJSON\":\"{\\\"query\\\":{\\\"language\\\":\\\"kuery\\\""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/objects/detections.ndjson",
    "chars": 1190,
    "preview": "{\"id\":\"629894d0-e7ac-11eb-a019-4ff3eff5953f\",\"updated_at\":\"2021-07-18T09:41:54.953Z\",\"updated_by\":\"admin\",\"created_at\":\""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/objects/filters.ndjson",
    "chars": 9072,
    "preview": "{\"attributes\":{\"description\":\"\",\"filters\":[],\"query\":{\"language\":\"kuery\",\"query\":\"event.dataset: yandexcloud.audittrail "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/objects/filters_backup.ndjson",
    "chars": 8118,
    "preview": "{\"attributes\":{\"description\":\"\",\"filters\":[],\"query\":{\"language\":\"kuery\",\"query\":\"event.dataset: yandexcloud.audittrail "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/objects/kibana_index_pattern.ndjson",
    "chars": 1071,
    "preview": "{\"attributes\":{\"fieldAttrs\":\"{\\\"cloud.cloud.id\\\":{\\\"count\\\":2},\\\"event.action\\\":{\\\"count\\\":4},\\\"cloud.cloud.name\\\":{\\\"co"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/objects/kibana_search2.ndjson",
    "chars": 1077,
    "preview": "{\"attributes\":{\"columns\":[\"cloud.cloud.name\",\"cloud.folder.name\",\"event.module\",\"event.action\",\"user.name\",\"user.type\",\""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/objects/pipeline3.json",
    "chars": 5318,
    "preview": "{\n\"processors\": [\n  {\n    \"rename\": {\n      \"field\": \"authentication.subject_name\",\n      \"target_field\": \"user.name\",\n "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/objects/searches.ndjson",
    "chars": 1792,
    "preview": "{\"attributes\":{\"columns\":[\"cloud.cloud.name\",\"cloud.folder.name\",\"event.module\",\"event.action\",\"user.name\",\"user.type\",\""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/backup/objects/searches_backup.ndjson",
    "chars": 895,
    "preview": "{\"attributes\":{\"description\":\"\",\"filters\":[],\"query\":{\"language\":\"kuery\",\"query\":\"event.dataset: yandexcloud.audittrail "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/docker/Dockerfile",
    "chars": 467,
    "preview": "FROM python:3.9.1-slim\nRUN apt-get update\n# docker build нужно запускать из папки export-auditlogs-to-ELK_main чтобы был"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/docker/docker-compose.yml",
    "chars": 117,
    "preview": "version: \"3.6\"\nservices:\n  app:\n    build: .\n    stdin_open: true\n    tty: true\n    volumes:\n      - .:/app/functions"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/functions/main.py",
    "chars": 13747,
    "preview": "import requests\nimport json\nimport os\nimport boto3\nimport time\nimport base64\n\n\n# Function - Get token\ndef get_token():\n "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/functions/requirements.txt",
    "chars": 14,
    "preview": "requests\nboto3"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/images/elastic.drawio",
    "chars": 196338,
    "preview": "<mxfile host=\"Electron\" modified=\"2021-08-06T17:50:14.923Z\" agent=\"5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/5"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/terraform/README.md",
    "chars": 2828,
    "preview": "## Deployment using Terraform\n\n#### Description \n\nThe solution consists of two [Terraform modules](/terraform/modules/):"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/terraform/README_RU.md",
    "chars": 2705,
    "preview": "## Развертывание с помощью Terraform\n\n#### Описание \n\nРешение состоит из 2-х модулей Terraform [/terraform/modules/](ссы"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/terraform/example/README.md",
    "chars": 1196,
    "preview": "## Terraform test script \n\n1) Fill out the variables.tf file.\n2) Run:\n\n```\nterraform init\nterraform apply\n```\n\nThe modul"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/terraform/example/README_RU.md",
    "chars": 1271,
    "preview": "## Развертывание примера через Terraform\n\n1) Заполните файл `variables.tf`\n2) Запустите:\n\n```\nterraform init\nterraform a"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/terraform/example/main.tf",
    "chars": 4754,
    "preview": "## Example infrastructure\n# Создания random-string\nresource \"random_string\" \"random\" {\n  length              = 4\n  speci"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/terraform/example/provider.tf",
    "chars": 299,
    "preview": "terraform {\n  required_version = \">= 0.14\"\n\n  required_providers {\n    yandex = {\n      source  = \"yandex-cloud/yandex\"\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/terraform/example/variables.tf",
    "chars": 1113,
    "preview": "variable \"token\" {\n  description = \"Yandex.Cloud security OAuth token либо ключ сервисного аккаунта\"\n  default     = \"ke"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/terraform/modules/yc-elastic-trail/cloud-init_lin.tpl.yaml",
    "chars": 178,
    "preview": "#cloud-config\n#ssh_pwauth: no\nusers:\n  - name: yc-user\n    sudo: ALL=(ALL) NOPASSWD:ALL\n    groups: sudo\n    shell: /bin"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/terraform/modules/yc-elastic-trail/docker-declaration.yaml",
    "chars": 873,
    "preview": "spec:\n  containers:\n  - env:\n    - name: ELASTIC_SERVER\n      value: ${ELASTIC_SERVER}\n    - name: KIBANA_SERVER\n      v"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/terraform/modules/yc-elastic-trail/main.tf",
    "chars": 3532,
    "preview": "# Сервисная учетная запись\ndata \"yandex_iam_service_account\" \"bucket_sa\" {\n  service_account_id = var.sa_id\n}\n\n# Создаем"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/terraform/modules/yc-elastic-trail/variables.tf",
    "chars": 881,
    "preview": "variable \"folder_id\" {\n  description = \"Yandex.Cloud ID каталога, где будут созданы ресурсы\"\n  default     = \"\" # yc con"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/terraform/modules/yc-elastic-trail/versions.tf",
    "chars": 157,
    "preview": "terraform {\n  required_version = \">= 0.14\"\n\n  required_providers {\n    yandex = {\n      source  = \"yandex-cloud/yandex\"\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/terraform/modules/yc-managed-elk/main.tf",
    "chars": 959,
    "preview": "resource \"random_password\" \"passwords\" {\n  count   = 1\n  length  = 20\n  special = true\n}\n\nlocals {\n  zones = [\n    \"ru-c"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/terraform/modules/yc-managed-elk/outputs.tf",
    "chars": 208,
    "preview": "output \"elk-pass\" {\n  value     = random_password.passwords[0].result\n  sensitive = true\n}\n\noutput \"elk_fqdn\" {\n  value "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/terraform/modules/yc-managed-elk/variables.tf",
    "chars": 1126,
    "preview": "variable \"folder_id\" {\n  description = \"Yandex.Cloud ID каталога\"\n  default     = \"\" # yc config get folder-id\n}\n\nvariab"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/terraform/modules/yc-managed-elk/versions.tf",
    "chars": 157,
    "preview": "terraform {\n  required_version = \">= 0.14\"\n\n  required_providers {\n    yandex = {\n      source  = \"yandex-cloud/yandex\"\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/Dockerfile",
    "chars": 237,
    "preview": "FROM python:3.9.1-slim\nRUN apt-get update\nCOPY /function /app/function\nCOPY /include /app/include\nWORKDIR /app\nRUN pytho"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/README.md",
    "chars": 615,
    "preview": "Для обновления артефактов Kibana необходимо запустить контейнер, передав ему атрибутры для подключения к сервеу Kibana в"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/function/main.py",
    "chars": 5847,
    "preview": "import base64\nimport json\nimport os\nimport requests\n\n\n# function - get token\ndef get_token():\n    response = requests.ge"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/function/requirements.txt",
    "chars": 8,
    "preview": "requests"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/audit-trail/backup/detections.ndjson",
    "chars": 18685,
    "preview": "{\"id\":\"a98165a0-e92a-11eb-a019-4ff3eff5953f\",\"updated_at\":\"2021-07-20T07:18:21.189Z\",\"updated_by\":\"beats\",\"created_at\":\""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/audit-trail/backup/filters.ndjson",
    "chars": 9072,
    "preview": "{\"attributes\":{\"description\":\"\",\"filters\":[],\"query\":{\"language\":\"kuery\",\"query\":\"event.dataset: yandexcloud.audittrail "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/audit-trail/dashboard.ndjson",
    "chars": 52874,
    "preview": "{\"attributes\":{\"description\":\"\",\"hits\":0,\"kibanaSavedObjectMeta\":{\"searchSourceJSON\":\"{\\\"query\\\":{\\\"language\\\":\\\"kuery\\\""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/audit-trail/detections.ndjson",
    "chars": 34795,
    "preview": "{\"id\":\"db8cc0f0-930f-11ec-b8ee-4bf5e13b519b\",\"updated_at\":\"2022-02-21T12:14:48.896Z\",\"updated_by\":\"admin\",\"created_at\":\""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/audit-trail/filters.ndjson",
    "chars": 16780,
    "preview": "{\"attributes\":{\"description\":\"\",\"filters\":[],\"query\":{\"language\":\"kuery\",\"query\":\"event.dataset: yandexcloud.audittrail "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/audit-trail/index-pattern.ndjson",
    "chars": 1071,
    "preview": "{\"attributes\":{\"fieldAttrs\":\"{\\\"cloud.cloud.id\\\":{\\\"count\\\":2},\\\"event.action\\\":{\\\"count\\\":4},\\\"cloud.cloud.name\\\":{\\\"co"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/audit-trail/index-template.json",
    "chars": 44728,
    "preview": "{\n    \"index_patterns\": [\"audit-trails-index*\"],\n    \"template\": {\n        \"settings\": {\n            \"index\": {\n        "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/audit-trail/mapping.json",
    "chars": 36319,
    "preview": "{\n    \"mappings\" : {\n      \"properties\" : {\n        \"authentication\" : {\n          \"type\" : \"object\"\n        },\n        "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/audit-trail/pipeline.json",
    "chars": 5365,
    "preview": "{\n\"description\": \"Audit Trails Ingest Pipeline\",\n\"processors\": [\n  {\n    \"rename\": {\n      \"field\": \"authentication.subj"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/audit-trail/search.ndjson",
    "chars": 1792,
    "preview": "{\"attributes\":{\"columns\":[\"cloud.cloud.name\",\"cloud.folder.name\",\"event.module\",\"event.action\",\"user.name\",\"user.type\",\""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/k8s-audit/dashboard.ndjson",
    "chars": 94502,
    "preview": "{\"attributes\":{\"description\":\"\",\"hits\":0,\"kibanaSavedObjectMeta\":{\"searchSourceJSON\":\"{\\\"query\\\":{\\\"language\\\":\\\"kuery\\\""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/k8s-audit/detections.ndjson",
    "chars": 15901,
    "preview": "{\"id\":\"089dc0c0-002c-11ec-aa1d-f5144cfe34d1\",\"updated_at\":\"2021-08-18T13:56:06.674Z\",\"updated_by\":\"admin\",\"created_at\":\""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/k8s-audit/filters.ndjson",
    "chars": 6586,
    "preview": "{\"attributes\":{\"description\":\"\",\"query\":{\"language\":\"kuery\",\"query\":\"event.dataset : yandexcloud.k8s_audit_logs and sour"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/k8s-audit/index-pattern.ndjson",
    "chars": 418,
    "preview": "{\"attributes\":{\"fieldAttrs\":\"{}\",\"fields\":\"[]\",\"runtimeFieldMap\":\"{}\",\"timeFieldName\":\"stageTimestamp\",\"title\":\"k8s-audi"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/k8s-audit/index-template.json",
    "chars": 64155,
    "preview": "{\n    \"index_patterns\": [\"k8s-audit-index*\"],\n    \"template\": {\n      \"settings\": {\n          \"index\": {\n              \""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/k8s-audit/mapping.json",
    "chars": 56751,
    "preview": "{     \n  \"settings\" : {\n    \"number_of_replicas\" : 2\n  },\n  \"mappings\": {\n      \"properties\": {\n        \"@timestamp\": {\n"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/k8s-audit/pipeline.json",
    "chars": 1856,
    "preview": "{\n\"description\": \"k8s pipeline\",\n\"processors\": [\n  {\n    \"rename\": {\n      \"field\": \"user.username\",\n      \"target_field"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/k8s-audit/search.ndjson",
    "chars": 859,
    "preview": "{\"attributes\":{\"columns\":[\"source.ip\",\"requestURI\",\"user.name\",\"cloud_id\",\"cluster_id\",\"objectRef.namespace\",\"objectRef."
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/k8s-falco/detections.ndjson",
    "chars": 2061,
    "preview": "{\"id\":\"05bf3d70-fdb1-11eb-b912-d99e9986f72b\",\"updated_at\":\"2021-08-15T10:10:31.661Z\",\"updated_by\":\"admin\",\"created_at\":\""
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/k8s-falco/filters.ndjson",
    "chars": 797,
    "preview": "{\"attributes\":{\"description\":\"\",\"query\":{\"language\":\"kuery\",\"query\":\"event.dataset : yandexcloud.k8s_falco\"},\"title\":\"Ya"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/k8s-falco/index-pattern.ndjson",
    "chars": 410,
    "preview": "{\"attributes\":{\"fieldAttrs\":\"{}\",\"fields\":\"[]\",\"runtimeFieldMap\":\"{}\",\"timeFieldName\":\"@timestamp\",\"title\":\"k8s-falco*\"}"
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/k8s-falco/index-template.json",
    "chars": 513,
    "preview": "{   \n    \"index_patterns\": [\"k8s-falco-index*\"],\n    \"template\": {\n        \"settings\": {\n            \"index\": {\n        "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/k8s-falco/mapping.json",
    "chars": 162,
    "preview": "{     \n  \"settings\" : {\n    \"number_of_replicas\" : 2\n  },\n  \"mappings\": {\n    \"properties\": {\n      \"@timestamp\": {\n    "
  },
  {
    "path": "auditlogs/export-auditlogs-to-ELK_main/update-elk-scheme/include/k8s-falco/pipeline.json",
    "chars": 1122,
    "preview": "{\n\"description\": \"k8s pipeline\",\n\"processors\": [\n  {\n    \"set\": {\n      \"field\": \"event.kind\",\n      \"value\": \"event\",\n "
  }
]

// ... and 740 more files (download for full content)

About this extraction

This page contains the full source code of the yandex-cloud/yc-solution-library-for-security GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 940 files (97.3 MB), approximately 2.2M tokens, and a symbol index with 183 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!