Directories
¶
| Path | Synopsis |
|---|---|
|
adapters
|
|
|
github
Package github is Octomaton's code host: it authenticates as the Octomaton GitHub App, implements ci.CodeHost over GitHub's REST API (a report is a check run, carrying its trigger in a hidden marker) and decodes webhook deliveries into ci.Events.
|
Package github is Octomaton's code host: it authenticates as the Octomaton GitHub App, implements ci.CodeHost over GitHub's REST API (a report is a check run, carrying its trigger in a hidden marker) and decodes webhook deliveries into ci.Events. |
|
github/githubtest
Package githubtest provides an in-process fake of the GitHub REST endpoints Octomaton uses, for tests.
|
Package githubtest provides an in-process fake of the GitHub REST endpoints Octomaton uses, for tests. |
|
http
Package http serves Octomaton's endpoints: GitHub's webhook deliveries and the Kubernetes probes.
|
Package http serves Octomaton's endpoints: GitHub's webhook deliveries and the Kubernetes probes. |
|
kube
Package kube connects to the Kubernetes API server.
|
Package kube connects to the Kubernetes API server. |
|
leader
Package leader elects, through a Lease, the one replica that runs the jobs only one replica may run at a time.
|
Package leader elects, through a Lease, the one replica that runs the jobs only one replica may run at a time. |
|
logs
Package logs serves the logs of CI containers from Cloud Logging to the Tekton Dashboard, which asks for them when it can't read a step's log from its pod: the cluster autoscaler deletes an empty CI node, its pods with it, and GKE has shipped every container's output to Cloud Logging.
|
Package logs serves the logs of CI containers from Cloud Logging to the Tekton Dashboard, which asks for them when it can't read a step's log from its pod: the cluster autoscaler deletes an empty CI node, its pods with it, and GKE has shipped every container's output to Cloud Logging. |
|
relay
Package relay forwards verified webhook deliveries, unchanged, to other receivers (for example Argo CD's webhook endpoint), asynchronously.
|
Package relay forwards verified webhook deliveries, unchanged, to other receivers (for example Argo CD's webhook endpoint), asynchronously. |
|
tekton
Package tekton is Octomaton's runner: Runner implements ci.Runner over Tekton PipelineRuns in the repositories' namespaces.
|
Package tekton is Octomaton's runner: Runner implements ci.Runner over Tekton PipelineRuns in the repositories' namespaces. |
|
services
|
|
|
ci
Package ci is Octomaton's vocabulary: the terms services and adapters share (repositories, triggers, events, runs, reports) and the ports adapters implement (CodeHost for GitHub, Runner for Tekton).
|
Package ci is Octomaton's vocabulary: the terms services and adapters share (repositories, triggers, events, runs, reports) and the ports adapters implement (CodeHost for GitHub, Runner for Tekton). |
|
ci/citest
Package citest holds in-memory implementations of the ci ports for services' tests: a code host that stores files, pull requests and reports, and a runner whose runs tests move along by hand.
|
Package citest holds in-memory implementations of the ci ports for services' tests: a code host that stores files, pull requests and reports, and a runner whose runs tests move along by hand. |
|
lint
Package lint validates a .octomaton.yaml and the pipeline definitions it names the way Octomaton would at run time, without a code host or a cluster: schema, globs, templates rendered for each triggering event, and each definition rendered as the runner would create it.
|
Package lint validates a .octomaton.yaml and the pipeline definitions it names the way Octomaton would at run time, without a code host or a cluster: schema, globs, templates rendered for each triggering event, and each definition rendered as the runner would create it. |
|
pipelines
Package pipelines reads .octomaton.yaml, the only file Octomaton reads from a repository besides the pipeline definitions it names: its schema and validation, which pipelines an event triggers, and the Go templates of params and concurrency groups over the documented template context.
|
Package pipelines reads .octomaton.yaml, the only file Octomaton reads from a repository besides the pipeline definitions it names: its schema and validation, which pipelines an event triggers, and the Go templates of params and concurrency groups over the documented template context. |
|
reports
Package reports mirrors runs onto the code host: a run's report goes in progress when the run starts, shows a task table while it runs, and completes with the run's conclusion; each task's report follows its task; a comment command is answered.
|
Package reports mirrors runs onto the code host: a run's report goes in progress when the run starts, shows a task table while it runs, and completes with the run's conclusion; each task's report follows its task; a comment command is answered. |
|
runs
Package runs turns events into runs: it reads .octomaton.yaml for a trigger, starts the pipelines it matches (weighing changed paths), lets runs go per their concurrency policy, re-runs reports, and runs pull request comment commands.
|
Package runs turns events into runs: it reads .octomaton.yaml for a trigger, starts the pipelines it matches (weighing changed paths), lets runs go per their concurrency policy, re-runs reports, and runs pull request comment commands. |
|
schedules
Package schedules fires the schedule triggers of every repository the App serves: each slot of a pipeline's cron schedule starts one run at the head of the repository's default branch.
|
Package schedules fires the schedule triggers of every repository the App serves: each slot of a pipeline's cron schedule starts one run at the head of the repository's default branch. |
|
upkeep
Package upkeep keeps runs' surroundings in order: it refreshes the code-host tokens of live runs before they expire, and frees what finished runs no longer need.
|
Package upkeep keeps runs' surroundings in order: it refreshes the code-host tokens of live runs before they expire, and frees what finished runs no longer need. |
|
system
|
|
|
buildinfo
Package buildinfo reports the version Octomaton was built as.
|
Package buildinfo reports the version Octomaton was built as. |
|
config
Package config loads and validates Octomaton's server configuration, and octomaton-logs' (Logs).
|
Package config loads and validates Octomaton's server configuration, and octomaton-logs' (Logs). |
|
metrics
Package metrics records Octomaton's metrics through OpenTelemetry.
|
Package metrics records Octomaton's metrics through OpenTelemetry. |
|
metrics/metricstest
Package metricstest records Octomaton's metrics in memory so tests can read them.
|
Package metricstest records Octomaton's metrics in memory so tests can read them. |
|
telemetry
Package telemetry sets up Octomaton's logs, metrics and traces.
|
Package telemetry sets up Octomaton's logs, metrics and traces. |
Click to show internal directories.
Click to hide internal directories.