Git Product home page Git Product logo

pdk-docker's Introduction

Puppet Development Kit (PDK) Docker Images

Code Owners ci

This repository provides official docker images for the Puppet Development Kit (PDK).

Images are published to Docker Hub at https://hub.docker.com/r/puppet/pdk.

The following image tags are available from Docker Hub:

  • latest: Meta-tag which will always point to the latest stable PDK release
  • nightly: Meta-tag which will always point to the latest PDK release which may be a pre-release build

Additionally there are version-specific tags for every PDK release that makes it on to http://nightlies.puppet.com/, for example 1.12.0.0 (stable release), 1.13.0.0.pre.2.g9c61983 (nightly pre-release).

To learn more about the PDK, visit https://puppet.com/docs/pdk/latest/pdk.html and https://github.com/puppetlabs/pdk.

How images are built

The PDK docker images are currently based on a fairly minimal Ubuntu 18.04 image. From there, a PDK .deb package is installed. Since there is a lag time between when changes are merged to the puppetlabs/pdk or puppetlabs/pdk-vanagon Github repositories and when a .deb package with the changes is actually available, we can't trigger Docker Hub builds immediately on commit/tag to either of those repositories.

Instead, we have configured a periodic Jenkins job (internal only right now, sorry) which runs the update-pdk-release-file.rb script in this repo and then checks to see if that resulted in any changes to the pdk-release.env file. This file contains environment variables which indicate what the most recent PDK release package available on the Puppet nightlies server is. pdk-release.env is then used by the Dockerfile (via install-pdk-release.sh) to build an image containing the specified release package.

If changes to pdk-release.env are detected by the Jenkins job, a new commit is made to the main branch of this repo. (If the release is identified as a final release, the stable branch is rebased on main to pick up this change as well.) Lastly a new tag is made with the version number of the new release and then Jenkins pushes all commits and tags back to this repo.

Finally, Docker Hub is configured to watch the this repo and build/tag new images automatically based on the branch or tag that received new commits.

How to use the Image

Download a release from Docker Hub as detailed above. e.g.

docker pull puppet/pdk

Run it

docker run -v /path/to/your/module:/root puppet/pdk <pdk command>

pdk-docker's People

Contributors

puppetlabs-jenkins avatar nkanderson avatar scotje avatar da-ar avatar gspatton avatar jordanbreen28 avatar chelnak avatar pmcmaw avatar malikparvez avatar lukasaud avatar cdenneen avatar alanraison avatar gavindidrichsen avatar jpogran avatar ramesh7 avatar rodjek avatar david22swan avatar sanfrancrisko avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.