Skip to content

Releases: Azure/azure-service-operator

Experimental

08 Sep 03:14
e4a9d25
Compare
Choose a tag to compare
Experimental Pre-release
Pre-release

This is an experimental release which containing the most recent commits from the main branch as of commit: e4a9d25.

This release might not be stable. Use at your own risk.

⚠️ The provided YAML manifest does not configure any CRDs to install by default, but is required.
You must specify the CRDs that you want to use as part of crdPattern, for example 'resources.azure.com/*;containerservice.azure.com/*;keyvault.azure.com/*;managedidentity.azure.com/*;apimanagement.azure.com/*'.

The recommended way to supply crdPattern is using asoctl template:

asoctl export template --source https://github.com/Azure/azure-service-operator/releases/download/experimental/azureserviceoperator_experimental.yaml --crd-pattern "<pattern>" | kubectl apply -f -

This release is only intended for developers wishing to try out the latest features, some of which may not be fully implemented.

It is not recommended to run the experimental release for a long period of time, as the docker image referenced by the deployment is
mcr.microsoft.com/k8s/azureserviceoperator:experimental, which is always being updated. Test what you want to test and then uninstall the operator.
Running the operator for long periods of time on the experimental tag is not supported and will likely cause problems eventually.

v2.15.0

20 Aug 21:41
b6e4260
Compare
Choose a tag to compare

New resources

  • Add support for new app API version v1api20250101 (#4858)
  • Add support for new compute AvailabilitySet resource and API version v1api20241101 (#4862)
  • Add support for new cognitiveservices API version v1api20250601 (#4789)
  • Add support for new insights ActivityLogAlert resource (#4821)
  • Add support for new insights DataCollectionEndpoint resource (#4821)
  • Add support for new insights DataCollectionRule resource (#4847)
  • Add support for new insights DataCollectionRuleAssociation resource (#4821)
  • Add support for new insights PricingPlan resource (#4821)
  • Add support for new insights Workbook resource (#4827)
  • Add support for new kusto API version v1api20240413 (#4883)
  • Add support for new network AzureFirewall, FirewallPolicy and FirewallPoliciesRuleCollectionGroup resources (#4819)
  • Add support for new redisenterprise API version v1api20250401 (#4833)

Features

  • Add new CEL library ext.TwoVarComprehensions (#4812)
  • Add azure and {group} categories to generated CRDs (#4846)
  • Add crd storedVersions deprecation controller (#4874)
  • Enable ConfigMap support for IPRule.Value (#4839)
  • Improve Copilot-related configuration and add Copilot setup/instructions for the repo (#4845, #4840, #4866)
  • Add support for additional property formats (#4676)

Bug fixes

  • Allow GOMEMLIMIT to be unset (#4844)
  • Set ReaderFailOnMissingInformer to avoid informer-related failures (#4857)

Documentation

  • Fix docs for Entra resources (#4811)
  • Replace a broken link in the documentation (#4837)
  • Fix broken link to Crossplane docs (#4861)
  • Improve Copilot instructions for working on ASO (#4854)
  • Explicitly call out redaction of test recordings in docs (#4887)

Miscellaneous / Maintenance

  • Update azure-rest-api-specs submodule (#4799)
  • Remove CodeCov from PR validation builds (#4853)
  • Update CODEOWNERS (#4872)
  • Add Copilot Coding Agent setup (#4840)

New Contributors

@JamesJuddAVEVA made their first contribution in #4799
@Olexandr88 made their first contribution in #4837
@jlhuilier-1a made their first contribution in #4844
@Copilot made their first contribution in #4839
@GeraldLoeffler made their first contribution in #4858

Full changelog: v2.14.0...v2.15.0

v2.14.0

24 Jun 18:06
6104ede
Compare
Choose a tag to compare

New resources

  • Add support for new search API version v1api20231101 (#4722)
  • Add support for new documentdb MongoDBRoleDefinition resource (#4760)
  • Add support for new entra SecurityGroup resource (#4768)
  • Add support for new documentdb MongoCluster and FirewallRule resources (#4773)

Features

  • Updated numerous dependencies for bug and CVE fixes
  • Improve error classification and add operationID to errors (#4757)
  • Helm: Support injecting custom environment variables (#4745)
  • Helm: Allow user to override tag or repositoryBase separately (#4770)
  • Improve pod startup time by adding startup probe (#4791)

Bug fixes

  • Fix bug where Kusto Database extension owner reference via armID did not work (#4720)
  • Fix bug where owner label could be too long (#4741)
  • Fix bug where metrics service was not deployed in multitenant mode (#4752)
  • Fix bug where a nil panic could occur if leaderContext was nil (#4762)
  • Fix bug in ownerDetails type extraction for Azure SQL User (#4765)
  • Fix bug in application gateway resource API shape (#4784)

Documentation

  • Remove ASO v1 Code Diagram (#4716)
  • Organize FAQ page by section (#4709)
  • Add more visible warning for multitenant deployment mode (#4753)
  • Add TSG on handling reconciliation failures (#4749)
  • Add documentation about labels written by the operator (#4758)
  • Documentation cleanup (#4771)
  • Fix formatting of reference documentation (#4785)
  • Add docs for entra resources (#4783)
  • Fix broken links (#4786)
  • Add ADR on how to address version priority (#4750)

New Contributors

Full Changelog: v2.13.0...v2.14.0

v2.13.0

23 Apr 01:48
450cdf3
Compare
Choose a tag to compare

New resources

  • Add support for new dbformysql API version 2023-12-30 (#4549)
  • Add support for new kubernetesconfiguration FluxConfiguration resource version 2024-11-01 (#4638)
  • Add support for new servicebus TopicAuthorizationRules resource (#4688)
  • Add support for new kusto Cluster, Database, and DataConnection resources (#4680)
  • Add support for new dbforpostgresql API version 2024-08-01 (#4702)
  • Add support for new dbforpostgresql FlexibleServersVirtualEndpoint and FlexibleServersAdvancedThreatProtectionSetting resources (#4702)

Features

  • Add new authentication type UserAssignedIdentityCredential (#4565)
  • Make reconcile-policy customizable (#4572)
  • Update version of APIM SDK (#4603)
  • Enable using JSON logging in Helm chart (#4619)
  • Bump operator Go dependencies (#4656)
  • Support sourcing AFDOrigin HostName from configuration (#4656)
  • Retry ScopeLocked errors at a slower rate (#4695)
  • Support openshift cluster secret export (#4701)
  • asoctl: Set spec.owner on root resource of import (#4611)

Bug fixes

  • Fix bug where multitenant authentication did not work (#4577)
  • Fix bug where DNS Zone provisioning could get stuck due to targetResource lookup not found (#4651)
  • Fix bug where PostgreSQL create user command couldn't add roles with caps (#4657)
  • Fix bug where HTTP 409 Conflicts were not consistently retried (#4671)
  • Fix bug where Replica_Spec.Sku was not marked as required (#4674)
  • Fix bug where DnsForwardingRuleset resource could get stuck due to transient BadRequest errors (#4690)
  • Fix bug where AFDRule resource could get stuck due to transient BadRequest errors (#4684)

Documentation

  • Fix issues with broken and inaccessible documentation links (#4579)
  • Add additional guides for troubleshooting (#4628)
  • Restructure new resource documentation for clarity (#4683)
  • Updated reference documentation to show required/optional properties in CRD docs (#3146)

v2.12.0

12 Feb 21:35
5b5d690
Compare
Choose a tag to compare

What's Changed

New resources

  • Add support for new eventhub API version v1api20240101 (#4499)
  • Add support for new web site SourceControl resource (#4491)
  • Add support for new containerregistry RegistryReplication resource (#4538)
  • Add support for new Microsoft.App resource (#4517)
  • Add support for new Microsoft.NotificationHubs resource (#4539)
  • Add support for new documentdb API version v1api20240815 and MongodbUserDefinition resource (#4550)
  • Add support for new signalr API version v1api20240301 (#4560)
  • Add support for new monitor API version v1api20240101preview (#4507)
  • Add support for new servicebus API version v1api20240101 (#4561)

Improvements

  • Add ResourceTypeNotSupported to list of skipped error codes (#4451)
  • Support multiple replicas of ASO pod (#4466)
  • Enable high availability (HA) configuration for ASO (#4445)
  • Allow recovery if resources have a missing AzureName (#4460)
  • Loosen up Owner-Child resource subscription checks (#4343)
  • Improve resource indexes to make supported resources easier to scan (#4557)
  • Update dependencies
  • asoctl: Add commandline switch for simpler logging (#4474)
  • asoctl: Improve resource naming (#4487)

Bug Fixes

  • Elide subnet IPConfiguration field when it passes 2000 entries (#4448)
  • Fix bug where PublicIPAddress could get blocked permanently (#4481)
  • Fix bug where obj.AzureName was not used to create Azure URLs (#4516)
  • Fix "missing error information" error on 409s (#4530)
  • Fix bug where pod could get OOMKilled when listing CRDs (#4573)
  • asoctl: Ensure asoctl simple logger shuts down properly (#4473)
  • asoctl: Fix asoctl deadlock (#4475)

New Contributors

Full Changelog: v2.11.0...v2.12.0

v2.11.0

12 Nov 23:17
8a9d08c
Compare
Choose a tag to compare

Release notes

Breaking changes

Moved all the "ARM" variants of the CRD types into dedicated subpackages

This is only breaking for consumers of the Go package, not for users of the YAML, and only for those using the ARM types directly.

Upcoming Breaking changes

Deprecated managedclusters.containerservice.azure.com API versions

  • The v1api20210501 and v1api20231102preview versions will be removed in ASO release 2.12.
  • The v1api20230201 version will be removed in ASO release 2.13.

We recommend you move to use a different CRD version to avoid errors.

For more details see the breaking changes document.

New resources

  • Add support for new insights DiagnosticSettings resource (#4363)
  • Add support for new alertsmanagement SmartDetectorAlertRule resource (#4375)
  • Add support for new containerservice API version 2024-09-01 (#4419)
  • Add support for new network API version 2024-03-01. This includes VNet, Subnet, and many other networking resources (#4431)
  • And support for new network PrivateDNS API version 2024-06-01 (#4431)

Features

  • Add support for dynamic secret or configmap export. See our documentation on Expressions (#4362, #4398)

Improvements

  • Updated numerous dependencies

Bug fixes

  • asoctl: Handle deprecated trustedaccessrolebinding storage version in asoctl clean crds (#4403)

Documentation

  • Clarify some PostgreSQL User documentation (#4360)
  • Improved CRD documentation by moving the "ARM" variants of the CRD types into dedicated subpackages.
  • Capture recent advice to users in our docs (#4396)

Full Changelog: v2.10.0...v2.11.0

v2.10.0

22 Oct 15:59
3966bc5
Compare
Choose a tag to compare

Release notes

Breaking changes

MachineLearningServices/WorkspacesCompute properties marked as a SecretReference

The below properties on WorkspacesCompute has been changed from a string to a SecretReference
We always try to avoid breaking changes, but in this case, allowing raw passwords in the spec is a security problem and as such we've
decided to make a break to correct this issue.

Affected Properties:

  • SslConfiguration.Key
  • SslConfiguration.Cert
  • VirtualMachineSshCredentials.PrivateKeyData
  • VirtualMachineSshCredentials.PublicKeyData
  • DatabricksProperties.DatabricksAccessToken

For more details see the breaking changes document.

Upcoming Breaking changes

We've made a number of breaking changes to properties to ensure they correctly use Secrets to store secret values.
To reduce the likelihood of future breaking changes of this type, we are working to improve our automated detection of properties that should be treated as secrets, see PR #4289.

New resources

  • Add support for new machinelearningservices API version v1api20240401 (#4237)
  • Add support for new machinelearningservices Registry resource (#4339)
  • Add support for new kubernetesconfiguration FluxConfiguration resource (#4275)
  • Add support for new cache API version v1api20230801 (#4287)
  • Add support for new network DnsForwardingRuleSetsVirtualNetworkLink resource (#4345)
  • Add support for new network ApplicationSecurityGroup group resource (#4342)
  • Add support for new network ApplicationGatewayWebApplicationFirewallPolicies resource (#4238)

Features

  • Allow the data encryption keys for PostgreSQL Flexible server to be configured via ConfigMap (#4311)

Improvements

  • Allow significantly more Helm chart configuration (#4211, #4207)
  • Remove pre-upgrade check (#4217)
  • Updated numerous dependencies
  • Improve controller pod security context restrictions (#4242)
  • Release lease when the pod is terminated for faster pod shutdown (#4250)
  • Improve the spec and status names for some resources (breaking for Go pkg consumers) (#4341)
  • asoctl: Add some validation of crd-pattern to export template command (#4245)
  • asoctl: Allow reuse of import command via Go code (#4243)
  • asoctl: Allow number of simultaneous workers to be configured (#4257)
  • asoctl: Reduce noise when importing PostgreSQL Flexible Server Configurations (#4279)
  • asoctl: Reduce noise when importing MySQL Flexible Server Configurations (#4282)
  • asoctl: Built-in role definitions should be skiped by import command (#4263)

Bug fixes

  • Fix bug where a log could cause a panic (#4249)
  • Fix bug where ASO's NetworkPolicy didn't allow egress to SqlServer's default port (#4283)
  • Fix bug where ScheduledQueryRules could get stuck reconciling when encountering a BadRequest (#4312)
  • Fix bug where storage account bypass parameter did not accept all allowed values (#4328)
  • Fix bug where some ConfigMap and Secret references could fail to be exported (#4330)
  • asoctl: Fix bug where resource names could be generated which where not valid in Kubernetes (#4244)
  • asoctl: Fix bug where FrontDoor resources couldn't be imported (#4262)
  • asoctl: Fix deadlock and ux bugs (#4270)

Documentation

  • Add missing SQL User documentation (#4230)
  • Add docs for non-podidentity managed identity (#4227)
  • Add some additional documentation about the controller metrics endpoint (#4273)
  • Update redis migration docs with correct redis key (#4297)
  • Add ArgoCD FAQ item (#4309)

Full Changelog: v2.9.0...v2.10.0

v2.9.0

22 Aug 17:13
ebbc9e1
Compare
Choose a tag to compare

Release notes

Breaking changes

v20230202preview ManagedCluster was removed

This removal was due to the underlying Azure API version being deprecated.

Other versions will continue to be supported. We recommend you move to use a different CRD version to avoid
seeing errors from Azure due to the 2023-02-02-preview API being deprecated. This change was performed in PR #4182.

See the breaking change documentation for 2.9.0 for more details on how to deal with this, especially if you are using or have used TrustedAccessRoleBinding.

The RoleAssignment spec.delegatedManagedIdentityResourceId field has changed

This field was a string containing an ARM ID previously. It is now a genruntime.ResourceReference.

This field is not commonly used. If your RoleAssignment resources don't set this field, there is no action needed.

If your cluster has RoleAssignment resources that set this field:

Upcoming Breaking changes

None.

New resources

  • Add support for new Disk API version v20240302 (#4171)
  • Add support for Azure RedhatOpenshift Clusters (#4152)

Features

  • Remove default operator-scoped rate limiter and add various scaling configuration options (#4158)
  • Add ability to configure RoleAssignments UUID generation algorithm. Allowed options are random and stable (#4196)
  • Allow custom OperatorSpec properties to be defined in generator configuration (#4175)

Improvements

  • Updated numerous dependencies
  • Fix pre-release-test (#4128)
  • Update local tests and CI tests to use az login token or managed identity, not service principal (#4003)

Bug fixes

  • Fix bug where KeyVault with ARMID owner couldn't be recovered (#4127)
  • Fix bug where 'none' crd-management mode blocked pod start (#4151)
  • Fix bug where BackupVaults/BackupInstance would report ready condition before it was actually ready (#4180)
  • Fix bug where owner.armId could be changed (#4193)

Documentation

  • Add missing aso-controller-settings documentation (#4160)
  • Add contact details to our documentation site (#4190)

Full Changelog: v2.8.0...v2.9.0

v2.8.0

25 Jun 16:27
38446a3
Compare
Choose a tag to compare

Release notes

Breaking changes

Use "never" rather than "" to prevent syncing for AZURE_SYNC_PERIOD

The documentation always said that an AZURE_SYNC_PERIOD of "" meant to use the default value (15m), but
in actuality in the code "" meant never sync. This corrects the behavior to be as documented. After this release,
the behavior is as follows:

AZURE_SYNC_PERIOD Meaning
omitted/not set Use default value (15m)
"" Use default value (15m)
"never" Do not sync

If you intend to prevent ASO from periodically syncing with Azure, set AZURE_SYNC_PERIOD to "never".
For more information, see #3965.

containerservice.azure.com ManagedCluster property .spec.properties.windowsProfile.adminPassword is now a secret reference rather than a string

The spec.properties.windowsProfile.adminPassword on ManagedCluster has been changed from a string to a
SecretReference.
We try to avoid breaking changes, but in this case, allowing raw passwords in the spec is a security
problem and as such we've decided to make a break to correct this issue.
Action required: If the containerservice.azure.com/ManagedCluster resource is used in your cluster
and the spec.properties.windowsProfile.adminPassword property is set, follow the steps in the
breaking changes document

Upcoming Breaking changes

v20230202preview ManagedCluster will be removed, due to underlying Azure API version deprecation

Other versions will continue to be supported. We recommend you move to use a different CRD version to avoid
seeing errors from Azure due to the 2023-02-02-preview API being deprecated.

New resources

  • Support new API version of DocumentDB resources (#3967)
  • Support Prom Rule groups and Azure Monitor accounts (workspaces) (#4052)
  • Support for RoleDefinition resource (#4067)
  • Support new AKS preview API version 2024-04-02-preview (#4086)

Features

  • Support multiple clouds in asoctl (#4033)
  • Support to specify image pull secrets in ASOv2 helm chart (#4116)
  • Expose default primary PrivateEndpoint PrivateIpAddress (#4107)

Improvements

  • Updated numerous Golang dependencies
  • Update local tests and CI tests to use az login token or managed identity, not service principal (#4003)

Bug fixes

  • Fix bug where AZURE_USER_AGENT_SUFFIX was not getting set (#4011)
  • Fix bug where AZURE_SYNC_PERIOD "" meant "never sync" when it should have meant "use the default sync period" (see also the breaking changes) (#4049)
  • Fix bug where ManagedCluster WindowsProfile password was a string (see also the breaking changes) (#4091)
  • Fix bug where asoctl wasn't case-correcting enums when it should have been (#4109)
  • Fix bug where asoctl would sometimes copy the wrong value between two properties with the same name if they were flattened, such as .type and .properties.type (#4108)

Documentation

  • Improve secret rotation documentation, based on user pattern (#4110)

Full Changelog: v2.7.0...v2.8.0

v2.7.0

25 Apr 18:12
3efbdf4
Compare
Choose a tag to compare

Release notes

Breaking changes

Metrics endpoint has changed from 8080 to 8443 and now requires HTTPS

ASO no longer depends on kube-rbac-proxy and now correctly secures the metrics endpoint by default.

These options are configured via the following options in the Helm chart:

    --set metrics.secure=true/false (default: true)
    --set metrics.address=0.0.0.0:8443 (default)

For more details about how to scrape metrics, see the metrics guide.

Secret or ConfigMap values which cannot be written now trigger a reconcile error

Previously, if ASO couldn't find the corresponding secret/configmap value, it would just skip creating it with no error. This is almost
never what users expect: if they ask for a specific ConfigMap or Secret value to be exported they expect it to actually get exported. ASO now
behaves as expected in cases where it cannot find the value to export and will set an appropriate Ready condition warning.

See #3925 for more details.

Upcoming Breaking changes

None

New resources

  • Support new MySQL API version 2023-06-30 (#3905)
  • Support new Insight/Webtest API version 2022-06-15 (#3911)
  • New resource Backup Instance for Microsoft.DataProtection (#3736)

Features

  • Expose pprof endpoint at metrics URL when setting --set metrics.profiling=true/false (default: false) (#3833)
  • Managedidentity operatorspec supports export to a secret (#3937)
  • Add asoctl template command (#3968)

Improvements

  • Updated numerous Golang dependencies
  • Support exporting eventhub keys (#3882)
  • Add namespace, label, and annotation support to asoctl import (#3884)

Bug fixes

  • Fix bug where Reconciling condition would sometimes fail to overwrite AzureResourceNotFound (#3834)
  • Fix bug where documentdb capacity failures had a very hard to understand error (#3906)
  • Fix bug where user requested secrets or configmaps were not emtited in some edge cases (#3925)
  • Fix asoctl bug that could prevent imported resources from being applied because of letter case differences in responses from ARM (#3880)
  • Fix asoctl bug where attempts to list the extension resource kubernetestconfiguration/extension could abort the import (#3853)
  • Fix asoctl panic when resource types case mismatched (#3862)

Documentation

  • Add ASOv1 to ASOv2 migration guide (#3898)
  • Improve various small doc nits (#3909)
  • Add best practices documentation and update other docs (#3938)
  • Improve ownership, adoption, and FAQ documentation (#3966)

External Contributors

Full Changelog: v2.6.0...v2.7.0