Skip to content

Releases: crossplane-contrib/provider-upjet-gcp

v1.1.0

25 Apr 16:42
d1d5a0e
Compare
Choose a tag to compare

The v1.1.0 release introduces MR metrics, a new family provider provider-gcp-containerattached, new resources, bug fixes, enhancements, and dependency updates.

We are excited to introduce a new set of managed resource (MR) metrics in this release. These metrics are pivotal for monitoring the state and performance of resources managed through Crossplane. This enhancement follows the implementation guidelines from the provider-kubernetes and incorporates changes from crossplane/crossplane-runtime#683. The newly available metrics include:

  • crossplane_managed_resource_exists{"gvk"}
  • crossplane_managed_resource_ready{"gvk"}
  • crossplane_managed_resource_synced{"gvk"}
  • crossplane_managed_resource_first_time_to_reconcile_seconds{"gvk"}
  • crossplane_managed_resource_first_time_to_readiness_seconds{"gvk"}
  • crossplane_managed_resource_deletion_seconds{"gvk"}
  • crossplane_managed_resource_drift_seconds{"gvk"}

For a detailed overview of the implementation, please refer to this crossplane/crossplane-runtime#683.

Note that, for async resources, upjet_resource_ttr_bucket{"group","kind","version"} gives a more accurate measurement of when the external resource becomes available, compared to crossplane_managed_resource_first_time_to_readiness_seconds{"gvk"}.

Support for New Resources

  • RegionNetworkEndpoint.compute.gcp.upbound.io/v1beta1
  • Cluster.containerattached.gcp.upbound.io/v1beta1

Bug Fixes and Enhancements

  • Bug Fix: Addresses a critical bug related to asynchronous operation failures. With this fix, the "Synced" status will immediately reflect as "False" upon any failure in asynchronous operations, ensuring compliance with the XRM contract and improving reliability in status reporting. Previously, the error handling only updated the LastAsyncOperation status without properly setting the Synced condition to False. For more information, please see the crossplane/upjet#391 (comment).
  • Support for publishing password to Connection Secret for the Uer.sql resource #501

Breaking UX Changes

The release switches the order of the SYNCED and READY printer columns so that the SYCNED column is now printed before the READY column as follows:

❯ kubectl get managed
NAME                                                                  SYNCED   READY   EXTERNAL-NAME             AGE
serviceaccount.cloudplatform.gcp.upbound.io/example-service-account   True     True    example-service-account   56s

This used to be first the READY column and then the SYNCED column previously. Please see crossplane/upjet#360 for further details.

What's Changed

  • Add support for google_compute_region_network_endpoint gcp resource by @JonathanO in #469
  • Consume the reusable workflows from upbound/uptest@standard-runners by @sergenyalcin in #473
  • Set log.Default's output to io.Discard by @ulucinar in #479
  • Applying license changes by @sergenyalcin in #477
  • Fix the wrong provider name reference from README by @sergenyalcin in #484
  • Generate license headers for setup.go files by consuming the upjet 1.1.5 by @sergenyalcin in #486
  • Update docker/setup-buildx-action digest to 2b51285 by @renovate in #478
  • Update module google.golang.org/protobuf to v1.33.0 [SECURITY] by @renovate in #481
  • Update kubernetes patches to v0.29.3 by @renovate in #488
  • Create containerattached Cluster resource by @RedbackThomson in #485
  • Update actions/cache digest to 0c45773 by @renovate in #491
  • Switch to the new API for marking as required the fields for some resources by @sergenyalcin in #490
  • Add SSA merge strategy to container Cluster's nodeConfig to avoid fights over ownership. by @JonathanO in #487
  • Log a deprecation message when the monolithic provider is run by @sergenyalcin in #493
  • Monitor, mark and close issues and PRs with github workflow by @turkenf in #499
  • Update docker/setup-buildx-action digest to d70bba7 by @renovate in #500
  • Update module sigs.k8s.io/controller-runtime to v0.17.3 by @renovate in #502
  • Remove GitHub issue triage workflow by @turkenf in #504
  • [User.Sql] publish password to Connection Secret by @ytsarev in #501
  • Update kubernetes patches to v0.29.4 by @renovate in #505
  • Update actions/upload-artifact digest to 1746f4a by @renovate in #507
  • Rename the repo name for reusable workflows used by @turkenf in #514
  • Introduce MR metrics by @mergenci in #512

New Contributors

Full Changelog: v1.0.2...v1.1.0

v1.0.2

21 Mar 14:17
e24d1b4
Compare
Choose a tag to compare

The release v1.0.2 introduces:

  • Switches to the new API for marking as required the fields. The new API will mark as required the fields during the generation without any native resource schema change. For more details of this new API please see this PR
  • Fixes [Bug]: Creation of compute Instances (and others) fails with SetNew only operates on computed keys #472
  • Adds info logs in the monolithic provider's output that communicate the deprecation and the next steps #493
  • Adds SSA merge strategy to container Cluster's nodeConfig to avoid fights over ownership #487

What's Changed

  • Bump upjet to 1.1.6 and switch to the new API for marking as required the fields for some resources by @sergenyalcin in #492
  • [Backport release-1.0] Add SSA merge strategy to container Cluster's nodeConfig to avoid fights over ownership. by @github-actions in #495
  • [Backport release-1.0] Log a deprecation message when the monolithic provider is run by @github-actions in #497

Full Changelog: v1.0.1...v1.0.2

v0.41.4

21 Mar 13:45
8135962
Compare
Choose a tag to compare

The release v0.41.4 introduces:

  • Adds info logs in the monolithic provider's output that communicate the deprecation and the next steps #493
  • Adds SSA merge strategy to container Cluster's nodeConfig to avoid fights over ownership #487

What's Changed

  • [Backport release-0.41] Add SSA merge strategy to container Cluster's nodeConfig to avoid fights over ownership. by @github-actions in #494
  • [Backport release-0.41] Log a deprecation message when the monolithic provider is run by @github-actions in #496

Full Changelog: v0.41.3...v0.41.4

v1.0.1

14 Mar 14:41
17635b9
Compare
Choose a tag to compare

The release v1.0.1 sets a default io.Discard logger for the controller-runtime if debug logging is not enabled. If debug logging is enabled, then the controller-runtime uses a debug mode zap logger as usual.

What's Changed

  • Switch to Github hosted runners for the CI jobs by @ulucinar in #483
  • [Backport release-1.0] Set log.Default's output to io.Discard by @github-actions in #480

Full Changelog: v1.0.0...v1.0.1

v0.41.3

14 Mar 14:40
06973d5
Compare
Choose a tag to compare

The release v0.41.3 sets a default io.Discard logger for the controller-runtime if debug logging is not enabled. If debug logging is enabled, then the controller-runtime uses a debug mode zap logger as usual.

What's Changed

Full Changelog: v0.41.2...v0.41.3

v1.0.0

07 Mar 17:00
b098598
Compare
Choose a tag to compare

In the v1.0.0 release, we've upgraded the underlying Terraform provider version from 4.77.0 to 5.19.0.
Explore the API Changes section below for a concise overview of the modifications introduced by this version bump.

The release introduces support for the conversion functions to be able to handle any future breaking API changes. Also includes updates to the dependencies.

With this release, the provider-gcp-cloudiot family provider has been removed with the following two resources:

  • Device.cloudiot.gcp.upbound.io/v1beta1
  • Registry.cloudiot.gcp.upbound.io/v1beta1

Bug Fixes and Enhancements

  • Enable Conversion Webhooks #468
  • Add SSA merge strategy to container NodePool's nodeConfig to avoid fights over ownership #457
  • rds: NodePool CRD is producing endless loop if autoUpgrade enabled #249

API Changes

  • Changed external name configuration for Membership.gkehub.gcp.upbound.io/v1beta1 and DNSAuthorization.certificatemanager.gcp.upbound.io/v1beta1, and spec.forProvider.location is now required.
  • Instance.alloydb.gcp.upbound.io/v1beta1 => added reference and selector for spec.forProvider.instanceType field.
  • Routine.bigquery.gcp.upbound.io/v1beta1 => spec.forProvider.routineType is now required.
  • Function.cloudfunctions2.gcp.upbound.io/v1beta1 => spec.forProvider.location is now required.
  • DomainMapping.cloudrun.gcp.upbound.io/v1beta1 => spec.forProvider.metadata is now optional.
  • V2Job.cloudrun.gcp.upbound.io/v1beta1 => spec.forProvider.location is now required and spec.forProvider.template.template.containers.{livenessProbe,startupProbe} have been removed.
  • Service.cloudrun.gcp.upbound.io/v1beta1 => spec.forProvider.location is now required.
  • NodeGroup.compute.gcp.upbound.io/v1beta1 => spec.forProvider.size has been replaced with spec.forProvider.initialSize.
  • RouterNAT.compute.gcp.upbound.io/v1beta1 =>
    • spec.forProvider.natIpAllocateOption is now optional.
    • spec.forProvider.enableEndpointIndependentMapping now defaults to FALSE. Previously, the default value was TRUE.
  • Cluster.container.gcp.upbound.io/v1beta1 =>
    • spec.forProvider.enableBinaryAuthorization has been removed.
    • spec.forProvider.deletionProtection field has been added with a default of true. Cluster deletion now prevented by default with this field.
    • spec.forProvider.networkingMode defaults to VPC_NATIVE for newly created clusters.
  • Trigger.eventarc.gcp.upbound.io/v1beta1 => spec.forProvider.destination.cloudFunction has been removed.
  • Certificate.privateca.gcp.upbound.io/v1beta1 => status.atProvider.pemCertificates has been removed and status.atProvider.certificateDescription.configValues has been removed.
  • Secret.secretmanager.gcp.upbound.io/v1beta1 => spec.forProvider.replication.automatic has been replaced with spec.forProvider.replication.auto.
  • Databaselnstance.sql.gcp.upbound.io/v1beta1 => status.atProvider.serverCaCert has been removed.
  • SSLCert.sql.gcp.upbound.io/v1beta1 => status.atProvider.serverCaCert has been removed.
  • ServiceAttachment.compute.gcp.upbound.io/v1beta1 => spec.forProvider.reconcileConnections now defaults from API. Previously defaulted to true.
  • NodePool.container.gcp.upbound.io/v1beta1 => spec.forProvider.autoRepair and spec.forProvider.autoUpgrade now default to true. Previously both fields defaulted to false if spec.forProvider.management was set as an empty block.
  • ProjectSink.logging.gcp.upbound.io/v1beta1 => spec.forProvider.uniqueWriterIdentity now defaults to TRUE. Previously, the default value was FALSE.

What's Changed

  • Update actions/cache digest to e12d46a by @renovate in #440
  • Update actions/upload-artifact digest to 1eb3cb2 by @renovate in #442
  • Update actions/cache action to v4 by @renovate in #444
  • Update kubernetes patches to v0.29.1 by @renovate in #445
  • Update actions/upload-artifact digest to 694cdab by @renovate in #446
  • Update actions/upload-artifact digest to 26f96df by @renovate in #449
  • Comprehensive Issue Template Update: Assisting Users in Better Issue Definition by @turkenf in #450
  • Update module sigs.k8s.io/controller-tools to v0.14.0 by @renovate in #441
  • Update alpine Docker tag to v3.19.1 by @renovate in #453
  • Update actions/upload-artifact digest to 5d5d22a by @renovate in #458
  • Add SSA merge strategy to container NodePool's nodeConfig to avoid fights over ownership. by @JonathanO in #457
  • fix: add version to lateinit ingore array by @Demonsthere in #456
  • Update kubernetes patches to v0.29.2 by @renovate in #459
  • Switch from the NoFork terminology to the TerraformPluginSDK terminology and bump dependiencies by @sergenyalcin in #461
  • Update module sigs.k8s.io/controller-runtime to v0.17.2 by @renovate in #464
  • Update module github.com/cloudflare/circl to v1.3.7 [SECURITY] by @renovate in #463
  • Enable Conversion Webhooks by @ulucinar in #468
  • Update docker/setup-buildx-action digest to 0d103c3 by @renovate in #466
  • Update actions/cache digest to ab5e6d0 by @renovate in #467
  • Bump native tf provider to version 5.19.0 by @turkenf in #465

New Contributors

Full Changelog: v0.41.2...v1.0.0

v0.41.2

22 Feb 16:49
fbf8449
Compare
Choose a tag to compare

The release v0.41.2 includes some important bug fixes and dependency bumps detailed below:

  • Bump crossplane-runtime to v1.15.1 along with various bug fixes.
  • Bump upjet to v1.1.1
  • There’s a fix in the implementation of the LateInitialize management policy in the context of the no-fork architecture. Previously, we were relying solely on the managed reconciler for preventing the late-initialization of the managed resources if the specified policies do not contain it. Now, we also explicitly skip the late-initialization in upjet to prevent some accidental updates to the spec.forProvider while, for example, updating the annotations.
  • Adds a more explanatory error message when immutable fields of a managed resource have changed.

What's Changed

  • [Release-0.41] Switch from the NoFork terminology to the TerraformPluginSDK terminology and bump dependiencies by @turkenf in #462

Full Changelog: v0.41.1...v0.41.2

v0.41.1

25 Jan 14:29
a086352
Compare
Choose a tag to compare

This release includes updates to the dependencies.

What's Changed

  • [Backport release-0.41] Backport dependency bumps to release 0.41 by @turkenf in #451

Full Changelog: v0.41.0...v0.41.1

v0.41.0

28 Dec 16:00
bbbb309
Compare
Choose a tag to compare

The release includes some bug fixes, adding a new resource, and updates to dependencies, with the most significant ones detailed below.

  • Generates reference fields for the spec.initProvider of all resources.
  • Support for new resource: RegionTargetTCPProxy.compute

What's Changed

  • Add support for google_compute_region_target_tcp_proxy gcp resource by @meerkat-b in #432
  • Update actions/upload-artifact action to v4 by @renovate in #436
  • Update kubernetes packages to v0.29.0 by @renovate in #435
  • Update module golang.org/x/crypto to v0.17.0 [SECURITY] by @renovate in #438
  • Bump upjet to the commit 4cb45f9104ac by @turkenf in #439

New Contributors

Full Changelog: v0.40.0...v0.41.0

v0.40.0

13 Dec 16:30
643628c
Compare
Choose a tag to compare

This release brings a change with how we interact with the underlying Terraform GCP provider. Instead of interfacing with Terraform via the TF CLI, the new implementation consumes the Terraform provider's Go provider schema and invokes the CRUD functions registered in that schema, and we no longer fork the underlying Terraform provider process.
For this reason, we removed the Terraform CLI from the provider package, and accordingly we also deprecated all the process-forking related command-line flags. The full list of the deprecated command-line flags is as follows:

  • --terraform-version
  • --terraform-provider-version
  • --terraform-native-provider-path
  • --terraform-provider-source
  • --provider-ttl

Using these flags will be non-functional and you will receive log messages similar to the following, if you pass any of these deprecated command-line flags to the provider.

warning: Command-line flag "terraform-version" is deprecated and no longer used. It will be removed in a future release. Please remove it from all of your configurations (ControllerConfigs, etc.).
warning: Command-line flag "terraform-provider-source" is deprecated and no longer used. It will be removed in a future release. Please remove it from all of your configurations (ControllerConfigs, etc.).
warning: Command-line flag "terraform-provider-version" is deprecated and no longer used. It will be removed in a future release. Please remove it from all of your configurations (ControllerConfigs, etc.).
warning: Command-line flag "provider-ttl" is deprecated and no longer used. It will be removed in a future release. Please remove it from all of your configurations (ControllerConfigs, etc.).

Our users are advised to remove any of these deprecated command-line flags from their configurations (ControllerConfigs, etc.) because the deprecated command-line flags will be removed in a future release of the provider.

What's Changed

  • Update alpine Docker tag to v3.18.5 by @renovate in #428
  • Update actions/setup-go action to v5 by @renovate in #430
  • Update alpine Docker tag to v3.19.0 by @renovate in #431
  • Use Terraform Plugin SDK to Reconcile MRs by @ulucinar in #424
  • Remove the Terraform CLI from the provider package and deprecate the relevant provider command-line flags by @ulucinar in #434

Full Changelog: v0.39.0...v0.40.0