Skip to content
This repository has been archived by the owner on Jul 25, 2022. It is now read-only.

Create Rust iml-state-machine #2024

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from
Draft

Create Rust iml-state-machine #2024

wants to merge 2 commits into from

Conversation

jgrund
Copy link
Member

@jgrund jgrund commented Jun 29, 2020

  • Use warp-drive Cache as a realtime singleton to get the current
    system state. This acts much the same way as the job_scheduler
    ObjectCache does but instead gets realtime updates from the db instead
    of needing to be notified of changes by other processes.
  • Use petgraph to build a graph consisting of State nodes and Edge
    edges. Edge is an enum that is either a Transition or a
    Dependency. Add some methods via an Extenstion trait to find
    transitions / shortest transition paths.
  • Create a Job trait that can either be invoked directly via a
    Command, or indirectly via a Transition.
  • Create a Steps struct that holds a list of free fns (much like
    action plugins). These steps are run serially within a job.
  • Refactor service address bindings to not coopt the nginx proxy host.
  • Add an input type for RecordIds
  • Add a http_client to the graphql context
  • Add graphql query and mutation for statemachine

Signed-off-by: Joe Grund jgrund@whamcloud.io


This change is Reviewable

@jgrund jgrund force-pushed the rust-state-machine branch from 508ecac to aa600ca Compare June 29, 2020 17:31
@jgrund jgrund force-pushed the rust-state-machine branch from a55733e to 12870dd Compare October 16, 2020 17:48
@jgrund jgrund force-pushed the rust-state-machine branch 6 times, most recently from 7689314 to a9f5687 Compare October 30, 2020 01:09
@jgrund jgrund changed the base branch from master to refactor-action-client October 30, 2020 01:13
@jgrund jgrund self-assigned this Oct 30, 2020
@jgrund jgrund force-pushed the rust-state-machine branch from a9f5687 to 927b6d5 Compare October 30, 2020 03:24
@jgrund jgrund force-pushed the refactor-action-client branch from 7cdb969 to 8fc798a Compare October 30, 2020 13:31
@jgrund jgrund force-pushed the rust-state-machine branch from 927b6d5 to 5b3ad12 Compare October 30, 2020 13:39
Base automatically changed from refactor-action-client to master October 30, 2020 19:23
- Use `warp-drive` `Cache` as a realtime singleton to get the current
system state. This acts much the same way as the `job_scheduler`
`ObjectCache` does but instead gets realtime updates from the db instead
of needing to be notified of changes by other processes.
- Use petgraph to build a graph consisting of `State` nodes and `Edge`
edges. `Edge` is an enum that is either a `Transition` or a
`Dependency`. Add some methods via an Extenstion trait to find
transitions / shortest transition paths.
- Create a `Job` trait that can either be invoked directly via a
`Command`, or indirectly via a `Transition`.
- Create a `Steps` struct that holds a list of free fns (much like
action plugins). These steps are run serially within a job.
- Refactor service address bindings to not coopt the nginx proxy host.
- Add an input type for `RecordId`s
- Add a http_client to the graphql context
- Add graphql query and mutation for statemachine

Signed-off-by: Joe Grund <jgrund@whamcloud.io>
@jgrund jgrund force-pushed the rust-state-machine branch from 5b3ad12 to 5aa7006 Compare November 13, 2020 20:33
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant