Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@ This diagram depicts how the process works:
* First, you'll need to create the multi-account config file. Run the following command:

```bash
cloudsplaining create-multi-account-config-file \
cloudsplaining create-multi-account-config-file \
-o multi-account-config.yml
```

Expand Down Expand Up @@ -325,7 +325,7 @@ Using the data above, you can run the following command:
cloudsplaining scan-multi-account \
-c multi-account-config.yml \
--profile scanning-user \
--role-name CommonSecurityRole \
--role-name CommonSecurityRole \
--output-bucket my-results-bucket
```

Expand Down
4 changes: 2 additions & 2 deletions docs/contributing/documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ python3 -m venv ./venv && source venv/bin/activate
uv sync --frozen

# Create the HTML files
make build-docs
make serve-docs
just build-docs
just serve-docs

# The above will open the built documentation in your browser
```
Expand Down
6 changes: 3 additions & 3 deletions docs/contributing/javascript.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ We've already preconfigured several `npm` commands to be run inside the package.
# Option 1: npm, as defined in package.json
npm run serve
# Option 2: Makefile
make serve-js
just serve-js
```

You can then access the application over [http://localhost:8080](http://localhost:8080).
Expand All @@ -47,7 +47,7 @@ You can then access the application over [http://localhost:8080](http://localhos
# Option 1: npm, as defined in package.json
npm run test
# Option 2: Makefile
make test-js
just test-js
```

* Build the most updated Javascript bundle
Expand All @@ -56,7 +56,7 @@ make test-js
# Option 1: npm, as defined in package.json
npm build
# Option 2: Makefile
make build-js
just build-js
```

### Adding new JavaScript utility functions: Checklist
Expand Down
8 changes: 4 additions & 4 deletions docs/contributing/python.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,26 +12,26 @@ uv sync --frozen
```


### Makefile
### Just

* Python commands:

```bash
# Set up your local development environment
make setup-env
uv sync --frozen

# Auto format and lint the python code with `ruff`
prek run -a

# Run unit tests with pytest
make test
just unit-tests
```

* Javascript/UI commands

```bash
# Run Javascript unit tests
make test-js
just test-js

# Generate the updated Javascript bundle
make build-js
Expand Down
2 changes: 1 addition & 1 deletion docs/contributing/report.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
To test the report, run the following from the root directory:

```bash
make generate-report
just generate-report
```

That will generate the example report, without having to go through the full scan.
12 changes: 6 additions & 6 deletions docs/contributing/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,21 @@

## Local Unit Testing and Integration Testing

We highly suggest that you run all the tests before pushing a significant commit. It would be painful to copy/paste all of those lines above - so we’ve compiled a test script in the utils folder.
We highly suggest that you run all the tests before pushing a significant commit. The [just](https://github.com/casey/just) recipes below are the same ones the GitHub Actions build runs.

Just run this from the root of the repository:
Run them from the root of the repository:


```bash
# Run Python unit tests
make test
just unit-tests

# Run Javascript unit tests
make test-js
just test-js

# Run Python security tests
make security-test
just safety-scan
```

It will execute all the tests that would normally be run during the GitHub actions build. If you want to see if it will pass the tests in GitHub actions, you can just run that quick command on your machine.
These execute the tests that run during the GitHub Actions build, so if they pass on your machine the CI test jobs should pass too.

6 changes: 3 additions & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,12 +96,12 @@ cloudsplaining scan --exclusions-file exclusions.yml --input-file examples/files

It will create an HTML report like [this](https://opensource.salesforce.com/cloudsplaining/):

> ![](docs/_images/cloudsplaining-report.gif)
> ![](_images/cloudsplaining-report.gif)


It will also create a raw JSON data file:

* `default-iam-results.json`: This contains the raw JSON output of the report. You can use this data file for operating on the scan results for various purposes. For example, you could write a Python script that parses this data and opens up automated JIRA issues or Salesforce Work Items. An example entry is shown below. The full example can be viewed at [examples/files/iam-results-example.json](examples/files/iam-results-example.json)
* `default-iam-results.json`: This contains the raw JSON output of the report. You can use this data file for operating on the scan results for various purposes. For example, you could write a Python script that parses this data and opens up automated JIRA issues or Salesforce Work Items. An example entry is shown below. The full example can be viewed at [examples/files/iam-results-example.json](https://github.com/salesforce/cloudsplaining/blob/master/examples/files/iam-results-example.json)

```json
{
Expand All @@ -126,7 +126,7 @@ It will also create a raw JSON data file:
```


See the [examples/files](examples/files) folder for sample output.
See the [examples/files](https://github.com/salesforce/cloudsplaining/tree/master/examples/files) folder for sample output.

#### Filtering False Positives

Expand Down
4 changes: 2 additions & 2 deletions docs/report/triage.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ As such, the tool aims to:
To recap: you've followed these steps to generate this report:

* Downloaded the Account Authorization details JSON file
- `cloudsplaining download --profile default --output default-account-details.json`
- `cloudsplaining download --profile default`
* Generated your custom exclusions file
- `cloudsplaining create-exclusions-file --output-file exclusions.yml`
* Scanned the Account authorization details
- `cloudsplaining scan --input-file default-account-details.json --exclusions-file exclusions.yml`
- `cloudsplaining scan --input-file default.json --exclusions-file exclusions.yml`
- This generates two files: (1) The single-file HTML report, and (2) The raw JSON data file

## Triaging workflow
Expand Down
4 changes: 2 additions & 2 deletions docs/user-guide/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ You can also specify a custom exclusions file to filter out results that are Fal
## Commands

* Download the Account Authorization details JSON file
- `cloudsplaining download --profile default --output default-account-details.json`
- `cloudsplaining download --profile default`
* Generate your custom exclusions file
- `cloudsplaining create-exclusions-file --output-file exclusions.yml`
* Scan the Account Authorization details
- `cloudsplaining scan --input-file default-account-details.json --exclusions-file exclusions.yml`
- `cloudsplaining scan --input-file default.json --exclusions-file exclusions.yml`
- This generates two files: (1) The single-file HTML report, and (2) The raw JSON data file
4 changes: 2 additions & 2 deletions docs/user-guide/scan-account.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ cloudsplaining scan --exclusions-file exclusions.yml --input-file examples/files

It will create an HTML report like [this](https://opensource.salesforce.com/cloudsplaining/):

> ![](docs/_images/cloudsplaining-report.gif)
> ![](../_images/cloudsplaining-report.gif)


It will also create a raw JSON data file:

* `default-iam-results.json`: This contains the raw JSON output of the report. You can use this data file for operating on the scan results for various purposes. For example, you could write a Python script that parses this data and opens up automated JIRA issues or Salesforce Work Items. An example entry is shown below. The full example can be viewed at [examples/output/example-authz-details-results.json](examples/files/iam-results-example.json)
* `default-iam-results.json`: This contains the raw JSON output of the report. You can use this data file for operating on the scan results for various purposes. For example, you could write a Python script that parses this data and opens up automated JIRA issues or Salesforce Work Items. An example entry is shown below. The full example can be viewed at [examples/files/iam-results-example.json](https://github.com/salesforce/cloudsplaining/blob/master/examples/files/iam-results-example.json)

```json
{
Expand Down
4 changes: 2 additions & 2 deletions docs/user-guide/scan-multiple-accounts.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ This diagram depicts how the process works:
* First, you'll need to create the multi-account config file. Run the following command:

```bash
cloudsplaining create-multi-account-config-file \
cloudsplaining create-multi-account-config-file \
-o multi-account-config.yml
```

Expand Down Expand Up @@ -42,7 +42,7 @@ Using the data above, you can run the following command:
cloudsplaining scan-multi-account \
-c multi-account-config.yml \
--profile scanning-user \
--role-name CommonSecurityRole \
--role-name CommonSecurityRole \
--output-bucket my-results-bucket
```

Expand Down