暫無描述

Chris Mague c1618a8f2d docs 6 年之前
lib f0000db63f move behind 6 年之前
models 87ad856797 ensure names are correctly matching 6 年之前
spec f904c7b0ef setup som ebasic tests 7 年之前
tasks 5b4054dd4e more audit rules 6 年之前
web b4f3e39e6b Merge branch 'master' of ssh://gogs.mague.com:7022/Shokunin/neo-infra 7 年之前
.gitignore 95d8d2dcb3 setup to work with sinatra contrib 7 年之前
.rubocop.yml 44a96f6c56 cleanup with rubocop 7 年之前
.ruby-gemset 5f8e706a20 match name 7 年之前
.ruby-version 36eb44676e bump ruby version 6 年之前
Gemfile 21bccbafdf rubocop: ran autocorrect 7 年之前
QUERIES.md c1618a8f2d docs 6 年之前
README.md c8d5131df8 rename readme 6 年之前
Rakefile 787d123f97 rake tasks into distinct rake namespaces and files 7 年之前
config.ru 876d240ecf start search functionality 7 年之前
config.yaml.example 5b4054dd4e more audit rules 6 年之前

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