Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
billet
command
Command billet runs a self-hosted GitHub Actions runner platform.
|
Command billet runs a self-hosted GitHub Actions runner platform. |
|
Package deploy carries the service definitions billet ships — systemd units for Linux and launchd agents for macOS — embedded so a running binary can compare what a host actually has against what this build expects.
|
Package deploy carries the service definitions billet ships — systemd units for Linux and launchd agents for macOS — embedded so a running binary can compare what a host actually has against what this build expects. |
|
internal
|
|
|
alloc
Package alloc is billet's global capacity allocator.
|
Package alloc is billet's global capacity allocator. |
|
archivestore
Package archivestore puts a deployment archive somewhere other than the disk it protects, and fetches it back.
|
Package archivestore puts a deployment archive somewhere other than the disk it protects, and fetches it back. |
|
awscreds
Package awscreds resolves the AWS credentials billet signs requests with.
|
Package awscreds resolves the AWS credentials billet signs requests with. |
|
awsjson
Package awsjson is billet's client for AWS services that speak JSON 1.1.
|
Package awsjson is billet's client for AWS services that speak JSON 1.1. |
|
awspolicy
Package awspolicy assembles the least-privilege IAM policy an ec2 billet node (or the AMI builder) needs, from the action constants each owning package declares.
|
Package awspolicy assembles the least-privilege IAM policy an ec2 billet node (or the AMI builder) needs, from the action constants each owning package declares. |
|
awsquota
Package awsquota reads an AWS account's Service Quotas.
|
Package awsquota reads an AWS account's Service Quotas. |
|
awss3
Package awss3 reads what S3 said in the body of a refusal.
|
Package awss3 reads what S3 said in the body of a refusal. |
|
awssig
Package awssig signs AWS Signature Version 4 requests without an SDK dependency.
|
Package awssig signs AWS Signature Version 4 requests without an SDK dependency. |
|
awsssm
Package awsssm reads and writes AWS Systems Manager Parameter Store values.
|
Package awsssm reads and writes AWS Systems Manager Parameter Store values. |
|
awssts
Package awssts answers one question: which AWS account is this credential in.
|
Package awssts answers one question: which AWS account is this credential in. |
|
config
Package config defines billet's on-disk configuration and its validation rules.
|
Package config defines billet's on-disk configuration and its validation rules. |
|
deployarchive
Package deployarchive captures and restores a billet deployment as ONE unit.
|
Package deployarchive captures and restores a billet deployment as ONE unit. |
|
deploymentid
Package deploymentid validates the stable identity shared by a billet control plane and its nodes.
|
Package deploymentid validates the stable identity shared by a billet control plane and its nodes. |
|
durablefile
Package durablefile installs a file so that a power loss cannot leave anything else pointing at a name that is not there.
|
Package durablefile installs a file so that a power loss cannot leave anything else pointing at a name that is not there. |
|
fakeactions
Package fakeactions is a stand-in for GitHub's Actions service.
|
Package fakeactions is a stand-in for GitHub's Actions service. |
|
github
Package github talks to GitHub's App and Runner Scale Set APIs.
|
Package github talks to GitHub's App and Runner Scale Set APIs. |
|
guestassets
Package guestassets carries scripts installed into every managed runner image.
|
Package guestassets carries scripts installed into every managed runner image. |
|
hostupgrade
Package hostupgrade replaces billet on one machine, transactionally.
|
Package hostupgrade replaces billet on one machine, transactionally. |
|
imagesource
Package imagesource describes where a published guest image comes from and what has to be true about it before any of its bytes reach the cluster.
|
Package imagesource describes where a published guest image comes from and what has to be true about it before any of its bytes reach the cluster. |
|
importcheck
Package importcheck answers which non-test Go files in this module import a package.
|
Package importcheck answers which non-test Go files in this module import a package. |
|
initconfig
Package initconfig renders a runnable billet.yaml for `billet init`.
|
Package initconfig renders a runnable billet.yaml for `billet init`. |
|
lifeops
Package lifeops answers what a local billet deployment is actually doing.
|
Package lifeops answers what a local billet deployment is actually doing. |
|
lifeops/launchd
Package launchd drives macOS launch agents for billet's local lifecycle commands, as internal/lifeops drives systemd for Linux.
|
Package launchd drives macOS launch agents for billet's local lifecycle commands, as internal/lifeops drives systemd for Linux. |
|
node
Package node turns assigned leases into running compute.
|
Package node turns assigned leases into running compute. |
|
nodeapi
Package nodeapi is the wire between a control plane and a compute host.
|
Package nodeapi is the wire between a control plane and a compute host. |
|
nodeclient
Package nodeclient is a compute host's half of the node wire.
|
Package nodeclient is a compute host's half of the node wire. |
|
nodeplane
Package nodeplane is the control plane's half of the node wire.
|
Package nodeplane is the control plane's half of the node wire. |
|
provenance
Package provenance records which release manifest produced the billet that is installed on this machine, and proves the record still describes it.
|
Package provenance records which release manifest produced the billet that is installed on this machine, and proves the record still describes it. |
|
provider
Package provider launches and destroys the compute a job runs on.
|
Package provider launches and destroys the compute a job runs on. |
|
provider/codebuild
Package codebuild runs one AWS CodeBuild build per job.
|
Package codebuild runs one AWS CodeBuild build per job. |
|
provider/docker
Package docker runs jobs in containers.
|
Package docker runs jobs in containers. |
|
provider/ec2
Package ec2 launches one instance per job in a cloud region.
|
Package ec2 launches one instance per job in a cloud region. |
|
provider/firecracker
Package firecracker runs each job in its own microVM on bare metal.
|
Package firecracker runs each job in its own microVM on bare metal. |
|
provider/simulated
Package simulated is a compute backend that starts no compute.
|
Package simulated is a compute backend that starts no compute. |
|
provider/tart
Package tart runs macOS and Linux arm64 guests on Apple Silicon through the tart CLI (github.com/openai/tart).
|
Package tart runs macOS and Linux arm64 guests on Apple Silicon through the tart CLI (github.com/openai/tart). |
|
releasesource
Package releasesource describes what one billet release contains and what has to be true about it before any of its bytes replace a running binary.
|
Package releasesource describes what one billet release contains and what has to be true about it before any of its bytes replace a running binary. |
|
replay
Package replay drives a trace of job arrivals through the real control plane, node wire, node runtime and simulated backend at compressed time, and reads what billet recorded about each job back out of the ledger.
|
Package replay drives a trace of job arrivals through the real control plane, node wire, node runtime and simulated backend at compressed time, and reads what billet recorded about each job back out of the ledger. |
|
rollout
Package rollout is billet's durable fleet decision: one immutable target, and where every controller and node has got to on the way to it.
|
Package rollout is billet's durable fleet decision: one immutable target, and where every controller and node has got to on the way to it. |
|
runnerimages
Package runnerimages is what billet knows about GitHub's own runner image.
|
Package runnerimages is what billet knows about GitHub's own runner image. |
|
runnerrelease
Package runnerrelease says which actions/runner billet installs, and how close that is to being refused by GitHub.
|
Package runnerrelease says which actions/runner billet installs, and how close that is to being refused by GitHub. |
|
scaleset
Package scaleset is the ONLY place billet imports GitHub's scale-set client.
|
Package scaleset is the ONLY place billet imports GitHub's scale-set client. |
|
server
Package server is billet's control plane: the per-tier scale-set listeners and the scheduler that turns assigned jobs into launched instances.
|
Package server is billet's control plane: the per-tier scale-set listeners and the scheduler that turns assigned jobs into launched instances. |
|
state
Package state is billet's durable control-plane store.
|
Package state is billet's durable control-plane store. |
|
store
Package store defines the cache-volume contract shared by storage backends.
|
Package store defines the cache-volume contract shared by storage backends. |
|
store/ceph
Package ceph reaches the RBD pools a site keeps.
|
Package ceph reaches the RBD pools a site keeps. |
|
store/ebss3
Package ebss3 implements site-local cache generations with EBS snapshots and S3 state.
|
Package ebss3 implements site-local cache generations with EBS snapshots and S3 state. |
|
tfclass
Package tfclass reads a Terraform plan and says which of its changes billet's deployment has to be drained for.
|
Package tfclass reads a Terraform plan and says which of its changes billet's deployment has to be drained for. |
|
tfpolicy
Package tfpolicy has no runtime code.
|
Package tfpolicy has no runtime code. |
|
version
Package version reports which billet this is.
|
Package version reports which billet this is. |
|
wirecert
Package wirecert issues the certificates the node wire authenticates with.
|
Package wirecert issues the certificates the node wire authenticates with. |
|
wireshare
Package wireshare carries a deployment's node-wire authority between the controllers that share it.
|
Package wireshare carries a deployment's node-wire authority between the controllers that share it. |
|
wiring
Package wiring adapts the scale-set client to what the control plane and the node consume.
|
Package wiring adapts the scale-set client to what the control plane and the node consume. |
|
scripts
|
|
|
mkchannelstatement
command
Command mkchannelstatement writes one signed-channel pointer.
|
Command mkchannelstatement writes one signed-channel pointer. |
|
mkreleasemanifest
command
Command mkreleasemanifest writes the signed-release manifest for one tag.
|
Command mkreleasemanifest writes the signed-release manifest for one tag. |
|
tfclassify
command
tfclassify reads a Terraform plan and says which of its changes billet has to be drained for.
|
tfclassify reads a Terraform plan and says which of its changes billet has to be drained for. |
Click to show internal directories.
Click to hide internal directories.