Skip to content

Commit fd9b0e9

Browse files
author
Alex Chantavy
authored
Add CNCF to docs (#1369)
### 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]>
1 parent 810e391 commit fd9b0e9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+81
-83
lines changed

.github/pull_request_template.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ If you are changing a node or relationship:
2020
- [ ] 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).
2121

2222
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).

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@
187187
same "printed page" as the copyright notice for easier
188188
identification within third-party archives.
189189

190-
Copyright 2019 Lyft, Inc.
190+
Copyright 2024 The Linux Foundation
191191

192192
Licensed under the Apache License, Version 2.0 (the "License");
193193
you may not use this file except in compliance with the License.

NOTICE

-4
This file was deleted.

README.md

+35-32
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,30 @@ Cartography aims to enable a broad set of exploration and automation scenarios.
99

1010
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.
1111

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.
1313

1414
You can learn more about the story behind Cartography in our [presentation at BSidesSF 2019](https://www.youtube.com/watch?v=ZukUmZSKSek).
1515

1616

1717
## Supported platforms
1818

19-
- [Amazon Web Services](https://lyft.github.io/cartography/modules/aws/index.html) - API Gateway, Config, EC2, ECS, ECR, Elasticsearch, Elastic Kubernetes Service (EKS), DynamoDB, IAM, Inspector, KMS, Lambda, RDS, Redshift, Route53, S3, Secrets Manager, Security Hub, SQS, SSM, STS, Tags
20-
- [Google Cloud Platform](https://lyft.github.io/cartography/modules/gcp/index.html) - Cloud Resource Manager, Compute, DNS, Storage, Google Kubernetes Engine
21-
- [Google GSuite](https://lyft.github.io/cartography/modules/gsuite/index.html) - users, groups
19+
- [Amazon Web Services](https://cartography-cncf.github.io/cartography/modules/aws/index.html) - API Gateway, Config, EC2, ECS, ECR, Elasticsearch, Elastic Kubernetes Service (EKS), DynamoDB, IAM, Inspector, KMS, Lambda, RDS, Redshift, Route53, S3, Secrets Manager, Security Hub, SQS, SSM, STS, Tags
20+
- [Google Cloud Platform](https://cartography-cncf.github.io/cartography/modules/gcp/index.html) - Cloud Resource Manager, Compute, DNS, Storage, Google Kubernetes Engine
21+
- [Google GSuite](https://cartography-cncf.github.io/cartography/modules/gsuite/index.html) - users, groups
2222
- [Oracle Cloud Infrastructure](docs/setup/config/oci.md) - IAM
23-
- [Okta](https://lyft.github.io/cartography/modules/okta/index.html) - users, groups, organizations, roles, applications, factors, trusted origins, reply URIs
24-
- [Github](https://lyft.github.io/cartography/modules/github/index.html) - repos, branches, users, teams
25-
- [DigitalOcean](https://lyft.github.io/cartography/modules/digitalocean/index.html)
26-
- [Microsoft Azure](https://lyft.github.io/cartography/modules/azure/index.html) - CosmosDB, SQL, Storage, Virtual Machine
27-
- [Kubernetes](https://lyft.github.io/cartography/modules/kubernetes/index.html) - Cluster, Namespace, Service, Pod, Container
28-
- [PagerDuty](https://lyft.github.io/cartography/modules/pagerduty/index.html) - Users, teams, services, schedules, escalation policies, integrations, vendors
29-
- [Crowdstrike Falcon](https://lyft.github.io/cartography/modules/crowdstrike/index.html) - Hosts, Spotlight vulnerabilities, CVEs
30-
- [NIST CVE](https://lyft.github.io/cartography/modules/cve/index.html) - Common Vulnerabilities and Exposures (CVE) data from NIST database
31-
- [Lastpass](https://lyft.github.io/cartography/modules/lastpass/index.html) - users
32-
- [BigFix](https://lyft.github.io/cartography/modules/bigfix/index.html) - Computers
33-
- [Duo](https://lyft.github.io/cartography/modules/duo/index.html) - Users, Groups, Endpoints
34-
- [Kandji](https://lyft.github.io/cartography/modules/kandji/index.html) - Devices
35-
- [SnipeIT](https://lyft.github.io/cartography/modules/snipeit/index.html) - Users, Assets
23+
- [Okta](https://cartography-cncf.github.io/cartography/modules/okta/index.html) - users, groups, organizations, roles, applications, factors, trusted origins, reply URIs
24+
- [GitHub](https://cartography-cncf.github.io/cartography/modules/github/index.html) - repos, branches, users, teams
25+
- [DigitalOcean](https://cartography-cncf.github.io/cartography/modules/digitalocean/index.html)
26+
- [Microsoft Azure](https://cartography-cncf.github.io/cartography/modules/azure/index.html) - CosmosDB, SQL, Storage, Virtual Machine
27+
- [Kubernetes](https://cartography-cncf.github.io/cartography/modules/kubernetes/index.html) - Cluster, Namespace, Service, Pod, Container
28+
- [PagerDuty](https://cartography-cncf.github.io/cartography/modules/pagerduty/index.html) - Users, teams, services, schedules, escalation policies, integrations, vendors
29+
- [Crowdstrike Falcon](https://cartography-cncf.github.io/cartography/modules/crowdstrike/index.html) - Hosts, Spotlight vulnerabilities, CVEs
30+
- [NIST CVE](https://cartography-cncf.github.io/cartography/modules/cve/index.html) - Common Vulnerabilities and Exposures (CVE) data from NIST database
31+
- [Lastpass](https://cartography-cncf.github.io/cartography/modules/lastpass/index.html) - users
32+
- [BigFix](https://cartography-cncf.github.io/cartography/modules/bigfix/index.html) - Computers
33+
- [Duo](https://cartography-cncf.github.io/cartography/modules/duo/index.html) - Users, Groups, Endpoints
34+
- [Kandji](https://cartography-cncf.github.io/cartography/modules/kandji/index.html) - Devices
35+
- [SnipeIT](https://cartography-cncf.github.io/cartography/modules/snipeit/index.html) - Users, Assets
3636

3737

3838
## Philosophy
@@ -54,28 +54,28 @@ Here are some points that can help you decide if adopting Cartography is a good
5454
- Cartography is not designed for very fast updates. Cartography writes to the database in a batches (not streamed).
5555
- Cartography is also limited by how most upstream sources only provide APIs to retrieve assets in a batched manner.
5656
- 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.
5858
- It's also possible to implement other processes in your Cartography installation to make this happen.
5959

6060

6161
## Install and configure
6262

6363
### 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.
6565

6666
### 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.
6868

6969
## Usage
7070

7171
### Querying the database directly
7272

7373
![poweruser.png](docs/root/images/poweruser.png)
7474

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.
7676

7777
### 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).
7979

8080

8181
## Community
@@ -86,34 +86,37 @@ Directly querying Neo4j is already very useful as a sort of "swiss army knife" f
8686
- Recorded videos are posted [here](https://www.youtube.com/playlist?list=PLMga2YJvAGzidUWJB_fnG7EHI4wsDDsE1).
8787
- Our current project roadmap is [here](https://github.com/orgs/lyft/projects/26/views/1).
8888

89+
## License
90+
91+
This project is licensed under the [Apache 2.0 License](LICENSE).
92+
8993
## Contributing
9094
Thank you for considering contributing to Cartography!
9195

9296
### 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).
9598

9699
### Bug reports and feature requests and discussions
97100
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).
98101

99102
### Developing Cartography
100103

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.
108105

109106
## Who uses Cartography?
110107

111108
1. [Lyft](https://www.lyft.com)
112109
1. [Thought Machine](https://thoughtmachine.net/)
113110
1. [MessageBird](https://messagebird.com)
114111
1. [Cloudanix](https://www.cloudanix.com/)
115-
1. [ZeusCloud](https://www.zeuscloud.io/)
116112
1. [Corelight](https://www.corelight.com/)
117113
1. {Your company here} :-)
118114

119115
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>
120+
<div style="background-color: white; display: inline-block; padding: 10px;">
121+
<img src="docs/root/images/cncf-color.png" alt="CNCF Logo" width="200">
122+
</div>

cartography/driftdetect/cli.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def _build_parser(self):
3030
'graph database and reports the deviations.'
3131
),
3232
epilog='For more documentation please visit: '
33-
'https://lyft.github.io/cartography/usage/drift-detect.html',
33+
'https://cartography-cncf.github.io/cartography/usage/drift-detect.html',
3434
)
3535
parser.add_argument(
3636
'-v',
+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
This document has been moved [here](https://lyft.github.io/cartography/dev/testing-with-docker.html)
1+
This document has been moved [here](https://cartography-cncf.github.io/cartography/dev/testing-with-docker.html)

docs/dev/developer-guide.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
This document has been moved [here](https://lyft.github.io/cartography/dev/developer-guide.html)
1+
This document has been moved [here](https://cartography-cncf.github.io/cartography/dev/developer-guide.html)

docs/dev/writing-analysis-jobs.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
This document has been moved [here](https://lyft.github.io/cartography/dev/writing-analysis-jobs.html)
1+
This document has been moved [here](https://cartography-cncf.github.io/cartography/dev/writing-analysis-jobs.html)

docs/dev/writing-intel-modules.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
This document has been moved [here](https://lyft.github.io/cartography/dev/writing-intel-modules.html)
1+
This document has been moved [here](https://cartography-cncf.github.io/cartography/dev/writing-intel-modules.html)

docs/root/images/cncf-color.png

24.8 KB
Loading

docs/root/install.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ This is the quickest way to get started (assuming docker does what it's supposed
2222

2323
1. **Configure and run Cartography.**
2424

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".
2626

2727
```bash
2828
docker-compose run \
@@ -40,7 +40,7 @@ This is the quickest way to get started (assuming docker does what it's supposed
4040
**Notes:**
4141
- You can view a full list of Cartography's CLI arguments by running `docker-compose run cartography --help`.
4242
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.
4444
4545
- You can pass in environment variables to the cartography container using the docker-compose format like this: `-e VARIABLE1 -e VARIABLE2=value2`.
4646
- 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).
114114
115115
1. **Configure and run Cartography.**
116116
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).
118118
119119
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.
120120

@@ -189,7 +189,7 @@ Do this if you prefer to install and manage all the dependencies yourself. Carto
189189

190190
1. **Configure your data sources.**
191191

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).
193193

194194
1. **Run cartography.**
195195

@@ -229,8 +229,8 @@ Do this if you prefer to install and manage all the dependencies yourself. Carto
229229
230230
## Things to do next
231231
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)
233233
- View our [Operations Guide](ops.html) for tips on running Cartography in 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
236236
- Consider [writing your own Cartography custom modules](dev/writing-intel-modules.md)

docs/root/modules/aws/config.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ In a nutshell, Cartography uses the [boto3](https://github.com/boto/boto3) libra
2121

2222
### Multiple AWS Account Setup
2323

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.
2525

2626
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.
2727

docs/root/ops.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@ how that process works.
3535

3636
Each sync run has an `update_tag` associated with it,
3737
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).
3939

4040
### Cleanup jobs
4141

4242
Each node and relationship created or updated during the sync will have their `lastupdated` field set to the
4343
`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).
4545

4646
### Sync frequency
4747

0 commit comments

Comments
 (0)