d0683139fe
This commit integrates the Azure provider to the Airship 2.0 project. It adds the following folders: - manifest/function/capz: This folder contains all manifests required for the integration of Azure provider. - manifest/function/k8scontrol-capz: This folder contains the base manifest for the Azure Workload cluster. - manifest/site/az-test-site: This folder contains the manifests used for initializing the CAPI and CAPZ components on the management cluster invoking "airshipctl cluster init" and manifests used for deploying a Workload cluster on the Azure Cloud by invoking the command "airshipctl phase apply azure". - tools/deployment/azure: provides the script shell that are used in the zuul gates and local test. Updated files: - zuul.d/project.yaml and zuul.d/jobs.yaml have been updated to include gates for validating the Azure provider integration. Change-Id: Icbdc7f6f42c159f48dd11e35626da3bc016f5487
152 lines
5.9 KiB
YAML
152 lines
5.9 KiB
YAML
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.3.0
|
|
creationTimestamp: null
|
|
name: azuremanagedcontrolplanes.exp.infrastructure.cluster.x-k8s.io
|
|
spec:
|
|
group: exp.infrastructure.cluster.x-k8s.io
|
|
names:
|
|
categories:
|
|
- cluster-api
|
|
kind: AzureManagedControlPlane
|
|
listKind: AzureManagedControlPlaneList
|
|
plural: azuremanagedcontrolplanes
|
|
shortNames:
|
|
- amcp
|
|
singular: azuremanagedcontrolplane
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha3
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: AzureManagedControlPlane is the Schema for the azuremanagedcontrolplanes
|
|
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: AzureManagedControlPlaneSpec defines the desired state of
|
|
AzureManagedControlPlane
|
|
properties:
|
|
additionalTags:
|
|
additionalProperties:
|
|
type: string
|
|
description: AdditionalTags is an optional set of tags to add to Azure
|
|
resources managed by the Azure provider, in addition to the ones
|
|
added by default.
|
|
type: object
|
|
controlPlaneEndpoint:
|
|
description: ControlPlaneEndpoint represents the endpoint used to
|
|
communicate with the control plane.
|
|
properties:
|
|
host:
|
|
description: The hostname on which the API server is serving.
|
|
type: string
|
|
port:
|
|
description: The port on which the API server is serving.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- host
|
|
- port
|
|
type: object
|
|
defaultPoolRef:
|
|
description: DefaultPoolRef is the specification for the default pool,
|
|
without which an AKS cluster cannot be created.
|
|
properties:
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
|
type: string
|
|
type: object
|
|
dnsServiceIP:
|
|
description: DNSServiceIP is an IP address assigned to the Kubernetes
|
|
DNS service. It must be within the Kubernetes service address range
|
|
specified in serviceCidr.
|
|
type: string
|
|
loadBalancerSKU:
|
|
description: LoadBalancerSKU is the SKU of the loadBalancer to be
|
|
provisioned.
|
|
enum:
|
|
- Basic
|
|
- Standard
|
|
type: string
|
|
location:
|
|
description: 'Location is a string matching one of the canonical Azure
|
|
region names. Examples: "westus2", "eastus".'
|
|
type: string
|
|
networkPlugin:
|
|
description: NetworkPlugin used for building Kubernetes network.
|
|
enum:
|
|
- azure
|
|
- kubenet
|
|
type: string
|
|
networkPolicy:
|
|
description: NetworkPolicy used for building Kubernetes network.
|
|
enum:
|
|
- azure
|
|
- calico
|
|
type: string
|
|
resourceGroup:
|
|
description: ResourceGroup is the name of the Azure resource group
|
|
for this AKS Cluster.
|
|
type: string
|
|
sshPublicKey:
|
|
description: SSHPublicKey is a string literal containing an ssh public
|
|
key base64 encoded.
|
|
type: string
|
|
subscriptionID:
|
|
description: SubscriotionID is the GUID of the Azure subscription
|
|
to hold this cluster.
|
|
type: string
|
|
version:
|
|
description: Version defines the desired Kubernetes version.
|
|
minLength: 2
|
|
type: string
|
|
required:
|
|
- defaultPoolRef
|
|
- location
|
|
- resourceGroup
|
|
- sshPublicKey
|
|
- version
|
|
type: object
|
|
status:
|
|
description: AzureManagedControlPlaneStatus defines the observed state
|
|
of AzureManagedControlPlane
|
|
properties:
|
|
initialized:
|
|
description: Initialized is true when the the control plane is available
|
|
for initial contact. This may occur before the control plane is
|
|
fully ready. In the AzureManagedControlPlane implementation, these
|
|
are identical.
|
|
type: boolean
|
|
ready:
|
|
description: Ready is true when the provider resource is ready.
|
|
type: boolean
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
status:
|
|
acceptedNames:
|
|
kind: ""
|
|
plural: ""
|
|
conditions: []
|
|
storedVersions: []
|