81451f888c
Render projects from the database and starting in on the Project page
2023-01-29 21:33:54 -08:00
641c774788
Checkpointing work plugging projects through to the home page
2023-01-29 20:56:12 -08:00
f7a3dc3e8d
Display the configured agents on the home page
2023-01-29 20:56:12 -08:00
fcdf259bb9
Refactor some of the work with Project to create them from the config
...
Forgot to commit this earlier before wrapping up the stream
2023-01-29 20:50:59 -08:00
c4df9ad3af
Create the projects records from the configuration to make the foreign keys all work
...
With this the database is ready to start creating records based on user behavior
2023-01-29 18:06:00 -08:00
7fc0902d4c
Add the projects table to keep track of the projects configured
2023-01-29 17:42:06 -08:00
09ed646c76
Implement some JANKY AF data access layers
...
Things I've learned today:
* The [sqlx
documentation](https://docs.rs/sqlx/0.6.2/sqlx/sqlite/types/index.html#uuid )
is *lying* about its `uuid` support. Basically `query_as!` does not
ser/deserialize `Uuid` properly in/out of Sqlite with `TEXT` _or_ `BLOB`
* There are [no useful
examples](https://github.com/launchbadge/sqlx/issues/1014 ) of doing nested
struct queries in sqlx at the moment
2023-01-29 17:28:40 -08:00
8c63bf6095
Preserve line-breaks for testing
2023-01-29 14:32:08 -08:00
3ecf9eef9e
Fix the yaml to be better yaml
2023-01-29 14:30:43 -08:00
dda839a50d
Add a multi-line command for testing
2023-01-29 14:23:43 -08:00
c0970ba7b7
Add tango icons
2023-01-28 22:48:42 -08:00
99aaa368da
Add bootstrap to start building out some nice views
2023-01-28 22:43:57 -08:00
e8507f5b5f
Add bootstrap 5.3.0-alpha1
2023-01-28 22:22:36 -08:00
705a7fffa9
Clean up some warnings from rustc
2023-01-28 22:14:45 -08:00
c256be98d8
List the configured projects on the home page
...
Calling this for the night, since the path to views for projects is pretty
straightforward, and will be easy to pick back up later and get into the swing
of things
2023-01-28 21:43:47 -08:00
ceb24a296a
Fetch capable agents and execute workloads on them
...
This makes the basic end-to-end example work. There's now a flow of the scripts
being pulled from the ci.janky.yml and executed on an agent with the right
capabilities
🎉
2023-01-28 21:33:26 -08:00
c386f34697
Eschew Jenkinsfile compatibility in favor of dumbass yaml for now
2023-01-28 20:42:37 -08:00
19126ed88b
Refactor the project configuration to take in a github configuration
...
This allows for fetching the Jankyfile directly via REST API so the server
doesn't have to do any Git work just yet
2023-01-28 20:33:20 -08:00
909dbe587d
Prototype fetching just the Jankyfile from GitHub for execution
2023-01-28 19:55:58 -08:00
6c9f7ab491
Add a simple Jankyfile for testing
2023-01-28 19:39:42 -08:00
05fb2d5889
Parse command and configuration file options for the server
...
This allows Janky to start setting up projects and agents
2023-01-28 19:36:20 -08:00
eea8fbf8a9
Refactored the work execution into its own task governed by a bounded channel
...
The bounded channel prevents too many things from trying to be executed, but at
the moment the API will not return a 409 unless there are *two* subsequent
requests while work is being done
2023-01-28 18:35:37 -08:00
433239f47d
Output the logs to the file and return the log URL to the server
2023-01-28 17:46:50 -08:00
b47b1943cd
Actually execute whatever commands the agent receives 😱
2023-01-28 17:08:53 -08:00
6d963464cf
Process the CommandRequest from the OpenAPI Spec in the execute handler
...
This is where the rubber starts to meet the road
2023-01-28 16:54:01 -08:00
cc8cc30b17
Define the /execute API in the agent spec
2023-01-28 16:47:53 -08:00
ed96899c6c
Some basic capabilities with a bungled trait implementation
...
I would like these traits to make this more dynamic or compact, but I don't have
the time to get it right today
2023-01-28 16:35:28 -08:00
5494a54483
Start implementing the API documentation and stubs for agent APIs
2023-01-28 15:43:29 -08:00
0e3f874870
Start in on implementing the OpenAPI for the agent side of the equation
2023-01-28 15:31:04 -08:00
59c01e0e34
cargo clippy --fix
2023-01-28 15:10:48 -08:00
bd33634d04
Add a simple Tide scaffold for the agent
2023-01-28 15:10:20 -08:00
bb154cb92a
Oops, re-commited the root main.rs
2023-01-28 15:05:50 -08:00
2789850f5b
Add multiple targets for server and agent, start implementing migrations
2023-01-28 15:05:05 -08:00
0a3b14b942
Add the SqlitePool to the AppState for Janky data storage
2023-01-28 14:49:02 -08:00
c736b2b5a2
Properly build with a root route
2023-01-28 14:34:58 -08:00
2d331c3db0
Add some scaffolding copied from dotdotvote
2023-01-28 14:33:40 -08:00
10af0c3335
Add a cargo init
skeleton
2023-01-27 11:21:30 -08:00
545b2405b7
Add a simple asciidoc README
2023-01-27 11:20:58 -08:00
00a82ef8fc
Initial commit
2023-01-27 10:48:50 -08:00