aboutsummaryrefslogtreecommitdiff
path: root/server
AgeCommit message (Collapse)Author
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 the box & path to packed migrationsNiall Sheridan
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-24Update depsNiall 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-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-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-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 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-01Migrate from esc to packr for static filesNiall Sheridan
2018-06-20use mysql.NewConfig() to set defaults correctlyNiall Sheridan
2017-10-19Warn when not using a persistent datastoreNiall 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-06-17Disable grpc multiplexerNiall Sheridan
2017-06-17Set the textarea heightNiall Sheridan
2017-04-15Revoke multiple certs in a single callNiall Sheridan
2017-04-10enable race detectionNiall Sheridan
2017-04-10remove calls to t.Parallel()Niall Sheridan
2017-04-10update dependenciesNiall Sheridan
2017-04-10add a healthcheck handlerNiall Sheridan
2017-04-10obtain the username before revoking the tokenNiall Sheridan
2017-04-10Add comment for exported methodNiall Sheridan
2017-04-10override the json marshaller's time formatNiall Sheridan
2017-04-10fix behaviour of SQLStore.ListNiall Sheridan
2017-04-10Populate all fields during testNiall Sheridan
2017-02-20Split the servers out of mainNiall Sheridan
2017-02-19Add grpc signerNiall Sheridan
2017-02-12Initial pass at prometheus support. (#56)Kevin Lyda
2017-02-11Revert "Remove the oauth_callback_url config option"Niall Sheridan
2017-02-09Remove the oauth_callback_url config optionNiall Sheridan
Infer the redirect url from the request instead
2017-01-27Remove datastoreKevin Lyda
2017-01-27Remove DatastoreConversion testNiall Sheridan
It's going away
2017-01-27Remove mongo supportKevin Lyda
Resolves #40
2017-01-27Reduce the font sizeNiall Sheridan
Google tokens grew in length and on smaller screens the token doesn't fix within the visible textarea
2017-01-25Return a concrete typeNiall Sheridan
2017-01-25Remove newClient function (and calls).Kevin Lyda