Skip to content

Commit 8796d6e

Browse files
Merge branch 'main' into copilot/fix-3338
2 parents d3fdc3e + ba955f7 commit 8796d6e

File tree

1,646 files changed

+405849
-177921
lines changed

Some content is hidden

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

1,646 files changed

+405849
-177921
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,3 +84,4 @@ hack/tools
8484
v2/controller
8585
v2/cmd/asoctl/asoctl
8686
v2/tools/generator/aso-gen
87+
v2/tools/generator/generator

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Azure Service Operator (for Kubernetes)
22
[![Go Report Card](https://goreportcard.com/badge/github.com/Azure/azure-service-operator)](https://goreportcard.com/report/github.com/Azure/azure-service-operator)
3+
[![Generate CRD docs](https://github.com/Azure/azure-service-operator/actions/workflows/api-docs-repo.yaml/badge.svg)](https://github.com/Azure/azure-service-operator/actions/workflows/api-docs-repo.yaml)
4+
[![Publish docs site](https://github.com/Azure/azure-service-operator/actions/workflows/deploy-site.yml/badge.svg)](https://github.com/Azure/azure-service-operator/actions/workflows/deploy-site.yml)
5+
[![Scan controller image](https://github.com/Azure/azure-service-operator/actions/workflows/scan-controller-image.yaml/badge.svg)](https://github.com/Azure/azure-service-operator/actions/workflows/scan-controller-image.yaml)
6+
[![Pre Release tests](https://github.com/Azure/azure-service-operator/actions/workflows/pre-release-tests.yaml/badge.svg)](https://github.com/Azure/azure-service-operator/actions/workflows/pre-release-tests.yaml)
7+
38
<!-- ![v2 Status](https://github.com/azure/azure-service-operator/actions/workflows/live-validation.yml/badge.svg?branch=main) -->
49

510
## What is it?
@@ -20,7 +25,7 @@ There are two major versions of Azure Service Operator: v1 and v2. Consult the b
2025
> Note: ASO v1 and v2 are two totally independent operators. Each has its own unique set of CRDs and controllers. They can be deployed side by side in the same cluster.
2126
2227
| ASO Version | Lifecycle stage | Development status | Installation options |
23-
| ----------- | --------------- |---------------------------| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
28+
| ----------- | --------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
2429
| v2 | Stable | Under active development. | [Helm chart](/v2/charts), [GitHub release 2.x](https://github.com/Azure/azure-service-operator/releases). See [installation](https://azure.github.io/azure-service-operator/#installation) for example. |
2530
| v1 | Deprecated | Halted | [Helm chart](/charts), [OperatorHub](https://operatorhub.io/operator/azure-service-operator) or [GitHub release 1.x](https://github.com/Azure/azure-service-operator/releases) |
2631

Taskfile.yml

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,6 @@ tasks:
122122
deps:
123123
- header-check
124124
- specifier-check
125-
- controller:check-crd-size
126125

127126
make-release-artifacts:
128127
desc: Produce files required for an ASOv2 release
@@ -143,12 +142,16 @@ tasks:
143142
cmds:
144143
- task: asoctl:unit-tests
145144
- task: basic-checks
145+
vars:
146+
DIR: '{{.ASOCTL_ROOT}}'
146147
- task: asoctl:lint
147148

148149
asoctl:ci:
149150
cmds:
150151
- task: asoctl:unit-tests-cover
151152
- task: basic-checks
153+
vars:
154+
DIR: '{{.ASOCTL_ROOT}}'
152155
- task: asoctl:lint
153156

154157
asoctl:unit-tests:
@@ -236,12 +239,16 @@ tasks:
236239
cmds:
237240
- task: generator:unit-tests
238241
- task: basic-checks
242+
vars:
243+
DIR: '{{.GENERATOR_ROOT}}'
239244
- task: generator:lint
240245

241246
generator:ci:
242247
cmds:
243248
- task: generator:unit-tests-cover
244249
- task: basic-checks
250+
vars:
251+
DIR: '{{.GENERATOR_ROOT}}'
245252
- task: generator:lint
246253

247254
generator:unit-tests:
@@ -308,6 +315,7 @@ tasks:
308315
- task: controller:test
309316
# checks must be after test as that will generate code
310317
- task: basic-checks
318+
- task: controller:check-crd-size
311319
- task: controller:verify-samples
312320
# Lint is forced to the end because it expects the code is formatted
313321
- task: controller:lint
@@ -319,6 +327,7 @@ tasks:
319327
- task: controller:test-integration-ci
320328
# checks must be after test as that will generate code
321329
- task: basic-checks
330+
- task: controller:check-crd-size
322331
# lint must be at end after code is formatted
323332
- task: controller:lint
324333

@@ -333,6 +342,7 @@ tasks:
333342
cmds:
334343
- task: controller:test-integration-ci-live
335344
- task: basic-checks
345+
- task: controller:check-crd-size
336346
- task: controller:lint
337347

338348
controller:format-code:
@@ -1031,7 +1041,7 @@ tasks:
10311041
cmds:
10321042
- "kubectl create namespace cert-manager"
10331043
- "kubectl label namespace cert-manager cert-manager.io/disable-validation=true"
1034-
- "kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.14.4/cert-manager.yaml"
1044+
- "kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.18.2/cert-manager.yaml"
10351045
status:
10361046
- "kubectl get namespace cert-manager"
10371047

@@ -1249,7 +1259,9 @@ tasks:
12491259

12501260
crossplane:ci:
12511261
deps:
1252-
- basic-checks
1262+
- task: basic-checks
1263+
vars:
1264+
DIR: '{{.CROSSPLANE_ROOT}}'
12531265
- crossplane:generate-crds
12541266

12551267
############### Documentation targets ###############
@@ -1333,8 +1345,11 @@ tasks:
13331345

13341346
header-check:
13351347
desc: Ensure all files have an appropriate license header.
1348+
dir: '{{.DIR}}'
13361349
cmds:
13371350
- "{{.SCRIPTS_ROOT}}/check_headers.py"
1351+
vars:
1352+
DIR: "{{default .CONTROLLER_ROOT .DIR}}"
13381353

13391354
# Stub retained until migration of workflows complete
13401355
frontmatter-check:
@@ -1343,15 +1358,18 @@ tasks:
13431358

13441359
specifier-check:
13451360
desc: Check that format specifiers %v and %+v are not used
1361+
dir: '{{.DIR}}'
13461362
# Both %v and %+v result in all the values from structs being dumped into the string. If that
13471363
# struct happens to contain a secret or sensitive information, it ends up dumped out in an
13481364
# uncontrolled way, potentially leading to a security issue or a problem with PII disclosure.
13491365
# The buried risk here is that while %v might be safe now, a future change to the struct might
13501366
# introduce a disclosure later on.
13511367
cmds:
1352-
- cmd: echo "==> Checking format specifiers <=="
1368+
- cmd: echo "==> Checking format specifiers for {{.DIR}} <=="
13531369
silent: true
13541370
- cmd: '! git grep -e "%+v" -e "%v" --break --heading --line-number -I "*.go"'
1371+
vars:
1372+
DIR: "{{default .CONTROLLER_ROOT .DIR}}"
13551373

13561374
verify-no-changes:
13571375
desc: Checks that there are no uncommitted modifications to files

docs/hugo/content/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ If you've got a question, a problem, a request, or just want to chat, here are t
4646
See [cert-manager](https://cert-manager.io/docs/installation/kubernetes/) if you'd like to learn more about the project.
4747

4848
``` bash
49-
$ kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.14.1/cert-manager.yaml
49+
$ kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.18.2/cert-manager.yaml
5050
```
5151

5252
Check that the cert-manager pods have started successfully before continuing.
@@ -390,7 +390,7 @@ to get started. For example, creating and deleting cert-manager.
390390

391391
``` bash
392392
# remove the cert-manager components
393-
$ kubectl delete -f https://github.com/jetstack/cert-manager/releases/download/v1.14.4/cert-manager.yaml
393+
$ kubectl delete -f https://github.com/jetstack/cert-manager/releases/download/v1.18.2/cert-manager.yaml
394394
```
395395

396396
## How to contribute

docs/hugo/content/blogs/_index.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
title: Blog
3+
linkTitle: Blog
4+
weight: 11
5+
menu:
6+
main:
7+
weight: 11
8+
cascade:
9+
- type: docs
10+
description: Azure Service Operator blog with updates, news, and announcements
11+
---
12+
13+
Welcome to the Azure Service Operator blog! Here you'll find articles with ASO updates, news, and more.
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
---
2+
title: "ASO v2.16 Release Notes"
3+
date: 2025-10-29
4+
description: "Release notes for Azure Service Operator v2.16.0"
5+
---
6+
7+
We're excited to announce the release of Azure Service Operator v2.16.0! This release comes with a host of improvements and fixes, along with support being added for some oft-requested resources.
8+
9+
## ⚠️ Breaking changes
10+
11+
This release includes breaking changes. Please review the [breaking changes documentation](https://azure.github.io/azure-service-operator/guide/breaking-changes/) before upgrading.
12+
13+
## 🎉 New and improved resource support
14+
15+
### New resource support
16+
17+
We've added support for three new resources:
18+
19+
- [Azure Compute Capacity Reservation Groups](https://github.com/Azure/azure-service-operator/pull/4980) allowing capacity reservation manifests to be declaratively included alongside VM manifests
20+
- _Special thanks to [bingikarthik](https://github.com/bingikarthik) for his contribution!_
21+
- [Managing Azure quotas](https://github.com/Azure/azure-service-operator/pull/4979) for Kubernetes native management of Azure quotas
22+
- _Special thanks to [bingikarthik](https://github.com/bingikarthik) for his contribution!_
23+
- [NetworkWatchers/flowLogs](https://github.com/Azure/azure-service-operator/issues/4614) for management of Network Security Group Flow Logs.
24+
25+
### Enhanced resource references
26+
27+
We've enhanced existing resource references with additional functionality:
28+
29+
- You can now specify Role Assignments using [well-known role defintion names](https://github.com/Azure/azure-service-operator/pull/4923) instead of GUIDs.
30+
- UserAssignedIdentity now supports [config map](https://github.com/Azure/azure-service-operator/pull/4940).
31+
- A system-managed identity can now be [specified in the app resources' identity references](https://github.com/Azure/azure-service-operator/pull/4924).
32+
- Selected ResourceReferences now support [WellKnown names](https://github.com/Azure/azure-service-operator/pull/4922).
33+
- Fixed 2 broken [ResourceReferenceProperties](https://github.com/Azure/azure-service-operator/pull/4925), `UserAssignedIdentityReference` and `KeyVaultArmReference`, which were previously seen as just strings but are now recognized as proper references.
34+
35+
## 🐛 Bug fixes
36+
37+
- Fixed a [high-priority regression](https://github.com/Azure/azure-service-operator/pull/4966) from ASO v2.15.0 where resources failed with the `"/v1, Kind=Secret is not cached"` error during resource claims.
38+
- Kusto database reconciliation should [no longer be attempted](https://github.com/Azure/azure-service-operator/pull/4976) while a cluster is stopped.
39+
- `NetcfgSubnetRangeOutsideVnet` error is [now retryable](https://github.com/Azure/azure-service-operator/pull/4931) for VirtualNetworksSubnet to avoid the resources becoming stuck in certain scenarios.
40+
- Added a missing parameter for [default node pool](https://github.com/Azure/azure-service-operator/issues/4942) in Node Auto-Provisioning.
41+
- Fixed [select annotation changed predicate](https://github.com/Azure/azure-service-operator/pull/4967) from mistakenly classifying creates as containing annotation changes.
42+
- Fixed `asoctl` import failures for [DataCollectionRule in PostgreSQL tables](https://github.com/Azure/azure-service-operator/issues/4919).
43+
44+
## 🔧 Infrastructure and technical improvements
45+
46+
### Code quality and tooling
47+
- Updated Azure REST API specs submodule and generated code. Completed in [#4941](https://github.com/Azure/azure-service-operator/pull/4941).
48+
- Stop generating explict local variables for loop aliasing effects. Completed in [#4949](https://github.com/Azure/azure-service-operator/pull/4949).
49+
- Improved diagnostics from TypeTransformers. Completed in [#4937](https://github.com/Azure/azure-service-operator/pull/4937).
50+
- Improved documentation comments in `arm` packages. Completed in [#4914](https://github.com/Azure/azure-service-operator/pull/4914).
51+
- Fixed linter issues from newly published linter. Completed in [#4916](https://github.com/Azure/azure-service-operator/pull/4916).
52+
- Deprecated `$export` in favor of `$exportAs` in generator configuration. Completed in [#4879](https://github.com/Azure/azure-service-operator/pull/4879).
53+
- Added "UnsupportedResourceType" to asoctl exclusions for extension resources. Completed in [#4934](https://github.com/Azure/azure-service-operator/pull/4934).
54+
55+
## 🙏 Thank You
56+
57+
Thank you to the community for the continued engagement in ASO! From opening issues or requests, to submitting PRs of your own, the community helps ASO keep going!

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)