From 5331ca1ac8c3c58c5ba60e945f3f60683710d3eb Mon Sep 17 00:00:00 2001 From: jananivMS Date: Fri, 15 May 2020 16:47:49 -0600 Subject: [PATCH 01/21] updates for APIM test to take preconfigured service as env --- azure-pipelines.yml | 6 +++++- controllers/apimgmt_controller_test.go | 17 +++++++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 8b5d6a43068..0359613827f 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -91,8 +91,11 @@ steps: export KUBECONFIG=$(kind get kubeconfig-path --name="kind") kubectl cluster-info make install + export TEST_APIM_RG=$(TEST_APIM_RG) + export TEST_APIM_NAME=$(TEST_APIM_NAME) make test-integration-controllers displayName: Run tests on a Kind Cluster + continueOnError: 'false' env: GO111MODULE: on AZURE_SUBSCRIPTION_ID: $(AZURE_SUBSCRIPTION_ID) @@ -131,8 +134,9 @@ steps: - task: AzureCLI@2 displayName: Test - Cleanup Azure Resources + condition: always() inputs: - azureSubscription: 'tpark-jananiv-azureserviceoperators(4ef44fef-c51d-4d7c-a6ff-8635c02848b1)' + azureSubscription: 'ASO Subscription' scriptType: 'bash' scriptLocation: 'inlineScript' inlineScript: 'make test-cleanup-azure-resources' diff --git a/controllers/apimgmt_controller_test.go b/controllers/apimgmt_controller_test.go index 21d9410b2f6..af1e3c8be7b 100644 --- a/controllers/apimgmt_controller_test.go +++ b/controllers/apimgmt_controller_test.go @@ -7,6 +7,7 @@ package controllers import ( "context" + "os" "testing" azurev1alpha1 "github.com/Azure/azure-service-operator/api/v1alpha1" @@ -22,6 +23,18 @@ func TestAPIMgmtController(t *testing.T) { // rgName := tc.resourceGroupName rgLocation := "southcentralus" apiMgmtName := "t-apimgmt-test" + helpers.RandomString(10) + rgName := "AzureOperatorsTest" + apimServiceName := "AzureOperatorsTestAPIM" + + // Read the pre-created APIM service name and RG name from Environment variable if it exists + rgFromEnv := os.Getenv("TEST_APIM_RG") + if len(rgFromEnv) != 0 { + rgName = rgFromEnv + } + nameFromEnv := os.Getenv("TEST_APIM_NAME") + if len(nameFromEnv) != 0 { + apimServiceName = nameFromEnv + } // Create an instance of Azure APIMgmnt apiMgmtInstance := &azurev1alpha1.APIMgmtAPI{ @@ -31,8 +44,8 @@ func TestAPIMgmtController(t *testing.T) { }, Spec: azurev1alpha1.APIMgmtSpec{ Location: rgLocation, - ResourceGroup: "AzureOperatorsTest", - APIService: "AzureOperatorsTestAPIM", + ResourceGroup: rgName, + APIService: apimServiceName, APIId: "apiId0", Properties: azurev1alpha1.APIProperties{ IsCurrent: true, From 5af15c910001fe96de28b31d4d9aa6cbc57aa668 Mon Sep 17 00:00:00 2001 From: jananivMS Date: Fri, 15 May 2020 17:03:38 -0600 Subject: [PATCH 02/21] change image name to reflect MCR repo name --- azure-pipelines.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 0359613827f..607220004fe 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -18,7 +18,7 @@ variables: #GOPATH: '$(System.DefaultWorkingDirectory)/gopath' # Go workspace path #GOBIN: '$(GOPATH)/bin' # Go binaries path MODULE_PATH: '$(System.DefaultWorkingDirectory)/src/$(Build.Repository.Name)' # Path to the module's code - IMAGE_NAME: 'candidate/k8s/azure-service-operator' + IMAGE_NAME: 'candidate/k8s/azureserviceoperator' KUBEBUILDER_ASSETS: $(go env GOPATH)/bin # CONTAINER_REGISTRY: - set this value in Azure Devops variables - Name of Release ACR Service Connection # AZURE_SUBSCRIPTION_ID - set this value in Azure Devops variables @@ -186,7 +186,7 @@ steps: # Replace image repository in values.yaml to the official image in ACR img="$MAJOR_VERSION.$MINOR_VERSION.$PATCH_VERSION" echo $img - sed -i -e 's@azure-service-operator:latest@azure-service-operator:'${img}'@' charts/azure-service-operator/values.yaml + sed -i -e 's@azure-service-operator:latest@azureserviceoperator:'${img}'@' charts/azure-service-operator/values.yaml # create directory for generated files mkdir charts/azure-service-operator/templates/generated # generate files using kustomize From 13108f9a0396094356f18c86607d3b69df7314c1 Mon Sep 17 00:00:00 2001 From: jananivMS Date: Fri, 15 May 2020 22:15:48 -0600 Subject: [PATCH 03/21] install CRDS before helm deploy --- azure-pipelines.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 607220004fe..7337f1df176 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -241,6 +241,7 @@ steps: kubectl delete namespace $(OPERATOR_NAMESPACE) imagename="$(PIPELINE_CONTAINER_REGISTRY_NAME)/$(IMAGE_NAME):$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION)" echo $imagename + make install helm upgrade --install aso charts/azure-service-operator-0.1.0.tgz \ --set azureSubscriptionID=$(AZURE_SUBSCRIPTION_ID) \ --set azureTenantID=$(AZURE_TENANT_ID) \ @@ -255,6 +256,8 @@ steps: --set namespace=$(OPERATOR_NAMESPACE) kubectl get namespace kubectl get pods -n $(OPERATOR_NAMESPACE) + kubectl describe pods -n $(OPERATOR_NAMESPACE) + kubectl logs -n azureoperator-system deployment/azureoperator-controller-manager -c manager # - task: HelmDeploy@0 # inputs: From 5b05de764fb9b468c5c834e3a60f0952a1045126 Mon Sep 17 00:00:00 2001 From: jananivMS Date: Fri, 15 May 2020 23:27:35 -0600 Subject: [PATCH 04/21] helm chart updates --- charts/azure-service-operator-0.1.0.tgz | Bin 23655 -> 26051 bytes charts/index.yaml | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/azure-service-operator-0.1.0.tgz b/charts/azure-service-operator-0.1.0.tgz index a054aac8e41877069b731cfe204a7dbb3f8ccd7a..1536a390448262957fe87733478e219f033b8920 100644 GIT binary patch literal 26051 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 m2}lx3>NKU%%ysK5RjEo Date: Sat, 16 May 2020 00:01:38 -0600 Subject: [PATCH 05/21] update trigger --- azure-pipelines.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 7337f1df176..486ee7a486d 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,5 +1,8 @@ trigger: -- azdo-pipelines + branches: + include: + - master + - pipeline-updates resources: - repo: self From 6e064f2c419e1cf3c13524f02e12c47b8bad8c4a Mon Sep 17 00:00:00 2001 From: jananivMS Date: Sun, 17 May 2020 21:50:37 -0600 Subject: [PATCH 06/21] fix CRD kubebuilder resource directive with correct path --- api/v1alpha1/apimgmt_types.go | 2 +- api/v1alpha1/apimservice_types.go | 2 +- api/v1alpha1/azureloadbalancer_types.go | 2 +- api/v1alpha1/azurepublicipaddress_types.go | 2 +- api/v1alpha1/azuresqlaction_types.go | 2 +- api/v1alpha1/azuresqldatabase_types.go | 2 +- api/v1alpha1/azuresqlfailovergroup_types.go | 2 +- api/v1alpha1/azuresqlfirewallrule_types.go | 2 +- api/v1alpha1/azuresqlserver_types.go | 2 +- api/v1alpha1/azuresqluser_types.go | 2 +- api/v1alpha1/azuresqlvnetrule_types.go | 2 +- api/v1alpha1/azurevirtualmachine_types.go | 2 +- api/v1alpha1/azurevmscaleset_types.go | 2 +- api/v1alpha1/blobcontainer_types.go | 2 +- api/v1alpha1/consumergroup_types.go | 2 +- api/v1alpha1/cosmosdb_types.go | 2 +- api/v1alpha1/eventhub_types.go | 2 +- api/v1alpha1/keyvault_types.go | 2 +- api/v1alpha1/keyvaultkey_types.go | 2 +- api/v1alpha1/mysqldatabase_types.go | 2 +- api/v1alpha1/mysqlfirewallrule_types.go | 2 +- api/v1alpha1/mysqlserver_types.go | 2 +- api/v1alpha1/mysqlvnetrule_types.go | 2 +- api/v1alpha1/postgresqldatabase_types.go | 2 +- api/v1alpha1/postgresqlfirewallrule_types.go | 2 +- api/v1alpha1/postgresqlserver_types.go | 2 +- api/v1alpha1/postgresqlvnetrule_types.go | 2 +- api/v1alpha1/rediscache_types.go | 2 +- api/v1alpha1/storageaccount_types.go | 2 +- charts/azure-service-operator-0.1.0.tgz | Bin 23655 -> 26174 bytes ...ition_apimgmtapis.azure.microsoft.com.yaml | 185 +++++ ...tion_apimservices.azure.microsoft.com.yaml | 118 +++ ...ition_appinsights.azure.microsoft.com.yaml | 101 +++ ...zureloadbalancers.azure.microsoft.com.yaml | 116 +++ ...networkinterfaces.azure.microsoft.com.yaml | 108 +++ ...publicipaddresses.azure.microsoft.com.yaml | 111 +++ ...n_azuresqlactions.azure.microsoft.com.yaml | 111 +++ ...azuresqldatabases.azure.microsoft.com.yaml | 189 +++++ ...sqlfailovergroups.azure.microsoft.com.yaml | 221 +++++ ...esqlfirewallrules.azure.microsoft.com.yaml | 180 ++++ ...resqlmanagedusers.azure.microsoft.com.yaml | 113 +++ ...n_azuresqlservers.azure.microsoft.com.yaml | 174 ++++ ...ion_azuresqlusers.azure.microsoft.com.yaml | 120 +++ ...azuresqlvnetrules.azure.microsoft.com.yaml | 111 +++ ...revirtualmachines.azure.microsoft.com.yaml | 116 +++ ..._azurevmscalesets.azure.microsoft.com.yaml | 130 +++ ...on_blobcontainers.azure.microsoft.com.yaml | 180 ++++ ...on_consumergroups.azure.microsoft.com.yaml | 99 +++ ...inition_cosmosdbs.azure.microsoft.com.yaml | 172 ++++ ...venthubnamespaces.azure.microsoft.com.yaml | 151 ++++ ...inition_eventhubs.azure.microsoft.com.yaml | 197 +++++ ...tion_keyvaultkeys.azure.microsoft.com.yaml | 112 +++ ...inition_keyvaults.azure.microsoft.com.yaml | 170 ++++ ...on_mysqldatabases.azure.microsoft.com.yaml | 93 +++ ...ysqlfirewallrules.azure.microsoft.com.yaml | 102 +++ ...tion_mysqlservers.azure.microsoft.com.yaml | 260 ++++++ ...on_mysqlvnetrules.azure.microsoft.com.yaml | 108 +++ ...stgresqldatabases.azure.microsoft.com.yaml | 98 +++ ...esqlfirewallrules.azure.microsoft.com.yaml | 105 +++ ...postgresqlservers.azure.microsoft.com.yaml | 260 ++++++ ...stgresqlvnetrules.azure.microsoft.com.yaml | 108 +++ ...ition_rediscaches.azure.microsoft.com.yaml | 129 +++ ...on_resourcegroups.azure.microsoft.com.yaml | 95 +++ ...n_storageaccounts.azure.microsoft.com.yaml | 197 +++++ ...n_virtualnetworks.azure.microsoft.com.yaml | 121 +++ ...ment_azureoperator-controller-manager.yaml | 100 +++ ...ertificate_azureoperator-serving-cert.yaml | 13 + ...ssuer_azureoperator-selfsigned-issuer.yaml | 7 + ...lusterrole_azureoperator-manager-role.yaml | 774 ++++++++++++++++++ ..._clusterrole_azureoperator-proxy-role.yaml | 17 + ...ing_azureoperator-manager-rolebinding.yaml | 12 + ...nding_azureoperator-proxy-rolebinding.yaml | 12 + ...le_azureoperator-leader-election-role.yaml | 26 + ...eoperator-leader-election-rolebinding.yaml | 13 + ...or-controller-manager-metrics-service.yaml | 18 + ...service_azureoperator-webhook-service.yaml | 11 + charts/index.yaml | 6 +- 77 files changed, 5996 insertions(+), 32 deletions(-) create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_apimgmtapis.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_apimservices.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_appinsights.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azureloadbalancers.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurenetworkinterfaces.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurepublicipaddresses.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlactions.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqldatabases.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlfailovergroups.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlfirewallrules.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlmanagedusers.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlservers.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlusers.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlvnetrules.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurevirtualmachines.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurevmscalesets.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_blobcontainers.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_consumergroups.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_cosmosdbs.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_eventhubnamespaces.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_eventhubs.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_keyvaultkeys.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_keyvaults.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqldatabases.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqlfirewallrules.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqlservers.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqlvnetrules.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqldatabases.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqlfirewallrules.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqlservers.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqlvnetrules.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_rediscaches.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_resourcegroups.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_storageaccounts.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_virtualnetworks.azure.microsoft.com.yaml create mode 100644 charts/azure-service-operator/templates/generated/apps_v1_deployment_azureoperator-controller-manager.yaml create mode 100644 charts/azure-service-operator/templates/generated/cert-manager.io_v1alpha2_certificate_azureoperator-serving-cert.yaml create mode 100644 charts/azure-service-operator/templates/generated/cert-manager.io_v1alpha2_issuer_azureoperator-selfsigned-issuer.yaml create mode 100644 charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrole_azureoperator-manager-role.yaml create mode 100644 charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrole_azureoperator-proxy-role.yaml create mode 100644 charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrolebinding_azureoperator-manager-rolebinding.yaml create mode 100644 charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrolebinding_azureoperator-proxy-rolebinding.yaml create mode 100644 charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_role_azureoperator-leader-election-role.yaml create mode 100644 charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_rolebinding_azureoperator-leader-election-rolebinding.yaml create mode 100644 charts/azure-service-operator/templates/generated/~g_v1_service_azureoperator-controller-manager-metrics-service.yaml create mode 100644 charts/azure-service-operator/templates/generated/~g_v1_service_azureoperator-webhook-service.yaml diff --git a/api/v1alpha1/apimgmt_types.go b/api/v1alpha1/apimgmt_types.go index 9b1344909df..c10bdbd57ad 100644 --- a/api/v1alpha1/apimgmt_types.go +++ b/api/v1alpha1/apimgmt_types.go @@ -18,7 +18,7 @@ type APIMgmtSpec struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status -// +kubebuilder:resource:shortName=apim,path=apimgmt +// +kubebuilder:resource:shortName=apim,path=apimgmtapis // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type APIMgmtAPI struct { diff --git a/api/v1alpha1/apimservice_types.go b/api/v1alpha1/apimservice_types.go index 981ca1d45e9..98dca1d3463 100644 --- a/api/v1alpha1/apimservice_types.go +++ b/api/v1alpha1/apimservice_types.go @@ -31,7 +31,7 @@ type ApimServiceSpec struct { // +kubebuilder:subresource:status // ApimService is the Schema for the apimservices API -// +kubebuilder:resource:shortName=apims,path=apimservice +// +kubebuilder:resource:shortName=apims,path=apimservices // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type ApimService struct { diff --git a/api/v1alpha1/azureloadbalancer_types.go b/api/v1alpha1/azureloadbalancer_types.go index b112195395d..6df70e8b61c 100644 --- a/api/v1alpha1/azureloadbalancer_types.go +++ b/api/v1alpha1/azureloadbalancer_types.go @@ -28,7 +28,7 @@ type AzureLoadBalancerSpec struct { // +kubebuilder:subresource:status // AzureLoadBalancer is the Schema for the azureloadbalancers API -// +kubebuilder:resource:shortName=lb,path=loadbalancer +// +kubebuilder:resource:shortName=lb,path=azureloadbalancers // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type AzureLoadBalancer struct { diff --git a/api/v1alpha1/azurepublicipaddress_types.go b/api/v1alpha1/azurepublicipaddress_types.go index 48663cab61b..d283be2e659 100644 --- a/api/v1alpha1/azurepublicipaddress_types.go +++ b/api/v1alpha1/azurepublicipaddress_types.go @@ -26,7 +26,7 @@ type AzurePublicIPAddressSpec struct { // +kubebuilder:subresource:status // AzurePublicIPAddress is the Schema for the azurepublicipaddresses API -// +kubebuilder:resource:shortName=pipa,path=azurepublicipaddress +// +kubebuilder:resource:shortName=pipa,path=azurepublicipaddresses // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type AzurePublicIPAddress struct { diff --git a/api/v1alpha1/azuresqlaction_types.go b/api/v1alpha1/azuresqlaction_types.go index 0f3b9407bd3..9b1196ed3c9 100644 --- a/api/v1alpha1/azuresqlaction_types.go +++ b/api/v1alpha1/azuresqlaction_types.go @@ -28,7 +28,7 @@ type AzureSqlActionSpec struct { // +kubebuilder:subresource:status // AzureSqlAction is the Schema for the azuresqlactions API -// +kubebuilder:resource:shortName=asqla,path=azuresqlaction +// +kubebuilder:resource:shortName=asqla,path=azuresqlactions // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type AzureSqlAction struct { diff --git a/api/v1alpha1/azuresqldatabase_types.go b/api/v1alpha1/azuresqldatabase_types.go index 0451c3d429a..8f06ac48d17 100644 --- a/api/v1alpha1/azuresqldatabase_types.go +++ b/api/v1alpha1/azuresqldatabase_types.go @@ -26,7 +26,7 @@ type AzureSqlDatabaseSpec struct { // +kubebuilder:subresource:status // AzureSqlDatabase is the Schema for the azuresqldatabases API -// +kubebuilder:resource:shortName=asqldb,path=azuresqldatabase +// +kubebuilder:resource:shortName=asqldb,path=azuresqldatabases // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type AzureSqlDatabase struct { diff --git a/api/v1alpha1/azuresqlfailovergroup_types.go b/api/v1alpha1/azuresqlfailovergroup_types.go index 94fb037c841..cc2a5b65db5 100644 --- a/api/v1alpha1/azuresqlfailovergroup_types.go +++ b/api/v1alpha1/azuresqlfailovergroup_types.go @@ -27,7 +27,7 @@ type AzureSqlFailoverGroupSpec struct { // +kubebuilder:subresource:status // AzureSqlFailoverGroup is the Schema for the azuresqlfailovergroups API -// +kubebuilder:resource:shortName=asqlfg,path=azuresqlfailovergroup +// +kubebuilder:resource:shortName=asqlfg,path=azuresqlfailovergroups // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type AzureSqlFailoverGroup struct { diff --git a/api/v1alpha1/azuresqlfirewallrule_types.go b/api/v1alpha1/azuresqlfirewallrule_types.go index 9fc98d09c62..c3c6b59f7b4 100644 --- a/api/v1alpha1/azuresqlfirewallrule_types.go +++ b/api/v1alpha1/azuresqlfirewallrule_types.go @@ -25,7 +25,7 @@ type AzureSqlFirewallRuleSpec struct { // +kubebuilder:subresource:status // AzureSqlFirewallRule is the Schema for the azuresqlfirewallrules API -// +kubebuilder:resource:shortName=asqlfwr,path=azuresqlfirewallrule +// +kubebuilder:resource:shortName=asqlfwr,path=azuresqlfirewallrules // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type AzureSqlFirewallRule struct { diff --git a/api/v1alpha1/azuresqlserver_types.go b/api/v1alpha1/azuresqlserver_types.go index ee164edf5dc..a0bd43595ce 100644 --- a/api/v1alpha1/azuresqlserver_types.go +++ b/api/v1alpha1/azuresqlserver_types.go @@ -24,7 +24,7 @@ type AzureSqlServerSpec struct { // +kubebuilder:subresource:status // AzureSqlServer is the Schema for the azuresqlservers API -// +kubebuilder:resource:shortName=asqls,path=azuresqlserver +// +kubebuilder:resource:shortName=asqls,path=azuresqlservers // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type AzureSqlServer struct { diff --git a/api/v1alpha1/azuresqluser_types.go b/api/v1alpha1/azuresqluser_types.go index 3c9fa8596b6..e5102c86de4 100644 --- a/api/v1alpha1/azuresqluser_types.go +++ b/api/v1alpha1/azuresqluser_types.go @@ -31,7 +31,7 @@ type AzureSQLUserSpec struct { // +kubebuilder:subresource:status // AzureSQLUser is the Schema for the sqlusers API -// +kubebuilder:resource:shortName=asqlu,path=azuresqluser +// +kubebuilder:resource:shortName=asqlu,path=azuresqlusers // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type AzureSQLUser struct { diff --git a/api/v1alpha1/azuresqlvnetrule_types.go b/api/v1alpha1/azuresqlvnetrule_types.go index 6283adf4daf..00a7ddf461e 100644 --- a/api/v1alpha1/azuresqlvnetrule_types.go +++ b/api/v1alpha1/azuresqlvnetrule_types.go @@ -23,7 +23,7 @@ type AzureSQLVNetRuleSpec struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status // AzureSQLVNetRule is the Schema for the azuresqlvnetrules API -// +kubebuilder:resource:shortName=asqlvn,path=azuresqlvnetrule +// +kubebuilder:resource:shortName=asqlvn,path=azuresqlvnetrules // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type AzureSQLVNetRule struct { diff --git a/api/v1alpha1/azurevirtualmachine_types.go b/api/v1alpha1/azurevirtualmachine_types.go index 4d6f1efe952..b7781eaf302 100644 --- a/api/v1alpha1/azurevirtualmachine_types.go +++ b/api/v1alpha1/azurevirtualmachine_types.go @@ -37,7 +37,7 @@ const ( // +kubebuilder:subresource:status // AzureVirtualMachine is the Schema for the azurevirtualmachines API -// +kubebuilder:resource:shortName=vm,path=azurevirtualmachine +// +kubebuilder:resource:shortName=vm,path=azurevirtualmachines // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type AzureVirtualMachine struct { diff --git a/api/v1alpha1/azurevmscaleset_types.go b/api/v1alpha1/azurevmscaleset_types.go index edbe60542fd..f2957f24cad 100644 --- a/api/v1alpha1/azurevmscaleset_types.go +++ b/api/v1alpha1/azurevmscaleset_types.go @@ -33,7 +33,7 @@ type AzureVMScaleSetSpec struct { // +kubebuilder:subresource:status // AzureVMScaleSet is the Schema for the azurevmscalesets API -// +kubebuilder:resource:shortName=vmss,path=azurevmscaleset +// +kubebuilder:resource:shortName=vmss,path=azurevmscalesets // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type AzureVMScaleSet struct { diff --git a/api/v1alpha1/blobcontainer_types.go b/api/v1alpha1/blobcontainer_types.go index f78c8ec53c6..da1e0599569 100644 --- a/api/v1alpha1/blobcontainer_types.go +++ b/api/v1alpha1/blobcontainer_types.go @@ -26,7 +26,7 @@ type BlobContainerSpec struct { // +kubebuilder:subresource:status // BlobContainer is the Schema for the blobcontainers API -// +kubebuilder:resource:shortName=bc,path=blobcontainer +// +kubebuilder:resource:shortName=bc,path=blobcontainers // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type BlobContainer struct { diff --git a/api/v1alpha1/consumergroup_types.go b/api/v1alpha1/consumergroup_types.go index 9c081534136..077ff2fa72a 100644 --- a/api/v1alpha1/consumergroup_types.go +++ b/api/v1alpha1/consumergroup_types.go @@ -25,7 +25,7 @@ type ConsumerGroupSpec struct { // +kubebuilder:subresource:status // ConsumerGroup is the Schema for the consumergroups API -// +kubebuilder:resource:shortName=cg,path=consumergroup +// +kubebuilder:resource:shortName=cg,path=consumergroups // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type ConsumerGroup struct { diff --git a/api/v1alpha1/cosmosdb_types.go b/api/v1alpha1/cosmosdb_types.go index 52e3a1d5a9b..f61a6e7f73f 100644 --- a/api/v1alpha1/cosmosdb_types.go +++ b/api/v1alpha1/cosmosdb_types.go @@ -78,7 +78,7 @@ type CosmosDBLocation struct { // +kubebuilder:subresource:status // CosmosDB is the Schema for the cosmosdbs API -// +kubebuilder:resource:shortName=cdb,path=cosmosdb +// +kubebuilder:resource:shortName=cdb,path=cosmosdbs // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type CosmosDB struct { diff --git a/api/v1alpha1/eventhub_types.go b/api/v1alpha1/eventhub_types.go index 5113c2d6f18..2c7b977a23d 100644 --- a/api/v1alpha1/eventhub_types.go +++ b/api/v1alpha1/eventhub_types.go @@ -91,7 +91,7 @@ type EventhubProperties struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status // Eventhub is the Schema for the eventhubs API -// +kubebuilder:resource:shortName=eh,path=eventhub +// +kubebuilder:resource:shortName=eh,path=eventhubs // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type Eventhub struct { diff --git a/api/v1alpha1/keyvault_types.go b/api/v1alpha1/keyvault_types.go index a2a68ea89d5..9c5aad4114c 100644 --- a/api/v1alpha1/keyvault_types.go +++ b/api/v1alpha1/keyvault_types.go @@ -57,7 +57,7 @@ type Permissions struct { // +kubebuilder:subresource:status // KeyVault is the Schema for the keyvaults API -// +kubebuilder:resource:shortName=kv,path=keyvault +// +kubebuilder:resource:shortName=kv,path=keyvaults // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type KeyVault struct { diff --git a/api/v1alpha1/keyvaultkey_types.go b/api/v1alpha1/keyvaultkey_types.go index 54d38b504f2..3c7d489434b 100644 --- a/api/v1alpha1/keyvaultkey_types.go +++ b/api/v1alpha1/keyvaultkey_types.go @@ -27,7 +27,7 @@ type KeyVaultKeySpec struct { // +kubebuilder:subresource:status // KeyVaultKey is the Schema for the keyvaultkeys API -// +kubebuilder:resource:shortName=kvk,path=keyvaultkey +// +kubebuilder:resource:shortName=kvk,path=keyvaultkeys // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type KeyVaultKey struct { diff --git a/api/v1alpha1/mysqldatabase_types.go b/api/v1alpha1/mysqldatabase_types.go index 69680382995..098d4350441 100644 --- a/api/v1alpha1/mysqldatabase_types.go +++ b/api/v1alpha1/mysqldatabase_types.go @@ -20,7 +20,7 @@ type MySQLDatabaseSpec struct { // +kubebuilder:subresource:status // MySQLDatabase is the Schema for the mysqldatabases API -// +kubebuilder:resource:shortName=mysqldb,path=mysqldatabase +// +kubebuilder:resource:shortName=mysqldb,path=mysqldatabases // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type MySQLDatabase struct { diff --git a/api/v1alpha1/mysqlfirewallrule_types.go b/api/v1alpha1/mysqlfirewallrule_types.go index cf5ea97d159..57c29bd3363 100644 --- a/api/v1alpha1/mysqlfirewallrule_types.go +++ b/api/v1alpha1/mysqlfirewallrule_types.go @@ -22,7 +22,7 @@ type MySQLFirewallRuleSpec struct { // +kubebuilder:subresource:status // MySQLFirewallRule is the Schema for the mysqlfirewallrules API -// +kubebuilder:resource:shortName=mysqlfwr,path=mysqlfirewallrule +// +kubebuilder:resource:shortName=mysqlfwr,path=mysqlfirewallrules // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type MySQLFirewallRule struct { diff --git a/api/v1alpha1/mysqlserver_types.go b/api/v1alpha1/mysqlserver_types.go index 1cc65d4fd45..ac93264b39f 100644 --- a/api/v1alpha1/mysqlserver_types.go +++ b/api/v1alpha1/mysqlserver_types.go @@ -26,7 +26,7 @@ type MySQLServerSpec struct { // +kubebuilder:subresource:status // MySQLServer is the Schema for the mysqlservers API -// +kubebuilder:resource:shortName=mysqls,path=mysqlserver +// +kubebuilder:resource:shortName=mysqls,path=mysqlservers // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type MySQLServer struct { diff --git a/api/v1alpha1/mysqlvnetrule_types.go b/api/v1alpha1/mysqlvnetrule_types.go index 9aacfebb212..13bec93a6f9 100644 --- a/api/v1alpha1/mysqlvnetrule_types.go +++ b/api/v1alpha1/mysqlvnetrule_types.go @@ -25,7 +25,7 @@ type MySQLVNetRuleSpec struct { // +kubebuilder:object:root=true // MySQLVNetRule is the Schema for the mysqlvnetrules API -// +kubebuilder:resource:shortName=mysqlvn,path=mysqlvnetrule +// +kubebuilder:resource:shortName=mysqlvn,path=mysqlvnetrules // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type MySQLVNetRule struct { diff --git a/api/v1alpha1/postgresqldatabase_types.go b/api/v1alpha1/postgresqldatabase_types.go index 2e41782363b..479611fb922 100644 --- a/api/v1alpha1/postgresqldatabase_types.go +++ b/api/v1alpha1/postgresqldatabase_types.go @@ -22,7 +22,7 @@ type PostgreSQLDatabaseSpec struct { // +kubebuilder:subresource:status // PostgreSQLDatabase is the Schema for the postgresqldatabases API -// +kubebuilder:resource:shortName=psqldb,path=postgresqldatabase +// +kubebuilder:resource:shortName=psqldb,path=postgresqldatabases // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type PostgreSQLDatabase struct { diff --git a/api/v1alpha1/postgresqlfirewallrule_types.go b/api/v1alpha1/postgresqlfirewallrule_types.go index 6e978850a6c..82586fce5f4 100644 --- a/api/v1alpha1/postgresqlfirewallrule_types.go +++ b/api/v1alpha1/postgresqlfirewallrule_types.go @@ -24,7 +24,7 @@ type PostgreSQLFirewallRuleSpec struct { // +kubebuilder:subresource:status // PostgreSQLFirewallRule is the Schema for the postgresqlfirewallrules API -// +kubebuilder:resource:shortName=psqlfwr,path=postgresqlfirewallrule +// +kubebuilder:resource:shortName=psqlfwr,path=postgresqlfirewallrules // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type PostgreSQLFirewallRule struct { diff --git a/api/v1alpha1/postgresqlserver_types.go b/api/v1alpha1/postgresqlserver_types.go index 9df1d1c0eb4..e9824c9a163 100644 --- a/api/v1alpha1/postgresqlserver_types.go +++ b/api/v1alpha1/postgresqlserver_types.go @@ -77,7 +77,7 @@ const ( // +kubebuilder:subresource:status // PostgreSQLServer is the Schema for the postgresqlservers API -// +kubebuilder:resource:shortName=psqls,path=postgresqlserver +// +kubebuilder:resource:shortName=psqls,path=postgresqlservers // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type PostgreSQLServer struct { diff --git a/api/v1alpha1/postgresqlvnetrule_types.go b/api/v1alpha1/postgresqlvnetrule_types.go index 235da94c3b5..47703634111 100644 --- a/api/v1alpha1/postgresqlvnetrule_types.go +++ b/api/v1alpha1/postgresqlvnetrule_types.go @@ -25,7 +25,7 @@ type PostgreSQLVNetRuleSpec struct { // +kubebuilder:object:root=true // PostgreSQLVNetRule is the Schema for the PostgreSQLVNetRules API -// +kubebuilder:resource:shortName=psqlvn,path=postgresqlvnetrule +// +kubebuilder:resource:shortName=psqlvn,path=postgresqlvnetrules // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type PostgreSQLVNetRule struct { diff --git a/api/v1alpha1/rediscache_types.go b/api/v1alpha1/rediscache_types.go index 65963da7517..6b5a4fbc41f 100644 --- a/api/v1alpha1/rediscache_types.go +++ b/api/v1alpha1/rediscache_types.go @@ -63,7 +63,7 @@ const ( // +kubebuilder:subresource:status // RedisCache is the Schema for the rediscaches API -// +kubebuilder:resource:shortName=rc,path=rediscache +// +kubebuilder:resource:shortName=rc,path=rediscaches // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type RedisCache struct { diff --git a/api/v1alpha1/storageaccount_types.go b/api/v1alpha1/storageaccount_types.go index 90694a1b3ee..27fb6d07316 100644 --- a/api/v1alpha1/storageaccount_types.go +++ b/api/v1alpha1/storageaccount_types.go @@ -65,7 +65,7 @@ type StorageAccountAccessTier string // +kubebuilder:subresource:status // StorageAccount is the Schema for the storages API -// +kubebuilder:resource:shortName=sa,path=storage +// +kubebuilder:resource:shortName=sa,path=storageaccounts // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type StorageAccount struct { diff --git a/charts/azure-service-operator-0.1.0.tgz b/charts/azure-service-operator-0.1.0.tgz index a054aac8e41877069b731cfe204a7dbb3f8ccd7a..732778d8ac7b36fc204acaa0ff4332979796f151 100644 GIT binary patch literal 26174 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 literal 23655 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 m2}lx3>NKU%%ysK5RjEo Date: Sun, 17 May 2020 21:51:54 -0600 Subject: [PATCH 07/21] remove helm generated files --- ...ition_apimgmtapis.azure.microsoft.com.yaml | 185 ----- ...tion_apimservices.azure.microsoft.com.yaml | 118 --- ...ition_appinsights.azure.microsoft.com.yaml | 101 --- ...zureloadbalancers.azure.microsoft.com.yaml | 116 --- ...networkinterfaces.azure.microsoft.com.yaml | 108 --- ...publicipaddresses.azure.microsoft.com.yaml | 111 --- ...n_azuresqlactions.azure.microsoft.com.yaml | 111 --- ...azuresqldatabases.azure.microsoft.com.yaml | 189 ----- ...sqlfailovergroups.azure.microsoft.com.yaml | 221 ----- ...esqlfirewallrules.azure.microsoft.com.yaml | 180 ---- ...resqlmanagedusers.azure.microsoft.com.yaml | 113 --- ...n_azuresqlservers.azure.microsoft.com.yaml | 174 ---- ...ion_azuresqlusers.azure.microsoft.com.yaml | 120 --- ...azuresqlvnetrules.azure.microsoft.com.yaml | 111 --- ...revirtualmachines.azure.microsoft.com.yaml | 116 --- ..._azurevmscalesets.azure.microsoft.com.yaml | 130 --- ...on_blobcontainers.azure.microsoft.com.yaml | 180 ---- ...on_consumergroups.azure.microsoft.com.yaml | 99 --- ...inition_cosmosdbs.azure.microsoft.com.yaml | 172 ---- ...venthubnamespaces.azure.microsoft.com.yaml | 151 ---- ...inition_eventhubs.azure.microsoft.com.yaml | 197 ----- ...tion_keyvaultkeys.azure.microsoft.com.yaml | 112 --- ...inition_keyvaults.azure.microsoft.com.yaml | 170 ---- ...on_mysqldatabases.azure.microsoft.com.yaml | 93 --- ...ysqlfirewallrules.azure.microsoft.com.yaml | 102 --- ...tion_mysqlservers.azure.microsoft.com.yaml | 260 ------ ...on_mysqlvnetrules.azure.microsoft.com.yaml | 108 --- ...stgresqldatabases.azure.microsoft.com.yaml | 98 --- ...esqlfirewallrules.azure.microsoft.com.yaml | 105 --- ...postgresqlservers.azure.microsoft.com.yaml | 260 ------ ...stgresqlvnetrules.azure.microsoft.com.yaml | 108 --- ...ition_rediscaches.azure.microsoft.com.yaml | 129 --- ...on_resourcegroups.azure.microsoft.com.yaml | 95 --- ...n_storageaccounts.azure.microsoft.com.yaml | 197 ----- ...n_virtualnetworks.azure.microsoft.com.yaml | 121 --- ...ment_azureoperator-controller-manager.yaml | 100 --- ...ertificate_azureoperator-serving-cert.yaml | 13 - ...ssuer_azureoperator-selfsigned-issuer.yaml | 7 - ...lusterrole_azureoperator-manager-role.yaml | 774 ------------------ ..._clusterrole_azureoperator-proxy-role.yaml | 17 - ...ing_azureoperator-manager-rolebinding.yaml | 12 - ...nding_azureoperator-proxy-rolebinding.yaml | 12 - ...le_azureoperator-leader-election-role.yaml | 26 - ...eoperator-leader-election-rolebinding.yaml | 13 - ...or-controller-manager-metrics-service.yaml | 18 - ...service_azureoperator-webhook-service.yaml | 11 - 46 files changed, 5964 deletions(-) delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_apimgmtapis.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_apimservices.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_appinsights.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azureloadbalancers.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurenetworkinterfaces.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurepublicipaddresses.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlactions.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqldatabases.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlfailovergroups.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlfirewallrules.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlmanagedusers.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlservers.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlusers.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlvnetrules.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurevirtualmachines.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurevmscalesets.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_blobcontainers.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_consumergroups.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_cosmosdbs.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_eventhubnamespaces.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_eventhubs.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_keyvaultkeys.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_keyvaults.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqldatabases.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqlfirewallrules.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqlservers.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqlvnetrules.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqldatabases.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqlfirewallrules.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqlservers.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqlvnetrules.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_rediscaches.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_resourcegroups.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_storageaccounts.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_virtualnetworks.azure.microsoft.com.yaml delete mode 100644 charts/azure-service-operator/templates/generated/apps_v1_deployment_azureoperator-controller-manager.yaml delete mode 100644 charts/azure-service-operator/templates/generated/cert-manager.io_v1alpha2_certificate_azureoperator-serving-cert.yaml delete mode 100644 charts/azure-service-operator/templates/generated/cert-manager.io_v1alpha2_issuer_azureoperator-selfsigned-issuer.yaml delete mode 100644 charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrole_azureoperator-manager-role.yaml delete mode 100644 charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrole_azureoperator-proxy-role.yaml delete mode 100644 charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrolebinding_azureoperator-manager-rolebinding.yaml delete mode 100644 charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrolebinding_azureoperator-proxy-rolebinding.yaml delete mode 100644 charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_role_azureoperator-leader-election-role.yaml delete mode 100644 charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_rolebinding_azureoperator-leader-election-rolebinding.yaml delete mode 100644 charts/azure-service-operator/templates/generated/~g_v1_service_azureoperator-controller-manager-metrics-service.yaml delete mode 100644 charts/azure-service-operator/templates/generated/~g_v1_service_azureoperator-webhook-service.yaml diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_apimgmtapis.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_apimgmtapis.azure.microsoft.com.yaml deleted file mode 100644 index f28c47f7513..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_apimgmtapis.azure.microsoft.com.yaml +++ /dev/null @@ -1,185 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: apimgmtapis.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: APIMgmtAPI - listKind: APIMgmtAPIList - plural: apimgmtapis - shortNames: - - apim - singular: apimgmtapi - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: APIMgmtSpec defines the desired state of APIMgmt - properties: - apiId: - type: string - apiService: - type: string - location: - type: string - properties: - properties: - apiRevision: - description: APIRevision - Describes the Revision of the Api. If - no value is provided, default revision 1 is created - type: string - apiRevisionDescription: - description: APIRevisionDescription - Description of the Api Revision. - type: string - apiVersion: - description: APIVersion - Indicates the Version identifier of the - API if the API is versioned - type: string - apiVersionDescription: - description: APIVersionDescription - Description of the Api Version. - type: string - apiVersionSetId: - description: APIVersionSetID - A resource identifier for the related - ApiVersionSet. - type: string - apiVersionSets: - description: APIVersionSet - APIVersionSetContractDetails an API - Version Set contains the common configuration for a set of API - versions. - properties: - description: - description: Description - Description of API Version Set. - type: string - id: - description: ID - Identifier for existing API Version Set. Omit - this value to create a new Version Set. - type: string - name: - description: Name - The display Name of the API Version Set. - type: string - type: object - description: - description: Description - Description of the API. May include HTML - formatting tags. - type: string - displayName: - description: DisplayName - API name. Must be 1 to 300 characters - long. - type: string - format: - description: " Format - Format of the Content in which the API is - getting imported. Possible values include: \t'WadlXML', 'WadlLinkJSON', - 'SwaggerJSON', 'SwaggerLinkJSON', 'Wsdl', 'WsdlLink', 'Openapi', - 'Openapijson', 'OpenapiLink'" - type: string - isCurrent: - description: IsCurrent - Indicates if API revision is current api - revision. - type: boolean - isOnline: - description: IsOnline - READ-ONLY; Indicates if API revision is - accessible via the gateway. - type: boolean - path: - description: " Path - Relative URL uniquely identifying this API - and all of its resource paths within the API Management service - instance. \tIt is appended to the API endpoint base URL specified - during the service instance creation to form a public URL for - this API." - type: string - protocols: - description: Protocols - Describes on which protocols the operations - in this API can be invoked. - items: - type: string - type: array - serviceUrl: - description: ServiceURL - Absolute URL of the backend service implementing - this API. Cannot be more than 2000 characters long. - type: string - sourceApiId: - description: SourceAPIID - API identifier of the source API. - type: string - subscriptionRequired: - description: SubscriptionRequired - Specifies whether an API or - Product subscription is required for accessing the API. - type: boolean - type: object - resourceGroup: - type: string - required: - - apiId - - apiService - - location - - properties - - resourceGroup - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_apimservices.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_apimservices.azure.microsoft.com.yaml deleted file mode 100644 index a6430664d9f..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_apimservices.azure.microsoft.com.yaml +++ /dev/null @@ -1,118 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: apimservices.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: ApimService - listKind: ApimServiceList - plural: apimservices - shortNames: - - apims - singular: apimservice - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: ApimService is the Schema for the apimservices API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: ApimServiceSpec defines the desired state of ApimService - properties: - appInsightsName: - type: string - appInsightsResourceGroup: - type: string - location: - type: string - publisherEmail: - type: string - publisherName: - type: string - resourceGroup: - type: string - tier: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - vnetName: - type: string - vnetResourceGroup: - type: string - vnetSubnetName: - type: string - vnetType: - type: string - required: - - location - - publisherEmail - - publisherName - - resourceGroup - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_appinsights.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_appinsights.azure.microsoft.com.yaml deleted file mode 100644 index 9fdcaf562dd..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_appinsights.azure.microsoft.com.yaml +++ /dev/null @@ -1,101 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: appinsights.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: AppInsights - listKind: AppInsightsList - plural: appinsights - shortNames: - - ai - singular: appinsights - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: AppInsights is the Schema for the appinsights API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AppInsightsSpec defines the desired state of AppInsights - properties: - applicationType: - type: string - kind: - type: string - location: - type: string - resourceGroup: - type: string - required: - - applicationType - - kind - - location - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azureloadbalancers.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azureloadbalancers.azure.microsoft.com.yaml deleted file mode 100644 index 74272c77e76..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azureloadbalancers.azure.microsoft.com.yaml +++ /dev/null @@ -1,116 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: azureloadbalancers.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: AzureLoadBalancer - listKind: AzureLoadBalancerList - plural: azureloadbalancers - shortNames: - - lb - singular: azureloadbalancer - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: AzureLoadBalancer is the Schema for the azureloadbalancers API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AzureLoadBalancerSpec defines the desired state of AzureLoadBalancer - properties: - backendAddressPoolName: - type: string - backendPort: - type: integer - frontendPortRangeEnd: - type: integer - frontendPortRangeStart: - type: integer - inboundNatPoolName: - type: string - location: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - publicIPAddressName: - type: string - resourceGroup: - type: string - required: - - backendAddressPoolName - - backendPort - - frontendPortRangeEnd - - frontendPortRangeStart - - inboundNatPoolName - - location - - publicIPAddressName - - resourceGroup - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurenetworkinterfaces.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurenetworkinterfaces.azure.microsoft.com.yaml deleted file mode 100644 index be6d3bec0a7..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurenetworkinterfaces.azure.microsoft.com.yaml +++ /dev/null @@ -1,108 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: azurenetworkinterfaces.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: AzureNetworkInterface - listKind: AzureNetworkInterfaceList - plural: azurenetworkinterfaces - shortNames: - - ni - singular: azurenetworkinterface - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: AzureNetworkInterface is the Schema for the azurenetworkinterfaces - API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AzureNetworkInterfaceSpec defines the desired state of AzureNetworkInterface - properties: - location: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - publicIPAddressName: - type: string - resourceGroup: - type: string - subnetName: - type: string - vnetName: - type: string - required: - - location - - publicIPAddressName - - resourceGroup - - subnetName - - vnetName - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurepublicipaddresses.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurepublicipaddresses.azure.microsoft.com.yaml deleted file mode 100644 index 9d1ec029a4a..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurepublicipaddresses.azure.microsoft.com.yaml +++ /dev/null @@ -1,111 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: azurepublicipaddresses.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: AzurePublicIPAddress - listKind: AzurePublicIPAddressList - plural: azurepublicipaddresses - shortNames: - - pipa - singular: azurepublicipaddress - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: AzurePublicIPAddress is the Schema for the azurepublicipaddresses - API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AzurePublicIPAddressSpec defines the desired state of AzurePublicIPAddress - properties: - idleTimeoutInMinutes: - type: integer - location: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - publicIPAddressVersion: - type: string - publicIPAllocationMethod: - type: string - resourceGroup: - type: string - skuName: - type: string - required: - - idleTimeoutInMinutes - - location - - publicIPAddressVersion - - publicIPAllocationMethod - - resourceGroup - - skuName - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlactions.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlactions.azure.microsoft.com.yaml deleted file mode 100644 index 4aeceb355ea..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlactions.azure.microsoft.com.yaml +++ /dev/null @@ -1,111 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: azuresqlactions.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: AzureSqlAction - listKind: AzureSqlActionList - plural: azuresqlactions - shortNames: - - asqla - singular: azuresqlaction - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: AzureSqlAction is the Schema for the azuresqlactions API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AzureSqlActionSpec defines the desired state of AzureSqlAction - properties: - actionName: - type: string - dbName: - type: string - dbUser: - type: string - resourceGroup: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - serverAdminSecretName: - type: string - serverName: - type: string - serverSecretKeyVault: - type: string - userSecretKeyVault: - type: string - required: - - actionName - - resourceGroup - - serverName - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqldatabases.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqldatabases.azure.microsoft.com.yaml deleted file mode 100644 index 581b94a9ce4..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqldatabases.azure.microsoft.com.yaml +++ /dev/null @@ -1,189 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureoperator-system/azureoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: azuresqldatabases.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - conversion: - strategy: Webhook - webhookClientConfig: - caBundle: Cg== - service: - name: azureoperator-webhook-service - namespace: {{ .Values.namespace }} - path: /convert - group: azure.microsoft.com - names: - kind: AzureSqlDatabase - listKind: AzureSqlDatabaseList - plural: azuresqldatabases - shortNames: - - asqldb - singular: azuresqldatabase - preserveUnknownFields: false - scope: Namespaced - subresources: - status: {} - version: v1alpha1 - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: AzureSqlDatabase is the Schema for the azuresqldatabases API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AzureSqlDatabaseSpec defines the desired state of AzureSqlDatabase - properties: - dbName: - description: optional - type: string - edition: - description: 'DBEdition - wraps: https://godoc.org/github.com/Azure/azure-sdk-for-go/services/preview/sql/mgmt/2015-05-01-preview/sql#DatabaseEdition' - type: integer - location: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - resourcegroup: - type: string - server: - type: string - required: - - edition - - location - - server - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - served: true - storage: false - - name: v1beta1 - schema: - openAPIV3Schema: - description: AzureSqlDatabase is the Schema for the azuresqldatabases API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AzureSqlDatabaseSpec defines the desired state of AzureSqlDatabase - properties: - dbName: - description: optional - type: string - edition: - type: integer - location: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - resourceGroup: - type: string - server: - type: string - required: - - edition - - location - - server - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlfailovergroups.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlfailovergroups.azure.microsoft.com.yaml deleted file mode 100644 index e9771d3c1cd..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlfailovergroups.azure.microsoft.com.yaml +++ /dev/null @@ -1,221 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureoperator-system/azureoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: azuresqlfailovergroups.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - conversion: - strategy: Webhook - webhookClientConfig: - caBundle: Cg== - service: - name: azureoperator-webhook-service - namespace: {{ .Values.namespace }} - path: /convert - group: azure.microsoft.com - names: - kind: AzureSqlFailoverGroup - listKind: AzureSqlFailoverGroupList - plural: azuresqlfailovergroups - shortNames: - - asqlfg - singular: azuresqlfailovergroup - preserveUnknownFields: false - scope: Namespaced - subresources: - status: {} - version: v1alpha1 - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: AzureSqlFailoverGroup is the Schema for the azuresqlfailovergroups - API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AzureSqlFailoverGroupSpec defines the desired state of AzureSqlFailoverGroup - properties: - databaselist: - items: - type: string - type: array - failovergraceperiod: - format: int32 - type: integer - failoverpolicy: - description: ReadWriteEndpointFailoverPolicy - wraps https://godoc.org/github.com/Azure/azure-sdk-for-go/services/preview/sql/mgmt/2015-05-01-preview/sql#ReadWriteEndpointFailoverPolicy - type: string - keyVaultToStoreSecrets: - type: string - location: - description: 'Important: Run "make" to regenerate code after modifying - this file' - type: string - resourcegroup: - type: string - secondaryserver: - type: string - secondaryserverresourcegroup: - type: string - server: - type: string - required: - - databaselist - - failovergraceperiod - - failoverpolicy - - location - - secondaryserver - - secondaryserverresourcegroup - - server - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - served: true - storage: false - - name: v1beta1 - schema: - openAPIV3Schema: - description: AzureSqlFailoverGroup is the Schema for the azuresqlfailovergroups - API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AzureSqlFailoverGroupSpec defines the desired state of AzureSqlFailoverGroup - properties: - databaseList: - items: - type: string - type: array - failoverGracePeriod: - format: int32 - type: integer - failoverPolicy: - description: 'NOTE: json tags are required. Any new fields you add - must have json tags for the fields to be serialized.' - type: string - keyVaultToStoreSecrets: - type: string - location: - description: 'Important: Run "make" to regenerate code after modifying - this file' - type: string - resourceGroup: - type: string - secondaryServer: - type: string - secondaryServerResourceGroup: - type: string - server: - type: string - required: - - databaseList - - failoverGracePeriod - - failoverPolicy - - location - - secondaryServer - - secondaryServerResourceGroup - - server - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlfirewallrules.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlfirewallrules.azure.microsoft.com.yaml deleted file mode 100644 index cd116d823c2..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlfirewallrules.azure.microsoft.com.yaml +++ /dev/null @@ -1,180 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureoperator-system/azureoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: azuresqlfirewallrules.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - conversion: - strategy: Webhook - webhookClientConfig: - caBundle: Cg== - service: - name: azureoperator-webhook-service - namespace: {{ .Values.namespace }} - path: /convert - group: azure.microsoft.com - names: - kind: AzureSqlFirewallRule - listKind: AzureSqlFirewallRuleList - plural: azuresqlfirewallrules - shortNames: - - asqlfwr - singular: azuresqlfirewallrule - preserveUnknownFields: false - scope: Namespaced - subresources: - status: {} - version: v1alpha1 - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: AzureSqlFirewallRule is the Schema for the azuresqlfirewallrules - API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AzureSqlFirewallRuleSpec defines the desired state of AzureSqlFirewallRule - properties: - endipaddress: - type: string - resourcegroup: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - server: - type: string - startipaddress: - type: string - required: - - server - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - served: true - storage: false - - name: v1beta1 - schema: - openAPIV3Schema: - description: AzureSqlFirewallRule is the Schema for the azuresqlfirewallrules - API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AzureSqlFirewallRuleSpec defines the desired state of AzureSqlFirewallRule - properties: - endIpAddress: - type: string - resourceGroup: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - server: - type: string - startIpAddress: - type: string - required: - - server - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlmanagedusers.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlmanagedusers.azure.microsoft.com.yaml deleted file mode 100644 index 2213170835e..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlmanagedusers.azure.microsoft.com.yaml +++ /dev/null @@ -1,113 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: azuresqlmanagedusers.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: AzureSQLManagedUser - listKind: AzureSQLManagedUserList - plural: azuresqlmanagedusers - singular: azuresqlmanageduser - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: AzureSQLManagedUser is the Schema for the azuresqlmanagedusers - API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AzureSQLManagedUserSpec defines the desired state of AzureSQLManagedUser - properties: - dbName: - type: string - keyVaultSecretPrefix: - type: string - keyVaultToStoreSecrets: - type: string - managedIdentityClientId: - type: string - managedIdentityName: - type: string - resourceGroup: - type: string - roles: - items: - type: string - type: array - server: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - required: - - dbName - - managedIdentityClientId - - roles - - server - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlservers.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlservers.azure.microsoft.com.yaml deleted file mode 100644 index 65740b901de..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlservers.azure.microsoft.com.yaml +++ /dev/null @@ -1,174 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureoperator-system/azureoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: azuresqlservers.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - conversion: - strategy: Webhook - webhookClientConfig: - caBundle: Cg== - service: - name: azureoperator-webhook-service - namespace: {{ .Values.namespace }} - path: /convert - group: azure.microsoft.com - names: - kind: AzureSqlServer - listKind: AzureSqlServerList - plural: azuresqlservers - shortNames: - - asqls - singular: azuresqlserver - preserveUnknownFields: false - scope: Namespaced - subresources: - status: {} - version: v1alpha1 - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: AzureSqlServer is the Schema for the azuresqlservers API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AzureSqlServerSpec defines the desired state of AzureSqlServer - properties: - keyVaultToStoreSecrets: - type: string - location: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - resourcegroup: - type: string - required: - - location - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - served: true - storage: false - - name: v1beta1 - schema: - openAPIV3Schema: - description: AzureSqlServer is the Schema for the azuresqlservers API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AzureSqlServerSpec defines the desired state of AzureSqlServer - properties: - keyVaultToStoreSecrets: - type: string - location: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - resourceGroup: - type: string - required: - - location - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlusers.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlusers.azure.microsoft.com.yaml deleted file mode 100644 index 63ca3bb016e..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlusers.azure.microsoft.com.yaml +++ /dev/null @@ -1,120 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: azuresqlusers.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: AzureSQLUser - listKind: AzureSQLUserList - plural: azuresqlusers - shortNames: - - asqlu - singular: azuresqluser - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: AzureSQLUser is the Schema for the sqlusers API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AzureSQLUserSpec defines the desired state of SqlUser - properties: - adminSecret: - description: optional - type: string - adminSecretKeyVault: - type: string - dbName: - type: string - keyVaultSecretFormats: - items: - type: string - type: array - keyVaultSecretPrefix: - type: string - keyVaultToStoreSecrets: - type: string - resourceGroup: - type: string - roles: - items: - type: string - type: array - server: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - username: - type: string - required: - - dbName - - roles - - server - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlvnetrules.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlvnetrules.azure.microsoft.com.yaml deleted file mode 100644 index 68023940efc..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azuresqlvnetrules.azure.microsoft.com.yaml +++ /dev/null @@ -1,111 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: azuresqlvnetrules.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: AzureSQLVNetRule - listKind: AzureSQLVNetRuleList - plural: azuresqlvnetrules - shortNames: - - asqlvn - singular: azuresqlvnetrule - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: AzureSQLVNetRule is the Schema for the azuresqlvnetrules API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: 'NOTE: json tags are required. Any new fields you add must - have json tags for the fields to be serialized. AzureSQLVNetRuleSpec defines - the desired state of AzureSQLVNetRule' - properties: - ignoreMissingServiceEndpoint: - type: boolean - resourceGroup: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - server: - type: string - subnetName: - type: string - vNetName: - type: string - vNetResourceGroup: - type: string - required: - - resourceGroup - - server - - subnetName - - vNetName - - vNetResourceGroup - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurevirtualmachines.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurevirtualmachines.azure.microsoft.com.yaml deleted file mode 100644 index f9744de94f2..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurevirtualmachines.azure.microsoft.com.yaml +++ /dev/null @@ -1,116 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: azurevirtualmachines.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: AzureVirtualMachine - listKind: AzureVirtualMachineList - plural: azurevirtualmachines - shortNames: - - vm - singular: azurevirtualmachine - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: AzureVirtualMachine is the Schema for the azurevirtualmachines - API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AzureVirtualMachineSpec defines the desired state of AzureVirtualMachine - properties: - adminUserName: - type: string - location: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - networkInterfaceName: - type: string - osType: - type: string - platformImageURN: - type: string - resourceGroup: - type: string - sshPublicKeyData: - type: string - vmSize: - type: string - required: - - adminUserName - - location - - networkInterfaceName - - osType - - platformImageURN - - resourceGroup - - vmSize - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurevmscalesets.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurevmscalesets.azure.microsoft.com.yaml deleted file mode 100644 index 98f406d15f9..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_azurevmscalesets.azure.microsoft.com.yaml +++ /dev/null @@ -1,130 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: azurevmscalesets.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: AzureVMScaleSet - listKind: AzureVMScaleSetList - plural: azurevmscalesets - shortNames: - - vmss - singular: azurevmscaleset - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: AzureVMScaleSet is the Schema for the azurevmscalesets API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AzureVMScaleSetSpec defines the desired state of AzureVMScaleSet - properties: - adminUserName: - type: string - backendAddressPoolName: - type: string - capacity: - type: integer - inboundNatPoolName: - type: string - loadBalancerName: - type: string - location: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - osType: - type: string - platformImageURN: - type: string - resourceGroup: - type: string - sshPublicKeyData: - type: string - subnetName: - type: string - virtualNetworkName: - type: string - vmSize: - type: string - required: - - adminUserName - - backendAddressPoolName - - capacity - - inboundNatPoolName - - loadBalancerName - - location - - osType - - platformImageURN - - resourceGroup - - subnetName - - virtualNetworkName - - vmSize - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_blobcontainers.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_blobcontainers.azure.microsoft.com.yaml deleted file mode 100644 index 26a5b4e6ad1..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_blobcontainers.azure.microsoft.com.yaml +++ /dev/null @@ -1,180 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureoperator-system/azureoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: blobcontainers.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - conversion: - strategy: Webhook - webhookClientConfig: - caBundle: Cg== - service: - name: azureoperator-webhook-service - namespace: {{ .Values.namespace }} - path: /convert - group: azure.microsoft.com - names: - kind: BlobContainer - listKind: BlobContainerList - plural: blobcontainers - shortNames: - - bc - singular: blobcontainer - preserveUnknownFields: false - scope: Namespaced - subresources: - status: {} - version: v1alpha1 - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: BlobContainer is the Schema for the blobcontainers API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: BlobContainerSpec defines the desired state of BlobContainer - properties: - accesslevel: - description: PublicAccess enumerates the values for public access. - type: string - accountname: - type: string - location: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - resourcegroup: - type: string - required: - - location - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - served: true - storage: false - - name: v1alpha2 - schema: - openAPIV3Schema: - description: BlobContainer is the Schema for the blobcontainers API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: BlobContainerSpec defines the desired state of BlobContainer - properties: - accessLevel: - description: PublicAccess enumerates the values for public access. - type: string - accountName: - type: string - location: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - resourceGroup: - type: string - required: - - location - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_consumergroups.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_consumergroups.azure.microsoft.com.yaml deleted file mode 100644 index 7a1ce133270..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_consumergroups.azure.microsoft.com.yaml +++ /dev/null @@ -1,99 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: consumergroups.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: ConsumerGroup - listKind: ConsumerGroupList - plural: consumergroups - shortNames: - - cg - singular: consumergroup - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: ConsumerGroup is the Schema for the consumergroups API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: ConsumerGroupSpec defines the desired state of ConsumerGroup - properties: - consumerGroupName: - type: string - eventHub: - type: string - namespace: - type: string - resourceGroup: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_cosmosdbs.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_cosmosdbs.azure.microsoft.com.yaml deleted file mode 100644 index 69d15be5aed..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_cosmosdbs.azure.microsoft.com.yaml +++ /dev/null @@ -1,172 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: cosmosdbs.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: CosmosDB - listKind: CosmosDBList - plural: cosmosdbs - shortNames: - - cdb - singular: cosmosdb - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: CosmosDB is the Schema for the cosmosdbs API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: CosmosDBSpec defines the desired state of CosmosDB - properties: - ipRules: - items: - type: string - type: array - keyVaultToStoreSecrets: - type: string - kind: - description: CosmosDBKind enumerates the values for kind. Only one of - the following kinds may be specified. If none of the following kinds - is specified, the default one is GlobalDocumentDBKind. - enum: - - GlobalDocumentDB - - MongoDB - type: string - location: - minLength: 0 - type: string - locations: - items: - description: CosmosDBLocation defines one or more locations for geo-redundancy - and high availability - properties: - failoverPriority: - format: int32 - type: integer - isZoneRedundant: - type: boolean - locationName: - type: string - required: - - failoverPriority - - locationName - type: object - type: array - properties: - description: CosmosDBProperties the CosmosDBProperties of CosmosDB. - properties: - capabilities: - items: - description: Capability cosmos DB capability object - properties: - name: - description: Name *CosmosCapability `json:"name,omitempty"` - enum: - - EnableCassandra - - EnableTable - - EnableGremlin - - EnableMongo - type: string - type: object - type: array - databaseAccountOfferType: - description: DatabaseAccountOfferType - The offer type for the Cosmos - DB database account. - enum: - - Standard - type: string - enableMultipleWriteLocations: - type: boolean - isVirtualNetworkFilterEnabled: - description: IsVirtualNetworkFilterEnabled - Flag to indicate whether - to enable/disable Virtual Network ACL rules. - type: boolean - mongoDBVersion: - type: string - type: object - resourceGroup: - type: string - virtualNetworkRules: - items: - description: CosmosDBVirtualNetworkRule virtual Network ACL Rule object - properties: - ignoreMissingVNetServiceEndpoint: - description: IgnoreMissingVNetServiceEndpoint - Create firewall - rule before the virtual network has vnet service endpoint enabled. - type: boolean - subnetID: - description: 'ID - Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}.' - type: string - type: object - type: array - required: - - resourceGroup - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_eventhubnamespaces.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_eventhubnamespaces.azure.microsoft.com.yaml deleted file mode 100644 index 585461c7b8c..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_eventhubnamespaces.azure.microsoft.com.yaml +++ /dev/null @@ -1,151 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: eventhubnamespaces.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: EventhubNamespace - listKind: EventhubNamespaceList - plural: eventhubnamespaces - shortNames: - - ehns - singular: eventhubnamespace - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: EventhubNamespace is the Schema for the eventhubnamespaces API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: EventhubNamespaceSpec defines the desired state of EventhubNamespace - properties: - location: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - networkRule: - description: EventhubNamespaceNetworkRule defines the namespace network - rule - properties: - defaultAction: - description: DefaultAction defined as a string - type: string - ipRules: - description: IPRules - List of IpRules - items: - properties: - ipMask: - description: IPMask - IPv4 address 1.1.1.1 or CIDR notation - 1.1.0.0/24 - type: string - type: object - type: array - virtualNetworkRules: - description: VirtualNetworkRules - List VirtualNetwork Rules - items: - properties: - ignoreMissingServiceEndpoint: - description: IgnoreMissingVnetServiceEndpoint - Value that - indicates whether to ignore missing VNet Service Endpoint - type: boolean - subnetId: - description: Subnet - Full Resource ID of Virtual Network - Subnet - type: string - type: object - type: array - type: object - properties: - description: EventhubNamespaceProperties defines the namespace properties - properties: - isAutoInflateEnabled: - type: boolean - kafkaEnabled: - type: boolean - maximumThroughputUnits: - format: int32 - type: integer - type: object - resourceGroup: - type: string - sku: - description: EventhubNamespaceSku defines the sku - properties: - capacity: - format: int32 - type: integer - name: - type: string - tier: - type: string - type: object - required: - - location - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_eventhubs.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_eventhubs.azure.microsoft.com.yaml deleted file mode 100644 index ee6ad544e87..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_eventhubs.azure.microsoft.com.yaml +++ /dev/null @@ -1,197 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: eventhubs.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: Eventhub - listKind: EventhubList - plural: eventhubs - shortNames: - - eh - singular: eventhub - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: Eventhub is the Schema for the eventhubs API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: EventhubSpec defines the desired state of Eventhub - properties: - authorizationRule: - description: EventhubAuthorizationRule defines the name and rights of - the access policy - properties: - name: - description: Name - Name of AuthorizationRule for eventhub - type: string - rights: - description: Rights - Rights set on the AuthorizationRule - items: - type: string - type: array - type: object - keyVaultToStoreSecrets: - type: string - location: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - namespace: - type: string - properties: - description: EventhubProperties defines the namespace properties - properties: - captureDescription: - description: CaptureDescription - Details specifying EventHub capture - to persistent storage - properties: - destination: - description: Destination - Resource id of the storage account - to be used to create the blobs - properties: - archiveNameFormat: - description: ArchiveNameFormat - Blob naming convention - for archive, e.g. {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. - Here all the parameters (Namespace,EventHub .. etc) are - mandatory irrespective of order - type: string - blobContainer: - description: BlobContainer - Blob container Name - type: string - name: - description: Name - Name for capture destination - enum: - - EventHubArchive.AzureBlockBlob - - EventHubArchive.AzureDataLake - type: string - storageAccount: - description: StorageAccount - Details of the storage account - properties: - accountName: - description: AccountName - Name of the storage account - maxLength: 24 - minLength: 3 - pattern: ^[a-z0-9]+$ - type: string - resourceGroup: - description: ResourceGroup - Name of the storage account - resource group - pattern: ^[-\w\._\(\)]+$ - type: string - type: object - type: object - enabled: - description: Enabled - indicates whether capture is enabled - type: boolean - intervalInSeconds: - description: IntervalInSeconds - The time window allows you - to set the frequency with which the capture to Azure Blobs - will happen - format: int32 - maximum: 900 - minimum: 60 - type: integer - sizeLimitInBytes: - description: SizeLimitInBytes - The size window defines the - amount of data built up in your Event Hub before an capture - operation - format: int32 - maximum: 524288000 - minimum: 10485760 - type: integer - required: - - enabled - type: object - messageRetentionInDays: - description: MessageRetentionInDays - Number of days to retain the - events for this Event Hub, value should be 1 to 7 days - format: int32 - maximum: 7 - minimum: 1 - type: integer - partitionCount: - description: PartitionCount - Number of partitions created for the - Event Hub, allowed values are from 2 to 32 partitions. - format: int32 - maximum: 32 - minimum: 2 - type: integer - type: object - resourceGroup: - type: string - secretName: - description: SecretName - Used to specify the name of the secret. Defaults - to Event Hub name if omitted. - type: string - required: - - location - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_keyvaultkeys.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_keyvaultkeys.azure.microsoft.com.yaml deleted file mode 100644 index 38a7fb3441a..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_keyvaultkeys.azure.microsoft.com.yaml +++ /dev/null @@ -1,112 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: keyvaultkeys.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: KeyVaultKey - listKind: KeyVaultKeyList - plural: keyvaultkeys - shortNames: - - kvk - singular: keyvaultkey - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: KeyVaultKey is the Schema for the keyvaultkeys API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: KeyVaultKeySpec defines the desired state of KeyVaultKey - properties: - keySize: - format: int32 - type: integer - keyVault: - type: string - location: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - operations: - items: - description: JSONWebKeyOperation enumerates the values for json web - key operation. - type: string - type: array - resourceGroup: - type: string - type: - description: JSONWebKeyType enumerates the values for json web key type. - type: string - required: - - location - - resourceGroup - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_keyvaults.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_keyvaults.azure.microsoft.com.yaml deleted file mode 100644 index 06fcc085e49..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_keyvaults.azure.microsoft.com.yaml +++ /dev/null @@ -1,170 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: keyvaults.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: KeyVault - listKind: KeyVaultList - plural: keyvaults - shortNames: - - kv - singular: keyvault - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: KeyVault is the Schema for the keyvaults API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: KeyVaultSpec defines the desired state of KeyVault - properties: - accessPolicies: - items: - properties: - applicationID: - description: ApplicationID - Application ID of the client making - request on behalf of a principal - type: string - clientID: - description: ClientID - The client ID of a user, service principal - or security group in the Azure Active Directory tenant for the - vault. The client ID must be unique for the list of access policies. - type: string - permissions: - description: Permissions - Permissions the identity has for keys, - secrets, and certificates. - properties: - certificates: - items: - type: string - type: array - keys: - items: - type: string - type: array - secrets: - items: - type: string - type: array - storage: - items: - type: string - type: array - type: object - tenantID: - description: TenantID - The Azure Active Directory tenant ID that - should be used for authenticating requests to the key vault. - type: string - type: object - type: array - enableSoftDelete: - type: boolean - location: - type: string - networkPolicies: - properties: - bypass: - description: 'Bypass - Tells what traffic can bypass network rules. - This can be ''AzureServices'' or ''None''. If not specified the - default is ''AzureServices''. Possible values include: ''AzureServices'', - ''None''' - type: string - defaultAction: - description: 'DefaultAction - The default action when no rule from - ipRules and from virtualNetworkRules match. This is only used - after the bypass property has been evaluated. Possible values - include: ''Allow'', ''Deny''' - type: string - ipRules: - description: IPRules - The list of IP address rules. - items: - type: string - type: array - virtualNetworkRules: - description: VirtualNetworkRules - The list of virtual network rules. - items: - type: string - type: array - type: object - resourceGroup: - type: string - sku: - description: KeyVaultSku the SKU of the Key Vault - properties: - name: - description: 'Name - The SKU name. Required for account creation; - optional for update. Possible values include: ''Premium'', `Standard`' - type: string - type: object - required: - - location - - resourceGroup - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqldatabases.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqldatabases.azure.microsoft.com.yaml deleted file mode 100644 index 3fc07d7d1cc..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqldatabases.azure.microsoft.com.yaml +++ /dev/null @@ -1,93 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: mysqldatabases.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: MySQLDatabase - listKind: MySQLDatabaseList - plural: mysqldatabases - shortNames: - - mysqldb - singular: mysqldatabase - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: MySQLDatabase is the Schema for the mysqldatabases API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: MySQLDatabaseSpec defines the desired state of MySQLDatabase - properties: - resourceGroup: - type: string - server: - type: string - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqlfirewallrules.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqlfirewallrules.azure.microsoft.com.yaml deleted file mode 100644 index 9cc6bb013e3..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqlfirewallrules.azure.microsoft.com.yaml +++ /dev/null @@ -1,102 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: mysqlfirewallrules.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: MySQLFirewallRule - listKind: MySQLFirewallRuleList - plural: mysqlfirewallrules - shortNames: - - mysqlfwr - singular: mysqlfirewallrule - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: MySQLFirewallRule is the Schema for the mysqlfirewallrules API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: MySQLFirewallRuleSpec defines the desired state of MySQLFirewallRule - properties: - endIpAddress: - type: string - resourceGroup: - type: string - server: - type: string - startIpAddress: - type: string - required: - - endIpAddress - - resourceGroup - - server - - startIpAddress - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqlservers.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqlservers.azure.microsoft.com.yaml deleted file mode 100644 index 897afdd07dc..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqlservers.azure.microsoft.com.yaml +++ /dev/null @@ -1,260 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureoperator-system/azureoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: mysqlservers.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - conversion: - strategy: Webhook - webhookClientConfig: - caBundle: Cg== - service: - name: azureoperator-webhook-service - namespace: {{ .Values.namespace }} - path: /convert - group: azure.microsoft.com - names: - kind: MySQLServer - listKind: MySQLServerList - plural: mysqlservers - shortNames: - - mysqls - singular: mysqlserver - preserveUnknownFields: false - scope: Namespaced - subresources: - status: {} - version: v1alpha1 - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: MySQLServer is the Schema for the mysqlservers API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: MySQLServerSpec defines the desired state of MySQLServer - properties: - createMode: - type: string - keyVaultToStoreSecrets: - type: string - location: - type: string - replicaProperties: - properties: - sourceServerId: - type: string - type: object - resourceGroup: - type: string - serverVersion: - description: ServerVersion enumerates the values for server version. - type: string - sku: - properties: - capacity: - description: Capacity - The scale up/out capacity, representing - server's compute units. - format: int32 - type: integer - family: - description: Family - The family of hardware. - type: string - name: - description: Name - The name of the sku, typically, tier + family - + cores, e.g. B_Gen4_1, GP_Gen5_8. - type: string - size: - description: Size - The size code, to be interpreted by resource - as appropriate. - type: string - tier: - description: 'Tier - The tier of the particular SKU, e.g. Basic. - Possible values include: ''Basic'', ''GeneralPurpose'', ''MemoryOptimized''' - type: string - type: object - sslEnforcement: - type: string - required: - - location - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - served: true - storage: false - - name: v1alpha2 - schema: - openAPIV3Schema: - description: MySQLServer is the Schema for the mysqlservers API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: MySQLServerSpec defines the desired state of MySQLServer - properties: - createMode: - type: string - keyVaultToStoreSecrets: - type: string - location: - type: string - replicaProperties: - properties: - sourceServerId: - type: string - type: object - resourceGroup: - type: string - serverVersion: - description: ServerVersion enumerates the values for server version. - type: string - sku: - properties: - capacity: - description: Capacity - The scale up/out capacity, representing - server's compute units. - format: int32 - type: integer - family: - description: Family - The family of hardware. - type: string - name: - description: Name - The name of the sku, typically, tier + family - + cores, e.g. B_Gen4_1, GP_Gen5_8. - type: string - size: - description: Size - The size code, to be interpreted by resource - as appropriate. - type: string - tier: - description: 'Tier - The tier of the particular SKU, e.g. Basic. - Possible values include: ''Basic'', ''GeneralPurpose'', ''MemoryOptimized''' - type: string - type: object - sslEnforcement: - type: string - storageProfile: - properties: - backupRetentionDays: - description: BackupRetentionDays - Backup retention days for the - server. - format: int32 - type: integer - geoRedundantBackup: - description: 'GeoRedundantBackup - Enable Geo-redundant or not - for server backup. Possible values include: ''Enabled'', ''Disabled''' - type: string - storageAutogrow: - description: 'StorageAutogrow - Enable Storage Auto Grow. Possible - values include: ''StorageAutogrowEnabled'', ''StorageAutogrowDisabled''' - type: string - storageMB: - description: StorageMB - Max storage allowed for a server. - format: int32 - type: integer - type: object - required: - - location - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqlvnetrules.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqlvnetrules.azure.microsoft.com.yaml deleted file mode 100644 index 294534c6319..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_mysqlvnetrules.azure.microsoft.com.yaml +++ /dev/null @@ -1,108 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: mysqlvnetrules.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: MySQLVNetRule - listKind: MySQLVNetRuleList - plural: mysqlvnetrules - shortNames: - - mysqlvn - singular: mysqlvnetrule - scope: Namespaced - subresources: {} - validation: - openAPIV3Schema: - description: MySQLVNetRule is the Schema for the mysqlvnetrules API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: MySQLVNetRuleSpec defines the desired state of MySQLVNetRule - properties: - ignoreMissingServiceEndpoint: - type: boolean - resourceGroup: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - server: - type: string - subnetName: - type: string - vNetName: - type: string - vNetResourceGroup: - type: string - required: - - resourceGroup - - server - - subnetName - - vNetName - - vNetResourceGroup - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqldatabases.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqldatabases.azure.microsoft.com.yaml deleted file mode 100644 index 68d4b7848d6..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqldatabases.azure.microsoft.com.yaml +++ /dev/null @@ -1,98 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: postgresqldatabases.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: PostgreSQLDatabase - listKind: PostgreSQLDatabaseList - plural: postgresqldatabases - shortNames: - - psqldb - singular: postgresqldatabase - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: PostgreSQLDatabase is the Schema for the postgresqldatabases API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: PostgreSQLDatabaseSpec defines the desired state of PostgreSQLDatabase - properties: - resourceGroup: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - server: - type: string - required: - - resourceGroup - - server - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqlfirewallrules.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqlfirewallrules.azure.microsoft.com.yaml deleted file mode 100644 index 7fdfa789761..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqlfirewallrules.azure.microsoft.com.yaml +++ /dev/null @@ -1,105 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: postgresqlfirewallrules.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: PostgreSQLFirewallRule - listKind: PostgreSQLFirewallRuleList - plural: postgresqlfirewallrules - shortNames: - - psqlfwr - singular: postgresqlfirewallrule - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: PostgreSQLFirewallRule is the Schema for the postgresqlfirewallrules - API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: PostgreSQLFirewallRuleSpec defines the desired state of PostgreSQLFirewallRule - properties: - endIpAddress: - type: string - resourceGroup: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - server: - type: string - startIpAddress: - type: string - required: - - endIpAddress - - resourceGroup - - server - - startIpAddress - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqlservers.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqlservers.azure.microsoft.com.yaml deleted file mode 100644 index c2748ccf4f8..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqlservers.azure.microsoft.com.yaml +++ /dev/null @@ -1,260 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureoperator-system/azureoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: postgresqlservers.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - conversion: - strategy: Webhook - webhookClientConfig: - caBundle: Cg== - service: - name: azureoperator-webhook-service - namespace: {{ .Values.namespace }} - path: /convert - group: azure.microsoft.com - names: - kind: PostgreSQLServer - listKind: PostgreSQLServerList - plural: postgresqlservers - shortNames: - - psqls - singular: postgresqlserver - preserveUnknownFields: false - scope: Namespaced - subresources: - status: {} - version: v1alpha1 - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: PostgreSQLServer is the Schema for the postgresqlservers API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: PostgreSQLServerSpec defines the desired state of PostgreSQLServer - properties: - createMode: - type: string - keyVaultToStoreSecrets: - type: string - location: - type: string - replicaProperties: - properties: - sourceServerId: - type: string - type: object - resourceGroup: - type: string - serverVersion: - description: ServerVersion enumerates the values for server version. - type: string - sku: - properties: - capacity: - description: Capacity - The scale up/out capacity, representing - server's compute units. - format: int32 - type: integer - family: - description: Family - The family of hardware. - type: string - name: - description: Name - The name of the sku, typically, tier + family - + cores, e.g. B_Gen4_1, GP_Gen5_8. - type: string - size: - description: Size - The size code, to be interpreted by resource - as appropriate. - type: string - tier: - description: 'Tier - The tier of the particular SKU, e.g. Basic. - Possible values include: ''Basic'', ''GeneralPurpose'', ''MemoryOptimized''' - type: string - type: object - sslEnforcement: - type: string - required: - - location - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - served: true - storage: false - - name: v1alpha2 - schema: - openAPIV3Schema: - description: PostgreSQLServer is the Schema for the postgresqlservers API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: PostgreSQLServerSpec defines the desired state of PostgreSQLServer - properties: - createMode: - type: string - keyVaultToStoreSecrets: - type: string - location: - type: string - replicaProperties: - properties: - sourceServerId: - type: string - type: object - resourceGroup: - type: string - serverVersion: - description: ServerVersion enumerates the values for server version. - type: string - sku: - properties: - capacity: - description: Capacity - The scale up/out capacity, representing - server's compute units. - format: int32 - type: integer - family: - description: Family - The family of hardware. - type: string - name: - description: Name - The name of the sku, typically, tier + family - + cores, e.g. B_Gen4_1, GP_Gen5_8. - type: string - size: - description: Size - The size code, to be interpreted by resource - as appropriate. - type: string - tier: - description: 'Tier - The tier of the particular SKU, e.g. Basic. - Possible values include: ''Basic'', ''GeneralPurpose'', ''MemoryOptimized''' - type: string - type: object - sslEnforcement: - type: string - storageProfile: - properties: - backupRetentionDays: - description: BackupRetentionDays - Backup retention days for the - server. - format: int32 - type: integer - geoRedundantBackup: - description: 'GeoRedundantBackup - Enable Geo-redundant or not - for server backup. Possible values include: ''Enabled'', ''Disabled''' - type: string - storageAutogrow: - description: 'StorageAutogrow - Enable Storage Auto Grow. Possible - values include: ''StorageAutogrowEnabled'', ''StorageAutogrowDisabled''' - type: string - storageMB: - description: StorageMB - Max storage allowed for a server. - format: int32 - type: integer - type: object - required: - - location - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqlvnetrules.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqlvnetrules.azure.microsoft.com.yaml deleted file mode 100644 index c255687bbc8..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_postgresqlvnetrules.azure.microsoft.com.yaml +++ /dev/null @@ -1,108 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: postgresqlvnetrules.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: PostgreSQLVNetRule - listKind: PostgreSQLVNetRuleList - plural: postgresqlvnetrules - shortNames: - - psqlvn - singular: postgresqlvnetrule - scope: Namespaced - subresources: {} - validation: - openAPIV3Schema: - description: PostgreSQLVNetRule is the Schema for the PostgreSQLVNetRules API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: PotgreSQLVNetRuleSpec defines the desired state of PostgreSQLVNetRule - properties: - ignoreMissingServiceEndpoint: - type: boolean - resourceGroup: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - server: - type: string - subnetName: - type: string - vNetName: - type: string - vNetResourceGroup: - type: string - required: - - resourceGroup - - server - - subnetName - - vNetName - - vNetResourceGroup - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_rediscaches.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_rediscaches.azure.microsoft.com.yaml deleted file mode 100644 index a9290362d55..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_rediscaches.azure.microsoft.com.yaml +++ /dev/null @@ -1,129 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: rediscaches.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: RedisCache - listKind: RedisCacheList - plural: rediscaches - shortNames: - - rc - singular: rediscache - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: RedisCache is the Schema for the rediscaches API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: RedisCacheSpec defines the desired state of RedisCache - properties: - keyVaultToStoreSecrets: - type: string - location: - minLength: 0 - type: string - properties: - description: RedisCacheProperties the properties of the Redis Cache. - properties: - configuration: - additionalProperties: - type: string - type: object - enableNonSslPort: - type: boolean - sku: - description: RedisCacheSku the SKU of the Redis Cache. - properties: - capacity: - format: int32 - type: integer - family: - type: string - name: - description: 'Name - The SKU name. Required for account creation; - optional for update. Possible values include: ''StandardLRS'', - ''StandardGRS'', ''StandardRAGRS'', ''StandardZRS'', ''PremiumLRS'', - ''PremiumZRS'', ''StandardGZRS'', ''StandardRAGZRS''' - type: string - type: object - staticIp: - type: string - subnetId: - type: string - type: object - resourceGroup: - type: string - secretName: - type: string - required: - - resourceGroup - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_resourcegroups.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_resourcegroups.azure.microsoft.com.yaml deleted file mode 100644 index eb43dacfe0a..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_resourcegroups.azure.microsoft.com.yaml +++ /dev/null @@ -1,95 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: resourcegroups.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: ResourceGroup - listKind: ResourceGroupList - plural: resourcegroups - shortNames: - - rg - singular: resourcegroup - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: ResourceGroup is the Schema for the resourcegroups API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: ResourceGroupSpec defines the desired state of ResourceGroup - properties: - location: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - required: - - location - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_storageaccounts.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_storageaccounts.azure.microsoft.com.yaml deleted file mode 100644 index f787567a207..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_storageaccounts.azure.microsoft.com.yaml +++ /dev/null @@ -1,197 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: storageaccounts.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: StorageAccount - listKind: StorageAccountList - plural: storageaccounts - shortNames: - - sa - singular: storageaccount - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: StorageAccount is the Schema for the storages API - properties: - additionalResources: - description: StorageAccountAdditionalResources holds the additional resources - properties: - secrets: - items: - type: string - type: array - type: object - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - output: - description: StorageAccountOutput is the object that contains the output - from creating a Storage Account object - properties: - connectionString1: - type: string - connectionString2: - type: string - key1: - type: string - key2: - type: string - storageAccountName: - type: string - type: object - spec: - description: StorageAccountSpec defines the desired state of Storage - properties: - accessTier: - description: StorageAccountAccessTier enumerates the values for access - tier. Only one of the following access tiers may be specified. If - none of the following access tiers is specified, the default one is - Hot. - enum: - - Cool - - Hot - type: string - dataLakeEnabled: - type: boolean - kind: - description: StorageAccountKind enumerates the values for kind. Only - one of the following kinds may be specified. If none of the following - kinds is specified, the default one is StorageV2. - enum: - - BlobStorage - - BlockBlobStorage - - FileStorage - - Storage - - StorageV2 - type: string - location: - minLength: 0 - type: string - networkRule: - properties: - bypass: - description: 'Bypass - Specifies whether traffic is bypassed for - Logging/Metrics/AzureServices. Possible values are any combination - of Logging|Metrics|AzureServices (For example, "Logging, Metrics"), - or None to bypass none of those traffics. Possible values include: - ''None'', ''Logging'', ''Metrics'', ''AzureServices''' - type: string - defaultAction: - description: 'DefaultAction - Specifies the default action of allow - or deny when no other rules match. Possible values include: ''DefaultActionAllow'', - ''DefaultActionDeny''' - type: string - ipRules: - description: IPRules - Sets the IP ACL rules - items: - properties: - ipAddressOrRange: - description: IPAddressOrRange - Specifies the IP or IP range - in CIDR format. Only IPV4 address is allowed. - type: string - type: object - type: array - virtualNetworkRules: - description: VirtualNetworkRules - Sets the virtual network rules - items: - properties: - subnetId: - description: 'SubnetId - Resource ID of a subnet, for example: - /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}.' - type: string - type: object - type: array - type: object - resourceGroup: - type: string - sku: - description: StorageAccountSku the SKU of the storage account. - properties: - name: - description: 'Name - The SKU name. Required for account creation; - optional for update. Possible values include: ''StandardLRS'', - ''StandardGRS'', ''StandardRAGRS'', ''StandardZRS'', ''PremiumLRS'', - ''PremiumZRS'', ''StandardGZRS'', ''StandardRAGZRS''' - enum: - - Premium_LRS - - Premium_ZRS - - Standard_GRS - - Standard_GZRS - - Standard_LRS - - Standard_RAGRS - - Standard_RAGZRS - - Standard_ZRS - type: string - type: object - supportsHttpsTrafficOnly: - type: boolean - required: - - resourceGroup - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_virtualnetworks.azure.microsoft.com.yaml b/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_virtualnetworks.azure.microsoft.com.yaml deleted file mode 100644 index eab1d3b0505..00000000000 --- a/charts/azure-service-operator/templates/generated/apiextensions.k8s.io_v1beta1_customresourcedefinition_virtualnetworks.azure.microsoft.com.yaml +++ /dev/null @@ -1,121 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.2.5 - creationTimestamp: null - name: virtualnetworks.azure.microsoft.com -spec: - additionalPrinterColumns: - - JSONPath: .status.provisioned - name: Provisioned - type: string - - JSONPath: .status.message - name: Message - type: string - group: azure.microsoft.com - names: - kind: VirtualNetwork - listKind: VirtualNetworkList - plural: virtualnetworks - shortNames: - - vn - singular: virtualnetwork - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: VirtualNetwork is the Schema for the virtualnetworks API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: VirtualNetworkSpec defines the desired state of VirtualNetwork - properties: - addressSpace: - type: string - location: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - resourceGroup: - type: string - subnets: - items: - description: VNetSubnets defines subnets for this vnet - properties: - serviceEndpoints: - items: - type: string - type: array - subnetAddressPrefix: - type: string - subnetName: - description: 'INSERT ADDITIONAL STATUS FIELD - define observed - state of cluster Important: Run "make" to regenerate code after - modifying this file' - type: string - required: - - subnetAddressPrefix - - subnetName - type: object - type: array - required: - - addressSpace - - location - - resourceGroup - type: object - status: - description: ASOStatus (AzureServiceOperatorsStatus) defines the observed - state of resource actions - properties: - completed: - format: date-time - type: string - containsUpdate: - type: boolean - failedProvisioning: - type: boolean - flattenedSecrets: - type: boolean - message: - type: string - pollingUrl: - type: string - provisioned: - type: boolean - provisioning: - type: boolean - requested: - format: date-time - type: string - resourceId: - type: string - specHash: - type: string - state: - type: string - type: object - type: object - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/charts/azure-service-operator/templates/generated/apps_v1_deployment_azureoperator-controller-manager.yaml b/charts/azure-service-operator/templates/generated/apps_v1_deployment_azureoperator-controller-manager.yaml deleted file mode 100644 index 5ed0a96464c..00000000000 --- a/charts/azure-service-operator/templates/generated/apps_v1_deployment_azureoperator-controller-manager.yaml +++ /dev/null @@ -1,100 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - labels: - app: azure-service-operator-v1 - control-plane: controller-manager - name: azureoperator-controller-manager - namespace: {{ .Values.namespace }} -spec: - replicas: 1 - selector: - matchLabels: - control-plane: controller-manager - template: - metadata: - labels: - aadpodidbinding: aso_manager_binding - control-plane: controller-manager - spec: - containers: - - args: - - --secure-listen-address=0.0.0.0:8443 - - --upstream=http://127.0.0.1:8080/ - - --logtostderr=true - - --v=10 - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.5.0 - name: kube-rbac-proxy - ports: - - containerPort: 8443 - name: https - - args: - - --metrics-addr=127.0.0.1:8080 - command: - - /manager - env: - - name: AZURE_CLIENT_ID - valueFrom: - secretKeyRef: - key: AZURE_CLIENT_ID - name: azureoperatorsettings - optional: true - - name: AZURE_CLIENT_SECRET - valueFrom: - secretKeyRef: - key: AZURE_CLIENT_SECRET - name: azureoperatorsettings - optional: true - - name: AZURE_TENANT_ID - valueFrom: - secretKeyRef: - key: AZURE_TENANT_ID - name: azureoperatorsettings - - name: AZURE_SUBSCRIPTION_ID - valueFrom: - secretKeyRef: - key: AZURE_SUBSCRIPTION_ID - name: azureoperatorsettings - - name: AZURE_USE_MI - valueFrom: - secretKeyRef: - key: AZURE_USE_MI - name: azureoperatorsettings - optional: true - - name: AZURE_OPERATOR_KEYVAULT - valueFrom: - secretKeyRef: - key: AZURE_OPERATOR_KEYVAULT - name: azureoperatorsettings - optional: true - - name: AZURE_CLOUD_ENV - valueFrom: - secretKeyRef: - key: AZURE_CLOUD_ENV - name: azureoperatorsettings - optional: true - - name: REQUEUE_AFTER - value: "30" - image: {{ .Values.image.repository }} - name: manager - ports: - - containerPort: 443 - name: webhook-server - protocol: TCP - resources: - limits: - cpu: 500m - memory: 512Mi - requests: - cpu: 200m - memory: 256Mi - volumeMounts: - - mountPath: /tmp/k8s-webhook-server/serving-certs - name: cert - readOnly: true - terminationGracePeriodSeconds: 10 - volumes: - - name: cert - secret: - defaultMode: 420 - secretName: webhook-server-cert diff --git a/charts/azure-service-operator/templates/generated/cert-manager.io_v1alpha2_certificate_azureoperator-serving-cert.yaml b/charts/azure-service-operator/templates/generated/cert-manager.io_v1alpha2_certificate_azureoperator-serving-cert.yaml deleted file mode 100644 index 043b6dd49db..00000000000 --- a/charts/azure-service-operator/templates/generated/cert-manager.io_v1alpha2_certificate_azureoperator-serving-cert.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: cert-manager.io/v1alpha2 -kind: Certificate -metadata: - name: azureoperator-serving-cert - namespace: {{ .Values.namespace }} -spec: - dnsNames: - - azureoperator-webhook-service.azureoperator-system.svc - - azureoperator-webhook-service.azureoperator-system.svc.cluster.local - issuerRef: - kind: Issuer - name: azureoperator-selfsigned-issuer - secretName: webhook-server-cert diff --git a/charts/azure-service-operator/templates/generated/cert-manager.io_v1alpha2_issuer_azureoperator-selfsigned-issuer.yaml b/charts/azure-service-operator/templates/generated/cert-manager.io_v1alpha2_issuer_azureoperator-selfsigned-issuer.yaml deleted file mode 100644 index bab85145b3a..00000000000 --- a/charts/azure-service-operator/templates/generated/cert-manager.io_v1alpha2_issuer_azureoperator-selfsigned-issuer.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: cert-manager.io/v1alpha2 -kind: Issuer -metadata: - name: azureoperator-selfsigned-issuer - namespace: {{ .Values.namespace }} -spec: - selfSigned: {} diff --git a/charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrole_azureoperator-manager-role.yaml b/charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrole_azureoperator-manager-role.yaml deleted file mode 100644 index 23195d34f5d..00000000000 --- a/charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrole_azureoperator-manager-role.yaml +++ /dev/null @@ -1,774 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - creationTimestamp: null - name: azureoperator-manager-role -rules: -- apiGroups: - - apps - resources: - - deployments - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - apps - resources: - - deployments/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - AzureSQLUsers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - AzureSQLUsers/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - apimgmtapis - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - apimgmtapis/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - apimservices - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - apimservices/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - appinsights - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - appinsights/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - azureloadbalancers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - azureloadbalancers/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - azurenetworkinterfaces - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - azurenetworkinterfaces/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - azurepublicipaddresses - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - azurepublicipaddresses/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - azuresqlactions - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - azuresqlactions/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - azuresqldatabases - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - azuresqldatabases/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - azuresqlfailovergroups - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - azuresqlfailovergroups/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - azuresqlfirewallrules - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - azuresqlfirewallrules/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - azuresqlmanagedusers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - azuresqlmanagedusers/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - azuresqlservers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - azuresqlservers/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - azuresqlusers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - azuresqlvnetrules - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - azuresqlvnetrules/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - azurevirtualmachines - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - azurevirtualmachines/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - azurevmscalesets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - azurevmscalesets/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - blobcontainers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - blobcontainers/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - consumergroups - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - consumergroups/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - cosmosdbs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - cosmosdbs/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - eventhubnamespaces - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - eventhubnamespaces/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - eventhubs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - eventhubs/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - events - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - keyvaultkeys - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - keyvaultkeys/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - keyvaults - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - keyvaults/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - mysqldatabases - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - mysqldatabases/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - mysqlfirewallrules - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - mysqlfirewallrules/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - mysqlservers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - mysqlservers/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - mysqlvnetrules - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - mysqlvnetrules/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - postgresqldatabases - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - postgresqldatabases/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - postgresqlfirewallrules - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - postgresqlfirewallrules/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - postgresqlservers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - postgresqlservers/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - postgresqlvnetrules - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - postgresqlvnetrules/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - rediscaches - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - rediscaches/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - resourcegroups - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - resourcegroups/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - storageaccounts - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - storageaccounts/status - verbs: - - get - - patch - - update -- apiGroups: - - azure.microsoft.com - resources: - - virtualnetworks - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - azure.microsoft.com - resources: - - virtualnetworks/status - verbs: - - get - - patch - - update -- apiGroups: - - "" - resources: - - events - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - secrets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch diff --git a/charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrole_azureoperator-proxy-role.yaml b/charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrole_azureoperator-proxy-role.yaml deleted file mode 100644 index 8a1bca7ed09..00000000000 --- a/charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrole_azureoperator-proxy-role.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: azureoperator-proxy-role -rules: -- apiGroups: - - authentication.k8s.io - resources: - - tokenreviews - verbs: - - create -- apiGroups: - - authorization.k8s.io - resources: - - subjectaccessreviews - verbs: - - create diff --git a/charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrolebinding_azureoperator-manager-rolebinding.yaml b/charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrolebinding_azureoperator-manager-rolebinding.yaml deleted file mode 100644 index 88edc5752df..00000000000 --- a/charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrolebinding_azureoperator-manager-rolebinding.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: azureoperator-manager-rolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: azureoperator-manager-role -subjects: -- kind: ServiceAccount - name: default - namespace: {{ .Values.namespace }} diff --git a/charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrolebinding_azureoperator-proxy-rolebinding.yaml b/charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrolebinding_azureoperator-proxy-rolebinding.yaml deleted file mode 100644 index 5cc52b1b62a..00000000000 --- a/charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_clusterrolebinding_azureoperator-proxy-rolebinding.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: azureoperator-proxy-rolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: azureoperator-proxy-role -subjects: -- kind: ServiceAccount - name: default - namespace: {{ .Values.namespace }} diff --git a/charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_role_azureoperator-leader-election-role.yaml b/charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_role_azureoperator-leader-election-role.yaml deleted file mode 100644 index 471deb0f173..00000000000 --- a/charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_role_azureoperator-leader-election-role.yaml +++ /dev/null @@ -1,26 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: azureoperator-leader-election-role - namespace: {{ .Values.namespace }} -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - configmaps/status - verbs: - - get - - update - - patch diff --git a/charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_rolebinding_azureoperator-leader-election-rolebinding.yaml b/charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_rolebinding_azureoperator-leader-election-rolebinding.yaml deleted file mode 100644 index dd64523c330..00000000000 --- a/charts/azure-service-operator/templates/generated/rbac.authorization.k8s.io_v1_rolebinding_azureoperator-leader-election-rolebinding.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: azureoperator-leader-election-rolebinding - namespace: {{ .Values.namespace }} -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: azureoperator-leader-election-role -subjects: -- kind: ServiceAccount - name: default - namespace: {{ .Values.namespace }} diff --git a/charts/azure-service-operator/templates/generated/~g_v1_service_azureoperator-controller-manager-metrics-service.yaml b/charts/azure-service-operator/templates/generated/~g_v1_service_azureoperator-controller-manager-metrics-service.yaml deleted file mode 100644 index 7a7cd56a52f..00000000000 --- a/charts/azure-service-operator/templates/generated/~g_v1_service_azureoperator-controller-manager-metrics-service.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - annotations: - prometheus.io/port: "8443" - prometheus.io/scheme: https - prometheus.io/scrape: "true" - labels: - control-plane: controller-manager - name: azureoperator-controller-manager-metrics-service - namespace: {{ .Values.namespace }} -spec: - ports: - - name: https - port: 8443 - targetPort: https - selector: - control-plane: controller-manager diff --git a/charts/azure-service-operator/templates/generated/~g_v1_service_azureoperator-webhook-service.yaml b/charts/azure-service-operator/templates/generated/~g_v1_service_azureoperator-webhook-service.yaml deleted file mode 100644 index 04f2e9b67ee..00000000000 --- a/charts/azure-service-operator/templates/generated/~g_v1_service_azureoperator-webhook-service.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: azureoperator-webhook-service - namespace: {{ .Values.namespace }} -spec: - ports: - - port: 443 - targetPort: 443 - selector: - control-plane: controller-manager From 110044e34a51dd36c2debcf307e23ee61439e0b1 Mon Sep 17 00:00:00 2001 From: jananivMS Date: Sun, 17 May 2020 22:57:24 -0600 Subject: [PATCH 08/21] fix VNet reconciler that causes mysql test failure --- pkg/resourcemanager/vnet/reconcile.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/pkg/resourcemanager/vnet/reconcile.go b/pkg/resourcemanager/vnet/reconcile.go index d1d9c3bd255..3df128fe98d 100644 --- a/pkg/resourcemanager/vnet/reconcile.go +++ b/pkg/resourcemanager/vnet/reconcile.go @@ -9,6 +9,7 @@ import ( "net/http" "strings" + "github.com/Azure/azure-sdk-for-go/profiles/latest/network/mgmt/network" azurev1alpha1 "github.com/Azure/azure-service-operator/api/v1alpha1" "github.com/Azure/azure-service-operator/pkg/errhelp" "github.com/Azure/azure-service-operator/pkg/helpers" @@ -35,13 +36,15 @@ func (g *AzureVNetManager) Ensure(ctx context.Context, obj runtime.Object, opts // consider the reconcilliation successful vNet, err := g.GetVNet(ctx, resourceGroup, resourceName) if err == nil { - // succeeded! end reconcilliation successfully - instance.Status.Provisioning = false - instance.Status.Provisioned = true - instance.Status.FailedProvisioning = false - instance.Status.Message = resourcemanager.SuccessMsg - instance.Status.ResourceId = *vNet.ID - return true, nil + if vNet.ProvisioningState == network.Succeeded { + // succeeded! end reconcilliation successfully + instance.Status.Provisioning = false + instance.Status.Provisioned = true + instance.Status.FailedProvisioning = false + instance.Status.Message = resourcemanager.SuccessMsg + instance.Status.ResourceId = *vNet.ID + return true, nil + } } instance.Status.Provisioning = true From 4f8a792939e081ca21e70b1b67c5565c4182789a Mon Sep 17 00:00:00 2001 From: jananivMS Date: Mon, 18 May 2020 09:31:32 -0600 Subject: [PATCH 09/21] adding to all version types --- api/v1alpha2/blobcontainer_types.go | 2 +- api/v1alpha2/mysqlserver_types.go | 1 + api/v1alpha2/postgresqlserver_types.go | 1 + api/v1beta1/azuresqldatabase_types.go | 2 +- api/v1beta1/azuresqlfailovergroup_types.go | 2 +- api/v1beta1/azuresqlfirewallrule_types.go | 2 +- api/v1beta1/azuresqlserver_types.go | 2 +- 7 files changed, 7 insertions(+), 5 deletions(-) diff --git a/api/v1alpha2/blobcontainer_types.go b/api/v1alpha2/blobcontainer_types.go index 65a09e05cc1..1e5a103797c 100644 --- a/api/v1alpha2/blobcontainer_types.go +++ b/api/v1alpha2/blobcontainer_types.go @@ -27,7 +27,7 @@ type BlobContainerSpec struct { // +kubebuilder:storageversion // BlobContainer is the Schema for the blobcontainers API -// +kubebuilder:resource:shortName=bc,path=blobcontainer +// +kubebuilder:resource:shortName=bc,path=blobcontainers // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type BlobContainer struct { diff --git a/api/v1alpha2/mysqlserver_types.go b/api/v1alpha2/mysqlserver_types.go index 56dc56949a7..bd1f6c4bed6 100644 --- a/api/v1alpha2/mysqlserver_types.go +++ b/api/v1alpha2/mysqlserver_types.go @@ -29,6 +29,7 @@ type MySQLServerSpec struct { // +kubebuilder:storageversion // MySQLServer is the Schema for the mysqlservers API +// +kubebuilder:resource:shortName=mysqls,path=mysqlservers // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type MySQLServer struct { diff --git a/api/v1alpha2/postgresqlserver_types.go b/api/v1alpha2/postgresqlserver_types.go index e9b0fab6e2a..510a679648a 100644 --- a/api/v1alpha2/postgresqlserver_types.go +++ b/api/v1alpha2/postgresqlserver_types.go @@ -28,6 +28,7 @@ type PostgreSQLServerSpec struct { // +kubebuilder:storageversion // PostgreSQLServer is the Schema for the postgresqlservers API +// +kubebuilder:resource:shortName=psqls,path=postgresqlservers // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type PostgreSQLServer struct { diff --git a/api/v1beta1/azuresqldatabase_types.go b/api/v1beta1/azuresqldatabase_types.go index f376e11b318..6a29986fe0b 100644 --- a/api/v1beta1/azuresqldatabase_types.go +++ b/api/v1beta1/azuresqldatabase_types.go @@ -29,7 +29,7 @@ type AzureSqlDatabaseSpec struct { // +kubebuilder:storageversion // AzureSqlDatabase is the Schema for the azuresqldatabases API -// +kubebuilder:resource:shortName=asqldb,path=azuresqldatabase +// +kubebuilder:resource:shortName=asqldb,path=azuresqldatabases // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type AzureSqlDatabase struct { diff --git a/api/v1beta1/azuresqlfailovergroup_types.go b/api/v1beta1/azuresqlfailovergroup_types.go index 1ee26ff028d..6e06d3e9b1a 100644 --- a/api/v1beta1/azuresqlfailovergroup_types.go +++ b/api/v1beta1/azuresqlfailovergroup_types.go @@ -29,7 +29,7 @@ type AzureSqlFailoverGroupSpec struct { // +kubebuilder:storageversion // AzureSqlFailoverGroup is the Schema for the azuresqlfailovergroups API -// +kubebuilder:resource:shortName=asqlfg,path=azuresqlfailovergroup +// +kubebuilder:resource:shortName=asqlfg,path=azuresqlfailovergroups // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type AzureSqlFailoverGroup struct { diff --git a/api/v1beta1/azuresqlfirewallrule_types.go b/api/v1beta1/azuresqlfirewallrule_types.go index d51c4a1fe85..332a1f62e92 100644 --- a/api/v1beta1/azuresqlfirewallrule_types.go +++ b/api/v1beta1/azuresqlfirewallrule_types.go @@ -26,7 +26,7 @@ type AzureSqlFirewallRuleSpec struct { // +kubebuilder:storageversion // AzureSqlFirewallRule is the Schema for the azuresqlfirewallrules API -// +kubebuilder:resource:shortName=asqlfwr,path=azuresqlfirewallrule +// +kubebuilder:resource:shortName=asqlfwr,path=azuresqlfirewallrules // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type AzureSqlFirewallRule struct { diff --git a/api/v1beta1/azuresqlserver_types.go b/api/v1beta1/azuresqlserver_types.go index 7896858e81d..9d42c0f9edb 100644 --- a/api/v1beta1/azuresqlserver_types.go +++ b/api/v1beta1/azuresqlserver_types.go @@ -25,7 +25,7 @@ type AzureSqlServerSpec struct { // +kubebuilder:storageversion // AzureSqlServer is the Schema for the azuresqlservers API -// +kubebuilder:resource:shortName=asqls,path=azuresqlserver +// +kubebuilder:resource:shortName=asqls,path=azuresqlservers // +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message" type AzureSqlServer struct { From 056085adf519ee29674973fb7e8c4c13fe397892 Mon Sep 17 00:00:00 2001 From: jananivMS Date: Mon, 18 May 2020 09:32:19 -0600 Subject: [PATCH 10/21] upddated helm charts --- charts/azure-service-operator-0.1.0.tgz | Bin 26174 -> 26174 bytes charts/index.yaml | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/azure-service-operator-0.1.0.tgz b/charts/azure-service-operator-0.1.0.tgz index 732778d8ac7b36fc204acaa0ff4332979796f151..b7321b780ca0cbc53a73684beb4fbf2cc481149e 100644 GIT binary patch delta 27 lcmV+$0ObF^%mKd40g&$n` Date: Mon, 18 May 2020 12:15:21 -0600 Subject: [PATCH 11/21] helm chart updates --- charts/azure-service-operator-0.1.0.tgz | Bin 26173 -> 26011 bytes charts/index.yaml | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/azure-service-operator-0.1.0.tgz b/charts/azure-service-operator-0.1.0.tgz index 46a153d8948d37235b63ac8476f8f90f48a0b0da..baebe574768ce58c6ea2b827ced958f1aa016d69 100644 GIT binary patch delta 24431 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 cVLPN|mB$?^4ppw-8Vly8;~Pspou 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 delta 24530 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 diff --git a/charts/index.yaml b/charts/index.yaml index 028aaffbc76..6bc4ee30f41 100644 --- a/charts/index.yaml +++ b/charts/index.yaml @@ -3,14 +3,14 @@ entries: azure-service-operator: - apiVersion: v2 appVersion: 0.1.0 - created: "2020-05-18T09:33:36.35449-06:00" + created: "2020-05-18T12:14:59.471382-06:00" dependencies: - condition: azureUseMI name: aad-pod-identity repository: https://raw.githubusercontent.com/Azure/aad-pod-identity/master/charts version: 1.5.5 description: Deploy components and dependencies of azure-service-operator - digest: b9007d06587db129e57e629be34a944822c935a2260fbc7acf8ffb9d3303804f + digest: 564f4be6e66b858b2b5279d14c1039f337ab14aa888c429caaeae570fe9c1e8f home: https://github.com/Azure/azure-service-operator name: azure-service-operator sources: @@ -18,4 +18,4 @@ entries: urls: - azure-service-operator-0.1.0.tgz version: 0.1.0 -generated: "2020-05-18T09:33:36.352125-06:00" +generated: "2020-05-18T12:14:59.46756-06:00" From 18417c9eea4bf1ea642f9fab3684adedfe475f92 Mon Sep 17 00:00:00 2001 From: jananivMS Date: Mon, 18 May 2020 19:26:13 -0600 Subject: [PATCH 12/21] wait to check for pods to be ready --- azure-pipelines.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 486ee7a486d..03ed07995bd 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -260,7 +260,8 @@ steps: kubectl get namespace kubectl get pods -n $(OPERATOR_NAMESPACE) kubectl describe pods -n $(OPERATOR_NAMESPACE) - kubectl logs -n azureoperator-system deployment/azureoperator-controller-manager -c manager + kubectl rollout status deployment/azureoperator-controller-manager -n $(OPERATOR_NAMESPACE) --timeout 120s + kubectl logs -n $(OPERATOR_NAMESPACE) deployment/azureoperator-controller-manager -c manager # - task: HelmDeploy@0 # inputs: From 055a5aca365461c16373f79d0ff9b82af980edbc Mon Sep 17 00:00:00 2001 From: jananivMS Date: Mon, 18 May 2020 20:19:49 -0600 Subject: [PATCH 13/21] test master condition stages --- azure-pipelines.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 03ed07995bd..213d5259890 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -22,6 +22,7 @@ variables: #GOBIN: '$(GOPATH)/bin' # Go binaries path MODULE_PATH: '$(System.DefaultWorkingDirectory)/src/$(Build.Repository.Name)' # Path to the module's code IMAGE_NAME: 'candidate/k8s/azureserviceoperator' + HELM_CHART_NAME: 'candidate/k8s/asohelmchart' KUBEBUILDER_ASSETS: $(go env GOPATH)/bin # CONTAINER_REGISTRY: - set this value in Azure Devops variables - Name of Release ACR Service Connection # AZURE_SUBSCRIPTION_ID - set this value in Azure Devops variables @@ -96,6 +97,7 @@ steps: make install export TEST_APIM_RG=$(TEST_APIM_RG) export TEST_APIM_NAME=$(TEST_APIM_NAME) + export BUILD_TAGS=resourcegroup make test-integration-controllers displayName: Run tests on a Kind Cluster continueOnError: 'false' @@ -210,7 +212,7 @@ steps: # update Chart.yaml for Helm Repository helm repo index ./charts # remove directory containing generated manifests for Helm Chart - rm -rf charts/azure-service-operator/templates/generated/ + #rm -rf charts/azure-service-operator/templates/generated/ displayName: Deploy to AKS - Helm generate and package charts # - task: KubernetesManifest@0 @@ -295,6 +297,18 @@ steps: tags: | latest $(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION) + + - script: | + export HELM_EXPERIMENTAL_OCI=1 + cd charts/azure-service-operator + helm chart save . $(CONTAINER_REGISTRY)/$(HELM_CHART_NAME):$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION) + helm chart save . $(CONTAINER_REGISTRY)/$(HELM_CHART_NAME):latest + helm chart push $(CONTAINER_REGISTRY)/$(HELM_CHART_NAME):$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION) + helm chart push $(CONTAINER_REGISTRY)/$(HELM_CHART_NAME):latest + continueOnError: 'true' + displayName: Push Helm chart to MCR repo + workingDirectory: '$(System.DefaultWorkingDirectory)' + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) - script: | echo "updating kustomize image patch file for manager resource" From f1eb0583be98318623050f4cad00cedaab14ecd3 Mon Sep 17 00:00:00 2001 From: Janani Vasudevan <49576785+jananivMS@users.noreply.github.com> Date: Mon, 18 May 2020 20:35:53 -0600 Subject: [PATCH 14/21] Comment conditions to test --- azure-pipelines.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 213d5259890..3035ff9bb61 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -279,14 +279,14 @@ steps: ## TODO: Delete Helm deployment - task: Docker@2 - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) + #condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) displayName: Login to release ACR inputs: command: login containerRegistry: $(CONTAINER_REGISTRY) - task: Docker@2 - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) + #condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) displayName: Build and Push Docker Image $(IMAGE_NAME) inputs: command: buildAndPush @@ -308,7 +308,7 @@ steps: continueOnError: 'true' displayName: Push Helm chart to MCR repo workingDirectory: '$(System.DefaultWorkingDirectory)' - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) + #condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) - script: | echo "updating kustomize image patch file for manager resource" @@ -324,10 +324,10 @@ steps: continueOnError: 'false' displayName: Package artifacts (image, setup.yaml and helm charts) for release workingDirectory: '$(System.DefaultWorkingDirectory)' - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) + #condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) - task: PublishBuildArtifacts@1 - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) + #condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) inputs: pathtoPublish: $(Build.ArtifactStagingDirectory) artifactName: drop \ No newline at end of file From 300954aa2e299bdb82070b0a59a504a0ff691896 Mon Sep 17 00:00:00 2001 From: jananivMS Date: Mon, 18 May 2020 20:36:29 -0600 Subject: [PATCH 15/21] comment condition --- azure-pipelines.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 213d5259890..3035ff9bb61 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -279,14 +279,14 @@ steps: ## TODO: Delete Helm deployment - task: Docker@2 - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) + #condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) displayName: Login to release ACR inputs: command: login containerRegistry: $(CONTAINER_REGISTRY) - task: Docker@2 - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) + #condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) displayName: Build and Push Docker Image $(IMAGE_NAME) inputs: command: buildAndPush @@ -308,7 +308,7 @@ steps: continueOnError: 'true' displayName: Push Helm chart to MCR repo workingDirectory: '$(System.DefaultWorkingDirectory)' - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) + #condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) - script: | echo "updating kustomize image patch file for manager resource" @@ -324,10 +324,10 @@ steps: continueOnError: 'false' displayName: Package artifacts (image, setup.yaml and helm charts) for release workingDirectory: '$(System.DefaultWorkingDirectory)' - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) + #condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) - task: PublishBuildArtifacts@1 - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) + #condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) inputs: pathtoPublish: $(Build.ArtifactStagingDirectory) artifactName: drop \ No newline at end of file From 330c7af226d4bd8821e73ca69ee77ac051a31b72 Mon Sep 17 00:00:00 2001 From: jananivMS Date: Mon, 18 May 2020 21:00:05 -0600 Subject: [PATCH 16/21] debugging helm chart push --- azure-pipelines.yml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 3035ff9bb61..233cbfd5e84 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -22,7 +22,7 @@ variables: #GOBIN: '$(GOPATH)/bin' # Go binaries path MODULE_PATH: '$(System.DefaultWorkingDirectory)/src/$(Build.Repository.Name)' # Path to the module's code IMAGE_NAME: 'candidate/k8s/azureserviceoperator' - HELM_CHART_NAME: 'candidate/k8s/asohelmchart' + ASO_HELM_CHART_NAME: 'candidate/k8s/asohelmchart' KUBEBUILDER_ASSETS: $(go env GOPATH)/bin # CONTAINER_REGISTRY: - set this value in Azure Devops variables - Name of Release ACR Service Connection # AZURE_SUBSCRIPTION_ID - set this value in Azure Devops variables @@ -301,10 +301,16 @@ steps: - script: | export HELM_EXPERIMENTAL_OCI=1 cd charts/azure-service-operator - helm chart save . $(CONTAINER_REGISTRY)/$(HELM_CHART_NAME):$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION) - helm chart save . $(CONTAINER_REGISTRY)/$(HELM_CHART_NAME):latest - helm chart push $(CONTAINER_REGISTRY)/$(HELM_CHART_NAME):$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION) - helm chart push $(CONTAINER_REGISTRY)/$(HELM_CHART_NAME):latest + ls + versiontag="$(CONTAINER_REGISTRY)/$(ASO_HELM_CHART_NAME):$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION)" + latesttag="$(CONTAINER_REGISTRY)/$(ASO_HELM_CHART_NAME):latest" + echo $versiontag + echo $latesttag + echo $(AZURE_CLIENT_SECRET)|helm registry login $(CONTAINER_REGISTRY) --username $(AZURE_CLIENT_ID) --password-stdin + helm chart save . $(CONTAINER_REGISTRY)/$(ASO_HELM_CHART_NAME):$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION) + helm chart save . $(CONTAINER_REGISTRY)/$(ASO_HELM_CHART_NAME):latest + helm chart push $(CONTAINER_REGISTRY)/$(ASO_HELM_CHART_NAME):$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION) + helm chart push $(CONTAINER_REGISTRY)/$(ASO_HELM_CHART_NAME):latest continueOnError: 'true' displayName: Push Helm chart to MCR repo workingDirectory: '$(System.DefaultWorkingDirectory)' From 385a6ccf8ff0e2fef290695188d9f031ee61e841 Mon Sep 17 00:00:00 2001 From: jananivMS Date: Mon, 18 May 2020 21:17:52 -0600 Subject: [PATCH 17/21] fixed container registry name --- azure-pipelines.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 233cbfd5e84..39984ab917a 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -302,8 +302,8 @@ steps: export HELM_EXPERIMENTAL_OCI=1 cd charts/azure-service-operator ls - versiontag="$(CONTAINER_REGISTRY)/$(ASO_HELM_CHART_NAME):$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION)" - latesttag="$(CONTAINER_REGISTRY)/$(ASO_HELM_CHART_NAME):latest" + versiontag="$(CONTAINER_REGISTRY_NAME)/$(ASO_HELM_CHART_NAME):$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION)" + latesttag="$(CONTAINER_REGISTRY_NAME)/$(ASO_HELM_CHART_NAME):latest" echo $versiontag echo $latesttag echo $(AZURE_CLIENT_SECRET)|helm registry login $(CONTAINER_REGISTRY) --username $(AZURE_CLIENT_ID) --password-stdin From f2056a7d0b4aed7d228f3cf2a4911e5e7c56cd66 Mon Sep 17 00:00:00 2001 From: jananivMS Date: Mon, 18 May 2020 21:35:16 -0600 Subject: [PATCH 18/21] missed replacing vars --- azure-pipelines.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 39984ab917a..34382e3d296 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -307,10 +307,10 @@ steps: echo $versiontag echo $latesttag echo $(AZURE_CLIENT_SECRET)|helm registry login $(CONTAINER_REGISTRY) --username $(AZURE_CLIENT_ID) --password-stdin - helm chart save . $(CONTAINER_REGISTRY)/$(ASO_HELM_CHART_NAME):$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION) - helm chart save . $(CONTAINER_REGISTRY)/$(ASO_HELM_CHART_NAME):latest - helm chart push $(CONTAINER_REGISTRY)/$(ASO_HELM_CHART_NAME):$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION) - helm chart push $(CONTAINER_REGISTRY)/$(ASO_HELM_CHART_NAME):latest + helm chart save . $versiontag + helm chart save . $latesttag + helm chart push $versiontag + helm chart push $latesttag continueOnError: 'true' displayName: Push Helm chart to MCR repo workingDirectory: '$(System.DefaultWorkingDirectory)' From 65262ed60efb5484e640b21711b653cb708641d5 Mon Sep 17 00:00:00 2001 From: jananivMS Date: Mon, 18 May 2020 22:08:43 -0600 Subject: [PATCH 19/21] helm regsutry login --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 34382e3d296..5265046cb30 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -306,7 +306,7 @@ steps: latesttag="$(CONTAINER_REGISTRY_NAME)/$(ASO_HELM_CHART_NAME):latest" echo $versiontag echo $latesttag - echo $(AZURE_CLIENT_SECRET)|helm registry login $(CONTAINER_REGISTRY) --username $(AZURE_CLIENT_ID) --password-stdin + echo $(AZURE_CLIENT_SECRET)|helm registry login $(CONTAINER_REGISTRY_NAME) --username $(AZURE_CLIENT_ID) --password-stdin helm chart save . $versiontag helm chart save . $latesttag helm chart push $versiontag From dd99436e1e30187e1d577df0868ec6fd2ba09ebd Mon Sep 17 00:00:00 2001 From: jananivMS Date: Mon, 18 May 2020 22:29:36 -0600 Subject: [PATCH 20/21] add back master branch conditions --- azure-pipelines.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 5265046cb30..bc2bf5d469c 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -97,7 +97,6 @@ steps: make install export TEST_APIM_RG=$(TEST_APIM_RG) export TEST_APIM_NAME=$(TEST_APIM_NAME) - export BUILD_TAGS=resourcegroup make test-integration-controllers displayName: Run tests on a Kind Cluster continueOnError: 'false' @@ -279,14 +278,14 @@ steps: ## TODO: Delete Helm deployment - task: Docker@2 - #condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) displayName: Login to release ACR inputs: command: login containerRegistry: $(CONTAINER_REGISTRY) - task: Docker@2 - #condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) displayName: Build and Push Docker Image $(IMAGE_NAME) inputs: command: buildAndPush @@ -301,7 +300,6 @@ steps: - script: | export HELM_EXPERIMENTAL_OCI=1 cd charts/azure-service-operator - ls versiontag="$(CONTAINER_REGISTRY_NAME)/$(ASO_HELM_CHART_NAME):$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION)" latesttag="$(CONTAINER_REGISTRY_NAME)/$(ASO_HELM_CHART_NAME):latest" echo $versiontag @@ -314,7 +312,7 @@ steps: continueOnError: 'true' displayName: Push Helm chart to MCR repo workingDirectory: '$(System.DefaultWorkingDirectory)' - #condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) - script: | echo "updating kustomize image patch file for manager resource" @@ -330,10 +328,10 @@ steps: continueOnError: 'false' displayName: Package artifacts (image, setup.yaml and helm charts) for release workingDirectory: '$(System.DefaultWorkingDirectory)' - #condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) - task: PublishBuildArtifacts@1 - #condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) inputs: pathtoPublish: $(Build.ArtifactStagingDirectory) artifactName: drop \ No newline at end of file From 6b51ed2cfff0a52566bfc74274d8c06cd09332c2 Mon Sep 17 00:00:00 2001 From: jananivMS Date: Mon, 18 May 2020 22:30:50 -0600 Subject: [PATCH 21/21] updated helm charts --- charts/azure-service-operator-0.1.0.tgz | Bin 26011 -> 26010 bytes charts/index.yaml | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/azure-service-operator-0.1.0.tgz b/charts/azure-service-operator-0.1.0.tgz index baebe574768ce58c6ea2b827ced958f1aa016d69..1d4cf361965a5b4a52e1a9687c92332dcf0b10f7 100644 GIT binary patch literal 26010 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 VMjNfa{TBcL|Nlu*(#!yi1ORhUTfP7Q diff --git a/charts/index.yaml b/charts/index.yaml index 6bc4ee30f41..acd592bfa5f 100644 --- a/charts/index.yaml +++ b/charts/index.yaml @@ -3,14 +3,14 @@ entries: azure-service-operator: - apiVersion: v2 appVersion: 0.1.0 - created: "2020-05-18T12:14:59.471382-06:00" + created: "2020-05-18T22:30:28.349199-06:00" dependencies: - condition: azureUseMI name: aad-pod-identity repository: https://raw.githubusercontent.com/Azure/aad-pod-identity/master/charts version: 1.5.5 description: Deploy components and dependencies of azure-service-operator - digest: 564f4be6e66b858b2b5279d14c1039f337ab14aa888c429caaeae570fe9c1e8f + digest: e5aaaa1c15802982f7a943e737b2ae39a2404d395fec299376fb19e15fc9e6f2 home: https://github.com/Azure/azure-service-operator name: azure-service-operator sources: @@ -18,4 +18,4 @@ entries: urls: - azure-service-operator-0.1.0.tgz version: 0.1.0 -generated: "2020-05-18T12:14:59.46756-06:00" +generated: "2020-05-18T22:30:28.343398-06:00"