Skip to content
This repository was archived by the owner on Dec 26, 2023. It is now read-only.

General questionsΒ #45

@foragerr

Description

@foragerr

Awesome stuff! This seems like a neat approach to bring ownership boundaries into a Terraform codebase πŸ‘

I have some general questions (disclaimer: I've read about Layerform but haven't tried it yet, just skimmed a blog post and the readme.md):

  • Why not use "ephemeral"?

    You mention "ephemeral environments" in blog posts - but in layerform docs, it seems to always be multiple "staging" environments - Is there a reason you're steering clear of the term "ephemeral"? What sets Layerform's layers apart from what's typically considered ephemeral environments in your view?

  • When the base layer runs, does it also run all the layers above it? Thoughts on How to deal with potential breakages in upper layers?

    Using the example from docs, if the core team updates the EKS cluster, and runs layerform spawn, Will that also run all the layers above it, so they inherit any changes from the cluster apply?

  • Are random id's managed in terraform via discipline

    In order to be able to deploy additional "staging" layers, resource names should have random strings in them to prevent clashes. Is this random naming completely hand-managed through dev-discipline? Do you have any thoughts about layerform features that would either tack on random strings or at least detect and warn about names that would potentially collide?

  • To further enforce ownership boundaries, Can each layer live in a separate git repo?

    Reasons to do this, reasons to never do this?

  • Use ephemeral layers as a means to enable Blue/Green deployments?

    Do you see a path towards, say standing up a "to-be-prod" layer in parallel to a "prod" layer and after completing testing/verification, making the "to-be-prod" the default layer?

Looking forward to hearing your insights!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions