Details

    • Type: New Feature
    • Status: Closed
    • Priority: Normal
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 2017/08/02
    • Component/s: None
    • Labels:
    • Template:
    • Acceptance Criteria:
      Hide

      For minimal acceptance, the puppetserver Docker container must:

      • Work out-of-the-box
      • Provide simple configuration
      • Provide persistence
      • Include adequate user-end documentation

      Out of scope:

      • PuppetDB - Another set of Dockerfiles (in the same git repository) will provide puppetdb:pc1, puppetdb:latest, and so forth; this is a separate deliverable and reserved for a separate feature.
      • Puppet Agent - Nonsense; the agent would configure the Docker container, instead of the host system.
      • Mcollective - Same effect as Puppet Agent.

      The container must provide the maintainers with a minimal-effort maintenance cycle:

      • Containers should automatically rebuild on Docker Hub when updated in git
      • System patches (e.g. Ubuntu 14.04) should automatically trigger a rebuild on Docker Hub
      • Updating to new releases must be trivial

      The first two are features of Docker Hub; the last is accomplished by a simple update process:

      • Add a new build directory for each release (e.g. puppetserver/pc2/)
      • Modify the Dockerfile there to reflect the new version (e.g. "pc2" instead of "pc1")
      • Add the new path as a tag target to Docker Hub (e.g. /puppetserver/pc2/ = pc2)
      Show
      For minimal acceptance, the puppetserver Docker container must: Work out-of-the-box Provide simple configuration Provide persistence Include adequate user-end documentation Out of scope: PuppetDB - Another set of Dockerfiles (in the same git repository) will provide puppetdb:pc1, puppetdb:latest, and so forth; this is a separate deliverable and reserved for a separate feature. Puppet Agent - Nonsense; the agent would configure the Docker container, instead of the host system. Mcollective - Same effect as Puppet Agent. The container must provide the maintainers with a minimal-effort maintenance cycle: Containers should automatically rebuild on Docker Hub when updated in git System patches (e.g. Ubuntu 14.04) should automatically trigger a rebuild on Docker Hub Updating to new releases must be trivial The first two are features of Docker Hub; the last is accomplished by a simple update process: Add a new build directory for each release (e.g. puppetserver/pc2/) Modify the Dockerfile there to reflect the new version (e.g. "pc2" instead of "pc1") Add the new path as a tag target to Docker Hub (e.g. /puppetserver/pc2/ = pc2)

      Description

      Provide a Puppetserver docker container suitable for an official branch on docker hub. Once provided, a user can create a Puppetserver via such a docker-compose file:

      # docker-compose.yml for Puppetserver
      # e.g. /opt/containers/puppet/docker-compose.yml
      puppetmaster:
        image: puppetserver:pc1
        environment:
          PUPPETSERVER_HOSTNAME: puppet.example.com
          PUPPETSERVER_GENCONFIG: yes
        ports:
          - "8140:8140"
        volumes:
          - /opt/containers/puppet/data/ssl:/etc/puppetlabs/puppet/ssl
          - /opt/containers/puppet/data/code:/etc/puppetlabs/code
      

      In this way:

      • A simple docker-compose up -d will stand up a working Puppetserver;
      • docker pull puppetmaster will pull the latest Puppetserver with all OS patches;
      • image: puppetmaster:pc1 et al will pin to that Puppet Collection, receiving all OS patches via automatic builds (i.e. when the ubuntu:14.04 or ubuntu:16.04 image updates, Docker-Hub automatically rebuilds puppetmaster:pc1 etc.)

        Attachments

          Issue Links

            Activity

              jsd-sla-details-panel

                People

                • Assignee:
                  john.r.moser@gmail.com John Moser
                  Reporter:
                  john.r.moser@gmail.com John Moser
                • Votes:
                  2 Vote for this issue
                  Watchers:
                  6 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: