-
Notifications
You must be signed in to change notification settings - Fork 246
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into new-new-copier
- Loading branch information
Showing
80 changed files
with
1,788 additions
and
697 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
name: require linked issue | ||
|
||
on: | ||
pull_request_target: | ||
branches: ["main"] | ||
types: [opened, edited, reopened, synchronize] | ||
|
||
jobs: | ||
check_pull_requests: | ||
runs-on: ubuntu-latest | ||
name: require linked issue | ||
permissions: | ||
issues: read | ||
pull-requests: read | ||
steps: | ||
- uses: nearform-actions/github-action-check-linked-issues@v1 | ||
id: check-linked-issues | ||
with: | ||
comment: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,14 @@ | ||
{% extends "layout.html" %} | ||
{% block title %}Home{% endblock %} | ||
{% block head %} | ||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.7.0/animate.min.css"> | ||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.7.0/animate.min.css"> | ||
{% endblock %} | ||
{% block content %} | ||
<div class="vcentered"> | ||
<h1 class="animated fadeInUp faster"> | ||
<a href="https://hail.is/" target="_blank"> | ||
Hail | ||
</a> | ||
</h1> | ||
</div> | ||
<div class="vcentered"> | ||
<h1 class="animated fadeInUp faster hover:cursor-pointer hover:underline text-5xl text-sky-700 underline-offset-4"> | ||
<a href="https://hail.is/" target="_blank"> | ||
Hail | ||
</a> | ||
</h1> | ||
</div> | ||
{% endblock %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,38 @@ | ||
{% from "utils.html" import submit_button %} | ||
{% extends "layout.html" %} | ||
{% block title %}Roles{% endblock %} | ||
{% block content %} | ||
<h1>Create Role</h1> | ||
<form action="{{ base_path }}/roles" method="POST"> | ||
<div>Name: <input required name="name" /></div> | ||
<input type="hidden" name="_csrf" value="{{ csrf_token }}"/> | ||
<button> | ||
Create | ||
</button> | ||
</form> | ||
<h1 class='text-2xl font-light mb-4'>Create Role</h1> | ||
<form action="{{ base_path }}/roles" method="POST"> | ||
<div class='w-64 flex-col space-y-2'> | ||
<div class='flex justify-between'> | ||
<span>Name</span> | ||
<input class='border rounded-sm p-1 text-sm' required name="name" /> | ||
</div> | ||
<input type="hidden" name="_csrf" value="{{ csrf_token }}" /> | ||
<div class='flex justify-end'> | ||
{{ submit_button('Create') }} | ||
</div> | ||
</div> | ||
</form> | ||
|
||
<h1>Roles</h1> | ||
<table class="data-table"> | ||
<thead> | ||
<tr> | ||
<th>ID</th> | ||
<th>Name</th> | ||
</tr> | ||
</thead> | ||
<tbody> | ||
{% for role in roles %} | ||
<tr> | ||
<td class="numeric-cell">{{ role['id'] }}</td> | ||
<td>{{ role['name'] }}</td> | ||
</tr> | ||
{% endfor %} | ||
</tbody> | ||
</table> | ||
<br /> | ||
|
||
<h1 class='text-2xl font-light mb-4'>Roles</h1> | ||
<table class='table-auto w-64'> | ||
<thead> | ||
<tr> | ||
<th class='h-12 bg-slate-200 text-center font-light rounded-tl pl-2'>ID</th> | ||
<th class='h-12 bg-slate-200 text-center font-light rounded-tr pr-2'>Name</th> | ||
</tr> | ||
</thead> | ||
<tbody class='border border-collapse border-slate-50'> | ||
{% for role in roles %} | ||
<tr> | ||
<td class='text-center'>{{ role['id'] }}</td> | ||
<td class='text-center'>{{ role['name'] }}</td> | ||
</tr> | ||
{% endfor %} | ||
</tbody> | ||
</table> | ||
{% endblock %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,26 @@ | ||
{% from "utils.html" import submit_button %} | ||
{% extends "layout.html" %} | ||
{% block title %}User{% endblock %} | ||
{% block content %} | ||
<div id="profile" class="vcentered"> | ||
<h1>{{ userdata['username'] }}</h1> | ||
{% if cloud == "gcp" %} | ||
<p><b>Google Service Account: </b>{{ userdata['display_name'] }}</p> | ||
{% endif %} | ||
{% if cloud == "azure" %} | ||
<p><b>Azure Service Principal Display Name: </b>{{ userdata['display_name'] }}</p> | ||
<p><b>Azure Service Principal Application ID: </b>{{ userdata['hail_identity'] }}</p> | ||
{% endif %} | ||
<p><b>Trial Billing Project: </b>{{ userdata['trial_bp_name'] }}</p> | ||
<form action="{{ auth_base_url }}/copy-paste-token" method="post"> | ||
<input type="hidden" name="_csrf" value="{{ csrf_token }}"/> | ||
<button class="nb-create">Get a copy-paste login token</button> | ||
</form> | ||
<p> | ||
<b>Notice:</b> The Hail system records your email address and IP address. Your email address | ||
is recorded so that we can authenticate you. Your IP address is tracked as part of our | ||
surveillance of all traffic to and from the Hail system. This broad surveillance enables the | ||
protection of the Hail system from malicious actors. | ||
</p> | ||
</div> | ||
<div id="profile" class="vcentered space-y-2"> | ||
<h1 class='text-4xl mb-4'>{{ userdata['username'] }}</h1> | ||
{% if cloud == "gcp" %} | ||
<p><b>Google Service Account: </b>{{ userdata['display_name'] }}</p> | ||
{% endif %} | ||
{% if cloud == "azure" %} | ||
<p><b>Azure Service Principal Display Name: </b>{{ userdata['display_name'] }}</p> | ||
<p><b>Azure Service Principal Application ID: </b>{{ userdata['hail_identity'] }}</p> | ||
{% endif %} | ||
<p><b>Trial Billing Project: </b>{{ userdata['trial_bp_name'] }}</p> | ||
<form action="{{ auth_base_url }}/copy-paste-token" method="post"> | ||
<input type="hidden" name="_csrf" value="{{ csrf_token }}" /> | ||
{{ submit_button('Get a copy-paste login token') }} | ||
</form> | ||
<p> | ||
<b>Notice:</b> The Hail system records your email address and IP address. Your email address | ||
is recorded so that we can authenticate you. Your IP address is tracked as part of our | ||
surveillance of all traffic to and from the Hail system. This broad surveillance enables the | ||
protection of the Hail system from malicious actors. | ||
</p> | ||
</div> | ||
{% endblock %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,53 +1,85 @@ | ||
{% from "utils.html" import submit_button, danger_button, success_check, fail_cross %} | ||
{% extends "layout.html" %} | ||
{% block title %}Users{% endblock %} | ||
{% block content %} | ||
<h1>Create User</h1> | ||
<form action="{{ base_path }}/users" method="POST"> | ||
<div>Username: <input required name="username" /></div> | ||
<div>Login ID: <input name="login_id" /></div> | ||
<div><input type="checkbox" name="is_developer" value="1" /> Developer</div> | ||
<div><input type="checkbox" name="is_service_account" value="1" /> Service Account</div> | ||
<input type="hidden" name="_csrf" value="{{ csrf_token }}"/> | ||
<button> | ||
Create | ||
</button> | ||
</form> | ||
|
||
<h1>Delete User</h1> | ||
<form action="{{ base_path }}/users/delete" method="POST"> | ||
<div>User ID: <input name="id" /></div> | ||
<div>Username: <input name="username" /></div> | ||
<input type="hidden" name="_csrf" value="{{ csrf_token }}"/> | ||
<button class="dangerous"> | ||
Delete | ||
</button> | ||
</form> | ||
{% macro check_or_cross(b) %} | ||
{% if b %} | ||
{{ success_check() }} | ||
{% else %} | ||
{{ fail_cross() }} | ||
{% endif %} | ||
{% endmacro %} | ||
|
||
{% block content %} | ||
<div class='w-full md:w-2/5 flex flex-col md:flex-row md:space-x-16 justify-between'> | ||
<div> | ||
<h1 class='text-2xl font-light mb-4'>Create User</h1> | ||
<form action="{{ base_path }}/users" method="POST"> | ||
<div class='flex-col space-y-2'> | ||
<div class='flex justify-between space-x-4'> | ||
<span>Username</span> | ||
<input class='border rounded-sm p-1 text-sm' required name="username" /> | ||
</div> | ||
<div class='flex justify-between space-x-4'> | ||
<span>Login ID</span> | ||
<input class='border rounded-sm p-1 text-sm' name="login_id" /> | ||
</div> | ||
<div><input type="checkbox" name="is_developer" value="1" /> Developer</div> | ||
<div><input type="checkbox" name="is_service_account" value="1" /> Service Account</div> | ||
<input type="hidden" name="_csrf" value="{{ csrf_token }}" /> | ||
<div class='flex justify-end'> | ||
{{ submit_button('Create') }} | ||
</div> | ||
</div> | ||
</form> | ||
</div> | ||
<div> | ||
<h1 class='text-2xl font-light mb-4'>Delete User</h1> | ||
<form action="{{ base_path }}/users/delete" method="POST"> | ||
<div class='flex-col space-y-2'> | ||
<div class='flex justify-between space-x-4'> | ||
<span>User ID</span> | ||
<input class='border rounded-sm p-1 text-sm' required name="id" /> | ||
</div> | ||
<div class='flex justify-between space-x-4'> | ||
<span>Username</span> | ||
<input class='border rounded-sm p-1 text-sm' required name="username" /> | ||
</div> | ||
<input type="hidden" name="_csrf" value="{{ csrf_token }}" /> | ||
<div class='flex justify-end'> | ||
{{ danger_button('Delete') }} | ||
</div> | ||
</div> | ||
</form> | ||
</div> | ||
</div> | ||
|
||
<h1>Users</h1> | ||
<table class="data-table"> | ||
<thead> | ||
<tr> | ||
<th>ID</th> | ||
<th>Username</th> | ||
<th>Login ID</th> | ||
<th>Hail Identity</th> | ||
<th>State</th> | ||
<th>Developer</th> | ||
<th>Robot</th> | ||
</tr> | ||
</thead> | ||
<tbody> | ||
{% for user in users %} | ||
<tr> | ||
<td class="numeric-cell">{{ user['id'] }}</td> | ||
<td>{{ user['username'] }}</td> | ||
<td>{{ user['login_id'] }}</td> | ||
<td>{{ user['hail_identity'] }}</td> | ||
<td>{{ user['state'] }}</td> | ||
<td class="numeric-cell">{{ user['is_developer'] }}</td> | ||
<td class="numeric-cell">{{ user['is_service_account'] }}</td> | ||
</tr> | ||
{% endfor %} | ||
</tbody> | ||
</table> | ||
<br /> | ||
<h1 class='text-2xl font-light mb-4'>Users</h1> | ||
<table class="table-auto w-full"> | ||
<thead> | ||
<tr> | ||
<th class='h-12 bg-slate-200 font-light rounded-tl pl-2'>ID</th> | ||
<th class='h-12 bg-slate-200 font-light text-left'>Username</th> | ||
<th class='h-12 bg-slate-200 font-light text-left'>Login ID</th> | ||
<th class='h-12 bg-slate-200 font-light text-left'>Hail Identity</th> | ||
<th class='h-12 bg-slate-200 font-light text-left'>State</th> | ||
<th class='h-12 bg-slate-200 font-light'>Developer</th> | ||
<th class='h-12 bg-slate-200 font-light rounded-tr pr-2'>Robot</th> | ||
</tr> | ||
</thead> | ||
<tbody class='border border-collapse border-slate-50'> | ||
{% for user in users %} | ||
<tr class='border border-collapse hover:bg-slate-100 font-light'> | ||
<td class='text-center'>{{ user['id'] }}</td> | ||
<td>{{ user['username'] }}</td> | ||
<td>{{ user['login_id'] }}</td> | ||
<td>{{ user['hail_identity'] }}</td> | ||
<td>{{ user['state'] }}</td> | ||
<td class='text-center'>{{ check_or_cross(user['is_developer']) }}</td> | ||
<td class='text-center'>{{ check_or_cross(user['is_service_account']) }}</td> | ||
</tr> | ||
{% endfor %} | ||
</tbody> | ||
</table> | ||
{% endblock %} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.