Skip to content

akester/puppet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Puppet

This is a container with a few build tools used to build my internal Puppet code and set it up for deployments. It's based on Debian 11 (because reasons), and includes these tools:

  • puppet
  • puppet bolt
  • sops
  • terraform

It also has the upstream Hashicorp and Puppet upstream repos installed, so you can install other packages you need.

Usage

I use this in Drone pipelines to automatically build and deploy puppet code. You can include it in the pipeline like this:

---
kind: pipeline
name: deploy
type: docker

concurrency:
  limit: 1

steps:
- name: submodules
  image: alpine/git
  commands:
  - git submodule init
  - git submodule update --recursive

- name: sops
  image: akester/puppet
  environment:
    SOPS_AGE_KEY_FILE: /tmp/age-key.txt
    SOPS_AGE_KEY:
      from_secret: AGE_KEY
  commands:
    - echo "$AGE_KEY" > /tmp/age-key.txt
    - bash dec.sh

- name: bolt
  image: akester/puppet
  commands:
  - bolt module install

...

Building

This container is based on Debian 11 due to compatibility with Puppet's release code. At some point, I may port the whole thing to Debian 12 or Alpine.

The container is built using Packer and has a Makefile, just run make to start a build.

Mirror

If you're looking at this repo at https://github.com/akester/puppet/, know that it's a mirror of my local code repository. This repo is monitored though, so any pull requests or issues will be seen.

About

Container for building puppet deployments.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published