Command Line Interface (CLI) for bulk processing/loading data into RegScale
Project description
RegScale Command Line Interface (CLI)
This CLI application is for supporting advanced automation and bulk data processing related to the RegScale Compliance Automation Platform. This application is intended to run as a "side car" that be scheduled via CRON job or serverless function to perform sophisticated data processing. The CLI includes multiple libraries for processing data, connecting to RegScale Application Programming Interfaces (APIs), and commercial integrations. This software may be packaged and included in other commercial software to lower the level of effort associated with building RegScale integrations to other commercial tools.
See full documentation on regscale.readme.io.
See RegScale CLI Standards for developer standards.
See RegScale GraphQL for documenation on working with RegScale GraphQL API and GraphQL CLI on incorporating it into the CLI.
Installation
Create a virtual environment and install required Python libraries.
# create and activate python virtual environment
python -m venv venv
source venv/bin/activate
# upgrade pip
pip install --upgrade pip
# install application
pip install .
# optional: install application with "dev" packages
pip install ".[dev]"
# initialize environment
Initialization
Initialize your CLI environment with the init
command:
# initialize environment
regscale init
The CLI will generate a default init.yaml file and prompt you for RegScale domain and to log in:
Initializing your RegScale CLI environment...
Would you like to change your RegScale domain from https://regscale.yourcompany.com/? (Y/n): y
Please enter your RegScale domain.
Example: https://mydomain.regscale.com/
Domain: https://regscale.mycomapny.com
[2023/01/20 04:32;41] INFO [2023/01/20 04:32;41] [INFO ] Valid URL provided, regscale.py:349
init.yaml has been updated.
Would you like to log in to your RegScale instance? (Y/n): y
Please enter your username: rross
Please enter your password:
Use Cases
- Sidecar for bulk processing compliance data such as vulnerability scans or continuous monitoring logs
- Processing and ingest of data such as National Institute of Standards and Technology (NIST) Open Security Control Assessment Language (OSCAL)
- Running CRON jobs to bulk-process data
- Managing users and identities from external sources
- Threat intelligence feeds
Specific Integrations
- See the RegScale Documentation for details.
Running Locally
- Example for running locally on Windows
py regscale.py about
Testing
Run pytest -v ./tests/{test_filename}.py
and replace {test_filename}
with name of test file.
Release Process
Preparation
- Merge all desired branches into main.
- Synchronize
app._version.__version__
with RegScale application version. - Test all Python packages have been added to
requirements.txt
andsetup.py
. - Update
CHANGELOG.md
Build Python Package
- Run
release.sh
to create - Test built package from https://test.pypi.org/project/RegScale-CLI/
mkdir rsc
cd rsc
python3 -m venv venv
source venv/bin/activate
pip install --extra-index-url https://test.pypi.org/simple/ RegScale-CLI
# alternative install
pip install -i https://test.pypi.org/simple/RegScale-CLI
The release.sh
script calls build.sh
and build_wheel.sh
. The built wheel file for the package is available in the created dist
directory.
Build Docker Container
- Run the
docker_run.sh
script.
Release
- Prepare release on GitHub. The Release will upload the Python packge to pypi.org.
Update Documentation
- Update documentation on CLI documentation on regscale.readme.io.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for RegScale_CLI-5.12.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e749a8486b1709542be6db93696b221a28a404c0a8249b926a9bd36d2f929671 |
|
MD5 | ff95436b506d17583bfc84e5e93b9219 |
|
BLAKE2b-256 | d82bacdb9634622dccdc7d32a201c87844af040102a727003969bed6894e2fce |