Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/christophejunke/cl-infinidash
Lisp API for AWS Infinidash
https://github.com/christophejunke/cl-infinidash
Last synced: 6 days ago
JSON representation
Lisp API for AWS Infinidash
- Host: GitHub
- URL: https://github.com/christophejunke/cl-infinidash
- Owner: christophejunke
- Created: 2021-07-03T08:50:53.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-07-03T09:58:52.000Z (over 3 years ago)
- Last Synced: 2024-08-04T01:13:25.587Z (3 months ago)
- Language: Common Lisp
- Size: 3.91 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- Code of conduct: code-of-conduct.md
Awesome Lists containing this project
- awesome-infinidash - Infinidash SDK for Common Lisp
README
#+TITLE: CL-INFINIDASH
* AWS Infinidash
AWS Infinidash is an Amazon Web Services reactive cryptography API
based on multiple ciphered multiplexers. It can be deployed to work as
a decentralized (federated) network of redundant multiplexers. Read
the official documentation for more details [TODO: add link].* CL-INFINIDASH
This system provides a Lisp API to the Infinidash service. It is
implemented as different layers of abstractions.** Schema generated HTTP layer
The =cl-infinidash.raw= package is responsible for fetching and
parsing the JSON schema for AWS Infinidash. It generates the set of
HTTP GET/POST/PUT methods used to communicate with AWS Infinidash.** Purely functional layer
The =cl-infinidash.pure.N= layers (where N is the version of the
protocol, currently only v0 is supported) are a more user-friendly API
wrapping the raw methods. For example:: (cl-infinidash.pure.0:authenticate "user" "password")
: => #returns an opaque handle that can be used in other operations:
: (cl-infinidash.pure.0:list-registered-multiplexers ...)
** Domain Specific Layer
On top of the functional layers, we define =cl-infinidash.api.N=
packages that export a set of macros that simplify the use of the API
by defining a domain-specific language.#+begin_src lisp
(use-package :cl-ininidash.api.0)(with-infinidash-session (:user "user" :password "pwd")
:select "*" :from "multiplexers"
:aggregate :by "hash-function"
:expunge)
#+end_src