Skip to content

🐛 Build Failing: Dependency Version Conflicts #1

@gontzalson

Description

@gontzalson

Problem

The provider currently fails to build due to dependency version mismatches between Upjet, Crossplane Runtime, and Controller Runtime.

Build Errors

cmd/provider/main.go:39:3: unknown field SyncPeriod in struct literal of type controllerruntime.Options
cmd/provider/main.go:46:34: undefined: controller.Setup
cmd/provider/main.go:47:3: unknown field Logger in struct literal of type controller.Options
cmd/provider/main.go:48:3: unknown field MaxConcurrentReconciles in struct literal of type controller.Options
cmd/provider/main.go:49:3: unknown field PollInterval in struct literal of type controller.Options

Current Dependencies

github.com/crossplane/crossplane-runtime v1.14.4
github.com/crossplane/upjet v1.1.1
sigs.k8s.io/controller-runtime v0.16.3

Possible Solutions

Option 1: Fix with Upjet v1.x

  • Find a working reference provider using Upjet v1.1.1
  • Update cmd/provider/main.go to use correct controller setup API
  • Ensure all dependency versions are compatible

Option 2: Migrate to Upjet v2 (Recommended)

  • Use the official upjet-provider-template
  • Migrate all config files to Upjet v2 structure
  • Generate schema.json and provider-metadata.yaml
  • Benefits: Latest features, better community support

Option 3: Alternative Approaches

  • Consider using Crossplane's native Terraform support instead of Upjet
  • Or wait for provider-terraform to support Azure DevOps

Help Wanted! 🙋

This is a great first issue for someone familiar with:

  • Upjet provider development
  • Crossplane architecture
  • Go dependency management

See DEVELOPMENT_STATUS.md for more context.

Related Resources

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions