From f9df3bc0e44588f28cda97c93f1bd5e369771530 Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Wed, 3 Jul 2024 23:04:51 +0300 Subject: [PATCH 1/2] feat: Remove deprecated `coder_git_auth` data source The `coder_git_auth` data source has been deprecated and replaced with the `coder_external_auth` data source. This commit removes the deprecated data source and its associated test file. --- docs/data-sources/git_auth.md | 52 ---------------------------------- provider/gitauth.go | 53 ----------------------------------- provider/gitauth_test.go | 44 ----------------------------- provider/provider.go | 1 - provider/provider_test.go | 3 -- 5 files changed, 153 deletions(-) delete mode 100644 docs/data-sources/git_auth.md delete mode 100644 provider/gitauth.go delete mode 100644 provider/gitauth_test.go diff --git a/docs/data-sources/git_auth.md b/docs/data-sources/git_auth.md deleted file mode 100644 index e665aeb1..00000000 --- a/docs/data-sources/git_auth.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "coder_git_auth Data Source - terraform-provider-coder" -subcategory: "" -description: |- - ~> Deprecated - Use the coder_external_auth data source instead. - Use this data source to require users to authenticate with a Git provider prior to workspace creation. This can be used to perform an authenticated git clone in startup scripts. ---- - -# coder_git_auth (Data Source) - -~> **Deprecated** -Use the `coder_external_auth` data source instead. - -Use this data source to require users to authenticate with a Git provider prior to workspace creation. This can be used to perform an authenticated `git clone` in startup scripts. - -## Example Usage - -```terraform -provider "coder" {} - -data "coder_git_auth" "github" { - # Matches the ID of the git auth provider in Coder. - id = "github" -} - -resource "coder_agent" "dev" { - os = "linux" - arch = "amd64" - dir = "~/coder" - env = { - GITHUB_TOKEN : data.coder_git_auth.github.access_token - } - startup_script = < -## Schema - -### Required - -- `id` (String) The identifier of a configured git auth provider set up in your Coder deployment. - -### Read-Only - -- `access_token` (String) The access token returned by the git authentication provider. This can be used to pre-authenticate command-line tools. diff --git a/provider/gitauth.go b/provider/gitauth.go deleted file mode 100644 index e8230ade..00000000 --- a/provider/gitauth.go +++ /dev/null @@ -1,53 +0,0 @@ -package provider - -import ( - "context" - "fmt" - - "github.com/hashicorp/terraform-plugin-sdk/v2/diag" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - - "github.com/coder/terraform-provider-coder/provider/helpers" -) - -// gitAuthDataSource returns a schema for a Git authentication data source. -func gitAuthDataSource() *schema.Resource { - return &schema.Resource{ - SchemaVersion: 1, - - DeprecationMessage: "Use the `coder_external_auth` data source instead.", - Description: "~> **Deprecated**\nUse the `coder_external_auth` data source instead.\n\nUse this data source to require users to authenticate with a Git provider prior to workspace creation. This can be used to perform an authenticated `git clone` in startup scripts.", - ReadContext: func(ctx context.Context, rd *schema.ResourceData, i interface{}) diag.Diagnostics { - rawID, ok := rd.GetOk("id") - if !ok { - return diag.Errorf("id is required") - } - id, ok := rawID.(string) - if !ok { - return diag.Errorf("unexpected type %q for id", rawID) - } - rd.SetId(id) - - accessToken := helpers.OptionalEnv(GitAuthAccessTokenEnvironmentVariable(id)) - rd.Set("access_token", accessToken) - - return nil - }, - Schema: map[string]*schema.Schema{ - "id": { - Type: schema.TypeString, - Required: true, - Description: "The identifier of a configured git auth provider set up in your Coder deployment.", - }, - "access_token": { - Type: schema.TypeString, - Computed: true, - Description: "The access token returned by the git authentication provider. This can be used to pre-authenticate command-line tools.", - }, - }, - } -} - -func GitAuthAccessTokenEnvironmentVariable(id string) string { - return fmt.Sprintf("CODER_GIT_AUTH_ACCESS_TOKEN_%s", id) -} diff --git a/provider/gitauth_test.go b/provider/gitauth_test.go deleted file mode 100644 index 481d79f5..00000000 --- a/provider/gitauth_test.go +++ /dev/null @@ -1,44 +0,0 @@ -package provider_test - -import ( - "testing" - - "github.com/coder/terraform-provider-coder/provider" - - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" - - "github.com/stretchr/testify/require" -) - -func TestGitAuth(t *testing.T) { - t.Parallel() - - resource.Test(t, resource.TestCase{ - Providers: map[string]*schema.Provider{ - "coder": provider.New(), - }, - IsUnitTest: true, - Steps: []resource.TestStep{{ - Config: ` - provider "coder" { - } - data "coder_git_auth" "github" { - id = "github" - } - `, - Check: func(state *terraform.State) error { - require.Len(t, state.Modules, 1) - require.Len(t, state.Modules[0].Resources, 1) - resource := state.Modules[0].Resources["data.coder_git_auth.github"] - require.NotNil(t, resource) - - attribs := resource.Primary.Attributes - require.Equal(t, "github", attribs["id"]) - - return nil - }, - }}, - }) -} diff --git a/provider/provider.go b/provider/provider.go index c1991a26..4d513139 100644 --- a/provider/provider.go +++ b/provider/provider.go @@ -72,7 +72,6 @@ func New() *schema.Provider { "coder_workspace_tags": workspaceTagDataSource(), "coder_provisioner": provisionerDataSource(), "coder_parameter": parameterDataSource(), - "coder_git_auth": gitAuthDataSource(), "coder_external_auth": externalAuthDataSource(), "coder_workspace_owner": workspaceOwnerDataSource(), }, diff --git a/provider/provider_test.go b/provider/provider_test.go index 7069db09..742eb30b 100644 --- a/provider/provider_test.go +++ b/provider/provider_test.go @@ -37,9 +37,6 @@ func TestProviderEmpty(t *testing.T) { data "coder_external_auth" "git" { id = "git" } - data "coder_git_auth" "git" { - id = "git" - } data "coder_parameter" "param" { name = "hey" }`, From 40557257536de65ad877f08943930bc9df700081 Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Thu, 4 Jul 2024 01:29:52 +0300 Subject: [PATCH 2/2] remove example --- .../coder_git_auth/data-source.tf | 20 ------------------- integration/test-data-source/main.tf | 3 +-- integration/workspace-owner/main.tf | 3 +-- 3 files changed, 2 insertions(+), 24 deletions(-) delete mode 100644 examples/data-sources/coder_git_auth/data-source.tf diff --git a/examples/data-sources/coder_git_auth/data-source.tf b/examples/data-sources/coder_git_auth/data-source.tf deleted file mode 100644 index 488554f2..00000000 --- a/examples/data-sources/coder_git_auth/data-source.tf +++ /dev/null @@ -1,20 +0,0 @@ -provider "coder" {} - -data "coder_git_auth" "github" { - # Matches the ID of the git auth provider in Coder. - id = "github" -} - -resource "coder_agent" "dev" { - os = "linux" - arch = "amd64" - dir = "~/coder" - env = { - GITHUB_TOKEN : data.coder_git_auth.github.access_token - } - startup_script = < pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy