NCTL

Fuses ngrok and CloudFront offering a fully automated solution

Python

Platform Supported

Platform

Deployments

pages pypi markdown

Pypi Pypi-format Pypi-status

Kick off

Recommendations

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.

Environment Variables

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 and file logging.

  • LOG_CONFIG - Custom logging configuration. Accepts .yaml, .json and .ini filetypes.

Coding Standards

Docstring format: Google
Styling conventions: PEP 8 and isort

Release Notes

Requirement

python -m pip install gitverse

Usage

gitverse-release reverse -f release_notes.rst -t 'Release Notes'

Linting

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

Pypi Package

pypi-module

https://pypi.org/project/nctl/

Runbook

made-with-sphinx-doc

https://thevickypedia.github.io/nctl/