Metadata-Version: 2.0
Name: akeyra
Version: 0.0.1
Summary: Client app for Sakeyra
Home-page: https://github.com/LaMethode/akeyra
Author: Jeremy Collin
Author-email: jeremy.collin.lnk@gmail.com
License: GPLv3
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Natural Language :: French
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.5
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Topic :: System :: Systems Administration
Requires-Dist: configparser (==3.5.0)
Requires-Dist: pyjwt (==1.5.3)
Requires-Dist: requests (==2.18.4)

# akeyra
Agent for Sakeyra

[![GitHub version](https://badge.fury.io/gh/LaMethode%2Fakeyra.svg)](https://badge.fury.io/gh/LaMethode%2Fakeyra)
[![PyPI version](https://badge.fury.io/py/akeyra.svg)](https://badge.fury.io/py/akeyra)
[![Build Status](https://travis-ci.org/LaMethode/akeyra.svg?branch=master)](https://travis-ci.org/LaMethode/akeyra)

[![JWT](https://jwt.io/assets/badge-compatible.svg)](https://jwt.io/)

## What is it?
Akeyra is the client-side of Sakeyra.  
It serves the purpose of creating/updating `~/.ssh/authorized_keys`  
It also create users that don't exist on your server but that are in the key-bundle.

## How to install ?
Use Pip `pip install akeyra`

## How to use it?
You have to fill the configuration file (see below) to connect to your SAKman Server.  
Then you just have to run `akeyra` as root.  
Make sure you have a Cron somewhere to update as frequently as possible.

## Options
usage: akeyra [-h] [-H HOST] [-E ENV] [-K KEY] [-P PROXY] [-F FILE] [-D]

You can provide all informations in CLI, use the basic configfile
(/etc/akeyra.cfg), or an alternative one. If nothing is passed by CLI, then
the basic configfile will be used.

CLI > CLI-File > base file

optional arguments:
* `-h, --help            show this help message and exit`
* `-H HOST, --host HOST    Key Server`
* `-E ENV, --env ENV       Environment`
* `-K KEY, --key KEY       Secret key`
* `-P PROXY, --proxy PROXY Proxy`
* `-F FILE, --cnf FILE     Alt Conffile`
* `-D, --dry               Dry run`

If you need to use a proxy, you either set environment variable like
http_proxy or use proxy in the configfile.


### Configuration file `/etc/akeyra.cfg`
```
[agent]
host =
key =
environment =
proxy =
```

### Format between Akeyra and Sakeyra (decode)
```json
{
  "environment": "rec",
  "users": [
    {"user1": {"email": "userkey1@test.com", "name": "userkey1", "pubkey": "laclepubliquedeuserkey1"}},
    {"user2": {"email": "userkey2@test.com", "name": "userkey2", "pubkey": "laclepubliquedeuserkey2"}}
    ],
    "pub_date": "2017-10-18T17:15:46.799689"
  }
```


