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.1.43.tar.gz (161.6 kB view details)

Uploaded Source

Built Distribution

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

fakts-0.1.43-py3-none-any.whl (164.7 kB view details)

Uploaded Python 3

File details

Details for the file fakts-0.1.43.tar.gz.

File metadata

  • Download URL: fakts-0.1.43.tar.gz
  • Upload date:
  • Size: 161.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.9.5 Linux/5.11.0-41-generic

File hashes

Hashes for fakts-0.1.43.tar.gz
Algorithm Hash digest
SHA256 577b15ea8ab423f0de114519ab25fd2a9781f1e53cb1c3bf8c1d6987ad8094cc
MD5 acc39326d680cbc4e50db12059c01eb8
BLAKE2b-256 9c75c0a49cd2eeebac178b779822aad8cf47af4b06ee26cb0a453be2ba6e2178

See more details on using hashes here.

File details

Details for the file fakts-0.1.43-py3-none-any.whl.

File metadata

  • Download URL: fakts-0.1.43-py3-none-any.whl
  • Upload date:
  • Size: 164.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.9.5 Linux/5.11.0-41-generic

File hashes

Hashes for fakts-0.1.43-py3-none-any.whl
Algorithm Hash digest
SHA256 dfdfda8135b1a31de7105634d5d003521fc3a2cef07dabf9ea29082b644e9393
MD5 ff636a35e76608cef60944a71ee17ef9
BLAKE2b-256 d6a92cf0d8bb62c37de01cf77be5fa0a98bd956151622c5d1acef42da2b74c9c

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