Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rfc: Terraform provider #2613

Merged
merged 11 commits into from
Nov 23, 2023
Merged

rfc: Terraform provider #2613

merged 11 commits into from
Nov 23, 2023

Conversation

msanft
Copy link
Contributor

@msanft msanft commented Nov 17, 2023

Context

We want to determine how the Terraform provider should look in practice. This should not yet discuss implementation details, but rather a high-level overview of what the outcome should be.

Proposed change(s)

  • Add an RFC on how the overall structure of the Terraform provider, mostly user-facing but also on some high-level implementation side, should look like.

Additional info

Checklist

  • Add labels (e.g., for changelog category)
  • Is PR title adequate for changelog?
  • Link to Milestone

@msanft msanft added the no changelog Change won't be listed in release changelog label Nov 17, 2023
@msanft msanft added this to the v2.14.0 milestone Nov 17, 2023
Copy link

netlify bot commented Nov 17, 2023

Deploy Preview for constellation-docs canceled.

Name Link
🔨 Latest commit e80b8a5
🔍 Latest deploy log https://app.netlify.com/sites/constellation-docs/deploys/655f044e42d945000849346e

@katexochen katexochen removed their request for review November 17, 2023 16:20
rfc/terraform-provider.md Outdated Show resolved Hide resolved
rfc/terraform-provider.md Outdated Show resolved Hide resolved
rfc/terraform-provider.md Outdated Show resolved Hide resolved
rfc/terraform-provider.md Outdated Show resolved Hide resolved
rfc/terraform-provider.md Outdated Show resolved Hide resolved
rfc/terraform-provider.md Outdated Show resolved Hide resolved
@msanft msanft requested a review from elchead November 21, 2023 13:01
rfc/terraform-provider.md Outdated Show resolved Hide resolved
rfc/terraform-provider.md Outdated Show resolved Hide resolved
rfc/terraform-provider.md Show resolved Hide resolved
rfc/terraform-provider.md Show resolved Hide resolved
rfc/terraform-provider.md Outdated Show resolved Hide resolved
rfc/terraform-provider.md Show resolved Hide resolved
@msanft msanft requested a review from burgerdev November 22, 2023 08:20
rfc/terraform-provider.md Outdated Show resolved Hide resolved
@msanft msanft requested a review from 3u13r November 22, 2023 14:29
Copy link
Member

@3u13r 3u13r left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@burgerdev burgerdev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@msanft msanft force-pushed the feat/rfc/terraform-provider-structure branch from c2ac55d to 4045cc0 Compare November 22, 2023 16:31
Signed-off-by: Moritz Sanft <[email protected]>
msanft and others added 10 commits November 23, 2023 08:50
Co-authored-by: Adrian Stobbe <[email protected]>
Co-authored-by: Adrian Stobbe <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
@msanft msanft force-pushed the feat/rfc/terraform-provider-structure branch from 4045cc0 to e80b8a5 Compare November 23, 2023 07:50
Comment on lines +45 to +46
master_secret = "foo" # updating this would force recreation of the cluster
init_secret = "bar" # maybe derive from master_secret, updating this would force recreation of the cluster
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do I understand correctly that the user generates these secrets and pastes them into this TF config?
If so, is it common to have such secrets in a TF config? Or should they come from input variables, env variables, etc.?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could use the Terraform random provider (what we currently do) to generate this, load them from your HashiCorp vault by using the corresponding provider, etc.

I don't think you would expose them in the configuration files usually, but only in the state, which can be stored remotely, etc. and only have a reference to it, e.g. by using the random provider, in the configuration files - But the RFC should be agnostic of where the value comes from actually. When documenting our provider we could mention some recommendations of how secrets can be provisioned.

@msanft msanft requested a review from thomasten November 23, 2023 09:56
@msanft msanft merged commit 310960f into main Nov 23, 2023
5 checks passed
@msanft msanft deleted the feat/rfc/terraform-provider-structure branch November 23, 2023 09:58
elchead added a commit that referenced this pull request Nov 24, 2023
* rfc: Terraform provider

Signed-off-by: Moritz Sanft <[email protected]>

* fix typo

Co-authored-by: Adrian Stobbe <[email protected]>

* rfc: annotate fields that force recreation

Signed-off-by: Moritz Sanft <[email protected]>

* reword "cluster applying"

Co-authored-by: Adrian Stobbe <[email protected]>

* rfc: resembles -> declares

Signed-off-by: Moritz Sanft <[email protected]>

* rfc: connect dangling sentence

Signed-off-by: Moritz Sanft <[email protected]>

* rfc: indicate sensitive state

Signed-off-by: Moritz Sanft <[email protected]>

* rfc: warn about PVs on recreation

Signed-off-by: Moritz Sanft <[email protected]>

* rfc: idempotent -> nilpotent

Signed-off-by: Moritz Sanft <[email protected]>

* rfc: reword deletion

Signed-off-by: Moritz Sanft <[email protected]>

* rfc: mention resource outputs

Signed-off-by: Moritz Sanft <[email protected]>

---------

Signed-off-by: Moritz Sanft <[email protected]>
Co-authored-by: Adrian Stobbe <[email protected]>
elchead added a commit that referenced this pull request Nov 24, 2023
* rfc: Terraform provider

Signed-off-by: Moritz Sanft <[email protected]>

* fix typo

Co-authored-by: Adrian Stobbe <[email protected]>

* rfc: annotate fields that force recreation

Signed-off-by: Moritz Sanft <[email protected]>

* reword "cluster applying"

Co-authored-by: Adrian Stobbe <[email protected]>

* rfc: resembles -> declares

Signed-off-by: Moritz Sanft <[email protected]>

* rfc: connect dangling sentence

Signed-off-by: Moritz Sanft <[email protected]>

* rfc: indicate sensitive state

Signed-off-by: Moritz Sanft <[email protected]>

* rfc: warn about PVs on recreation

Signed-off-by: Moritz Sanft <[email protected]>

* rfc: idempotent -> nilpotent

Signed-off-by: Moritz Sanft <[email protected]>

* rfc: reword deletion

Signed-off-by: Moritz Sanft <[email protected]>

* rfc: mention resource outputs

Signed-off-by: Moritz Sanft <[email protected]>

---------

Signed-off-by: Moritz Sanft <[email protected]>
Co-authored-by: Adrian Stobbe <[email protected]>
elchead added a commit that referenced this pull request Nov 24, 2023
* rfc: Terraform provider

Signed-off-by: Moritz Sanft <[email protected]>

* fix typo

Co-authored-by: Adrian Stobbe <[email protected]>

* rfc: annotate fields that force recreation

Signed-off-by: Moritz Sanft <[email protected]>

* reword "cluster applying"

Co-authored-by: Adrian Stobbe <[email protected]>

* rfc: resembles -> declares

Signed-off-by: Moritz Sanft <[email protected]>

* rfc: connect dangling sentence

Signed-off-by: Moritz Sanft <[email protected]>

* rfc: indicate sensitive state

Signed-off-by: Moritz Sanft <[email protected]>

* rfc: warn about PVs on recreation

Signed-off-by: Moritz Sanft <[email protected]>

* rfc: idempotent -> nilpotent

Signed-off-by: Moritz Sanft <[email protected]>

* rfc: reword deletion

Signed-off-by: Moritz Sanft <[email protected]>

* rfc: mention resource outputs

Signed-off-by: Moritz Sanft <[email protected]>

---------

Signed-off-by: Moritz Sanft <[email protected]>
Co-authored-by: Adrian Stobbe <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no changelog Change won't be listed in release changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants