The team behind argocd-vault-plugin is happy to announce our v1.0 release! In this release we have added a couple really cool new features as well as made some bug fix fixes along the way. With this being a major release, there are a couple of breaking changes that we will discuss here.

New Inline Path Format

In previous iteration of argocd-vault-plugin, you either had to specify a PATH_PREFIX environment variable or set an avp_path annotation. These work in a situation where you have many keys in a secret but not if you have one key for secret or if you want to combine multiple…

GitOps has quickly become one of the hotter topics within the realm of DevOps. GitOps was introduced by Weaveworks in 2017 and has been trending upward ever since. I will not go into why to use GitOps in this article but you can read more about it here. One of the questions that always comes up when discussing GitOps is Secret Management. Every single talk, presentation or demo involving GitOps always has someone bringing up the question, “How do you handle secrets with GitOps?”, and that is a very good question.

As our team was evaluating moving to GitOps, we…

Part Four of my series on Jenkins Shared Libraries

In my previous post, we walked through how you can write unit tests for a Jenkins Shared Library. In the fourth and final entry into my Jenkins Shared Library series I am going to show you how you can make a few small changes to your shared library which would allow you to collect code coverage and publish the results to Sonarqube.


For this tutorial we are going to need to have Sonarqube installed locally. You can follow the instructions that are provided here. Look for the instructions under “Get Started in Two Minutes Guide”. This should give you a…

Part Three of my series on Jenkins Shared Libraries

In the second part of my Jenkins Shared Library series, we built our own Jenkins shared library, loaded it into Jenkins and ran it within a pipeline. In this part, we are going to walk-through how to write unit tests for your shared library with Jenkins-Spock

In this tutorial we are going to be taking advantage of a testing framework called Jenkins-Spock. Jenkins Spock is built on top of the Spock Testing Framework and provides a mock Jenkins environment to simulate Jenkins without actually having a Jenkins instance.

The video above is a fantastic demo of Jenkins-Spock given by…

Part Two of my series on Jenkins Shared Libraries

In the first entry of my Jenkins Shared Library series, I described what a shared library is and why you should start taking advantage of them. In this entry, I will be doing a step-by-step walkthrough of how you can build your own Jenkins Shared Library.

DISCLAIMER: I will not be showing you how to setup Jenkins in this tutorial. For the rest of the post I will assume you have Jenkins running. You can follow the official Jenkins documentation for getting Jenkins setup


This tutorial requires that we have Node JS installed on our Jenkins instance. So, before we…

Part One of my series on Jenkins Shared Libraries


Jenkins is one of the most common continuous integration/deployment servers being used today. Jenkins can express continuous integrations or deployment tasks as a “pipeline” comprised of one or more “stages” and is, typically, written to a file commonly named “Jenkinsfile”. A Jenkinsfile contains the order of stage execution and can contain logic for these stages. A Jenkinsfile can also be checked into source control.

When writing a Jenkinsfile, it is very easy for it to get bloated and can end up being many hundreds of lines of code. A Jenkinsfile does not have the concept of hierarchy or inheritance, so…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store