Skip to content

Board Review: Split Azure Kubernetes Fleet Manager API definitions and SDKs from ContainerService (AKS) #5385

@serbrech

Description

@serbrech

Thank you for submitting this review request. Thorough review of your client library ensures that your APIs are consistent with the guidelines and the consumers of your client library have a consistently good experience when using Azure.

The Architecture Board reviews Track 2 libraries only. If your library does not meet this requirement, please reach out to Architecture Board before creating the issue.

Please reference our review process guidelines to understand what is being asked for in the issue template.

To ensure consistency, all Tier-1 languages (C#, TypeScript, Java, Python) will generally be reviewed together. In expansive libraries, we will pair dynamic languages (Python, TypeScript) together, and strongly typed languages (C#, Java) together in separate meetings.

For Tier-2 languages (C, C++, Go, Android, iOS), the review will be on an as-needed basis.

Before submitting, ensure you adjust the title of the issue appropriately.

Note that the required material must be included before a meeting can be scheduled.

Contacts and Timeline

  • Responsible service team: Azure Kubernetes Fleet Manager
  • Main contacts: @serbrech (Fleet) @FumingZhang (AKS)
  • Expected code complete date: Fleet service is already released in preview. API/SDK split could be effective within 2 weeks following approval
  • Expected release date: N/A

About the Service

Note that the Fleets resources are in preview. No GA API have been released at this moment.

We request to split the API definitions of Fleets resources from the existing ContainerService (AKS) APIs to :

  • provide a clearer separation
  • remove friction in the api versioning release
  • remove friction in the release and maintenance of the related artifacts (sdks and CLI)

The proposal for the API definition is to stay under specification/containerservice/resource-manager/Microsoft.ContainerService but to add a fleet and an aks folder to group and isolate the api definitions and their respective versions:

Screenshot 2023-01-17 at 13 31 14

screenshot from this PR : Azure/azure-rest-api-specs#21259 which was abandoned to first seek this approval.

About the client library

  • Name of the client library: Currently, the Fleet control plane api and SDK are part of the AKS ContainerService Client. (ref API definition linked above.).

The resulting client libraries for all AKS APIs would not be impacted.
The resulting client libraries for Fleet APIs require a separate namespace.

New Namespace for fleet SDKs

language namespaces approved
go (new for fleet) sdk/resourcemanager/containerservice/armcontainerservicefleet
(existing aks) sdk/resourcemanager/containerservice/armcontainerservice
python (new for fleet) sdk/containerservice/azure-mgmt-containerservicefleet
(existing aks) sdk/containerservice/azure-mgmt-containerservice
.net (new for fleet) Azure.ResourceManager.ContainerService.Fleet 
(existing aks) Azure.ResourceManager.ContainerService
typescript (new for fleet) @azure/arm-containerservicefleet
(existing aks) @azure/arm-containerservice
✅ (js)
nodejs (new for fleet) azure-arm-containerservicefleet
(existing aks) azure-arm-containerservice
java (new for fleet) com.microsoft.azure.management.containerservicefleet
(existing aks) com.microsoft.azure.management.containerservice

(new for fleet) com.azure.resourcemanager.containerservicefleet
(existing aks) com.azure.resourcemanager.containerservice
  • Languages for this review: all

Artifacts required (per language)

Please read through “API Review” section here to understand how these artifacts are generated. It is critical that these artifacts are present and are in the right format. If not, the language architects cannot review them with the SDK Team’s API review tool.

.NET

  • APIView Link: N/A (fleet is not in .net SDK yet)
  • Link to Champion Scenarios/Quickstart samples: N/A

Java

  • APIView Link: N/A (fleet is not in Java yet)
  • Link to Champion Scenarios/Quickstart samples: N/A

Python

TypeScript

  • APIView Link: N/A
  • Link to Champion Scenarios/Quickstart samples: N/A

For all other languages, send a request to the Architecture Board to discuss the best format on individual basis.

Thank you!

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions