暫無描述

Christian Mague a84bdb463a handle the case with terminated instances 7 年之前
lib a84bdb463a handle the case with terminated instances 7 年之前
models ddd30802a5 load and display Lambda functions 7 年之前
spec f904c7b0ef setup som ebasic tests 7 年之前
tasks ddd30802a5 load and display Lambda functions 7 年之前
web ddd30802a5 load and display Lambda functions 7 年之前
.gitignore 4fcdb747f9 shore up relationship model for iprules 7 年之前
.rubocop.yml 44a96f6c56 cleanup with rubocop 7 年之前
.ruby-gemset 5f8e706a20 match name 7 年之前
.ruby-version 84e953accb initial add 7 年之前
Gemfile 8e431732b2 update gemfile 7 年之前
Rakefile 787d123f97 rake tasks into distinct rake namespaces and files 7 年之前
Readme.md 6d2fd3c19d typo 7 年之前
config.ru 876d240ecf start search functionality 7 年之前
config.yaml.example 7de898a7fe show multiple accounts 7 年之前

Readme.md

neo-infra

Auditing

To audit resources to ensure that they are properly tagged run

rake audit_all

See the tag_policy section of the config.yaml.example file for ideas

Running

1) Download and run neo4j container

docker run --rm \
    --publish=7474:7474 --publish=7687:7687 \
    -e NEO4J_AUTH='none' \
    neo4j:3.1.4

2) Copy the config.yaml.example file to config.yaml and add in account information

cp config.yaml.example config.yaml

3) Run bundler

bundle install

4) Run the data loader

rake load_data:all

5) Point your web browswer at http://localhost:7474

Example Queries

All S3 buckets by size

MATCH (n:Bucket)-[o:owner]-(a:AwsAccount) RETURN n.name, n.size, a.name ORDER by n.size DESC

List out all subnets by instance count

MATCH (i: Node)-[r:subnet]-(s:Subnet)-[q:subnet]-(v:Vpc)-[o:owned]-(a:AwsAccount) WITH s, v, a, count(i) as nc RETURN s.cidr, v.name, a.name, nc ORDER by nc DESC

Find all non-default VPCs ordered by instance count

MATCH (n:Vpc) OPTIONAL MATCH  (n)<-[:subnet]-(:Subnet)<-[:subnet]-(x:Node) WITH count(x) as node_count, n WHERE n.default="false" RETURN n.name, n.default, node_count ORDER by node_count DESC