Skip to main content

asynchronous configuration protocol for dynamic client-server relations

Project description

fakts

codecov PyPI version Maintenance Maintainer PyPI pyversions PyPI status PyPI download day

DEVELOPMENT

Inspiration

Fakts tries to make the setup process between client - dynamic server relations as easy as possible.

Client - Dynamic Server

In this relation the configuration of the server is unbeknownst to the client, that means which network address it can connect to retrieve its initial configuration. As both client and server need to trust each other this is a complex scenario to secure. Therefore fakts provided different grants to ensure different levels of security.

Simple grant

In the fakts grants, fakts simply advertises itself on the network through UDP broadcasts and sends standardized configuration to the client. In this scenario no specific configuration on a per app basis is possible, as every client that chooses to connect to the server will receive the same configuration.

Server

fakts serve fakts.yaml

Client

fakts init

This flow however can be secured by a password that needs to be entered, once the client wants to retrieve configuration.

Server

fakts serve fakts.yaml --password="*******"

Advanced grant

In an oauth2 redirect like manner, fakts can also be used to advocate an endpoint that the app can then connect to in order to receive specialised configuration through a redirect back to the client.

Beacon

fakts beacon "http://localhost:3000/beacon"

Client

fakts init --client="napari"

In this scenario the client will open a webbrowser with the query parameters set to the init params (in addition to a state to combat redirect attacks, and a redirect_uri) and wait for a redirect to its redirect_uri on localhost with the configuration in the query params

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 Distribution

fakts-0.2.5.tar.gz (14.8 kB view hashes)

Uploaded Source

Built Distribution

fakts-0.2.5-py3-none-any.whl (23.3 kB view hashes)

Uploaded Python 3

Supported by

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