Skip to content

Commit

Permalink
Add basic documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
denniszag committed Nov 13, 2023
1 parent b10ab35 commit 1651e1e
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 14 deletions.
1 change: 1 addition & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ jobs:
uses: ncipollo/release-action@v1
with:
artifacts: "dist/*"
omitName: true
token: ${{ secrets.github_token }}
draft: false
prerelease: steps.check-version.outputs.prerelease == 'true'
Expand Down
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Change Log

## [0.1.1] - 2023-09-04

Added basic documentation

## [0.1.0] - 2023-08-31

Expand All @@ -15,7 +18,8 @@ Initial release

### Fixed

-
-

[Unreleased]: https://github.com/entitleio/beam/compare/0.1.0...master
[0.1.0]: https://github.com/entitleio/beam/releases/tag/0.1.0
[0.1.1]: https://github.com/entitleio/beam/releases/tag/0.1.1
52 changes: 43 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,55 @@
</a>
</div>

# Beam: AWS SSM Utility Tool
# Beam: Securely Connect to Your Infrastructure

![AWS](https://img.shields.io/badge/AWS-%23FF9900.svg?style=for-the-badge&logo=amazon-aws&logoColor=white)
Beams helps you to connect easily & securely to internal AWS resources using AWS SSM Session Manager.

[![Stable Version](https://img.shields.io/github/v/release/entitleio/beam)][PyPI Releases]
**Currently supported infrastructure:**
* AWS: SSM, EKS, RDS
* _GCP: Coming soon 🎉_

Beams helps you to connect easily & securely to internal AWS resources using AWS SSM Session Manager.
## Installation and initial configuration

## Installation
#### Step 1: Install Beam
Start with installing beam
```shell
pip install https://github.com/entitleio/beam/releases/latest/download/beam.tar.gz
```

#### Step 2: Configure SSO
Run the following command to configure Single Sign-On (SSO):

```shell
beam configure --sso-url SSO_URL --sso-region SSO_REGION
```
Follow the Single Sign-On (SSO) and Multi-Factor Authentication (MFA) prompts until you approve.

#### Step 3: Select Accounts and Permissions
- Select the accounts you want to access.
- Choose the permission sets you require.

#### Step 4: Specify Regions and Infrastructure
- Select the regions where your infrastructure is located.
- Specify the regular expression (regex) for your bastion host.
- Choose your default Kubernetes namespace.
- Decide if you want to use Amazon Elastic Kubernetes Service (EKS) and specify the regex.
- Decide if you want to connect to Amazon Relational Database Service (RDS).

#### Step 5: Approve Configuration
Approve the configuration. This will generate a configuration file in your current user folder.

#### Step 6: Run Beam
Now you can run the following command:

Beam releases are available as wheel packages for macOS, Windows and Linux on PyPI. Install it using pip:
```shell
pip install beam
sudo beam run
```
*Note: The first run will take some time as it scans your entire infrastructure.*

*Note: Beam requires sudo because it edits the hosts file.*

Congratulations! You have successfully configured your DevOps environment.

## Documentation

Expand All @@ -39,5 +74,4 @@ Follow the [contributing guidelines](CONTRIBUTING.md) if you want to propose a c
[Official Website]: https://beam.entitle.io
[Documentation]: https://beam.entitle.io/docs
[Issue Tracker]: https://github.com/entitleio/beam/issues
[Suggested Issues]: https://github.com/python-poetry/poetry/contribute
[Contributing Documentation]: https://python-poetry.org/docs/contributing
[Contributing Documentation]: CONTRIBUTING.md
4 changes: 2 additions & 2 deletions beam/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ def run(config: str, force_scan: bool, eks: bool, rds: bool) -> None:
config = os.path.realpath(config)
print(Panel(
Align.center(
'[bold yellow3]Beam[/bold yellow3] by [bold magenta]Entitle[/bold magenta] :vampire:'
'[bold yellow3]Beam[/bold yellow3] by [bold magenta]Entitle[/bold magenta] :comet:'
), border_style='yellow3'))

# TODO: Create custom Command class and manage logs from there, support multi log levels
Expand Down Expand Up @@ -156,7 +156,7 @@ def version() -> None:


def print_version() -> None:
print(f'[bold yellow3]Beam[/bold yellow3] [white]{__version__}[/white] by [bold magenta]Entitle[/bold magenta] :vampire:')
print(f'[bold yellow3]Beam[/bold yellow3] [white]{__version__}[/white] by [bold magenta]Entitle[/bold magenta] :comet:')


def validate_prerequisites_and_exit() -> None:
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
[tool.poetry]
name = "beam"
version = "0.1.0"
version = "0.1.1"
description = "AWS SSM made easy"
authors = ["Entitle I.O", "Avi Zetser <avi@entitle.io>", "Dennis Zagiansky <dennis@entitle.io>"]
maintainers = ["Avi Zetser <avi@entitle.io>", "Dennis Zagiansky <dennis@entitle.io>"]
license = "Apache-2.0"
readme = "README.md"
homepage = "beam.entitle.io"
homepage = "https://beam.entitle.io"
repository = "https://github.com/entitleio/beam"

classifiers = [
Expand Down

0 comments on commit 1651e1e

Please sign in to comment.