Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restructure KubernetesConfiguration directories to a suite of services #31523

Open
wants to merge 43 commits into
base: main
Choose a base branch
from

Conversation

dipti-pai
Copy link
Member

@dipti-pai dipti-pai commented Nov 13, 2024

This PR splits the Kubernetes Configuration Services into a service group with 5 services. The swaggers for each service group has no new changes except FluxConfiguration Service which includes addition of a new provider field. ARM changes were reviewed by ARM team and signed off in PR #30956 . The service group restructuring has been discussed with the Azure Breaking Changes Board.

These are the 5 services -

  • Flux Configuration Service
    -- new API version: stable 2024-11-01 version
    -- base version specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2024-04-01-preview/fluxconfiguration.json

  • Extensions Service
    -- new API version: stable 2024-11-01
    -- base API version: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-05-01

  • Extension Types Service
    -- new API version: preview 2024-11-01-preview
    -- base API version: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2023-05-01-preview/extensionTypes.json

  • Private Link Scopes Service
    -- new API version: preview 2024-11-01-preview
    -- base API version: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-04-02-preview/privateLinkScopes.json

  • Operations Service
    -- new API version: stable 2024-11-01
    -- base API version: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-05-01/operations.json

For new reviewers, a lot of the discussions in this PR is regarding the Operations service. Summarizing the conclusion after discussion with the ARM team and Breaking changes board team -

  1. Operations will be a separate service with its own docs/sdk/etc.
  2. Operations API will have a new version whenever any of the sub-services (flux configuration/extension/extensionTypes/private link scopes) has a new version.

ARM (Control Plane) API Specification Update Pull Request

Tip

Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram

Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

spec_pr_review_workflow_diagram

Purpose of this PR

What's the purpose of this PR? Check the specific option that applies. This is mandatory!

  • New resource provider.
  • [] New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been created in adherence to OpenAPI specs PR creation guidance).
  • Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
  • Update existing version to fix OpenAPI spec quality issues in S360.
  • Convert existing OpenAPI spec to TypeSpec spec (do not combine this with implementing changes for a new API version).
  • Other, please clarify: Restructuring KubernetesConfiguration directories into suite of services with the new structure defined here. Proposal for the directory structure in this PR have been discussed and reviewed with the Azure Breaking Changes Board.

Due diligence checklist

To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

  • I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
  • I have reviewed following Resource Provider guidelines, including
    ARM resource provider contract and
    REST guidelines (estimated time: 4 hours).
    I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.

Additional information

Viewing API changes

For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures

If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
suppressions guide to get approval.

Getting help

  • First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
  • If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
  • To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
  • For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
    and https://aka.ms/ci-fix.
  • For help with ARM review (PR workflow diagram Step 2), see https://aka.ms/azsdk/pr-arm-review.
  • If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
    This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
  • If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

Copy link

openapi-pipeline-app bot commented Nov 13, 2024

Next Steps to Merge

✅ All automated merging requirements have been met! To get your PR merged, see aka.ms/azsdk/specreview/merge.

Copy link

openapi-pipeline-app bot commented Nov 13, 2024

Generated ApiView

Language Package Name ApiView Link
Go sdk/resourcemanager/kubernetesconfiguration/armextensions https://apiview.dev/Assemblies/Review/2d133d06397b482bb3e311b6a7508fa7?revisionId=f8750ac688ab4c999fc9d15ded694545
Go sdk/resourcemanager/kubernetesconfiguration/armextensiontypes https://apiview.dev/Assemblies/Review/777b52bb4dd546448cf9a86c8e418949?revisionId=be35a07d866940d4820776a4a3d970dc
Go sdk/resourcemanager/kubernetesconfiguration/armfluxconfigurations https://apiview.dev/Assemblies/Review/1c53c9dd87ce41848d2b91d61efb99fe?revisionId=59a76642578a4fa9a12c31298b90af1d
Go sdk/resourcemanager/kubernetesconfiguration/armkubernetesconfiguration https://apiview.dev/Assemblies/Review/a54df2a0c1e54238a5d668c54b45f1ef?revisionId=2b0d09fe77144a94b49cc4fdac6cd238
Go sdk/resourcemanager/kubernetesconfiguration/armprivatelinkscopes https://apiview.dev/Assemblies/Review/0c936db75a0a4853af38a1773a9719d4?revisionId=e8de151209054b26894ccf03160902c3
Java azure-resourcemanager-kubernetesconfiguration https://apiview.dev/Assemblies/Review/b32f2ce6cb0c483b98818ba71fed6114?revisionId=c7af07f8863c48948713c0274cf80480
Java azure-resourcemanager-kubernetesconfigurationmicrosoftkubernetesconfigurationextensions https://apiview.dev/Assemblies/Review/9e81c1f0af36410ca7989bae36b266c7?revisionId=138d4dca43be4e26b3eb79452e54e64e
Java azure-resourcemanager-kubernetesconfigurationmicrosoftkubernetesconfigurationextensiontypes https://apiview.dev/Assemblies/Review/dc37cca072ad472b8b8eb504dd7e643e?revisionId=3580083b66cf4473b7163070b6cdc6b4
Java azure-resourcemanager-kubernetesconfigurationmicrosoftkubernetesconfigurationfluxconfigurations https://apiview.dev/Assemblies/Review/4a533fcd2f1e4062bf8fd386ba68e28e?revisionId=6ecab53cf24f49c6a756b247b3934427
Java azure-resourcemanager-kubernetesconfigurationmicrosoftkubernetesconfigurationprivatelinkscopes https://apiview.dev/Assemblies/Review/3f238fe4bc5844a6aeebd1d703854122?revisionId=541bb51106f04539a53e969ff9608b2a
Python azure-mgmt-kubernetesconfiguration-extensions https://apiview.dev/Assemblies/Review/0cfef90d413040c2a5fe2464c1897912?revisionId=68e14080d76640048edb72d5134aa633
Python azure-mgmt-kubernetesconfiguration-extensiontypes https://apiview.dev/Assemblies/Review/d3ca615484d14dc297cc2d29f2452cf5?revisionId=d26ed64821b940b3892cab955e04d2d8
Python azure-mgmt-kubernetesconfiguration-fluxconfigurations https://apiview.dev/Assemblies/Review/10a58af906cc4f6792e6c5ced34c5f7e?revisionId=311deb88a40846e7a823e3999f145508
Python azure-mgmt-kubernetesconfiguration-privatelinkscopes https://apiview.dev/Assemblies/Review/99c21c5c42d94daeba155a71042375f2?revisionId=af5f8b15873c4c3096d42e3a769c4e2b
Python azure-mgmt-kubernetesconfiguration https://apiview.dev/Assemblies/Review/dc933660aecc4da2a230269bc98ba893?revisionId=9b519754bfe741c890c6758ddaaf80c0
JavaScript @azure/arm-kubernetesconfiguration-extensions https://apiview.dev/Assemblies/Review/9c1233c6c7174ab8b1a60302c135cdad?revisionId=c887c9ca3f2942bf834643ac68f147a0
JavaScript @azure/arm-kubernetesconfiguration-extensiontypes https://apiview.dev/Assemblies/Review/99b1cb4b317e437aa0fec812b7ef17f2?revisionId=e701708a1b9f45a797d606723fe1aaf2
JavaScript @azure/arm-kubernetesconfiguration-fluxconfigurations https://apiview.dev/Assemblies/Review/e087b8b9cb6c4323ae0da74b8806c3e3?revisionId=9a5fcd6c14ec460eba6d964f9554d8c1
JavaScript @azure/arm-kubernetesconfiguration-privatelinkscopes https://apiview.dev/Assemblies/Review/705c717f08294c89bb181632a36b2e7e?revisionId=6a57bdd33ade410ab14e967c733927cf
JavaScript @azure/arm-kubernetesconfiguration https://apiview.dev/Assemblies/Review/9c38fe14e2c0467c9767f42827a62a52?revisionId=239d86830fc348698ce6020adc598e97

@AzureRestAPISpecReview AzureRestAPISpecReview added ARMReview new-api-version resource-manager SuppressionReviewRequired WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Nov 13, 2024
@razvanbadea-msft
Copy link
Contributor

@dipti-pai what is the base version i can use for comparing the files? why there are different versions for each service?

@razvanbadea-msft
Copy link
Contributor

see also the errors from the required modelvalidation, semanticvalidation, lintdiff checks

@AzureRestAPISpecReview AzureRestAPISpecReview added BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required NotReadyForARMReview and removed WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Nov 13, 2024
@dipti-pai
Copy link
Member Author

/azp run

Copy link
Member

@tadelesh tadelesh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please remove track1 config for go. it is the legacy config we no longer use.

dipti-pai and others added 8 commits January 15, 2025 12:09
…ft.KubernetesConfiguration/extensionTypes/readme.go.md


removing track config for extensionTypes

Co-authored-by: Chenjie Shi <tadelesh.shi@live.cn>
…ft.KubernetesConfiguration/extensionTypes/readme.go.md

Co-authored-by: Chenjie Shi <tadelesh.shi@live.cn>
…ft.KubernetesConfiguration/extensions/readme.go.md


removing track config for extensions

Co-authored-by: Chenjie Shi <tadelesh.shi@live.cn>
…ft.KubernetesConfiguration/extensions/readme.go.md

Co-authored-by: Chenjie Shi <tadelesh.shi@live.cn>
…ft.KubernetesConfiguration/fluxConfigurations/readme.go.md


removing track config for fluxConfigurations

Co-authored-by: Chenjie Shi <tadelesh.shi@live.cn>
…ft.KubernetesConfiguration/fluxConfigurations/readme.go.md

Co-authored-by: Chenjie Shi <tadelesh.shi@live.cn>
…ft.KubernetesConfiguration/privateLinkScopes/readme.go.md


removing track config for pls

Co-authored-by: Chenjie Shi <tadelesh.shi@live.cn>
…ft.KubernetesConfiguration/privateLinkScopes/readme.go.md

Co-authored-by: Chenjie Shi <tadelesh.shi@live.cn>
@dipti-pai
Copy link
Member Author

please remove track1 config for go. it is the legacy config we no longer use.

@tadelesh Thank you, I have committed your suggestions.

@kazrael2119
Copy link
Contributor

/azp run

Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@qiaozha
Copy link
Member

qiaozha commented Jan 17, 2025

@dipti-pai could you remove the top level kubernateconfigurations readme.typescript.md file specification/kubernetesconfiguration/resource-manager/readme.typescript.md if they have been splitted into several packages? It will resolve JS SDK generation failure.

@kazrael2119
Copy link
Contributor

@dipti-pai could you remove the top level kubernateconfigurations readme.typescript.md file specification/kubernetesconfiguration/resource-manager/readme.typescript.md if they have been splitted into several packages? It will resolve JS SDK generation failure.

this should not be the root cause, I create a new pr base on this and it passed the JS automation here https://github.com/Azure/azure-rest-api-specs/pull/32207/checks?check_run_id=35760656197

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Approved-Suppression ARMReview ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review BreakingChange-Approved-Benign Changes are not breaking at the REST API level and have at most minor impact to generated SDKs. BreakingChange-Go-Sdk BreakingChange-Go-Sdk-Approved BreakingChange-JavaScript-Sdk BreakingChange-JavaScript-Sdk-Approved BreakingChange-Python-Sdk BreakingChange-Python-Sdk-Approved BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required new-api-version PublishToCustomers Acknowledgement the changes will be published to Azure customers. resource-manager SuppressionReviewRequired
Projects
None yet
Development

Successfully merging this pull request may close these issues.