Skip to content

Commit 79e2e8f

Browse files
committed
docs: add breaking changes page and contributor guideline for cross-namespace default change
- Add Breaking Changes page at top-level sidebar (same level as Overview, Getting Started) - Add Documenting Breaking Changes guideline to Contributing section - Add New badge to Breaking Changes and Contributing - Remove New badge from EKS Capabilities, Granular IAM Roles, Using ACK with kro
1 parent 96267ee commit 79e2e8f

4 files changed

Lines changed: 83 additions & 3 deletions

File tree

website/docs/breaking-changes.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
title: "Breaking Changes"
3+
sidebar_position: 99
4+
---
5+
6+
# Breaking Changes
7+
8+
This page tracks upcoming breaking changes to ACK controller defaults and behavior. Review this page before upgrading your controllers.
9+
10+
## Cross-Namespace References Default Change
11+
12+
:::warning[Breaking Change Notice]
13+
The default value of `--enable-cross-namespace` will change from `true` to `false` in a future release.
14+
:::
15+
16+
### Summary
17+
18+
Cross-namespace resource references (including `*Ref` fields, `SecretKeyReference`, and `FieldExport` targets across namespaces) will require explicit opt-in to improve namespace isolation.
19+
20+
### Timeline
21+
22+
| Phase | Description |
23+
|:------|:------------|
24+
| **Phase 1** (current) | Flag added with default `true`. Warning condition set on resources using cross-namespace references |
25+
| **Phase 2** (future release) | Flag default changes to `false`. Cross-namespace references rejected unless opted in |
26+
27+
### Who is affected
28+
29+
You are affected if any of your ACK resources:
30+
- Use `*Ref` fields pointing to resources in a **different namespace**
31+
- Use `SecretKeyReference` with a `namespace` field different from the resource's namespace
32+
- Use `FieldExport` CRs targeting ConfigMaps/Secrets in a different namespace than the source
33+
34+
If all your references are within the same namespace, **no action is needed**.
35+
36+
### Action required
37+
38+
If you use cross-namespace references, explicitly opt in before upgrading to the Phase 2 release:
39+
40+
```yaml
41+
# values.yaml
42+
enableCrossNamespace: true
43+
```
44+
45+
Or via controller flag:
46+
```
47+
--enable-cross-namespace=true
48+
```

website/docs/contributing/index.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,18 @@ The [ack-dev-skills](https://github.com/aws-controllers-k8s/ack-dev-skills) proj
4040

4141
If you use AI coding tools (Claude Code, Kiro, Cursor, etc.), installing this skill will significantly improve the quality of AI-assisted ACK development work. See the [ack-dev-skills README](https://github.com/aws-controllers-k8s/ack-dev-skills) for installation instructions.
4242

43+
## Documenting Breaking Changes
44+
45+
If your PR introduces a breaking change (e.g., changing a default value, removing a flag, altering reconciliation behavior), you must update the [Breaking Changes](/docs/breaking-changes) page.
46+
47+
Add an entry with:
48+
- A clear description of what is changing
49+
- Timeline (if phased rollout)
50+
- Who is affected
51+
- Action required for users to migrate
52+
53+
This ensures users are informed before upgrading their controllers.
54+
4355
## Community
4456

4557
- [GitHub Issues](https://github.com/aws-controllers-k8s/community/issues) — Bug reports and feature requests

website/sidebars.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ const sidebars: SidebarsConfig = {
2929
type: 'doc',
3030
id: 'getting-started-eks',
3131
label: 'Using EKS Capabilities',
32-
className: 'sidebar-item-new',
3332
},
3433
{
3534
type: 'doc',
@@ -81,7 +80,6 @@ const sidebars: SidebarsConfig = {
8180
type: 'doc',
8281
id: 'guides/cross-account',
8382
label: 'Granular IAM Roles',
84-
className: 'sidebar-item-new',
8583
},
8684
{
8785
type: 'doc',
@@ -97,7 +95,6 @@ const sidebars: SidebarsConfig = {
9795
type: 'doc',
9896
id: 'guides/kro',
9997
label: 'Using ACK with kro',
100-
className: 'sidebar-item-new',
10198
},
10299
],
103100
},
@@ -114,6 +111,7 @@ const sidebars: SidebarsConfig = {
114111
{
115112
type: 'category',
116113
label: 'Contributing',
114+
className: 'sidebar-category-new',
117115
collapsed: true,
118116
items: [
119117
'contributing/index',
@@ -135,6 +133,12 @@ const sidebars: SidebarsConfig = {
135133
'contributing/releasing',
136134
],
137135
},
136+
{
137+
type: 'doc',
138+
id: 'breaking-changes',
139+
label: 'Breaking Changes',
140+
className: 'sidebar-item-new',
141+
},
138142
],
139143
};
140144

website/src/css/custom.css

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,3 +191,19 @@ pre {
191191
overflow-x: auto;
192192
}
193193

194+
195+
/* New badge for category headers only (not children) */
196+
.sidebar-category-new > .menu__list-item-collapsible > .menu__link > span::after {
197+
content: 'New';
198+
padding: 2px 6px;
199+
margin-left: 8px;
200+
font-size: 0.65rem;
201+
font-weight: 600;
202+
text-transform: uppercase;
203+
background: linear-gradient(135deg, #ff9520 0%, #ff6b00 100%);
204+
color: white;
205+
border-radius: 4px;
206+
white-space: nowrap;
207+
position: absolute;
208+
right: 30px;
209+
}

0 commit comments

Comments
 (0)