Search

PythonReactSEOPDF
GitHub Skill

test-provider

Shows how to locally test changes to the provider against a real container registry. Use when you made changes and want to see them work end-to-end before opening a PR, or when unit tests pass but you want confidence the provider works in practice, or you're debugging an issue that only reproduces with real registry interactions

ko-build☆ 30 Repository stars16 Repository forks

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

View source ↗Guides

Skill instructions

Test local changes to the terraform-provider-ko against a real registry.

Prerequisites

The test uses ttl.sh, a free ephemeral container registry that requires no authentication. Images pushed there expire automatically.

Steps

  1. Build the provider and install to local mirror:

    go build -o ~/.terraform.d/plugins/registry.terraform.io/ko-build/ko/0.0.100/darwin_arm64/terraform-provider-ko .
    
  2. Create a temporary test directory with a minimal Terraform config:

    TEST_DIR=$(mktemp -d)
    cat > "$TEST_DIR/main.tf" << 'EOF'
    terraform {
      required_providers {
        ko = {
          source  = "ko-build/ko"
          version = "0.0.100"
        }
      }
    }
    
    provider "ko" {
      repo = "ttl.sh/terraform-provider-ko-test"
    }
    
    resource "ko_build" "test" {
      importpath = "github.com/google/ko"
    }
    
    output "image_ref" {
      value = ko_build.test.image_ref
    }
    EOF
    echo "Test directory: $TEST_DIR"
    
  3. Initialise Terraform:

    cd "$TEST_DIR" && rm -f .terraform.lock.hcl && terraform init
    
  4. Run terraform plan:

    cd "$TEST_DIR" && terraform plan -out tf.out
    
  5. If the plan looks good, apply it:

    cd "$TEST_DIR" && terraform apply tf.out
    
  6. Verify the image was pushed by checking the output shows a valid image reference.

  7. Clean up (removes test directory and provider from local mirror):

    rm -rf "$TEST_DIR"
    rm -f ~/.terraform.d/plugins/registry.terraform.io/ko-build/ko/0.0.100/darwin_arm64/terraform-provider-ko
    

Debugging

To see detailed provider logs, set TF_LOG=TRACE:

cd "$TEST_DIR" && TF_LOG=TRACE terraform apply -auto-approve 2>&1 | tee /tmp/ko-provider-test.log

Then examine the logs:

less /tmp/ko-provider-test.log

Examples

Read the usage examples in the source repository.

View source ↗

Source history

Indexed on
2026-01-20
Index updated
2026-02-04
Branch
main

Index and sync dates describe this directory. View the source repository for code history.

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!