{"id":22854957,"url":"https://github.com/np-guard/vpc-network-config-analyzer","last_synced_at":"2025-08-21T12:04:15.979Z","repository":{"id":176583432,"uuid":"590812512","full_name":"np-guard/vpc-network-config-analyzer","owner":"np-guard","description":"A tool for analyzing the configured network connectivity of VPCs as specified by various VPC resources","archived":false,"fork":false,"pushed_at":"2025-07-02T05:23:52.000Z","size":3531,"stargazers_count":9,"open_issues_count":52,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-07-02T06:29:08.491Z","etag":null,"topics":["connectivity","connectivity-analysis","vpc","vpc-resources"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/np-guard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"docs/supported_resources.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-01-19T09:14:59.000Z","updated_at":"2025-07-02T05:23:57.000Z","dependencies_parsed_at":"2023-10-11T07:37:14.737Z","dependency_job_id":"e2d7a2ba-a519-4a65-9529-798f732155cd","html_url":"https://github.com/np-guard/vpc-network-config-analyzer","commit_stats":null,"previous_names":["np-guard/vpc-network-config-analyzer"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/np-guard/vpc-network-config-analyzer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/np-guard%2Fvpc-network-config-analyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/np-guard%2Fvpc-network-config-analyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/np-guard%2Fvpc-network-config-analyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/np-guard%2Fvpc-network-config-analyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/np-guard","download_url":"https://codeload.github.com/np-guard/vpc-network-config-analyzer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/np-guard%2Fvpc-network-config-analyzer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271477578,"owners_count":24766419,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-21T02:00:08.990Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["connectivity","connectivity-analysis","vpc","vpc-resources"],"created_at":"2024-12-13T07:09:18.147Z","updated_at":"2025-08-21T12:04:15.839Z","avatar_url":"https://github.com/np-guard.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vpc-network-config-analyzer\n\n## About vpc-network-config-analyzer\nThis repo contains packages and a CLI for analyzing the network connectivity of a VPC, as specified by various VPC resources.\nThe full list of supported resources is available [here](docs/supported_resources.md).\n\n\n## Usage\nRun the `vpcanalyzer` CLI tool with one of the following commands.\n* `vpcanalyzer report` - provides a detailed report/diagram of VPC connectivity, as implied by the given VPC configuration. [Details](docs/vpcanalyzer_report.md).\n* `vpcanalyzer diff` - lists changes in connectivity (modified, added and removed connections) between two VPC configurations. [Details](docs/vpcanalyzer_diff.md).\n* `vpcanalyzer explain` - explains how the given VPC configuration affects connectivity between two endpoints. [Details](docs/vpcanalyzer_explain.md).\n* `vpcanalyzer lint` - provides a detailed report of potential issues in the given VPC configuration. [Details](docs/vpcanalyzer_lint.md).\n\n\n### Global options\n```\n  -c, --config stringArray      file paths to input VPC configs, can pass multiple config files\n      --dump-resources string   file path to store resources collected from the cloud provider\n  -f, --filename string         file path to store results\n  -h, --help                    help for vpcanalyzer\n  -o, --output string           output format; must be one of [json, txt, md, drawio, arch_drawio, svg, arch_svg, html, arch_html]\n  -p, --provider string         collect resources from an account in this cloud provider\n  -q, --quiet                   runs quietly, reports only severe errors and results\n  -r, --region stringArray      cloud region from which to collect resources, can pass multiple regions\n      --resource-group string   resource group id or name from which to collect resources\n  -v, --verbose                 runs with more informative messages printed to log\n      --version                 version for vpcanalyzer\n      --vpc string              CRN of the VPC to analyze\n```\n\n### Providing VPC configuration\nA VPC configuration must be provided, in one of two ways. Either the `--provider` flag is used, in which case the VPC configuration will be extracted directly from a given account, or a configuration object is provided by the user using the `--config` option. A configuration object can be independently produced by the [`cloud-resource-collector`](https://github.com/np-guard/cloud-resource-collector).\n\n### Output formats\nOutput format is set using the `--output` flag. The following formats are available for the `vpcanalyzer report` command. Other commands may not support all formats.\n* `txt` - a human readable text output\n* `json` - a machine readable JSON output\n* `md` - markdown format\n* `drawio` - a [drawio](http://draw.io) diagram showing VPC elements and their connectivity\n* `arch_drawio` - a [drawio](http://draw.io) diagram showing VPC elements without their connectivity\n* `svg` - an [SVG](https://en.wikipedia.org/wiki/SVG) diagram showing VPC elements and their connectivity\n* `arch_svg` - an [SVG](https://en.wikipedia.org/wiki/SVG) diagram showing VPC elements without their connectivity\n* `html` - an interactive html page showing a diagram of the VPC elements and their connectivity. Double clicking en element\nfilters out unconnected elements. Clicking a source elements, then a destination element, will show detailed information about\ntheir connectivity at the bottom of the page.\n* `arch_html` - an html page showing only the VPC elements\n\nOutput can be saved to a file using the `--filename` flag.\n\nExample `html` output is available [here](docs/small_example.html) and [here](docs/lb_example.html) (should be downloaded to view in browser).\\\nExample screenshot of `html` output file is available [here](docs/html-screenshot-example.png).\n\n## Build the project\n\nMake sure you have golang 1.22+ on your platform\n\n```commandline\ngit clone git@github.com:np-guard/vpc-network-config-analyzer.git\ncd vpc-network-config-analyzer\nmake mod \nmake build\n```\n\nTest your build by running `./bin/vpcanalyzer -h`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnp-guard%2Fvpc-network-config-analyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnp-guard%2Fvpc-network-config-analyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnp-guard%2Fvpc-network-config-analyzer/lists"}