orbitalci / orbital

Orbital is a self-hosted CI system for solo/small consulting dev teams. Written in Rust.
GNU General Public License v3.0
29 stars 2 forks source link

Db support #238

Closed tjtelan closed 4 years ago

tjtelan commented 4 years ago

Pretty big merge, but afterwards will be published to crates.io as orb-0.1.0-alpha.1

Fixes #25 - orb repo remove - We can delete a repo from the database now Fixes #73 - orb secret list - We can list all secrets by key now Fixes #124 - orb --version returns the crate version number Closes #155 - No longer supporting the PREFLIGHT build stage Fixes #157 - Errors in the config file will fail validation on the client-side, so builds won't start Fixes #183 - We use the url crate to validate hostnames/IPs Fixes #184 - orb secret remove will delete any secrets now. Currently no defensive checks. We're also not supporting repos via their provider secrets in this next release. Closes #188 - We don't have this problem at the moment with the collapse into a single-binary Fixes #192 - There is a secret keyword in orb.yml that will result in loading the specified secret. Closes #193 - We don't have special logic between Bitbucket/Github, but we've fixed how we handle this with some client-side repo validation Closes #194 - No longer supporting this workflow Closes #195 - No longer supporting. We're only supporting SSH key or basic auth workflows for now Closes #201 - Not supporting polling, nor are we using NSQ in this next release Closes #204 - No longer supporting the codebase w/ this issue. Fixes #205 - User info is currently in DB, but Vault handles secrets, while the DB holds path references into vault. Fixes #209 - We always convert between protobuf generated code to structs that we use w/ Diesel for DB interactions. Closes #210 - No supporting this right now. Closes #212 - We removed Consul interactions for the moment to focus on single-node stability Fixes #213 - timeouts are specifiable in orb.yml Closes #218 - No longer supporting this magical workflow Fixes #219 - Diesel so far has been handling the updates and the updates seem to be accurate so far as a single-node. Closes #220 - Polling repo workflows are removed for now Fixes #224 - A lot of attention was paid towards not taking too sharp of DB query shortcuts when building the same git hash multiple times such that we can easily get info for any particular duplicate run via build id. Closes #237 - Uncommitted orb.yml can be uploaded per-build. Experimental. Lastly, finally fixes #214 - New storage api. New client async-compatible patterns for how we store and retrieve all persistent data.

I think this will be the PR that deletes the legacy code, since it will no longer be applicable. And there is no userbase.