Get desktop application:
View/edit binary Protocol Buffers messages
Used in:
Actions are steps that are translated into Dockerfile line(s) (likely RUN steps). When choosing whether to implement a RUN as a `command` or as a new custom step added in this oneof below, consider that we don't need to add extra overhead for different types of commands, but it is useful in particular scenarios: 1. When the step is tough to get right: `apt install` of packages is an example - normally we do `apt install foo` on the commandline, but the best way in Dockerfiles is something like: * run apt with particular noninteractive environment vars * run apt update * add -y switch to apt install * clean up apt temp data when done ...which adds noise to each `apt install` line. In these cases, intent is best kept with a custom Action, letting the tool do the generation of the command. 2. When there are multiple ways to do it - adding apt repos is commonly done via `curl`ing some GPG key followed by writing to an apt repo list file - but where to store the key, curl flags, what list file (appending to the general file vs a dedicated file) varies. Having a custom action can ensure that there is one "right" way to enforce conventions. 3. Abstraction across multiple OS's (not yet seen with existing actions)
Run an arbitrary command
Install packages via apt. `apt update` is always run before this step, and cleanup of the apt cache is always performed afterwards.
Add an architecture to Debian/Ubuntu-based package managers TODO(bbhuynh): Consider removing dpkg_add_arch; it offers litte value over the verbatim command
Add an apt repo to a Debian/Ubuntu-based image
Add an apt PPA to a Debian/Ubuntu-based image TODO(bbhuynh): Consider removing apt_add_ppa; it offers litte value over the verbatim command
Add repos for centos-based images
Always perform a 'yum update' before installing packages and 'yum clean all' afterwards
Used in:
Unique name of the centos-based repository
URL to download the package
Tells yum whether to use this repo or not URL to the GPG security key
Used in:
Name of the PPA, with `ppa:` prefix omitted. Example: `git-core/ppa`
Add an apt repository. These are present in sources.list files in the format: deb [option=value option2=value1,value2] binary_url distribution component_1 component_2
Used in:
Name of the repository to add. This name should be unique across all apt repos added.
URL for binary package downloads.
Distribution that apt packages should be fetched for. This corresponds to a particular field of a sources.list entry (see above).
Optional list of components to fetch packages for. This corresponds to a particular set of fields of a sources.list entry (see above).
Optional list of options for this repository. This is typically used to specify e.g. architecture, and if present is located in square brackets in an Ubuntu sources.list entry. Signing key options will get added by the tool, and should not be added here.
If set, will download and install an apt signing key specific to this repository.
Used in:
Packages to install via apt
Used in:
Key of the repository option (example: `arch`)
Values for the option (example: `amd64`)
Used in:
Name of the apt key. Must be unique across all apt keys.
URL from which the key should be fetched.
Used in:
Name of the file in the container staging directory. Example: 'foo.txt' will be available for commands as `/astore/foo.txt`.
Path to the file in astore. This is not enforced, and is here to aid with documentation only.
UID of the file in astore.
Used in:
Command to run, as if put in a `RUN` directive in a Dockerfile
Used in:
Used in:
Architecture to add (e.g. "i386")
Used in:
ENV to set
Value to set
Repository for which the newly-built image should be tagged. The tag suffix is added via the command-line, not in this field. Example: gcr.io/devops-284019/my/image
Image on which this build is based. This should always be a full URL (so e.g. docker.io/library/ubuntu:tag instead of ubuntu:tag)
Files downloaded and made available at build-time inside the `/astore` directory. These files must be used by Actions below; `/astore` is removed at the end of the image build.
Build actions for this image, performed in-order.
Different distros use different tools to manage packages:
User UID and GID
Used in:
Untar a file under this directory
The name of the file to untar
Used in:
User ID to run as in the container during build-time. The default value is 0 which is the root user.
Group ID to run as in the container during build-time The default value is 0 which is the root group.
Used in:
Packages to install via yum
'yum localinstall' a list of downloaded *.rpm