You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
### Summary
> Describe your changes.
Now that cartography has been donated to the CNCF, time to update the
docs
Signed-off-by: Alex Chantavy <[email protected]>
Copy file name to clipboardExpand all lines: .github/pull_request_template.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -20,4 +20,4 @@ If you are changing a node or relationship:
20
20
-[ ] Update the [schema](https://github.com/lyft/cartography/tree/master/docs/root/modules) and [readme](https://github.com/lyft/cartography/blob/master/docs/schema/README.md).
21
21
22
22
If you are implementing a new intel module:
23
-
-[ ] Use the NodeSchema [data model](https://lyft.github.io/cartography/dev/writing-intel-modules.html#defining-a-node).
23
+
-[ ] Use the NodeSchema [data model](https://cartography-cncf.github.io/cartography/dev/writing-intel-modules.html#defining-a-node).
Copy file name to clipboardExpand all lines: README.md
+35-32
Original file line number
Diff line number
Diff line change
@@ -9,30 +9,30 @@ Cartography aims to enable a broad set of exploration and automation scenarios.
9
9
10
10
Service owners can generate asset reports, Red Teamers can discover attack paths, and Blue Teamers can identify areas for security improvement. All can benefit from using the graph for manual exploration through a web frontend interface, or in an automated fashion by calling the APIs.
11
11
12
-
Cartography is not the only [security](https://github.com/dowjones/hammer)[graph](https://github.com/BloodHoundAD/BloodHound)[tool](https://github.com/Netflix/security_monkey)[out](https://github.com/vysecurity/ANGRYPUPPY)[there](https://github.com/duo-labs/cloudmapper), but it differentiates itself by being fully-featured yet generic and [extensible](https://lyft.github.io/cartography/dev/writing-analysis-jobs.html) enough to help make anyone better understand their risk exposure, regardless of what platforms they use. Rather than being focused on one core scenario or attack vector like the other linked tools, Cartography focuses on flexibility and exploration.
12
+
Cartography is not the only [security](https://github.com/dowjones/hammer)[graph](https://github.com/BloodHoundAD/BloodHound)[tool](https://github.com/Netflix/security_monkey)[out](https://github.com/vysecurity/ANGRYPUPPY)[there](https://github.com/duo-labs/cloudmapper), but it differentiates itself by being fully-featured yet generic and [extensible](https://cartography-cncf.github.io/cartography/dev/writing-analysis-jobs.html) enough to help make anyone better understand their risk exposure, regardless of what platforms they use. Rather than being focused on one core scenario or attack vector like the other linked tools, Cartography focuses on flexibility and exploration.
13
13
14
14
You can learn more about the story behind Cartography in our [presentation at BSidesSF 2019](https://www.youtube.com/watch?v=ZukUmZSKSek).
-[NIST CVE](https://cartography-cncf.github.io/cartography/modules/cve/index.html) - Common Vulnerabilities and Exposures (CVE) data from NIST database
@@ -54,28 +54,28 @@ Here are some points that can help you decide if adopting Cartography is a good
54
54
- Cartography is not designed for very fast updates. Cartography writes to the database in a batches (not streamed).
55
55
- Cartography is also limited by how most upstream sources only provide APIs to retrieve assets in a batched manner.
56
56
- By itself, Cartography does not capture data changes over time.
57
-
- Although we do include a [drift detection](https://lyft.github.io/cartography/usage/drift-detect.html) feature.
57
+
- Although we do include a [drift detection](https://cartography-cncf.github.io/cartography/usage/drift-detect.html) feature.
58
58
- It's also possible to implement other processes in your Cartography installation to make this happen.
59
59
60
60
61
61
## Install and configure
62
62
63
63
### Trying out Cartography on a test machine
64
-
Start [here](https://lyft.github.io/cartography/install.html) to set up a test graph and get data into it.
64
+
Start [here](https://cartography-cncf.github.io/cartography/install.html) to set up a test graph and get data into it.
65
65
66
66
### Setting up Cartography in production
67
-
When you are ready to try it in production, read [here](https://lyft.github.io/cartography/ops.html) for recommendations on getting cartography spun up in your environment.
67
+
When you are ready to try it in production, read [here](https://cartography-cncf.github.io/cartography/ops.html) for recommendations on getting cartography spun up in your environment.
68
68
69
69
## Usage
70
70
71
71
### Querying the database directly
72
72
73
73

74
74
75
-
Now that data is in the graph, you can quickly start with our [querying tutorial](https://lyft.github.io/cartography/usage/tutorial.html). Our [data schema](https://lyft.github.io/cartography/usage/schema.html) is a helpful reference when you get stuck.
75
+
Now that data is in the graph, you can quickly start with our [querying tutorial](https://cartography-cncf.github.io/cartography/usage/tutorial.html). Our [data schema](https://cartography-cncf.github.io/cartography/usage/schema.html) is a helpful reference when you get stuck.
76
76
77
77
### Building applications around Cartography
78
-
Directly querying Neo4j is already very useful as a sort of "swiss army knife" for security data problems, but you can also build applications and data pipelines around Cartography. View this doc on [applications](https://lyft.github.io/cartography/usage/applications.html).
78
+
Directly querying Neo4j is already very useful as a sort of "swiss army knife" for security data problems, but you can also build applications and data pipelines around Cartography. View this doc on [applications](https://cartography-cncf.github.io/cartography/usage/applications.html).
79
79
80
80
81
81
## Community
@@ -86,34 +86,37 @@ Directly querying Neo4j is already very useful as a sort of "swiss army knife" f
86
86
- Recorded videos are posted [here](https://www.youtube.com/playlist?list=PLMga2YJvAGzidUWJB_fnG7EHI4wsDDsE1).
87
87
- Our current project roadmap is [here](https://github.com/orgs/lyft/projects/26/views/1).
88
88
89
+
## License
90
+
91
+
This project is licensed under the [Apache 2.0 License](LICENSE).
92
+
89
93
## Contributing
90
94
Thank you for considering contributing to Cartography!
91
95
92
96
### Code of conduct
93
-
Legal stuff: This project is governed by [Lyft's code of conduct](https://github.com/lyft/code-of-conduct).
94
-
All contributors and participants agree to abide by its terms.
97
+
All contributors and participants of this project must follow the [CNCF code of conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md).
95
98
96
99
### Bug reports and feature requests and discussions
97
100
Submit a GitHub issue to report a bug or request a new feature. If we decide that the issue needs more discussion - usually because the scope is too large or we need to make careful decision - we will convert the issue to a [GitHub Discussion](https://github.com/lyft/cartography/discussions).
98
101
99
102
### Developing Cartography
100
103
101
-
Get started with our [developer documentation](https://lyft.github.io/cartography/dev/developer-guide.html). Please feel free to submit your own PRs to update documentation if you've found a better way to explain something.
102
-
103
-
#### Sign the Contributor License Agreement (CLA)
104
-
105
-
We require a CLA for code contributions, so before we can accept a pull request
106
-
we need to have a signed CLA. Please [visit our CLA service](https://oss.lyft.com/cla)
107
-
and follow the instructions to sign the CLA.
104
+
Get started with our [developer documentation](https://cartography-cncf.github.io/cartography/dev/developer-guide.html). Please feel free to submit your own PRs to update documentation if you've found a better way to explain something.
108
105
109
106
## Who uses Cartography?
110
107
111
108
1.[Lyft](https://www.lyft.com)
112
109
1.[Thought Machine](https://thoughtmachine.net/)
113
110
1.[MessageBird](https://messagebird.com)
114
111
1.[Cloudanix](https://www.cloudanix.com/)
115
-
1.[ZeusCloud](https://www.zeuscloud.io/)
116
112
1.[Corelight](https://www.corelight.com/)
117
113
1. {Your company here} :-)
118
114
119
115
If your organization uses Cartography, please file a PR and update this list. Say hi on Slack too!
116
+
117
+
---
118
+
119
+
Cartography is a [Cloud Native Computing Foundation](https://www.cncf.io/) sandbox project.<br>
Copy file name to clipboardExpand all lines: docs/root/install.md
+7-7
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@ This is the quickest way to get started (assuming docker does what it's supposed
22
22
23
23
1. **Configure and run Cartography.**
24
24
25
-
In this example we will run Cartography on [AWS](https://lyft.github.io/cartography/modules/aws/config.html) with a profile called "1234_testprofile" and default region set to "us-east-1".
25
+
In this example we will run Cartography on [AWS](https://cartography-cncf.github.io/cartography/modules/aws/config.html) with a profile called "1234_testprofile" and default region set to "us-east-1".
26
26
27
27
```bash
28
28
docker-compose run \
@@ -40,7 +40,7 @@ This is the quickest way to get started (assuming docker does what it's supposed
40
40
**Notes:**
41
41
- You can view a full list of Cartography's CLI arguments by running `docker-compose run cartography --help`.
42
42
43
-
- Also see the configuration section of [each relevant intel module](https://lyft.github.io/cartography/modules) to set up each data source. This generally involves specifying environment variables to cartography, or making a config/credential file on the host available to the container.
43
+
- Also see the configuration section of [each relevant intel module](https://cartography-cncf.github.io/cartography/modules) to set up each data source. This generally involves specifying environment variables to cartography, or making a config/credential file on the host available to the container.
44
44
45
45
- You can pass in environment variables to the cartography container using the docker-compose format like this: `-e VARIABLE1 -e VARIABLE2=value2`.
46
46
- You can make files available to the cartography container by editing the volumes in the docker-compose.yml file. See docker-compose documentation on how to do that.
@@ -114,7 +114,7 @@ Read on to see [other things you can do with Cartography](#things-to-do-next).
114
114
115
115
1. **Configure and run Cartography.**
116
116
117
-
See the configuration section of [each relevant intel module](https://lyft.github.io/cartography/modules) to set up each data source. In this example we will use [AWS](https://lyft.github.io/cartography/modules/aws/config.html).
117
+
See the configuration section of [each relevant intel module](https://cartography-cncf.github.io/cartography/modules) to set up each data source. In this example we will use [AWS](https://cartography-cncf.github.io/cartography/modules/aws/config.html).
118
118
119
119
This command runs cartography on an AWS profile called "1234_testprofile" on region us-east-1. We also expose the host machine's ~/.aws directory to ~/var/cartography/.aws in the container so that AWS configs work.
120
120
@@ -189,7 +189,7 @@ Do this if you prefer to install and manage all the dependencies yourself. Carto
189
189
190
190
1. **Configure your data sources.**
191
191
192
-
See the configuration section of [each relevant intel module](https://lyft.github.io/cartography/modules) for more details. In this example we will use [AWS](https://lyft.github.io/cartography/modules/aws/config.html).
192
+
See the configuration section of [each relevant intel module](https://cartography-cncf.github.io/cartography/modules) for more details. In this example we will use [AWS](https://cartography-cncf.github.io/cartography/modules/aws/config.html).
193
193
194
194
1. **Run cartography.**
195
195
@@ -229,8 +229,8 @@ Do this if you prefer to install and manage all the dependencies yourself. Carto
229
229
230
230
## Things to do next
231
231
Here's some ideas to get the most out of Cartography:
232
-
- [Set up other data providers](https://lyft.github.io/cartography/modules)
232
+
- [Set up other data providers](https://cartography-cncf.github.io/cartography/modules)
233
233
- View our [Operations Guide](ops.html) fortips on running Cartographyin production
234
-
- Read our [usage instructions](https://lyft.github.io/cartography/usage/tutorial.html) and [schema](https://lyft.github.io/cartography/usage/schema.html) to learn how to query the graph
235
-
- Think of [applications](https://lyft.github.io/cartography/usage/applications.html) to build around it
234
+
- Read our [usage instructions](https://cartography-cncf.github.io/cartography/usage/tutorial.html) and [schema](https://cartography-cncf.github.io/cartography/usage/schema.html) to learn how to query the graph
235
+
- Think of [applications](https://cartography-cncf.github.io/cartography/usage/applications.html) to build around it
236
236
- Consider [writing your own Cartography custom modules](dev/writing-intel-modules.md)
Copy file name to clipboardExpand all lines: docs/root/modules/aws/config.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ In a nutshell, Cartography uses the [boto3](https://github.com/boto/boto3) libra
21
21
22
22
### Multiple AWS Account Setup
23
23
24
-
There are many ways to allow Cartography to pull from more than one AWS account. We can't cover all of them, but we _can_ show you the way we have things set up at Lyft. In this scenario we will assume that you are going to run Cartography on an EC2 instance.
24
+
There are many ways to allow Cartography to pull from more than one AWS account. We can't cover all of them, but here's one way that works at Lyft. In this scenario we will assume that you are going to run Cartography on an EC2 instance.
25
25
26
26
1. Pick one of your AWS accounts to be the "**Hub**" account. This Hub account will pull data from all of your other accounts - we'll call those "**Spoke**" accounts.
Copy file name to clipboardExpand all lines: docs/root/ops.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -35,13 +35,13 @@ how that process works.
35
35
36
36
Each sync run has an `update_tag` associated with it,
37
37
which is the [Unix timestamp of when the sync started](https://github.com/lyft/cartography/blob/8d60311a10156cd8aa16de7e1fe3e109cc3eca0f/cartography/sync.py#L131-L134).
38
-
See our [docs for more details](https://lyft.github.io/cartography/dev/writing-intel-modules.html#handling-cartographys-update_tag).
38
+
See our [docs for more details](https://cartography-cncf.github.io/cartography/dev/writing-intel-modules.html#handling-cartographys-update_tag).
39
39
40
40
### Cleanup jobs
41
41
42
42
Each node and relationship created or updated during the sync will have their `lastupdated` field set to the
43
43
`update_tag`. At the end of a sync run, nodes and relationships with out-of-date `lastupdated` fields are considered
44
-
stale and will be deleted via a [cleanup job](https://lyft.github.io/cartography/dev/writing-intel-modules.html#cleanup).
44
+
stale and will be deleted via a [cleanup job](https://cartography-cncf.github.io/cartography/dev/writing-intel-modules.html#cleanup).
0 commit comments