1. 11 Jan, 2019 1 commit
    • Nate Wolfe's avatar
      (MAINT) PuppetDB alpine image from source · 537bbc64
      Nate Wolfe authored
      This reduces the final image size from 434MB down to 115MB.
      There's no more Ruby or puppet-agent in the container, and it's based
      on Alpine rather than Ubuntu.
      Since this builds from local source instead of released packages,
      developers can now go further in their testing of PuppetDB changes by
      simply changing their local clone and running "cd docker && make build".
  2. 02 Jan, 2019 2 commits
  3. 11 Dec, 2018 1 commit
    • Morgan Rhodes's avatar
      (maint) Update puppetdb entrypoint for less dependence on puppetserver · 01758bd2
      Morgan Rhodes authored
      Previously, on anything but the initial run, if the puppetdb container
      started up before puppetserver, the container would fail and exit since
      the directory that is checked for existence never exists on startup. By
      updating the checks in the entrypoint, there is now no hard dependency
      between puppetserver and puppetdb.
  4. 29 Nov, 2018 1 commit
  5. 27 Nov, 2018 1 commit
    • Nate Wolfe's avatar
      (PDB-4192) Curl Puppet Server status endpoint · 96cf5f71
      Nate Wolfe authored
      Hitting an endpoint instead of using netcat will work when Puppet Server
      is behind a load balancer.
      We tried this approach earlier but weren't specifying HTTPS and the
      -k flag when curling.
  6. 19 Nov, 2018 1 commit
    • Nate Wolfe's avatar
      (MAINT) Revert back to nc for Docker entrypoint · 48f1ff52
      Nate Wolfe authored
      The current curl call doesn't seem to work and thus PuppetDB will never
      start as this check never succeeds.
      We do need the orthogonal USE_PUPPETSERVER change though, so we can't
      just revert the commit that changed the netcat call to curl.
      For now, revert back to using netcat while we figure out how to better
      detect when Puppet Server is up.
      The netcat call doesn't work when a load balancer is in place as it
      just detects that the LB is up, but we don't actually need this
      functionality yet.
  7. 16 Nov, 2018 2 commits
  8. 14 Nov, 2018 1 commit
  9. 13 Nov, 2018 2 commits
    • Iristyle's avatar
      (CPR-648) Don't test with puppetserver · 01c9cb4f
      Iristyle authored
       - Remove the puppetserver container from the new specs as they are
         The prior commit wouldn't succeed because puppetserver was not
         properly configured.
       - Add a new ENV var USE_PUPPETSERVER and disable that during tests
         so that the healthcheck doesn't try to contact a puppetserver
         endpoint on 8140
    • Iristyle's avatar
      (CPR-648) Run puppetdb docker container tests · 2d9f8708
      Iristyle authored
       - Previous tests checked only a few issues with the Dockerfile.
         Add new tests that start both postgres and puppetdb containers
         to better vet the install.
       - This includes tests that:
         * verify puppetdb database is created in postgres
         * verify postgres extensions are installed
         * verify puppetdb container reaches "running" status through
           the /status/v1/services/puppetdb-status endpoint
       - It was also necessary to add a puppetserver container because the
         puppetdb entrypoint script checks for a puppetserver instance
         with a port listening at 8140.
         This is problematic due to versioning and other reasons.
         This will be removed in the future, so that tests don't depend
         on the puppetserver container, but remains for now.
  10. 12 Nov, 2018 1 commit
  11. 02 Nov, 2018 1 commit
    • David Lutterkort's avatar
      (maint) Make check in container whether puppetmaster is up more robust · 8759635c
      David Lutterkort authored
      Previously, docker-entrypoint.sh checked whether the puppetmaster is up and
      running by using 'nc -z'. That only checks that something is listening on
      the given port, but not whether that service is actually ready. This is a
      problem when the puppetmaster is behind a load balancer since it only
      checks that the loadbalancer is listening, even though the puppetmaster
      might take quite a while longer to become ready; in such a scenario, the
      PuppetDB startup fails.
      This change replaces the 'nc -z' check with a check for the puppetmaster's
      status, and only proceeds when the master is fully up and ready to handle
  12. 16 Oct, 2018 1 commit
  13. 15 Oct, 2018 7 commits
    • Iristyle's avatar
      (maint) Add Docker build version support · a55752c7
      Iristyle authored
       - Use the git describe as we're doing in Bash scripts to pull a version
         from the repository when building / testing Docker containers
    • Iristyle's avatar
      (maint) Consume rspec tests in Azure Pipelines · d4f1a9fa
      Iristyle authored
       - Add the requisite gem to produce JUnit files
       - Rather than make changes to puppet_docker_tools, add the rspec
         configuration necessary to emit junit output
       - Add task calls to the Azure Pipeline to pick up tests
    • Iristyle's avatar
      (maint) Cleanup Azure container build cruft · 958c226f
      Iristyle authored
       - Builds and aborted jobs may leave around extra containers, or more
         likely images.
         Perform a few docker cleanup commands in a step that is set to always
         run at the end of a job, regardless of the success / failure of
         prior steps
    • Iristyle's avatar
      (maint) Test built container in Azure pipelines · fb3eb4da
      Iristyle authored
       - Add support for running `bundle exec puppet-docker spec` over newly
         built puppetdb container image
    • Iristyle's avatar
      (maint) Build puppetdb container in Azure · 6c647d81
      Iristyle authored
       - Uses puppet_docker_tools to lint the Dockerfile and build the
         container in Azure DevOps Pipelines
       - Note that there are no builds for the puppetdb-postgres container
         as the VOLUME support required does not currently work on Windows
    • Iristyle's avatar
      (maint) Setup Windows container build env · 8ecb9439
      Iristyle authored
       - Add Azure Pipelines invocation to enable environment setup
       - Relies on puppet_docker_tools 0.2.0+ which has removed calls to
         the docker-api gem and replaced them with vanilla docker command
         invocations, so as to support Windows
    • Iristyle's avatar
      (maint) Fix Gemfile to understand Github gem refs · c1255b50
      Iristyle authored
       - Previously the PUPPET_DOCKER_LOCATION environment variable could not
         be set to a fork of puppet_docker_tools as expected, like
         There was a bug that prevented it from setting the git and ref
       - Grab the latest code from the root Gemfile which handles
         this correctly (but removes support for `https`)
  14. 10 Oct, 2018 3 commits
  15. 04 Oct, 2018 1 commit
  16. 03 Oct, 2018 1 commit
  17. 21 Sep, 2018 1 commit
  18. 20 Sep, 2018 1 commit
    • Iristyle's avatar
      (maint) Fix Linux Docker scripts on Windows builds · 0e883324
      Iristyle authored
       - Typically the contents of Linux files should have LF line endings,
         as is the case with scripts being copied into Linux containers such
         as the ENTRYPOINT script.
         When cloning git source on Windows, files normally end with CRLF.
         The correct way to guarantee line endings remain Linux compatible is
         to add .gitattributes entries as these override any git client
         specific settings that may otherwise break line endings
       - Further, note that while git metadata understands the +x execute
         bit on non-Windows platforms, when checking out code on Windows there
         is no way to represent this information and it's lost.
         When copying files into a Docker image, scripts lose their ability
         to execute.
         The only way to address this is to +x the scripts inside the
  19. 19 Sep, 2018 1 commit
  20. 18 Sep, 2018 2 commits
  21. 14 Sep, 2018 1 commit
  22. 11 Sep, 2018 1 commit
  23. 28 Aug, 2018 1 commit
  24. 27 Aug, 2018 1 commit
  25. 06 Aug, 2018 4 commits