Skip to content

feat: bump terraform-provider-launchdarkly to v2.29.0 and support local provider checkouts - #65

Open
devopsdina wants to merge 6 commits into
launchdarkly:mainfrom
devopsdina:main
Open

feat: bump terraform-provider-launchdarkly to v2.29.0 and support local provider checkouts#65
devopsdina wants to merge 6 commits into
launchdarkly:mainfrom
devopsdina:main

Conversation

@devopsdina

Copy link
Copy Markdown
Contributor

Description of your changes

Bumps the upstream terraform-provider-launchdarkly dependency from v2.25.3
→ v2.29.0
and refactors how the version is declared so that all four
locations (binary constant, Go module pseudo-version, Makefile, runtime SDK
call) stay in sync.

Also adds an opt-in workflow for developing against a local terraform-provider
checkout via a gitignored local.env + TF_PROVIDER_PATH, which was used to
validate against an unreleased provider branch while iterating on this PR.

Highlights

  • Provider bump (v2.25.3 → v2.29.0)

    • Makefile: TERRAFORM_PROVIDER_VERSION and derived TERRAFORM_PROVIDER_GIT_REF.
    • go.mod: pseudo-version for terraform-provider-launchdarkly updated to
      the v2.29.0 release commit; api-client-go indirect dep moved v17 → v22.
    • Regenerated artifacts (apis/**/zz_*_types.go, package/crds/*.yaml,
      config/provider-metadata.yaml, config/schema.json,
      examples-generated/**) reflect new fields and updated docs from v2.29.0:
      • FeatureFlag: new deprecated, viewKeys fields.
      • Project: new requireViewAssociationForNewFlags,
        requireViewAssociationForNewSegments fields.
      • EnvironmentSegment: new fields surfaced by upstream schema.
      • AuditLogSubscription: integration keys now include dynatrace-v2,
        jira.
  • Single source of truth for provider version

    • New package internal/version exporting TerraformProviderVersion (and
      the existing build-time Version var).
    • internal/clients/launchdarkly.go and config/provider.go no longer
      hard-code "2.25.3"; they import the constant.
    • The four places the version still has to appear (Go constant, Makefile
      semver, go.mod comment, go.mod pseudo-version) are documented in the
      new Upgrading the upstream Terraform provider section of README.md.
  • Local provider development workflow

    • Makefile: optional -include local.env. When TF_PROVIDER_PATH is set,
      TERRAFORM_PROVIDER_REPO and TERRAFORM_PROVIDER_GIT_REF are derived
      from the local checkout's git remote + current branch, so
      pull-docs clones from the right place without committing any override.
    • pull-docs now uses TERRAFORM_PROVIDER_GIT_REF directly instead of
      re-deriving v$(TERRAFORM_PROVIDER_VERSION) inline.
    • README.md documents the workflow under Testing Against an Upstream
      Terraform Provider Branch
      .
  • Misc Makefile fixes

    • Override go.clean so make clean doesn't wipe golang.org/toolchain
      from the module cache; new clean-module-cache target for the full wipe.
    • local-deploy now restarts provider deployments and uses
      $(CROSSPLANE_NAMESPACE) instead of hard-coded upbound-system.
  • Example cleanup

    • Renamed custom_role, feature_flag_environment/targeting,
      project_environment_and_flag/*, segment/segment_with_env,
      team_with_custom_roles/* to align with provider
    • Examples to use a crossplane-created-…
      naming convention and switched hard-coded projectKey strings to
      projectKeyRef so the examples actually work as a connected set when
      applied together for make local-e2e.

How has this code been tested

  • make generate — clean output, no diff.
  • make check-diff locally — passes (branch is clean).
  • CI on the fork (devopsdina/crossplane-provider-launchdarkly) — see the
    fork's PR for the green run.
  • make local-e2e end-to-end against a real LaunchDarkly account using the
    updated examples — all resources reconcile to Ready=True, including the
    new deprecated / viewKeys / requireViewAssociationForNew* fields on
    FeatureFlag and Project.
  • Local-provider workflow verified by pointing TF_PROVIDER_PATH at a
    checkout of terraform-provider-launchdarkly on the issue-387 branch from the PR on the terraform provider

I have:

  • Read and followed Crossplane's contribution process.
  • Run make reviewable test to ensure this PR is ready for review.

devopsdina and others added 6 commits January 29, 2026 12:35
…l and high CVEs, add local e2e testing (#3)

* move to no-fork architecture
* add local e2e to run example CRDs against an LD instance.  
* Update docs
* Remediate critical and high CVEs
* update to Go 1.25.7

* bubble up errors in e2e testing
@devopsdina
devopsdina requested a review from a team as a code owner May 12, 2026 19:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants