You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|[**OperatorSpec Custom Properties**]({{< relref "ADR-2024-05-OperatorSpec-Custom-Properties" >}}) | Injecting additional properties into OperatorSpec for additional flexibility and extensibility of resources. |
32
-
|[**RoleAssignments UUID Generation**]({{< relref "ADR-2024-04-RoleAssignment-UUID-Generation" >}}) | Allowing users more control over how the GUIDs used for naming RoleAssignments are generated. |
33
-
|[**Upstream Deletion**]({{< relref "ADR-2024-02-Upstream-Deletion" >}}) | When might deletion of an upstream resource occur and how will ASO handle it. |
|[**Upstream Deletion**]({{< relref "ADR-2024-02-Upstream-Deletion" >}}) | When might deletion of an upstream resource occur and how will ASO handle it. |
|[**Adoption Policy**]({{< relref "ADR-2023-02-Adoption-Policy" >}}) | Understand the policy for adopting pre-existing Azure resources in Kubernetes through the Azure Service Operator, including the principles guiding resource adoption and the user's ability to control operator actions. |
40
-
|[**Deprecation**]({{< relref "ADR-2023-04-Deprecation" >}}) | Understand the policy for handling Azure resource deprecation in Azure Service Operator, including the process for flagging deprecated resources, communicating changes, and removing unsupported resources. |
41
-
|[**Patch Collections**]({{< relref "ADR-2023-04-Patch-Collections" >}}) | Address the issue of resource drift in Azure Service Operator due to Azure Resource Providers' PATCH-like behavior on PUT, and discuss potential solutions such as optional properties and explicit nulls to ensure the custom resource represents the complete desired state. |
|[**Resource Deprecation**]({{< relref "ADR-2023-04-Deprecation" >}}) | Understand the policy for handling Azure resource deprecation in Azure Service Operator, including the process for flagging deprecated resources, communicating changes, and removing unsupported resources. |
42
38
43
39
### 2022
44
40
@@ -48,28 +44,35 @@ These ADRs reflect work that is being discussed, has been proposed, or is curren
|[**CrossPlane**]({{< relref "crossplane" >}}) | Discusses the intricacies of code generation for Crossplane, including static "special" properties, cross resource references, and the challenges associated with generating these references. |
54
-
|[**Custom validation and defaulting**]({{< relref "annotations" >}}) | Delve into the proposal for custom validation and defaulting for code-generated resources, discussing the limitations of controller-runtime interfaces and suggesting a structure for autogenerated webhooks that allows for custom implementations. |
55
-
|[**Improving the Reconciler interface**]({{< relref "reconcile-interface" >}}) | Explore a proposal for improving the Reconciler interface in controller-runtime, addressing issues of code duplication and potential bugs due to differences in checks for Create vs Delete operations. |
56
-
|[**Type References and Ownership**]({{< relref "type-references-and-ownership" >}}) | type references and ownership in Azure Service Operator, discussing goals such as idiomatic expression of Azure resource relationships, automatic ownership, garbage collection, and interaction with non-Kubernetes managed Azure resources. |
|[**CrossPlane**]({{< relref "crossplane" >}}) | Discusses the intricacies of code generation for Crossplane, including static "special" properties, cross resource references, and the challenges associated with generating these references. |
50
+
|[**Improving the Reconciler interface**]({{< relref "reconcile-interface" >}}) | Explore a proposal for improving the Reconciler interface in controller-runtime, addressing issues of code duplication and potential bugs due to differences in checks for Create vs Delete operations. |
|[**OperatorSpec Custom Properties**]({{< relref "ADR-2024-05-OperatorSpec-Custom-Properties" >}}) | Injecting additional properties into OperatorSpec for additional flexibility and extensibility of resources. |
61
+
|[**RoleAssignments UUID Generation**]({{< relref "ADR-2024-04-RoleAssignment-UUID-Generation" >}}) | Allowing users more control over how the GUIDs used for naming RoleAssignments are generated. |
|[**Conversion Augmentation**]({{< relref "ADR-2023-01-Conversion-Augmentation" >}}) | Learn about the need for conversion augmentation in Kubernetes resource versions, the role of code generation, and the strategies for augmenting these conversions with hand-written code to ensure backward and forward compatibility. |
67
-
|[**Goal Seeking KeyVaults**]({{< relref "ADR-2023-07-Goal-Seeking-KeyVaults" >}}) | Understand the challenges posed by Azure KeyVault's soft-delete feature in a goal-seeking system like Azure Service Operator, and the need for a solution that prevents resources from entering permanently degraded states without manual intervention. |
68
-
|[**Helm Chart Size Limitations**]({{< relref "ADR-2023-02-Helm-Chart-Size-Limitations" >}}) | Address the Helm chart size limitations causing problems for Azure Service Operator, discussing the implications of Kubernetes secret size limits, the impact on chart installation, and potential workarounds such as splitting the Helm chart. |
69
-
|[**Installing Only Selected CRDs**]({{< relref "ADR-2023-05-Installing-Only-Selected-CRDs" >}}) | Understand the need for selective CRD installation in Azure Service Operator to mitigate kube-apiserver memory usage, and the requirements for a seamless upgrade experience and default configuration that fits into minimal memory environments |
70
-
|[**Package References**]({{< relref "ADR-2023-07-PackageReferences" >}}) | Consider the proposal for introducing a SubPackageReference in the Azure Service Operator code generator, discussing the implications for code that consumes PackageReference and the potential impact on namespace pollution and code organization. |
71
-
|[**Post-Reconciliation Extensions**]({{< relref "ADR-2023-03-Post-Reconciliation-Extension" >}}) | Understand the introduction of the PostReconciliationChecker extension in Azure Service Operator to handle post-reconciliation operations, allowing for custom conditions to be set on resources based on the status received from Azure Resource Manager. |
72
-
|[**Skipping Properties**]({{< relref "ADR-2023-09-Skipping-Properties" >}}) | A design to address the problems that occur when a property skips multiple resource versions and has a different shape when it returns. |
|[**Adoption Policy**]({{< relref "ADR-2023-02-Adoption-Policy" >}}) | Understand the policy for adopting pre-existing Azure resources in Kubernetes through the Azure Service Operator, including the principles guiding resource adoption and the user's ability to control operator actions. |
68
+
|[**Conversion Augmentation**]({{< relref "ADR-2023-01-Conversion-Augmentation" >}}) | Learn about the need for conversion augmentation in Kubernetes resource versions, the role of code generation, and the strategies for augmenting these conversions with hand-written code to ensure backward and forward compatibility. |
69
+
|[**Goal Seeking KeyVaults**]({{< relref "ADR-2023-07-Goal-Seeking-KeyVaults" >}}) | Understand the challenges posed by Azure KeyVault's soft-delete feature in a goal-seeking system like Azure Service Operator, and the need for a solution that prevents resources from entering permanently degraded states without manual intervention. |
70
+
|[**Helm Chart Size Limitations**]({{< relref "ADR-2023-02-Helm-Chart-Size-Limitations" >}}) | Address the Helm chart size limitations causing problems for Azure Service Operator, discussing the implications of Kubernetes secret size limits, the impact on chart installation, and potential workarounds such as splitting the Helm chart. |
71
+
|[**Installing Only Selected CRDs**]({{< relref "ADR-2023-05-Installing-Only-Selected-CRDs" >}}) | Understand the need for selective CRD installation in Azure Service Operator to mitigate kube-apiserver memory usage, and the requirements for a seamless upgrade experience and default configuration that fits into minimal memory environments |
72
+
|[**Package References**]({{< relref "ADR-2023-07-PackageReferences" >}}) | Consider the proposal for introducing a SubPackageReference in the Azure Service Operator code generator, discussing the implications for code that consumes PackageReference and the potential impact on namespace pollution and code organization. |
73
+
|[**Patch Collections**]({{< relref "ADR-2023-04-Patch-Collections" >}}) | Address the issue of resource drift in Azure Service Operator due to Azure Resource Providers' PATCH-like behavior on PUT, and discuss potential solutions such as optional properties and explicit nulls to ensure the custom resource represents the complete desired state. |
74
+
|[**Post-Reconciliation Extensions**]({{< relref "ADR-2023-03-Post-Reconciliation-Extension" >}}) | Understand the introduction of the PostReconciliationChecker extension in Azure Service Operator to handle post-reconciliation operations, allowing for custom conditions to be set on resources based on the status received from Azure Resource Manager. |
75
+
|[**Skipping Properties**]({{< relref "ADR-2023-09-Skipping-Properties" >}}) | A design to address the problems that occur when a property skips multiple resource versions and has a different shape when it returns. |
73
76
74
77
### 2022
75
78
@@ -101,11 +104,13 @@ These ADRs reflect work that has been completed.
|[**Clarifying Object Structure**]({{< relref "clarifying-object-structure" >}}) | Dive into the challenges of differentiating Azure-specific properties from operator-specific properties in the object structure of resources, with a focus on potential solutions for Status and upcoming properties like SecretConfiguration and Credentials. |
107
-
|[**Managing dataplane secrets**]({{< relref "secrets" >}}) | Managing dataplane secrets in Azure Service Operator, including the drawbacks of auto-generating secrets and the implications for secret rollover, control, security, resource adoption, and GitOps compatibility. |
108
-
|[**Reporting Resource Status**]({{< relref "resource-states" >}}) | A proposal for reporting resource status in Azure Service Operator, discussing the distinction between operator status and Azure resource state, and the current state and limitations of both handcrafted and auto-generated resources. |
|[**Clarifying Object Structure**]({{< relref "clarifying-object-structure" >}}) | Dive into the challenges of differentiating Azure-specific properties from operator-specific properties in the object structure of resources, with a focus on potential solutions for Status and upcoming properties like SecretConfiguration and Credentials. |
110
+
|[**Custom validation and defaulting**]({{< relref "annotations" >}}) | Delve into the proposal for custom validation and defaulting for code-generated resources, discussing the limitations of controller-runtime interfaces and suggesting a structure for autogenerated webhooks that allows for custom implementations. |
111
+
|[**Managing dataplane secrets**]({{< relref "secrets" >}}) | Managing dataplane secrets in Azure Service Operator, including the drawbacks of auto-generating secrets and the implications for secret rollover, control, security, resource adoption, and GitOps compatibility. |
112
+
|[**Reporting Resource Status**]({{< relref "resource-states" >}}) | A proposal for reporting resource status in Azure Service Operator, discussing the distinction between operator status and Azure resource state, and the current state and limitations of both handcrafted and auto-generated resources. |
113
+
|[**Type References and Ownership**]({{< relref "type-references-and-ownership" >}}) | type references and ownership in Azure Service Operator, discussing goals such as idiomatic expression of Azure resource relationships, automatic ownership, garbage collection, and interaction with non-Kubernetes managed Azure resources. |
0 commit comments