<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cashier/server/store, branch master</title>
<subtitle>Mirror of Cashier, a SSH Certificate Authority (CA).
</subtitle>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/cashier/'/>
<entry>
<title>Simplify</title>
<updated>2020-04-14T03:57:13+00:00</updated>
<author>
<name>Ben Burwell</name>
<email>ben@benburwell.com</email>
</author>
<published>2020-04-14T03:57:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/cashier/commit/?id=2ce3b86e0ff69538935db3149d1ed2f24aea09a3'/>
<id>2ce3b86e0ff69538935db3149d1ed2f24aea09a3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix revocations query and UI</title>
<updated>2019-07-08T22:33:40+00:00</updated>
<author>
<name>Niall Sheridan</name>
<email>nsheridan@gmail.com</email>
</author>
<published>2019-07-08T22:15:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/cashier/commit/?id=8b1ee3e95010681d98d1b31af98f0ce0832cedd2'/>
<id>8b1ee3e95010681d98d1b31af98f0ce0832cedd2</id>
<content type='text'>
Use `Exec` rather than `Query` to update revoked status
`Query` works with MySQL but `Exec` is needed with sqlite
Test that the key is revoked

Correct column ordering
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use `Exec` rather than `Query` to update revoked status
`Query` works with MySQL but `Exec` is needed with sqlite
Test that the key is revoked

Correct column ordering
</pre>
</div>
</content>
</entry>
<entry>
<title>Use the box &amp; path to packed migrations</title>
<updated>2019-07-07T23:00:00+00:00</updated>
<author>
<name>Niall Sheridan</name>
<email>nsheridan@gmail.com</email>
</author>
<published>2019-07-07T23:00:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/cashier/commit/?id=284151a61c5f1b292d7d1fd424f899c0695ea157'/>
<id>284151a61c5f1b292d7d1fd424f899c0695ea157</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update deps</title>
<updated>2018-08-24T12:45:03+00:00</updated>
<author>
<name>Niall Sheridan</name>
<email>nsheridan@gmail.com</email>
</author>
<published>2018-08-23T21:51:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/cashier/commit/?id=f8e3dea19012ccf05965d10255789eec33c2ebcf'/>
<id>f8e3dea19012ccf05965d10255789eec33c2ebcf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Record request reason in the db instead of logging</title>
<updated>2018-08-23T21:29:46+00:00</updated>
<author>
<name>Niall Sheridan</name>
<email>nsheridan@gmail.com</email>
</author>
<published>2018-08-23T21:29:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/cashier/commit/?id=eb1184b284ea37cc31556e3598916ac9c3fa6939'/>
<id>eb1184b284ea37cc31556e3598916ac9c3fa6939</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Misc fixes</title>
<updated>2018-08-08T11:49:47+00:00</updated>
<author>
<name>Niall Sheridan</name>
<email>nsheridan@gmail.com</email>
</author>
<published>2018-08-08T10:24:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/cashier/commit/?id=12417f0dddf4be86aa5b9a4cb25bf48a4e301086'/>
<id>12417f0dddf4be86aa5b9a4cb25bf48a4e301086</id>
<content type='text'>
- Add `fast_finish` to travis config
- Specify that Go 1.9 is supported
- Additional error checking which was previously missed
- Make the migrations test better
-
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Add `fast_finish` to travis config
- Specify that Go 1.9 is supported
- Additional error checking which was previously missed
- Make the migrations test better
-
</pre>
</div>
</content>
</entry>
<entry>
<title>Change the primary key on the issued_certs table</title>
<updated>2018-08-07T23:12:49+00:00</updated>
<author>
<name>Niall Sheridan</name>
<email>nsheridan@gmail.com</email>
</author>
<published>2018-08-07T22:43:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/cashier/commit/?id=60d005f8d174d21162cab2b029f74cfe2925acab'/>
<id>60d005f8d174d21162cab2b029f74cfe2925acab</id>
<content type='text'>
In retrospect a primary key that has no relation to the certificate is preferred to using the certificate KeyID. The KeyID is also very large for a primary index.
This is a moderately tricky migration, especially for SQLite which has no means of altering the table in this fashion - it involves creating the new table and copying the data.
Order of commands also matters - index names are global in SQLite, so the `idx_expires_at` index needs to be created at the correct stages.

For MySQL migration the necessary steps are run as a single alter statement to minimise the risk of leaving the migration in an incomplete state if anything aborts.

When tested on a table with 250,000 rows (MySQL 5.7) the migration took 3 seconds to complete. As certificates will be requested infrequently the risk of prolonged locking is minimal.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In retrospect a primary key that has no relation to the certificate is preferred to using the certificate KeyID. The KeyID is also very large for a primary index.
This is a moderately tricky migration, especially for SQLite which has no means of altering the table in this fashion - it involves creating the new table and copying the data.
Order of commands also matters - index names are global in SQLite, so the `idx_expires_at` index needs to be created at the correct stages.

For MySQL migration the necessary steps are run as a single alter statement to minimise the risk of leaving the migration in an incomplete state if anything aborts.

When tested on a table with 250,000 rows (MySQL 5.7) the migration took 3 seconds to complete. As certificates will be requested infrequently the risk of prolonged locking is minimal.
</pre>
</div>
</content>
</entry>
<entry>
<title>Drop unneeded index idx_revoked_expires_at</title>
<updated>2018-08-07T22:55:40+00:00</updated>
<author>
<name>Niall Sheridan</name>
<email>nsheridan@gmail.com</email>
</author>
<published>2018-08-07T15:15:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/cashier/commit/?id=30c64cb3292f55231bc20c365c2fe5d06d6d2369'/>
<id>30c64cb3292f55231bc20c365c2fe5d06d6d2369</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add migrations tests</title>
<updated>2018-08-07T21:17:01+00:00</updated>
<author>
<name>Niall Sheridan</name>
<email>nsheridan@gmail.com</email>
</author>
<published>2018-08-07T21:08:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/cashier/commit/?id=b79648e0304dc5eb49b2f6f007e7ef750d729390'/>
<id>b79648e0304dc5eb49b2f6f007e7ef750d729390</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Updates to static content generation, docs and examples</title>
<updated>2018-08-07T14:43:39+00:00</updated>
<author>
<name>Niall Sheridan</name>
<email>nsheridan@gmail.com</email>
</author>
<published>2018-08-06T19:46:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/cashier/commit/?id=e3cdec27f6df33a9b89ff7141cd83ba64d1b9dad'/>
<id>e3cdec27f6df33a9b89ff7141cd83ba64d1b9dad</id>
<content type='text'>
Static content generator finds the root of the git repo and executes from there. Packr will scan subdirs for boxes to be packed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Static content generator finds the root of the git repo and executes from there. Packr will scan subdirs for boxes to be packed.
</pre>
</div>
</content>
</entry>
</feed>
