Skip to content

Commit c365c26

Browse files
Merge main
2 parents d21f189 + ad8e363 commit c365c26

File tree

536 files changed

+46003
-45080
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

536 files changed

+46003
-45080
lines changed

.devcontainer/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# See here for image contents: https://github.com/devcontainers/images/blob/main/src/go/.devcontainer/Dockerfile
22

33
# This is pinned to a particular version of go:
4-
FROM mcr.microsoft.com/devcontainers/go:1.24
4+
FROM mcr.microsoft.com/devcontainers/go:1.25
55

66
# https://docs.docker.com/engine/reference/builder/#automatic-platform-args-in-the-global-scope
77

.devcontainer/install-dependencies.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ fi
9494

9595
# Ensure we have the right version of GO
9696

97-
#doc# | Go | 1.23 | https://golang.org/doc/install #
97+
#doc# | Go | 1.25 | https://golang.org/doc/install #
9898
if ! command -v go > /dev/null 2>&1; then
9999
write-error "Go must be installed manually; see https://golang.org/doc/install"
100100
exit 1
@@ -104,7 +104,7 @@ GOVER=$(go version)
104104
write-info "Go version: ${GOVER[*]}"
105105

106106
GOVERREGEX=".*go1.([0-9]+).([0-9]+).*"
107-
GOVERREQUIRED="go1.24.*"
107+
GOVERREQUIRED="go1.25.*"
108108
GOVERACTUAL=$(go version | { read _ _ ver _; echo "$ver"; })
109109

110110
if ! [[ $GOVERACTUAL =~ $GOVERREGEX ]]; then
@@ -113,7 +113,7 @@ if ! [[ $GOVERACTUAL =~ $GOVERREGEX ]]; then
113113
fi
114114

115115
GOMINORVER="${BASH_REMATCH[1]}"
116-
GOMINORREQUIRED=24
116+
GOMINORREQUIRED=25
117117

118118
# We allow for Go versions above the min version, but prevent versions below. This is safe given Go's back-compat guarantees
119119
if ! [[ $GOMINORVER -ge $GOMINORREQUIRED ]]; then

.github/workflows/deploy-site.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@ on:
55
- main
66
paths:
77
- "docs/**"
8+
9+
workflow_dispatch:
10+
# no content, allows manual triggering
11+
12+
schedule:
13+
# 5:35 pm every Sunday (UTC)
14+
# to ensure the site is rebuilt weekly to publish scheduled blog posts
15+
- cron: "35 17 * * 0"
816

917
jobs:
1018
deploy-site:

ROADMAP.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ Our current release plan:
1010

1111
| Version | Estimated Release |
1212
| ---------------------------------------------------------------------- | ------------------: |
13-
| [2.16.0](https://github.com/Azure/azure-service-operator/milestone/35) | Mid October 2025 |
14-
| [2.17.0](https://github.com/Azure/azure-service-operator/milestone/36) | Early December 2025 |
1513
| [2.18.0](https://github.com/Azure/azure-service-operator/milestone/37) | Early February 2026 |
16-
| 2.19.0 | Mid April 2026 |
17-
| 2.20.0 | Mid June 2026 |
14+
| [2.19.0](https://github.com/Azure/azure-service-operator/milestone/38) | Mid April 2026 |
15+
| [2.20.0](https://github.com/Azure/azure-service-operator/milestone/39) | Mid June 2026 |
16+
| 2.21.0 | Mid August 2026 |
17+
| 2.22.0 | Mid October 2026 |
1818

1919
Where linked, versions go to a list of feature and bugs that are planned to be included in that release.
2020

@@ -32,6 +32,8 @@ Official releases of ASO v2:
3232

3333
| Version | Release Date | |
3434
| ------------------------------------------------------------------------------ | ---------------: | -------------------------------------------------------------------------------------- |
35+
| [2.17.0](https://github.com/Azure/azure-service-operator/milestone/36) | 8 December 2025 | Release cycle was abbreviated to get key items out before the 2025/2026 holiday season |
36+
| [2.16.0](https://github.com/Azure/azure-service-operator/milestone/35) | 22 October 2025 |
3537
| [2.15.0](https://github.com/Azure/azure-service-operator/releases/tag/v2.15.0) | 20 August 2025 | |
3638
| [2.14.0](https://github.com/Azure/azure-service-operator/releases/tag/v2.14.0) | 24 June 2025 | |
3739
| [2.13.0](https://github.com/Azure/azure-service-operator/releases/tag/v2.13.0) | 23 April 2025 | |

Taskfile.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -718,7 +718,7 @@ tasks:
718718
- generator:build
719719
sources:
720720
- ./bin/{{.GENERATOR_APP}}
721-
- v2/azure-arm.yaml
721+
- azure-arm.yaml
722722
- ../docs/hugo/content/reference
723723
cmds:
724724
- ./bin/{{.GENERATOR_APP}} gen-types azure-arm.yaml

docs/hugo/content/blogs/release-notes-v2.16.0.md renamed to docs/hugo/content/blogs/2025-10-29-release-notes-v2.16.0.md

File renamed without changes.
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
---
2+
title: "Developer Talks - Quality of Life Features with Bevan"
3+
date: 2025-12-19
4+
draft: false
5+
description: "Bevan goes over some recent and upcoming features in ASO and how they contribute to a better user experience."
6+
type: blog
7+
---
8+
9+
With the release of ASO v2.17 coming soon, this felt like a great time to go behind the curtain and get a better idea of what us devs have been working on, both landed and upcoming, and how they contribute to a smoother user experience for ASO users.
10+
11+
We'll go over two exciting features, one landing in v2.17 and one that shipped in v2.16. Alongside our other host of improvements, we hope these features make using ASO that much smoother for our users.
12+
13+
## Improved error handling for resources that can't be deleted
14+
15+
PR [#4987](https://github.com/Azure/azure-service-operator/pull/4987) landing in v2.17 helps with error handling for Azure resources that can not be deleted directly. Azure hosts a number of resource types that cannot be deleted directly; instead, you have to delete their parents.
16+
17+
If a user does attempt to delete one of these resources directly, they'll be met with a number of noisy errors that will populate in their logs.
18+
19+
A snippet of such an error would look like is below:
20+
21+
```go
22+
test_logger.go:160: [2024-04-28T22:19:01Z] SqlDatabaseThroughputSettingController
23+
"msg"="Error during Delete"
24+
"err"="deleting resource "/subscriptions/<sub_id>/resourceGroups/<rg_name>/providers/Microsoft.DocumentDB/databaseAccounts/sample-sqldb-account/sqlDatabases/sample-sql-db/throughputSettings/default": DELETE https://management.azure.com/subscriptions/<sub_id>/resourceGroups/<rg_name>/providers/Microsoft.DocumentDB/databaseAccounts/sample-sqldb-account/sqlDatabases/sample-sql-db/throughputSettings/default
25+
--------------------------------------------------------------------------------
26+
RESPONSE 405: 405 Method Not Allowed
27+
ERROR CODE: MethodNotAllowed
28+
--------------------------------------------------------------------------------
29+
{
30+
"code": "MethodNotAllowed",
31+
"message": "Message: The requested verb is not supported."
32+
}
33+
--------------------------------------------------------------------------------
34+
" name="sample-sql-throughput"
35+
namespace="aso-test-samples-creationanddeletion-test-sqldatabase-v1a-7e1fc"
36+
azureName="default"
37+
action="BeginDelete"
38+
```
39+
40+
With this new enhancement, the workflow in ASO is enhanced to detect when a resource can not be deleted directly, return a more informative error message than what you would see previously, and provides details on how to unblock the resource deletion.
41+
42+
## Allowing specification of role assignments by using well-known names
43+
44+
[This feature](https://github.com/Azure/azure-service-operator/pull/4923) builds upon the support of well-known names added in [#4922](https://github.com/Azure/azure-service-operator/pull/4922) and allows users to specify RoleAssignments using the well-known name of a [built-in RoleDefinition](https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles) instead of the full ARM ID.
45+
46+
Before this change if I wanted to assign the "Contributor" role, it would require something like this, using the published GUID:
47+
48+
```yaml
49+
apiVersion: authorization.azure.com/v1api20200801preview
50+
kind: RoleAssignment
51+
metadata:
52+
name: aso-sample-contributor
53+
namespace: default
54+
spec:
55+
...
56+
roleDefinitionReference:
57+
armId: /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c
58+
```
59+
60+
Now, with this change, I'd be able to use the well known name `contributor` instead:
61+
62+
```yaml
63+
apiVersion: authorization.azure.com/v1api20200801preview
64+
kind: RoleAssignment
65+
metadata:
66+
name: aso-sample-contributor
67+
namespace: default
68+
spec:
69+
...
70+
roleDefinitionReference:
71+
wellKnownName: Contributor
72+
```
73+
74+
## v2.17 Release
75+
76+
v2.17 introduces these features and more, as we continually strive to make ASO work better for our users!
77+
78+
If you have an enhancement you would like to see in future iterations of ASO, please [submit an issue](https://github.com/Azure/azure-service-operator/issues) or visit the [contributing guide](https://azure.github.io/azure-service-operator/contributing/).

docs/hugo/content/contributing/aso-codegen-structure.svg

Lines changed: 1 addition & 1 deletion
Loading

docs/hugo/content/contributing/aso-v2-structure.svg

Lines changed: 1 addition & 1 deletion
Loading

docs/hugo/content/contributing/asoctl-structure.svg

Lines changed: 1 addition & 1 deletion
Loading

0 commit comments

Comments
 (0)