cmd/

directory
v0.0.0-...-ce3d181 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 8, 2019 License: Apache-2.0

README

Prow Images

This directory includes a sub directory for every Prow component and is where all binary and container images are built. You can find the main packages here in addition to the BUILD.bazel files that contain Bazel rules for building binary and container images. For details about building the binaries and images see build_test_update.md.

Cluster Components

Prow has a microservice architecture implemented as a collection of container images that run as Kubernetes deployments. A brief description of each service component is provided here.

Core Components
  • hook is the most important piece. It is a stateless server that listens for GitHub webhooks and dispatches them to the appropriate plugins. Hook's plugins are used to trigger jobs, implement 'slash' commands, post to Slack, and more. See the prow/plugins directory for more information on plugins.
  • plank is the controller that manages the job execution and lifecycle for jobs that run in k8s pods.
  • deck presents a nice view of recent jobs, command and plugin help information, the status of merge automation, and a dashboard for PR authors.
  • horologium triggers periodic jobs when necessary.
  • sinker cleans up old jobs and pods.
Merge Automation
  • tide manages retesting and merging PRs once they meet the configured merge criteria. See its README for more information.
Auxiliary Components

Hopefully you won't need any of these components...

  • jenkins-operator is the controller that manages jobs that run on Jenkins. We moved away from using this component in favor of running all jobs on Kubernetes.
  • tot vends sequential build numbers. Tot is only necessary for integration with automation that expects sequential build numbers. If Tot is not used, Prow automatically generates build numbers that are monotonically increasing, but not sequential.
  • sub listen to Cloud Pub/Sub notification to trigger Prow Jobs.

Dev Tools

  • checkconfig loads and verifies the configuration, useful as a pre-submit.
  • mkpj creates ProwJobs using Prow configuration.
  • mkpod creates Pods from ProwJobs.
  • phony sends fake webhooks for testing hook and plugins.

Pod Utilities

These are small tools that are automatically added to ProwJob pods for jobs that request pod decoration. They are used to transparently provide source code cloning and upload of metadata, logs, and job artifacts to persistent storage. See their README for more information.

Base Images

The container images in images are used as base images for Prow components.

Directories

Path Synopsis
checkconfig loads configuration for Prow to validate it
checkconfig loads configuration for Prow to validate it
gcsupload uploads the files and folders specified to GCS using the Prow-defined job configuration
gcsupload uploads the files and folders specified to GCS using the Prow-defined job configuration
initupload parses the logs from the clonerefs container and determines if that container was successful or not.
initupload parses the logs from the clonerefs container and determines if that container was successful or not.
tot
Tot vends (rations) incrementing numbers for use in builds.
Tot vends (rations) incrementing numbers for use in builds.
fallbackcheck
fallbackcheck reports whether jobs in the provided prow deployment have fallback build numbers in GCS.
fallbackcheck reports whether jobs in the provided prow deployment have fallback build numbers in GCS.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL