Drydock Blueprints
Phabricator User Documentation (Application User Guides)

Overview of Drydock blueprint types.

Overview

IMPORTANT: Drydock is not a mature application and may be difficult to configure and use for now.

Drydock builds and manages various hardware and software resources, like hosts and repository working copies. Other applications can use these resources to perform useful work (like running tests or builds).

For additional discussion of Drydock, see Drydock User Guide.

Drydock can't create any resources until you configure it. You'll configure Drydock by creating Blueprints. Each blueprint tells Drydock how to build a specific kind of resource, how many it is allowed to build, where it should build them, who is authorized to request them, and so on.

You can create a new blueprint in Drydock from the web UI:

Drydock โ†’ Blueprints โ†’ New Blueprint

Each blueprint builds resources of a specific type, like hosts or repository working copies. Detailed topic guides are available for each resource type:

Hosts: Hosts are the building block for most other resources. For details, see Drydock Blueprints: Hosts.

Working Copies: Working copies allow Drydock to perform repository operations like running tests, performing builds, and handling merges.

Authorizing Access

Before objects in other applications can use a blueprint, the blueprint must authorize them.

This mostly serves to prevent users with limited access from executing operations on trusted hosts. For additional discussion, see Drydock User Guide: Security.

This also broadly prevents Drydock from surprising you by coming up with a valid but unintended solution to an allocation problem which runs some operation on resources that are technically suitable but not desirable. For example, you may not want your Android builds running on your iPhone build tier, even if there's no technical reason they can't.

You can review active authorizations and pending authorization requests in the "Active Authorizations" section of the blueprint detail screen.

To approve an authorization, click it and select Approve Authorization. Until you do, the requesting object won't be able to access resources from the blueprint.

You can also decline an authorization. This prevents use of resources and removes it from the authorization approval queue.

Disabling Blueprints

You can disable a blueprint by selecting Disable Blueprint from the blueprint detail screen.

Disabled blueprints will no longer be used for new allocations. However, existing resources will continue to function.

Next Steps

Continue by: