Skip to content

Commit

Permalink
Updated README based on contributor feedback (#31)
Browse files Browse the repository at this point in the history
  • Loading branch information
eddie-knight authored Sep 30, 2024
1 parent 8b0e9a8 commit 7a486f4
Showing 1 changed file with 52 additions and 52 deletions.
104 changes: 52 additions & 52 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,101 +2,101 @@

# Privateer

*Simplify. Validate. Elevate.*

## Introduction

Welcome to Privateer, your all-inclusive test harness designed to streamline the validation process for a wide range of resources through its innovative approach to harmonizing inputs, execution, and outputs. Aptly dubbed "Raids," these test packs serve as your go-to solution for ensuring security hardening, regulatory compliance, and adherence to taxonomy standards across your infrastructure.

### Simplifying Validation for Infrastructure Engineers

Privateer has been meticulously crafted with infrastructure engineers in mind. If you're seeking to validate your resources against regulations, taxonomies, or standards, Privateer is your trusted companion. With a user-friendly interface and powerful features, you can now effortlessly navigate the complexities of resource validation.

### Privateer Raids
### Using Privateer Raids

There are several key benefits to Privateer Raids:

- **Community-Driven Raids:** Our open development model ensures that Raids are crafted and maintained collaboratively by the community, reflecting a wealth of expertise and insights.
- **Comprehensive Resource Validation:** Privateer empowers you to validate a diverse array of resources in a single execution. No more piecemeal validation processes; instead, experience efficiency and thoroughness in one go.
- **Consistent Machine-Readable Output:** Regardless of the specific Raid, you're guaranteed a standardized, machine-readable test output. This consistency simplifies the automation and integration of test results, enabling seamless decision-making.
- **Empowering Service Providers:** Privateer finds its calling in projects like Compliant Financial Infrastructure and Common Cloud Controls within FINOS. Service providers can leverage Privateer Raids developed by FINOS to certify resources for use in regulated industries, such as the insurance and banking.
- **Empowering Service Providers:** Privateer finds its calling in projects like Compliant Financial Infrastructure and Common Cloud Controls within FINOS. Service providers can leverage Privateer Raids developed by FINOS to certify resources for use in regulated industries, such as insurance and banking.

### Your Journey Begins Here
## Install the Privateer CLI

As we incubate this project, you have the opportunity to be part of its growth and transformation. Privateer is primed to become an essential component of automated solutions, fitting seamlessly into CI/CD pipelines and API tooling.
### Option 1: Install via Script

Run the following command to install Privateer using the provided install.sh script:

```sh
/bin/bash -c "$(curl -sSL https://raw.githubusercontent.com/privateerproj/privateer/03ced90caae9f3c9203eb7f82f2c46ccf2ff15fc/install.sh)"
```

**Take Action: Embrace and Build**: The time to act is now. Whether you're looking to deploy existing Raids or embark on crafting new ones, Privateer stands ready to elevate your resource validation journey.
### Option 2: Download from Releases

Ready to embark on your validation journey? Start using or contributing to Privateer Raids today!
Download the latest release from [GitHub Releases](https://github.com/privateerproj/privateer/releases).

For more information and support, visit Privateer on GitHub or connect with our community on [Slack](https://finos-lf.slack.com/messages/cfi).
### Build Privateer from Source

To build privateer from source, follow these steps below:

## Usage & Quickstart Guide
1. Clone the Repository

Privateer empowers you to ensure the security, compliance, and integrity of your resources with ease. Here's how to dive in and make the most of this versatile tool:
```sh
git clone https://github.com/privateerproj/privateer.git
cd privateer
```

### Installation
2. Installting Dependencies

1. **Download Privateer**: Obtain the latest release of Privateer:
- from GitHub Repository source, with `go build`
- from the [GitHub Releases](https://github.com/privateerproj/privateer/releases)
- from the [installation script](install.sh)
1. **Install Raids**: Choose the raid(s) you wish to use from the same release on GitHub. Install them to your preferred `binaries-path`. By default, this is `$HOME/privateer/bin`, but you can customize it in your configuration or via `--binaries-path`.
```sh
go mod tidy
```

#### Build Privateer from Source
3. Building Privateer
```sh
make release
```

To build privateer, please follow these steps below:
## Install Privateer Raids

1. **Clone the Repository**
Raids are built and maintained by the community. Choose the raid(s) that you wish to run, and install them to your binaries path.

```sh
git clone https://github.com/privateerproj/privateer.git
cd privateer

2. **Installting Dependencies**
```sh
go mod tidy
3. **Building Privateer**
```sh
make release
- **Default Path:** $HOME/privateer/bin
- **Customize via CLI:** Use `--binaries-path` in your CLI command to change the path to your binaries.
- **Customize via config:** Specify a custom binaries path in your config via the top level value `binaries-path: your/bin/path`

### Configuration
## Configuration

1. **Create a Configuration File**: Craft a configuration file (e.g., `config.yml`) that specifies the raids you intend to run and any necessary configuration options. Include secrets and settings required by the raid. Refer to the specific raid's documentation for precise details.
1. **Output Directory (Optional)**: If desired, define an output directory in your configuration. Privateer will generate log and result files for each raid in this directory. Results files are available in both JSON and YAML formats.
1. **Advanced Config Management**: Privateer's roadmap includes plans for integrating with systems like etcd and Consul to enhance configuration and secret management.

#### Example Config.yml
[!NOTE] If your configuration file is stored in a non-default location, specify its file path using the -c or --config flag.

### Example Config.yml

```yaml
loglevel: trace
WriteDirectory: test_output
binaries-path: your/bin/path
Raids:
Wireframe:
JokeName: Jimmy
```

### Interacting with Raids

1. **List Requested Raids**: Use `privateer list` to view a list of raids you have requested in your configuration. This provides an overview of the tests you've planned.
1. **View Installed Raids**: Explore the raids available for installation using `privateer list --available`. This allows you to discover new tests you might find valuable.
1. **Run Raids**: Execute your selected raids with the `privateer sally` command. By default, Privateer will execute all raids specified in your configuration. You can also override this behavior by including the specific raid you want to run as a third value in the command, e.g., `privateer sally wireframe`.
## Common Commands

### Customizing Output and Logs
Here are some common commands you can use with Privateer:

1. **Output Logs**: Privateer generates logs and results files for each raid. Logs are saved as `<output_dir>/<raid_name>/<raid_name>.log`, and results are saved as `<output_dir>/<raid_name>/results.yaml`. Specify your output directory using the config value `WriteDirectory`. The default value is `$HOME/privateer/output`
- `-h` / `--help`: Display help information about Privateer and its commands.
- `sally`: Execute the specified raid(s).
- `generate-raid`: Automatically create the code for a raid based on a FINOS Common Cloud Controls catalog.
- `list`: Show raids requested by your configuration and whether they're installed.
- `list -a`: Show all raids you have installed.
### Tailoring Verbosity
## Output Customization
1. **Log Verbosity**: Increase the verbosity of logs using the `-v` or `--verbose` flag. This is particularly useful for gaining deeper insights into the execution process.
1. **Silence Logs**: For a streamlined experience, silence non-essential log information by utilizing the `-s` or `--silent` flag.
Privateer generates logs and results files for each raid. The output location may be specified by `-o` / `--output-dir`.
### Configuration Flexibility
**Log Results**:` <output_dir>/<raid_name>/<raid_name>.log`
**Raid Results**: `<output_dir>/<raid_name>/results.yaml`
**Default Value**: `$HOME/privateer/output`
1. **Alternate Config Path**: If your configuration file is stored in a different location, specify its filepath using the `-c` or `--config` flag.
Now you're equipped with the essential knowledge to unleash the power of Privateer. Whether you're certifying resources or maintaining configuration integrity, Privateer stands ready to help. Embrace the journey of resource validation with confidence!
### Tailoring Verbosity
For more detailed information, refer to the [Privateer GitHub Repository](https://github.com/privateerproj/privateer) and explore the possibilities that await you.
**Log Verbosity**: Increase the verbosity of logs using the `-v` or `--verbose` flag.
**Silence Logs**: Silence non-essential log information using the `-s` or `--silent` flag.

0 comments on commit 7a486f4

Please sign in to comment.