[ ] Affected Issues have been mentioned in the Closing issues section
[ ] Documentation has been written/updated
[ ] PR title is ready for inclusion in changelog
Database Migrations
[ ] If your PR contains a database migation, it MUST be the latest in date order alphabetically
The node package sshpk doesn't support all the various key types out there. The aim of this PR is to introduce a sidecar to required services that runs a simple http server that can replace the functionality of the sshpk package.
Each api and webhooks2tasks pod will get this sidecar so that they aren't reliant on a single service for this functionality, and as there is no state it doesn't need to be a single service and fits nicely as a sidecar.
It introduces new APIs to interact with user ssh keys that doesn't require the user to define the type independently. The input is just publicKey which can be the full ssh-ed25519 A....z format public key (including comment). The database table for the type is also converted from enum to string to support any new types, and since the older APIs had enum enforcement, that still applies for anyone that uses the older APIs.
The old APIs remain for now, but have been flagged as deprecated. They will be removed in a future release to give time for tooling and UI to be updated to use the newer APIs.
General Checklist
Database Migrations
The node package
sshpk
doesn't support all the various key types out there. The aim of this PR is to introduce a sidecar to required services that runs a simple http server that can replace the functionality of thesshpk
package.Each
api
andwebhooks2tasks
pod will get this sidecar so that they aren't reliant on a single service for this functionality, and as there is no state it doesn't need to be a single service and fits nicely as a sidecar.It introduces new APIs to interact with user ssh keys that doesn't require the user to define the type independently. The input is just
publicKey
which can be the fullssh-ed25519 A....z
format public key (including comment). The database table for the type is also converted fromenum
tostring
to support any new types, and since the older APIs had enum enforcement, that still applies for anyone that uses the older APIs.The old APIs remain for now, but have been flagged as deprecated. They will be removed in a future release to give time for tooling and UI to be updated to use the newer APIs.
New mutation examples
Add public key
Update public key
Delete public key
Closing issues
closes #2189 closes #1584 addresses #2384 by deprecating
deleteSshKey
which takes thename
input