p

    prehistoric-activity-61023

    4 months ago
    Guys - what do you think about creating dedicated implementation for different custom state backends? Right now, it works purely on object storage level and although it’s dead simple (and I adore simple solutions as a first version), it does have some missing parts (see discussion: https://github.com/pulumi/pulumi/pull/2697/files#r314900986).
    Thanks to such modularity, we could implement different scenarios. For example in case of S3, we most probably should mimic Terraform approach and use DynamoDB (or make it optional with the fallback to the current implementation done purely on S3). In case of GCS we can actually do that without any additional cloud resources as GCS has a feature called Preconditions (https://stackoverflow.com/a/68075384/2547538). BTW, that’s what terraform uses for GCS backend. I guess there’s something for Azure guys but I have no idea what’s going on in Microsoft world. Additionally, we might implement
    http
    backend for guys who would like to use something totally custom (see https://www.terraform.io/language/settings/backends/http - I just discovered that today 😄).
    I’m not familiar with the pulumi code (yet 😎 ) but it sounds like an interesting enough project to make a contribution (spoiler: I’d start with GCS as that’s the cloud I use the most at the moment).
    I’m looking forward for your feedback. Thanks in advance!