Augustus Mayo
👤 PersonAppearances Over Time
Podcast Appearances
No, go ahead. I would say part of our goal with the RFD API was planned from the beginning to be open source. So part of it was also just sort of detangling from anything that was like oxide specific and trying to make it a more abstract system. The RFD site, I'll let Ben speak to that one, was I think more of a challenge.
No, go ahead. I would say part of our goal with the RFD API was planned from the beginning to be open source. So part of it was also just sort of detangling from anything that was like oxide specific and trying to make it a more abstract system. The RFD site, I'll let Ben speak to that one, was I think more of a challenge.
Yeah, in terms of the API, it's probably a decent place to start. It's also built on top of other Oxide stuff, like Dropshot and Progenitor. So there's a built-in CLI that you get out of it for free. which is really nice. But really, you just need a guess.
Yeah, in terms of the API, it's probably a decent place to start. It's also built on top of other Oxide stuff, like Dropshot and Progenitor. So there's a built-in CLI that you get out of it for free. which is really nice. But really, you just need a guess.
Yeah, so any shame, right? The end user doesn't see any of that, though. Oh, totally. Perfect technology. Internal shame.
Yeah, so any shame, right? The end user doesn't see any of that, though. Oh, totally. Perfect technology. Internal shame.
The only real assumption, it makes a couple assumptions maybe around, if you read RFD1, actually, is what a lot of this is modeled on top of. So it does make some assumptions about how we run RFDs, like what the states are, what they mean. But in theory, you can point this at a repo. I've been working on trying to getting a setup guide to be a little bit cleaner.
The only real assumption, it makes a couple assumptions maybe around, if you read RFD1, actually, is what a lot of this is modeled on top of. So it does make some assumptions about how we run RFDs, like what the states are, what they mean. But in theory, you can point this at a repo. I've been working on trying to getting a setup guide to be a little bit cleaner.
Benji ran this himself and sent me a whole bunch of really helpful notes on how painful it was. So there is some work to be done there. But it did make some assumptions around your using ASCII doctor, some of our use cases around mermaid diagrams that require some installation. Realistically, it should be pretty straightforward to run. And what you get out is essentially a nice database.
Benji ran this himself and sent me a whole bunch of really helpful notes on how painful it was. So there is some work to be done there. But it did make some assumptions around your using ASCII doctor, some of our use cases around mermaid diagrams that require some installation. Realistically, it should be pretty straightforward to run. And what you get out is essentially a nice database.
Technically, it runs on Postgres. So you have a nice Postgres database of all of your RFD contents that you can then really do whatever you want with. We happen to render them as an RFD site then.
Technically, it runs on Postgres. So you have a nice Postgres database of all of your RFD contents that you can then really do whatever you want with. We happen to render them as an RFD site then.
It's fairly coupled to that right now. Essentially, we have these... If I go into a little bit, so the processor works on this concept of jobs where we scan a repo or we accept webhooks from GitHub to generate jobs that are going to then look at a specific commit and look within that directory structure. So it's less coupled to the branching model and more coupled to the
It's fairly coupled to that right now. Essentially, we have these... If I go into a little bit, so the processor works on this concept of jobs where we scan a repo or we accept webhooks from GitHub to generate jobs that are going to then look at a specific commit and look within that directory structure. So it's less coupled to the branching model and more coupled to the
struct the document structure so we have a director that has rfds then you have a rfd number and then a rfd document uh outside of that you could write a separate scanner that you know looks at branches and does make some other determination to create a new job that says okay here's where my rfd is located i need you to go do some processing on it which and that processing then
struct the document structure so we have a director that has rfds then you have a rfd number and then a rfd document uh outside of that you could write a separate scanner that you know looks at branches and does make some other determination to create a new job that says okay here's where my rfd is located i need you to go do some processing on it which and that processing then
pulls that content down into the database. It'll do things like generating PRs if you need them. Like when a RFD goes into discussion, we generate a PR on the GitHub repo for people to start discussing it. Things like closing them out or updating things like idle states.
pulls that content down into the database. It'll do things like generating PRs if you need them. Like when a RFD goes into discussion, we generate a PR on the GitHub repo for people to start discussing it. Things like closing them out or updating things like idle states.
Yeah, I think, and especially from the machine side of it, it makes a lot of sense. And Benji mentioned this earlier of part of our goal is then how do we, as engineers, I think it's fairly comfortable. We use GitHub all the time. But how do we then bring that to everybody and make everybody comfortable with it? And I don't think the plan is to like
Yeah, I think, and especially from the machine side of it, it makes a lot of sense. And Benji mentioned this earlier of part of our goal is then how do we, as engineers, I think it's fairly comfortable. We use GitHub all the time. But how do we then bring that to everybody and make everybody comfortable with it? And I don't think the plan is to like