Everything you didn't even know you wanted to ask about Pactflow

What is this Pactflow thing?


Before we go into that, let's start with "What is Pact?". For those of you who aren't familiar with Pact at all, here is a bit of background. Pact is a tool for developing and testing integration points using "consumer driven contracts", that was born out of the experiences of a few developers who were working at realestate.com.au in 2013. They were struggling to integration test a fast growing web of Ruby microservices, and created Pact to help them develop and release their services quickly, without having to go through lengthy and brittle integration tests. It was so successful that, fast forward 6 years, it is now a thriving open source project with implementations in 8+ languages. One key part of the Pact ecosystem is the "Pact Broker", an open source application designed to automate the exchange of the contracts and verification results generated by the Pact tooling, allowing Pact to become part of the CI/CD workflow.

So, now I know all that, what is Pactflow?


Pactflow is a commercial SaaS offering of the Pact Broker based on a fork of OSS Pact Broker, with extra goodies on the top like an improved UI (no more Bootstrap!), federated authentication (no more basic auth!), request level verification results and much more.  

Who is involved?


Ron Holshausen (one of the original Pact authors), Beth Skurrie (almost one of the original Pact authors), Matt Fellows (who may as well have been one of the original Pact authors) and DiUS (the company we all work for). DiUS is a technology consulting company based in Melbourne, Australia, and they've been involved in the Pact journey almost as long as we have, supporting our contributions to the OSS code, and letting us travel around to various conferences to bang on about Pact.

Why do it?


The Pact Broker solves the basic problem of how to exchange contracts and results, but it doesn't have the kind of features that we expect out of modern software, and that are required for the Pact Broker to work well at scale - user and team management, role based access control, auditing etc. While everyone on the Pact team loves contributing to open source, these sort of features are more than we can manage in our free time these days. Our hope is that by launching a commercial venture, that we can make Pactflow become the Pact Broker we always wanted to build.

How did it come about?


In 2016, we started a free "Hosted Pact Broker" beta program to gauge whether or not there was interest in the concept of SaaS Pact Broker product. 1000+ registrations later, we decided to give it a go, and in 2019 we launched Pactflow.

Will the Pact Broker still be maintained?


Yes. The core Pact related functionality of the Pact Broker will still be maintained, and Pactflow will remain compatible with all the OSS Pact tooling by pulling in changes from the OSS Pact Broker.

What's the plan for the future?


Right now, we're investigating adding support for a provider driven workflow using OAS contracts. Medium term, we'll be focussed on improving the UI and UX and adding features that make Pact work at scale, like user and team management. Longer term - we'll see when we get there! Solve a problem - find a new one. There are always new problems to be solved!