nullstone icon indicating copy to clipboard operation
nullstone copied to clipboard

Contract Versions

Open BSick7 opened this issue 3 years ago • 0 comments

Overview

Module contracts are the center of the Nullstone platform. They enable us to connect two blocks that know little of each other. The challenge is when we want to upgrade these contracts.

How will this work?

By adding a version to these contracts, we can ensure that modules "snap together" without worrying about backward compatibility.

An ns_connection stanza could evolve to include a versioning scheme similar to a github ref.

data "ns_connection" "postgres" {
  name     = "postgres"
  contract = "datastore/aws/postgres:*@v1"
}

This may require contracts to be defined in the system so that each new module version can be vetted against that contract.

BSick7 avatar Sep 28 '22 12:09 BSick7