forked from 3wordchant/capsul-flask
Add basic "create" API..
.. using server-side API tokens
This commit is contained in:
@ -31,7 +31,7 @@
|
||||
|
||||
{% if session["account"] %}
|
||||
<a href="/console">Capsuls</a>
|
||||
<a href="/console/ssh">SSH Public Keys</a>
|
||||
<a href="/console/keys">SSH & API Keys</a>
|
||||
<a href="/console/account-balance">Account Balance</a>
|
||||
{% endif %}
|
||||
|
||||
|
@ -101,7 +101,7 @@
|
||||
</div>
|
||||
<div class="row justify-start">
|
||||
<label class="align" for="ssh_authorized_keys">SSH Authorized Keys</label>
|
||||
<a id="ssh_authorized_keys" href="/console/ssh">{{ vm['ssh_authorized_keys'] }}</a>
|
||||
<a id="ssh_authorized_keys" href="/console/keys">{{ vm['ssh_authorized_keys'] }}</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
@ -31,7 +31,7 @@
|
||||
<p>(At least one month of funding is required)</p>
|
||||
{% elif no_ssh_public_keys %}
|
||||
<p>You don't have any ssh public keys yet.</p>
|
||||
<p>You must <a href="/console/ssh">upload one</a> before you can create a Capsul.</p>
|
||||
<p>You must <a href="/console/keys">upload one</a> before you can create a Capsul.</p>
|
||||
{% elif not capacity_avaliable %}
|
||||
<p>Host(s) at capacity. No capsuls can be created at this time. sorry. </p>
|
||||
{% else %}
|
||||
|
@ -1,17 +1,18 @@
|
||||
{% extends 'base.html' %}
|
||||
|
||||
{% block title %}SSH Public Keys{% endblock %}
|
||||
{% block title %}SSH & API Keys{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="row third-margin">
|
||||
<h1>SSH PUBLIC KEYS</h1>
|
||||
</div>
|
||||
<div class="row third-margin"><div>
|
||||
{% if has_ssh_public_keys %} <hr/> {% endif %}
|
||||
{% if ssh_public_keys|length > 0 %} <hr/> {% endif %}
|
||||
|
||||
{% for ssh_public_key in ssh_public_keys %}
|
||||
<form method="post">
|
||||
<input type="hidden" name="method" value="DELETE"></input>
|
||||
<input type="hidden" name="action" value="delete_ssh_key"></input>
|
||||
<input type="hidden" name="name" value="{{ ssh_public_key['name'] }}"></input>
|
||||
<input type="hidden" name="csrf-token" value="{{ csrf_token }}"/>
|
||||
<div class="row">
|
||||
@ -22,13 +23,14 @@
|
||||
</form>
|
||||
{% endfor %}
|
||||
|
||||
{% if has_ssh_public_keys %} <hr/> {% endif %}
|
||||
{% if ssh_public_keys|length > 0 %} <hr/> {% endif %}
|
||||
|
||||
<div class="third-margin">
|
||||
<h1>UPLOAD A NEW SSH PUBLIC KEY</h1>
|
||||
</div>
|
||||
<form method="post">
|
||||
<input type="hidden" name="method" value="POST"></input>
|
||||
<input type="hidden" name="action" value="upload_ssh_key"></input>
|
||||
<input type="hidden" name="csrf-token" value="{{ csrf_token }}"/>
|
||||
<div class="row justify-start">
|
||||
<label class="align" for="content">File Contents</label>
|
||||
@ -54,6 +56,51 @@
|
||||
</div>
|
||||
</form>
|
||||
</div></div>
|
||||
<hr/>
|
||||
<div class="row third-margin">
|
||||
<h1>API KEYS</h1>
|
||||
</div>
|
||||
<div class="row third-margin"><div>
|
||||
{% if generated_api_token %}
|
||||
<hr/>
|
||||
Generated key:
|
||||
<span class="code">{{ generated_api_token }}</span>
|
||||
{% endif %}
|
||||
{% if api_tokens|length >0 %} <hr/>{% endif %}
|
||||
{% for api_token in api_tokens %}
|
||||
<form method="post">
|
||||
<input type="hidden" name="method" value="DELETE"></input>
|
||||
<input type="hidden" name="action" value="delete_api_token"></input>
|
||||
<input type="hidden" name="id" value="{{ api_token['id'] }}"></input>
|
||||
<input type="hidden" name="csrf-token" value="{{ csrf_token }}"/>
|
||||
<div class="row">
|
||||
<span class="code">{{ api_token['name'] }}</span>
|
||||
created {{ api_token['created'].strftime("%b %d %Y") }}
|
||||
<input type="submit" value="Delete">
|
||||
</div>
|
||||
</form>
|
||||
{% endfor %}
|
||||
{% if api_tokens|length >0 %} <hr/>{% endif %}
|
||||
|
||||
<div class="third-margin">
|
||||
<h1>GENERATE A NEW API KEY</h1>
|
||||
</div>
|
||||
<form method="post">
|
||||
<input type="hidden" name="method" value="POST"></input>
|
||||
<input type="hidden" name="action" value="generate_api_token"></input>
|
||||
<input type="hidden" name="csrf-token" value="{{ csrf_token }}"/>
|
||||
<div class="smalltext">
|
||||
<p>Generate a new API key, to integrate with other systems.</p>
|
||||
</div>
|
||||
<div class="row justify-start">
|
||||
<label class="align" for="name">Key Name</label>
|
||||
<input type="text" id="name" name="name"></input> (defaults to creation time)
|
||||
</div>
|
||||
<div class="row justify-end">
|
||||
<input type="submit" value="Generate">
|
||||
</div>
|
||||
</form>
|
||||
</div></div>
|
||||
{% endblock %}
|
||||
|
||||
{% block pagesource %}/templates/ssh-public-keys.html{% endblock %}
|
Reference in New Issue
Block a user