Fuses ngrok and CloudFront offering a fully automated solution
Platform Supported
Deployments
Recommendations
- Install
python
3.10 or 3.11 - Use a dedicated virtual environment
Install nctl
python -m pip install nctl
Initiate - IDE
import nctl
if __name__ == '__main__':
nctl.tunnel()
Initiate - CLI
nctl start
Use
nctl --help
for usage instructions.
Sourcing environment variables from an env file
By default,
nctl
will look for a.env
file in the current working directory.
-
PORT - Port number to expose using ngrok.
-
HOST - Hostname of the server that has to be exposed.
-
NGROK_AUTH - Auth token for ngrok.
-
NGROK_CONFIG - Ngrok configuration filepath. Auto-created when auth token is specified.
-
AWS_PROFILE_NAME - AWS profile name.
-
AWS_ACCESS_KEY_ID - AWS access key ID.
-
AWS_SECRET_ACCESS_KEY - AWS secret key.
-
AWS_REGION_NAME - AWS region name.
-
DISTRIBUTION_ID - Cloudfront distribution ID. Required to update an existing distribution.
-
DISTRIBUTION_CONFIG - Cloudfront distribution config filepath. Required to create a new distribution.
-
DEBUG - Boolean flag to enable debug level logging.
-
LOG - Simple option to switch between
stdout
andfile
logging. -
LOG_CONFIG - Custom logging configuration. Accepts
.yaml
,.json
and.ini
filetypes.
Docstring format: Google
Styling conventions: PEP 8
and isort
Requirement
python -m pip install gitverse
Usage
gitverse-release reverse -f release_notes.rst -t 'Release Notes'
pre-commit
will ensure linting, run pytest, generate runbook & release notes, and validate hyperlinks in ALL
markdown files (including Wiki pages)
Requirement
python -m pip install sphinx==5.1.1 pre-commit recommonmark
Usage
pre-commit run --all-files
https://pypi.org/project/nctl/
https://thevickypedia.github.io/nctl/
© Vignesh Rao
Licensed under the MIT License