AgeCommit message (Collapse)Author
2020-04-14Simplify furtherHEADmasterBen Burwell
2020-04-13SimplifyBen Burwell
2019-07-08Fix revocations query and UINiall Sheridan
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
2019-07-08use drone to buildNiall Sheridan
2019-07-08Use the box & path to packed migrationsNiall Sheridan
2019-07-07Statically link cashierd with C libsNiall Sheridan
2019-07-07Switch to modulesNiall Sheridan
2019-07-03Use the static container imageNiall Sheridan
This includes ca-certs in the docker image Fixes #82
2018-10-21Gitlab auth issue (#79)Kevin Lyda
* Fix the gitlab oauth issue. * Update for gitlab 11.1+ Versions beyond 11.1 (and possibly a few releases before) use a different method for delivering tokens. They also have disabled version 3 of the api. These changes address that and add a debugging mode for the server that make it easier to debug issues like this in the future. * Cleanup of PR. Updated README. Removed code duplication.
2018-08-25Add codecov.ioNiall Sheridan
Split runs into lint/test Remove go 1.9 - coverage does not work with `./...` and go 1.9
2018-08-251.11 is outNiall Sheridan
2018-08-24Update depsNiall Sheridan
2018-08-23Update go versionsNiall Sheridan
2018-08-23Record request reason in the db instead of loggingNiall Sheridan
2018-08-22Make all handlers methods of appNiall Sheridan
Merge server setup and helpers from web.go into server.go Handlers moved to handlers.go
2018-08-20Small updatesNiall Sheridan
- Test against 1.11 rc - Set timeouts on the http client - Use gofmt instead of goimports
2018-08-20Remove authprovider.SessionNiall Sheridan
2018-08-10Add version stringNiall Sheridan
Add `lib.Version` to get updated at build time. Add --version flags to cashier and cashierd Send client version in the signing request Send server version in http response headers and in signing response Set version at build time
2018-08-10Add Microsoft auth providerKevin Lyda
Microsoft uses JSON Web Tokens (JWT) as OAuth tokens. These can run to many thousands of characters which are too long for TTYs. Work around this by base64-encoding the token and chunk it into smaller pieces. Closes #70
2018-08-10Fix LetsEncrypt supportNiall Sheridan
2018-08-10Mention `require_reason` in config & READMEv1.1.0Niall Sheridan
2018-08-09Only request a reason from the client if the server requires itNiall Sheridan
2018-08-09Remove gRPCNiall Sheridan
This hasn't been enabled in a while due to gRPC limitations
2018-08-08Correct client behaviours for option handlingNiall Sheridan
A config file is not required - don't error if one doesn't exist. Don't overwrite default options with an empty string.
2018-08-08Misc fixesNiall Sheridan
- 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 -
2018-08-08Change the primary key on the issued_certs tableNiall Sheridan
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.
2018-08-07Drop unneeded index idx_revoked_expires_atNiall Sheridan
2018-08-07Add a tool to create empty migrationsNiall Sheridan
2018-08-07Add migrations testsNiall Sheridan
2018-08-07Updates to static content generation, docs and examplesNiall Sheridan
Static content generator finds the root of the git repo and executes from there. Packr will scan subdirs for boxes to be packed.
2018-08-07Move StringSlice into the store packageNiall Sheridan
2018-08-07Unexport store implementationsNiall Sheridan
Return an error if the store isn't known, instead of defaulting to a mem store
2018-08-07Remove obsolete db seed scriptNiall Sheridan
2018-08-07Manage db schema with rubenv/sql-migrateNiall Sheridan
It's currently hard to make changes to the database schema. Use sql-migrate to make incremental changes. Stop hard-coding the database name (the default is still "certs" for backward-compatibility) The `automigrate()` function will automatically run pending migrations. Use a different migration directory per database driver. This carries a cost of duplication, but is easier than creating migrations which will cleanly execute in both SQLite and MySQL. Migrations are shipped using the packr utility.
2018-08-07Use multi-stage build with current Go versionNiall Sheridan
2018-08-06Makefile and README fixesNiall Sheridan
Makefile: - Use goimports to format - Regenerate static files - Check that the git branch is clean README: - Remove section on Docker. To be re-added. - Link to releases
2018-08-06Error if the git client isn't cleanNiall Sheridan
2018-08-05Test against 1.11 beta3Niall Sheridan
2018-08-01Switch to a MakefileNiall Sheridan
2018-08-01Migrate from esc to packr for static filesNiall Sheridan
2018-06-20Update versionsv1.0.0Niall Sheridan
2018-06-20use mysql.NewConfig() to set defaults correctlyNiall Sheridan
2018-06-20Update dependenciesNiall Sheridan
2017-10-19Warn when not using a persistent datastoreNiall Sheridan
2017-10-19Move database config to the server sectionNiall Sheridan
2017-10-18allow whitespace in message (#68)Bob Long
2017-10-18Update Go versionNiall Sheridan
2017-10-18Update dependenciesNiall Sheridan
2017-10-17 Support a message to be passed and logged from client to server (#67)Bob Long
* Support a message to be passed and logged from client to server
2017-08-14Use bold textNiall Sheridan