<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cashier/server, branch v1.1.0</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>Only request a reason from the client if the server requires it</title>
<updated>2018-08-09T22:55:14+00:00</updated>
<author>
<name>Niall Sheridan</name>
<email>nsheridan@gmail.com</email>
</author>
<published>2018-08-09T19:47:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/cashier/commit/?id=d21fac6f190c1079ca247658530d465ad5867ff5'/>
<id>d21fac6f190c1079ca247658530d465ad5867ff5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove gRPC</title>
<updated>2018-08-09T22:43:59+00:00</updated>
<author>
<name>Niall Sheridan</name>
<email>nsheridan@gmail.com</email>
</author>
<published>2018-08-09T22:29:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/cashier/commit/?id=347c11ec42264c579eb3f19494e4f75ab8bb8f0d'/>
<id>347c11ec42264c579eb3f19494e4f75ab8bb8f0d</id>
<content type='text'>
This hasn't been enabled in a while due to gRPC limitations
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This hasn't been enabled in a while due to gRPC limitations
</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>
<entry>
<title>Move StringSlice into the store package</title>
<updated>2018-08-07T14:43:39+00:00</updated>
<author>
<name>Niall Sheridan</name>
<email>nsheridan@gmail.com</email>
</author>
<published>2018-08-05T23:25:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/cashier/commit/?id=d0e5f62cf27d3e5c81385342c63d9f42c2eb7e2f'/>
<id>d0e5f62cf27d3e5c81385342c63d9f42c2eb7e2f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Unexport store implementations</title>
<updated>2018-08-07T14:43:39+00:00</updated>
<author>
<name>Niall Sheridan</name>
<email>nsheridan@gmail.com</email>
</author>
<published>2018-08-05T23:21:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/cashier/commit/?id=4f2385db4b3d4171fff841594f8c591703e84b0f'/>
<id>4f2385db4b3d4171fff841594f8c591703e84b0f</id>
<content type='text'>
Return an error if the store isn't known, instead of defaulting to a mem store
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Return an error if the store isn't known, instead of defaulting to a mem store
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove obsolete db seed script</title>
<updated>2018-08-07T14:43:39+00:00</updated>
<author>
<name>Niall Sheridan</name>
<email>nsheridan@gmail.com</email>
</author>
<published>2018-08-05T22:40:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/cashier/commit/?id=162efe8828ce1c2828206e5050a2c0c175265d70'/>
<id>162efe8828ce1c2828206e5050a2c0c175265d70</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
