Skip to main content

Python library for Airlock product REST APIs

Project description

GitHub PyPI
GitHub PyPI

pyAirlock

Airlock, a subsidiary of Ergon Informatik, provides security products to protect web applications and APIs against all sorts of attacks.

  • Airlock Gateway Airlock Gateway is a web application firewall (WAF) and protects mission-critical, web-based applications and APIs from attacks and undesired visitors. As a central security instance, it examines every HTTP(S) request for attacks and thus blocks any attempt at data theft and manipulation.
  • Airlock Microgateway Airlock Microgateway protects APIs and microservices from attacks and unauthorized access while they are running. Being specifically designed for use in Kubernetes environments, it is placed close to the protected services.
  • Airlock IAM Airlock IAM is a customer identity and access management (cIAM) solution guaranteeing absolutely secure and efficient access procedures for web applications. offers centralised identity management and organisation of access permissions, for applications and APIs, alike. Integrated applications can be bundled as a single sign-on (SSO) group.

Airlock Gateway and Airlock IAM, being stand-alone, centrally installed services, both provide REST APIs to integrate third-party or customer-specific tools. These APIs are all documented here.

pyAirlock is a Python library wrapping these REST APIs and allowing system administrators easier access.

  • Gateway
    • configuration REST API, providing access to configuration objects, virtual hosts, mappings etc.
  • IAM (not implemented yet)
    • Loginapp flows for authentication, registration and self-services
    • Transaction approval flows
    • Adminapp for user and token management
  • Common
    • Shared library functions such as reading config files, logging etc.

Airlock Microgateway, by the way, is tightly integrated with Kubernetes. Configuration, for example, is specified through custom resource definitions, expressed as YAML manifests. They are created and maintained using the standard Kubernetes APIs.

Getting started

Installation

pip install pyAirlock

Create API documentation

pip install pdoc3
pdoc --html src/pyAirlock

Read documentation by opening html/index.html in your browser of choice.

Usage

from pyAirlock.gateway.config_api import gateway
from pyAirlock.common import config

cfg = config.Config( "src/samples/config.yaml" )
cfg.load()
server = cfg.get( 'servers.test' )[0]
gw = gateway.GW( "test", cfg.get( 'hostname', base=server ), cfg.get( 'apikey', base=server ))
gw.setTLSVerify( False )
gw.connect()
gw.get( "/configuration/configurations" ).json()

Getting support

This library is not part of the official Airlock product delivery. Airlock support will be unable to accept or answer tickets.

If you encounter an error, the author welcomes pull requests with fixes. Alternatively, an issue may be created on the GitHub issue tracker. Please note that there is no guaranteed response time and any support is best effort.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyairlock-0.9.0.tar.gz (21.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyAirlock-0.9.0-py3-none-any.whl (41.3 kB view details)

Uploaded Python 3

File details

Details for the file pyairlock-0.9.0.tar.gz.

File metadata

  • Download URL: pyairlock-0.9.0.tar.gz
  • Upload date:
  • Size: 21.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.2

File hashes

Hashes for pyairlock-0.9.0.tar.gz
Algorithm Hash digest
SHA256 5f7ca4746a5cad4a399f11eea789cf1b2261ec13321f3031fca8aa602434bb2d
MD5 992dc964e2123a42eac427737769d6a3
BLAKE2b-256 efd04d77e31b28c495985e8275022de8aa9da61bec7978fa3b0cdd47a1111329

See more details on using hashes here.

File details

Details for the file pyAirlock-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: pyAirlock-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 41.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.2

File hashes

Hashes for pyAirlock-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d3067d40f10d234061863a0ea32323f797e790aa8517ac455f3870cc201f6f00
MD5 b3aacde08a764a7b19631be24ecda5a3
BLAKE2b-256 ae7c185bda447db7ab50a52ec4a4555ee7418e16482b207796b4297ddbbf7aa8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page