Skip to content

Commit

Permalink
Merge pull request #46 from turbot/release/v0.11
Browse files Browse the repository at this point in the history
Release/v0.11
  • Loading branch information
misraved authored Mar 6, 2024
2 parents c83a27f + d44a475 commit ea7437d
Show file tree
Hide file tree
Showing 13 changed files with 207 additions and 192 deletions.
3 changes: 3 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ assignees: ''
**Describe the bug**
A clear and concise description of what the bug is.

**Powerpipe version (`powerpipe -v`)**
Example: v0.3.0

**Steampipe version (`steampipe -v`)**
Example: v0.3.0

Expand Down
3 changes: 3 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ contact_links:
- name: Questions
url: https://turbot.com/community/join
about: GitHub issues in this repository are only intended for bug reports and feature requests. Other issues will be closed. Please ask and answer questions through the Steampipe Slack community.
- name: Powerpipe CLI Bug Reports and Feature Requests
url: https://github.com/turbot/powerpipe/issues/new/choose
about: Powerpipe CLI has its own codebase. Bug reports and feature requests for those pieces of functionality should be directed to that repository.
- name: Steampipe CLI Bug Reports and Feature Requests
url: https://github.com/turbot/steampipe/issues/new/choose
about: Steampipe CLI has its own codebase. Bug reports and feature requests for those pieces of functionality should be directed to that repository.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,13 @@
*.spvars
*.auto.spvars

# Powerpipe variable files
*.ppvars
*.auto.ppvars

# Steampipe mod dependencies
.steampipe
.powerpipe

# Cache json files
*.cache.json
Expand Down
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
## v0.11 [2024-04-06]

_Powerpipe_

[Powerpipe](https://powerpipe.io) is now the preferred way to run this mod! [Migrating from Steampipe →](https://powerpipe.io/blog/migrating-from-steampipe)

All v0.x versions of this mod will work in both Steampipe and Powerpipe, but v1.0.0 onwards will be in Powerpipe format only.

_Enhancements_

- Focus documentation on Powerpipe commands.
- Show how to combine Powerpipe mods with Steampipe plugins.

## v0.10 [2024-01-12]

_Bug fixes_
Expand Down
117 changes: 61 additions & 56 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,133 +1,138 @@
# AWS Well-Architected Mod for Steampipe
# AWS Well-Architected Mod for Powerpipe

> [!IMPORTANT]
> [Powerpipe](https://powerpipe.io) is now the preferred way to run this mod! [Migrating from Steampipe →](https://powerpipe.io/blog/migrating-from-steampipe)
>
> All v0.x versions of this mod will work in both Steampipe and Powerpipe, but v1.0.0 onwards will be in Powerpipe format only.
200+ checks covering AWS Well-Architected Framework defined best practices across all AWS regions.

Run checks in a dashboard:
![image](https://raw.githubusercontent.com/turbot/steampipe-mod-aws-well-architected/main/docs/aws_well_architected_security_dashboard.png)
![image](https://raw.githubusercontent.com/turbot/steampipe-mod-aws-well-architected/main/docs/aws_well_architected_reliability_dashboard.png)

Includes support for:
* [Reliability Pillar](https://hub.steampipe.io/mods/turbot/aws_well_architected/controls/benchmark.reliability)
* [Security Pillar](https://hub.steampipe.io/mods/turbot/aws_well_architected/controls/benchmark.security)
Or in a terminal:
![image](https://raw.githubusercontent.com/turbot/steampipe-mod-aws-well-architected/main/docs/aws_well_architected_console.png)

## Getting started
## Getting Started

### Installation

Download and install Steampipe (https://steampipe.io/downloads). Or use Brew:
Install Powerpipe (https://powerpipe.io/downloads), or use Brew:

```sh
brew tap turbot/tap
brew install steampipe
brew install turbot/tap/powerpipe
```

Install the AWS plugin with [Steampipe](https://steampipe.io):
This mod also requires [Steampipe](https://steampipe.io) with the [AWS plugin](https://hub.steampipe.io/plugins/turbot/aws) as the data source. Install Steampipe (https://steampipe.io/downloads), or use Brew:

```sh
brew install turbot/tap/steampipe
steampipe plugin install aws
```

Clone:

```sh
git clone https://github.com/turbot/steampipe-mod-aws-well-architected.git
cd steampipe-mod-aws-well-architected
```
Steampipe will automatically use your default AWS credentials. Optionally, you can [setup multiple accounts](https://hub.steampipe.io/plugins/turbot/aws#multi-account-connections) or [customize AWS credentials](https://hub.steampipe.io/plugins/turbot/aws#configuring-aws-credentials).

Install mod dependencies:
Finally, install the mod:

```sh
steampipe mod install
mkdir dashboards
cd dashboards
powerpipe mod init
powerpipe mod install github.com/turbot/steampipe-mod-aws-well-architected
```

### Usage
### Browsing Dashboards

Before running any benchmarks, it's recommended to generate your AWS credential report:
Start Steampipe as the data source:

```sh
aws iam generate-credential-report
steampipe service start
```

Start your dashboard server to get started:
Start the dashboard server:

```sh
steampipe dashboard
powerpipe server
```

By default, the dashboard interface will then be launched in a new browser
window at http://localhost:9194. From here, you can run benchmarks by
selecting one or searching for a specific one.
Browse and view your dashboards at **http://localhost:9033**.

### Running Checks in Your Terminal

Instead of running benchmarks in a dashboard, you can also run them within your
terminal with the `steampipe check` command:
terminal with the `powerpipe benchmark` command:

Run all benchmarks:
List available benchmarks:

```sh
steampipe check all
powerpipe benchmark list
```

Run a single benchmark:
Run a benchmark:

```sh
steampipe check benchmark.well_architected_framework
powerpipe benchmark run well_architected_framework
```

Run a benchmark for a specific pillar:

```sh
steampipe check benchmark.well_architected_framework_security
powerpipe benchmark run well_architected_framework_security
```

Run a benchmark for a specific question:

```sh
steampipe check benchmark.well_architected_framework_sec01
powerpipe benchmark run well_architected_framework_sec01
```

Run a benchmark for a specific best practice:

```sh
steampipe check benchmark.well_architected_framework_sec01_bp01
powerpipe benchmark run well_architected_framework_sec01_bp01
```

Different output formats are also available, for more information please see
[Output Formats](https://steampipe.io/docs/reference/cli/check#output-formats).

### Credentials
[Output Formats](https://powerpipe.io/docs/reference/cli/benchmark#output-formats).

This mod uses the credentials configured in the [Steampipe AWS plugin](https://hub.steampipe.io/plugins/turbot/aws).
### Common and Tag Dimensions

### Configuration
The benchmark queries use common properties (like `account_id`, `connection_name` and `region`) and tags that are defined in the dependent [AWS Compliance mod](https://github.com/turbot/steampipe-mod-aws-compliance) These properties can be executed in the following ways:

No extra configuration is required.
It's easiest to setup your vars file, starting with the sample:

### Common and Tag Dimensions
```sh
cp steampipe.spvars.example steampipe.spvars
vi steampipe.spvars
```

The benchmark queries use common properties (like `account_id`, `connection_name` and `region`) and tags that are defined in the dependent [AWS Compliance mod](https://github.com/turbot/steampipe-mod-aws-compliance). These properties can be executed in the following ways:
Alternatively you can pass variables on the command line:

- Copy and rename the `steampipe.spvars.example` file to `steampipe.spvars`, and then modify the variable values inside that file
```sh
powerpipe benchmark run well_architected_framework_security --var 'common_dimensions=["account_id", "connection_name", "region"]'
```

- Pass in a value on the command line:
Or through environment variables:

```shell
steampipe check benchmark.well_architected_framework_security --var 'common_dimensions=["account_id", "connection_name", "region"]'
```
```sh
export PP_VAR_common_dimensions='["account_id", "connection_name", "region"]'
export PP_VAR_tag_dimensions='["Environment", "Owner"]'
powerpipe benchmark run well_architected_framework_security
```

```shell
steampipe check benchmark.well_architected_framework_security --var 'tag_dimensions=["Environment", "Owner"]'
```
## Open Source & Contributing

## Contributing
This repository is published under the [Apache 2.0 license](https://www.apache.org/licenses/LICENSE-2.0). Please see our [code of conduct](https://github.com/turbot/.github/blob/main/CODE_OF_CONDUCT.md). We look forward to collaborating with you!

If you have an idea for additional controls or just want to help maintain and extend this mod ([or others](https://github.com/topics/steampipe-mod)) we would love you to join the community and start contributing.
[Steampipe](https://steampipe.io) and [Powerpipe](https://powerpipe.io) are products produced from this open source software, exclusively by [Turbot HQ, Inc](https://turbot.com). They are distributed under our commercial terms. Others are allowed to make their own distribution of the software, but cannot use any of the Turbot trademarks, cloud services, etc. You can learn more in our [Open Source FAQ](https://turbot.com/open-source).

- **[Join #steampipe on Slack →](https://turbot.com/community/join)** and hang out with other Mod developers.
## Get Involved

Please see the [contribution guidelines](https://github.com/turbot/steampipe/blob/main/CONTRIBUTING.md) and our [code of conduct](https://github.com/turbot/steampipe/blob/main/CODE_OF_CONDUCT.md). All contributions are subject to the [Apache 2.0 open source license](https://github.com/turbot/steampipe-mod-aws-well-architected/blob/main/LICENSE).
**[Join #powerpipe on Slack →](https://turbot.com/community/join)**

Want to help but not sure where to start? Pick up one of the `help wanted` issues:
Want to help but don't know where to start? Pick up one of the `help wanted` issues:

- [Steampipe](https://github.com/turbot/steampipe/labels/help%20wanted)
- [Powerpipe](https://github.com/turbot/powerpipe/labels/help%20wanted)
- [AWS Well-Architected Mod](https://github.com/turbot/steampipe-mod-aws-well-architected/labels/help%20wanted)

## Credits
Expand Down
Binary file added docs/aws_well_architected_console.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/aws_well_architected_dashboard.png
Binary file not shown.
Binary file modified docs/aws_well_architected_reliability_dashboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/aws_well_architected_security_dashboard.png
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit ea7437d

Please sign in to comment.