Skip to content

Commit 96a1fd9

Browse files
committed
Merge remote-tracking branch 'upstream/main'
2 parents 14543b7 + 30d3433 commit 96a1fd9

File tree

4 files changed

+113
-32
lines changed

4 files changed

+113
-32
lines changed

deploy/Chart/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ global:
3636
# This avoids downloading terraform on each recipe execution
3737
terraform:
3838
# Enable terraform binary pre-downloading during pod startup
39-
enabled: false
39+
enabled: true
4040
# URL for downloading Terraform binary
4141
# Leave empty to automatically fetch the latest version from HashiCorp
4242
# Or provide a complete direct download URL for custom sources

docs/release-notes/v0.49.0.md

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
## Announcing Radius v0.49.0
2+
3+
Today we're happy to announce the release of Radius v0.49.0. Check out the [highlights](#highlights) below, along with the [full changelog](#full-changelog) for more details.
4+
5+
We would like to extend our thanks to all the contributors who helped make this release possible!
6+
7+
## Intro to Radius
8+
9+
If you're new to Radius, check out our website, [radapp.io](https://radapp.io), for more information. Also visit our [getting started guide](https://docs.radapp.io/getting-started/) to learn how to install Radius and create your first app.
10+
11+
## Highlights
12+
13+
### Radius Resource Types (RRT) Enhancements
14+
15+
#### Radius Resource types Connection
16+
17+
Connection support between RRT->RRT is now available. For example, when connecting a `Radius.Resources/webServices` resource to a `Radius.Resources/postgreSQL` resource, the PostgreSQL properties are now included in the Recipe's context object. This makes it easier for platform engineers to reference these properties for creating secrets in Recipes.
18+
19+
#### `rad resource-type create`
20+
21+
The [`rad resource-type create`] (https://docs.radapp.io/reference/cli/rad_resource-type_create/) command now supports creating all specified resource types in the `yaml` definition at once.
22+
23+
#### Multiple API versions
24+
25+
RRTs now support multiple API versions. You can now version your custom resource types with the current date of your choice `2025-07-18-preview` following the required format `YYYY-MM-DD-preview`
26+
27+
#### Capabilities Improvements
28+
29+
- The `capabilities: ["SupportsRecipes"]` property is deprecated and the Recipe support is enabled by default.
30+
31+
- Introduced `capabilities: ["manualResourceProvisioning"]` to support externally provisioned resources. This lets developers connect to resources outside of Radius, while platform engineers expose them via RRTs without needing Recipes.
32+
33+
### Contour Ingress Controller support
34+
35+
You now have full control over Contour during Kubernetes installation with `rad install kubernetes`:
36+
37+
- Use --contour-disabled to skip installing the Contour ingress controller.
38+
39+
- Use --contour-chart to install from a custom Helm chart. More information [here]https://docs.radapp.io/reference/cli/rad_install_kubernetes/)
40+
41+
## Breaking changes
42+
43+
None
44+
45+
## Upgrading to Radius v0.49.0
46+
47+
During our preview stage, an upgrade to Radius v0.49.0 requires a full reinstallation of the Radius control-plane, rad CLI, and all Radius apps. Stay tuned for an in-place upgrade path in the future.
48+
49+
1. Delete any environments you have created:
50+
```bash
51+
rad env delete <env-name>
52+
```
53+
2. Uninstall the previous version of the Radius control-plane:
54+
```bash
55+
rad uninstall kubernetes
56+
```
57+
3. Visit the [Radius installation guide](https://docs.radapp.io/getting-started/install/) to install the latest CLI, or download a binary below
58+
4. Install the latest version of the Radius control-plane:
59+
```bash
60+
rad install kubernetes
61+
```
62+
63+
## Full changelog
64+
65+
<!-- Release notes generated using configuration in .github/release.yml at main -->
66+
67+
## What's Changed
68+
### ## changelog
69+
* Adding Config and Helm Preflight checks by @ytimocin in https://github.com/radius-project/radius/pull/9741
70+
* Bump bicep-types from `f8a4177` to `7629785` by @dependabot[bot] in https://github.com/radius-project/radius/pull/9846
71+
* Bump brace-expansion from 2.0.1 to 2.0.2 in /typespec in the npm_and_yarn group by @dependabot[bot] in https://github.com/radius-project/radius/pull/9813
72+
* Bump danhellem/github-actions-issue-to-work-item from 2.4 to 2.5 in the github-actions group by @dependabot[bot] in https://github.com/radius-project/radius/pull/9826
73+
* Bump the go-dependencies group across 1 directory with 27 updates by @dependabot[bot] in https://github.com/radius-project/radius/pull/9847
74+
* Bump github.com/go-chi/chi/v5 from 5.1.0 to 5.2.2 in /test/magpiego in the go_modules group across 1 directory by @dependabot[bot] in https://github.com/radius-project/radius/pull/9845
75+
* Release v0.48.0 by @willdavsmith in https://github.com/radius-project/radius/pull/9850
76+
* rad resource-type create should create all types in manifest by @nithyatsu in https://github.com/radius-project/radius/pull/9842
77+
* Add golang and bicep vscode extensions to be recommended by @sylvainsf in https://github.com/radius-project/radius/pull/9857
78+
* udt to udt connections by @nithyatsu in https://github.com/radius-project/radius/pull/9794
79+
* Add-copilot-instructions by @sylvainsf in https://github.com/radius-project/radius/pull/9858
80+
* Fix version issue in release verification workflow by @willdavsmith in https://github.com/radius-project/radius/pull/9862
81+
* Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 in the go_modules group by @dependabot[bot] in https://github.com/radius-project/radius/pull/9861
82+
* Bump bicep-types from `7629785` to `1d0af45` by @dependabot[bot] in https://github.com/radius-project/radius/pull/9884
83+
* Fix Flux test namespace deletion timeout by @willdavsmith in https://github.com/radius-project/radius/pull/9827
84+
* E2E tests for udt connections by @nithyatsu in https://github.com/radius-project/radius/pull/9856
85+
* Update release documentation for Deployment Engine tag push by @willdavsmith in https://github.com/radius-project/radius/pull/9913
86+
* modify udt2udt test to remove unneccessary dependency on configmap by @nithyatsu in https://github.com/radius-project/radius/pull/9923
87+
* Bump the go-dependencies group across 1 directory with 16 updates by @dependabot[bot] in https://github.com/radius-project/radius/pull/9931
88+
* Improve error message for missing secret key in populateSecretData function by @zailic in https://github.com/radius-project/radius/pull/9935
89+
* Update kind version by @brooke-hamilton in https://github.com/radius-project/radius/pull/9942
90+
* Dev container maintenance by @brooke-hamilton in https://github.com/radius-project/radius/pull/9936
91+
* handle aws arns without region by @nithyatsu in https://github.com/radius-project/radius/pull/9946
92+
* Adding a fix support multiple apiversions for UDT by @vishwahiremat in https://github.com/radius-project/radius/pull/9804
93+
* Fix Process Functional Test Results action to handle failures gracefully by @Copilot in https://github.com/radius-project/radius/pull/9934
94+
* Adds support for mounting terraform binaries from a container. by @sylvainsf in https://github.com/radius-project/radius/pull/9958
95+
* Change capabilities to ManualResourceProvisioning by @nithyatsu in https://github.com/radius-project/radius/pull/9960
96+
* Contour configuration on rad install by @brooke-hamilton in https://github.com/radius-project/radius/pull/9959
97+
* Client-Side Validation for manifests by @lakshmimsft in https://github.com/radius-project/radius/pull/9899
98+
* Skipping Recipe Context e2e test by @vishwahiremat in https://github.com/radius-project/radius/pull/10004
99+
* Reverting the delete resource changes in e2e test cleanup. by @vishwahiremat in https://github.com/radius-project/radius/pull/10007
100+
* Release 0.49.0-rc1 by @vishwahiremat in https://github.com/radius-project/radius/pull/10012
101+
102+
## New Contributors
103+
* @zailic made their first contribution in https://github.com/radius-project/radius/pull/9935
104+
* @Copilot made their first contribution in https://github.com/radius-project/radius/pull/9934
105+
106+
**Full Changelog**: https://github.com/radius-project/radius/compare/v0.48.0...v0.49.0

test/validation/shared.go

Lines changed: 3 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -98,35 +98,8 @@ func DeleteRPResource(ctx context.Context, t *testing.T, cli *radcli.CLI, client
9898
} else if resource.Type == ApplicationsResource {
9999
t.Logf("deleting application: %s", resource.Name)
100100
return cli.ApplicationDelete(ctx, resource.Name)
101-
} else {
102-
// Handle other resource types (like ExtendersResource, ContainersResource, etc.)
103-
t.Logf("deleting resource: %s of type: %s", resource.Name, resource.Type)
104-
105-
// Retry deletion with exponential backoff for 409 Conflict errors
106-
// Resources may be stuck in "Updating" state after failed deployments
107-
maxRetries := 5
108-
var err error
109-
for attempt := 0; attempt < maxRetries; attempt++ {
110-
_, err = client.DeleteResource(ctx, resource.Type, resource.Name)
111-
if err == nil {
112-
break
113-
}
114-
115-
// Check if it's a 409 Conflict error (resource is updating)
116-
if strings.Contains(err.Error(), "409") && strings.Contains(err.Error(), "Conflict") {
117-
if attempt < maxRetries-1 {
118-
waitTime := time.Duration(1<<attempt) * time.Second // Exponential backoff: 1s, 2s, 4s, 8s, 16s
119-
t.Logf("resource %s is updating (409 Conflict), retrying in %v (attempt %d/%d)", resource.Name, waitTime, attempt+1, maxRetries)
120-
time.Sleep(waitTime)
121-
continue
122-
} else {
123-
t.Logf("resource %s still updating after %d attempts, giving up", resource.Name, maxRetries)
124-
}
125-
}
126-
break
127-
}
128-
return err
129101
}
102+
return nil
130103
}
131104

132105
// DeleteRPResourceSilent deletes an environment or application resource without logging to the test.
@@ -146,7 +119,7 @@ func DeleteRPResourceSilent(ctx context.Context, cli *radcli.CLI, client clients
146119
return cli.ApplicationDelete(ctx, resource.Name)
147120
} else {
148121
// Handle other resource types (like ExtendersResource, ContainersResource, etc.)
149-
122+
150123
// Retry deletion with exponential backoff for 409 Conflict errors
151124
// Resources may be stuck in "Updating" state after failed deployments
152125
maxRetries := 5
@@ -156,7 +129,7 @@ func DeleteRPResourceSilent(ctx context.Context, cli *radcli.CLI, client clients
156129
if err == nil {
157130
break
158131
}
159-
132+
160133
// Check if it's a 409 Conflict error (resource is updating)
161134
if strings.Contains(err.Error(), "409") && strings.Contains(err.Error(), "Conflict") {
162135
if attempt < maxRetries-1 {

versions.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
supported:
2+
- channel: '0.49'
3+
version: 'v0.49.0'
4+
deprecated:
25
- channel: '0.48'
36
version: 'v0.48.0'
4-
deprecated:
57
- channel: '0.47'
68
version: 'v0.47.0'
79
- channel: '0.46'

0 commit comments

Comments
 (0)