Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

puppet_docker_tools

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

puppet_docker_tools

  • 0.2.2
  • Rubygems
  • Socket score

Version published
Maintainers
2
Created
Source

puppet_docker_tools

Utilities for building and publishing the docker images at hub.docker.com/u/puppet

Usage

Getting Started

puppet_docker_tools is packaged as a gem, so to get started either gem install puppet_docker_tools or add gem 'puppet_docker_tools' to your Gemfile.

You also need to have docker installed and running. See these docs for more information on getting docker set up.

$ puppet-docker help
Utilities for building and releasing Puppet docker images.

Usage:
  puppet-docker build [DIRECTORY] [--dockerfile=<dockerfile>] [--repository=<repo>] [--namespace=<namespace>] [--no-cache] [--version=<version>] [--build-arg=<buildarg> ...] [--no-latest]
  puppet-docker lint [DIRECTORY] [--dockerfile=<dockerfile>]
  puppet-docker local-lint [DIRECTORY] [--dockerfile=<dockerfile>]
  puppet-docker pull [IMAGE] [--repository=<repo>]
  puppet-docker push [DIRECTORY] [--dockerfile=<dockerfile>] [--repository=<repo>] [--namespace=<namespace>] [--version=<version>] [--no-latest]
  puppet-docker rev-labels [DIRECTORY] [--dockerfile=<dockerfile>] [--namespace=<namespace>]
  puppet-docker spec [DIRECTORY] [--image=<image>]
  puppet-docker test [DIRECTORY] [--dockerfile=<dockerfile>]
  puppet-docker version [DIRECTORY] [--dockerfile=<dockerfile>] [--namespace=<namespace>]
  puppet-docker update-base-images [TAG]...
  puppet-docker help

Arguments:
  DIRECTORY  Directory containing the Dockerfile for the image you're operating on. Defaults to $PWD
  IMAGE      The docker image to operate on, including namespace. Defaults to '<repo>/puppet_docker_tools'
  TAG        Pull latest versions of images at TAG. Defaults to ['ubuntu:16.04', 'centos:7', 'alpine:3.4', 'debian:9', 'postgres:9.6.8']

Options:
  --repository=<repo>        Docker repository containing the image [default: puppet]
  --no-cache                 Disable use of layer cache when building this image. Defaults to using the cache.
  --namespace=<namespace>    Namespace for labels on the container [default: org.label-schema]
  --dockerfile=<dockerfile>  File name for your dockerfile [default: Dockerfile]
  --version=<version>        Version to build. This field will be used to determine the label and will be passed as the version build arg.
                             **NOTE** `--build-arg version='<version>'` overrides `--version <version>`
  --image=<image>            Docker image to use for spec testing
  --build-arg=<buildarg>     Build arg to pass to container build, can be passed multiple times.
  --no-latest                Do not include the 'latest' tag when building and shipping images. By default, the 'latest' tag is built and shipped with the versioned tag.

puppet-docker build

Build a docker image based on the dockerfile in DIRECTORY.

puppet-docker lint

Run hadolint on the dockerfile in DIRECTORY. The lint task runs on the hadolint/hadolint container with the following rule exclusions:

  • DL3008 - Pin versions in apt get install
  • DL3018 - Pin versions in apk install
  • DL4000 - MAINTAINER is deprecated
  • DL4001 - Don't use both wget and curl

puppet-docker local-lint

Run hadolint on the dockerfile in DIRECTORY. The lint task runs using a locally installed hadolint executable with the same rule exclusions as puppet-docker lint.

puppet-docker pull

Pull the specified image, i.e. 'puppet/puppetserver'. NOTE: If you don't include the tag you want to pull, puppet-docker pull will pull all tags for that image.

puppet-docker push

Push images built from the dockerfile in DIRECTORY to . This task will fail if you do not have a version specified in your dockerfile. It will push both a versioned and a 'latest' tagged image.

puppet-docker rev-labels

Update vcs-ref and build-date labels in your dockerfile to current git sha and current UTC time.

puppet-docker spec

Run the rspec tests under DIRECTORY/spec. Will run tests on files matching *_spec.rb.

puppet-docker test

Shortcut to run both the lint and spec tasks.

puppet-docker version

Output the version label for the dockerfile contained in DIRECTORY.

puppet-docker update-base-images

Update the base images. Any number of tags to update can be passed, or by default it will pull the latest version of: ['ubuntu:16.04', 'centos:7', 'alpine:3.4', 'debian:9', 'postgres:9.6.8']

Items available to Dockerfiles

There are some common variables passed to builds that you can take advantage of in your Dockerfiles.

ARGs

  • vcs_ref: set to git rev-parse HEAD
  • build_date: set to ruby's Time.now.utc.iso8601

Issues

File issues in the Community Package Repository (CPR) project with the 'Container' component.

License

See LICENSE file.

Maintainers

This project is maintained by the release engineering team release@puppet.com at Puppet, Inc.

FAQs

Package last updated on 05 Oct 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc