We've run Drydock in production for this host for 2-3 months now without running into issues. While parts of it (particularly some UI components) are still rough, we have substantial evidence that it works as designed.
We have customer interest in deploying it in the Phacility cluster, in a "bring your own hosts" configuration like the one we use in the upstream. Specifically, customers would do this:
- Launch their own build hosts somewhere (e.g., in EC2, or a proprietary datacenter, or a closet in their office).
- Configure an Almanac service pool pointing at the hosts they've brought up.
- Drydock now runs builds on the third-party hardware.
This is currently not possible because Drydock is still a prototype. There are no real technical blockers within Drydock preventing this from happening, but there are some other blockers elsewhere. Here's a rough pathway toward support:
**Stuff Already in Pipeline**: We have some work already in the pipeline that I want to complete before pursuing this. Notably:
- Subprojects/milestones in projects (see T10010, etc).
- Completing work in Diffusion to make callsigns optional (see T4245).
**Almanac**: To specify bring-your-own-hosts, instance administrators need to interact with Almanac. Almanac is also currently a prototype. Unprototyping Almanac creates some problems in the cluster because also we use Almanac to configure instances, and it's important that instances not be able to interact with Almanac in a way that allows them to destroy themselves. In particular:
- The ability to create cluster services needs to be permanently unavailable on instances.
- Almanac networks need to be lockable and the `*.phacility.net` namespace needs to be lockable (see discussion in T6741).
- We should fix outstanding issues with Almanac:
I don't think any of this is particularly difficult, but we definitely have to do the lock stuff before we can move forward.
**Drydock**: Drydock is probably OK to unprototype more or less in its current state, with appropriate caveats. One issue is that we should get rid of all the defunct Habormaster build plans first, but this is minor.
**Harbormaster**: I think the biggest stumbling block for replacing something like CircleCI with Harbormaster + Drydock may ultimately just be UI roughness in Harbormaster. This stuff isn't trivial, but can be improved by leaps and bounds in a relatively small amount of effort.