mirror of https://github.com/kubernetes/kops.git
3892 lines
168 KiB
YAML
3892 lines
168 KiB
YAML
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
name: capg-system
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
cert-manager.io/inject-ca-from: capg-system/capg-serving-cert
|
|
controller-gen.kubebuilder.io/version: v0.11.3
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
cluster.x-k8s.io/v1beta1: v1beta1
|
|
name: gcpclusters.infrastructure.cluster.x-k8s.io
|
|
spec:
|
|
conversion:
|
|
strategy: Webhook
|
|
webhook:
|
|
clientConfig:
|
|
caBundle: Cg==
|
|
service:
|
|
name: capg-webhook-service
|
|
namespace: capg-system
|
|
path: /convert
|
|
conversionReviewVersions:
|
|
- v1
|
|
- v1beta1
|
|
group: infrastructure.cluster.x-k8s.io
|
|
names:
|
|
categories:
|
|
- cluster-api
|
|
kind: GCPCluster
|
|
listKind: GCPClusterList
|
|
plural: gcpclusters
|
|
singular: gcpcluster
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- description: Cluster to which this GCPCluster belongs
|
|
jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name
|
|
name: Cluster
|
|
type: string
|
|
- description: Cluster infrastructure is ready for GCE instances
|
|
jsonPath: .status.ready
|
|
name: Ready
|
|
type: string
|
|
- description: GCP network the cluster is using
|
|
jsonPath: .spec.network.name
|
|
name: Network
|
|
type: string
|
|
- description: API Endpoint
|
|
jsonPath: .status.apiEndpoints[0]
|
|
name: Endpoint
|
|
priority: 1
|
|
type: string
|
|
name: v1alpha3
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: GCPCluster is the Schema for the gcpclusters 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: GCPClusterSpec defines the desired state of GCPCluster.
|
|
properties:
|
|
additionalLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: AdditionalLabels is an optional set of tags to add to
|
|
GCP resources managed by the GCP 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
|
|
failureDomains:
|
|
description: FailureDomains is an optional field which is used to
|
|
assign selected availability zones to a cluster FailureDomains if
|
|
empty, defaults to all the zones in the selected region and if specified
|
|
would override the default zones.
|
|
items:
|
|
type: string
|
|
type: array
|
|
network:
|
|
description: NetworkSpec encapsulates all things related to GCP network.
|
|
properties:
|
|
autoCreateSubnetworks:
|
|
description: "AutoCreateSubnetworks: When set to true, the VPC
|
|
network is created in \"auto\" mode. When set to false, the
|
|
VPC network is created in \"custom\" mode. \n An auto mode VPC
|
|
network starts with one subnet per region. Each subnet has a
|
|
predetermined range as described in Auto mode VPC network IP
|
|
ranges. \n Defaults to true."
|
|
type: boolean
|
|
loadBalancerBackendPort:
|
|
description: Allow for configuration of load balancer backend
|
|
(useful for changing apiserver port)
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
description: Name is the name of the network to be used.
|
|
type: string
|
|
subnets:
|
|
description: Subnets configuration.
|
|
items:
|
|
description: SubnetSpec configures an GCP Subnet.
|
|
properties:
|
|
cidrBlock:
|
|
description: CidrBlock is the range of internal addresses
|
|
that are owned by this subnetwork. Provide this property
|
|
when you create the subnetwork. For example, 10.0.0.0/8
|
|
or 192.168.0.0/16. Ranges must be unique and non-overlapping
|
|
within a network. Only IPv4 is supported. This field can
|
|
be set only at resource creation time.
|
|
type: string
|
|
description:
|
|
description: Description is an optional description associated
|
|
with the resource.
|
|
type: string
|
|
name:
|
|
description: Name defines a unique identifier to reference
|
|
this resource.
|
|
type: string
|
|
privateGoogleAccess:
|
|
description: PrivateGoogleAccess defines whether VMs in
|
|
this subnet can access Google services without assigning
|
|
external IP addresses
|
|
type: boolean
|
|
region:
|
|
description: Region is the name of the region where the
|
|
Subnetwork resides.
|
|
type: string
|
|
routeTableId:
|
|
description: 'EnableFlowLogs: Whether to enable flow logging
|
|
for this subnetwork. If this field is not explicitly set,
|
|
it will not appear in get listings. If not set the default
|
|
behavior is to disable flow logging.'
|
|
type: boolean
|
|
secondaryCidrBlocks:
|
|
additionalProperties:
|
|
type: string
|
|
description: SecondaryCidrBlocks defines secondary CIDR
|
|
ranges, from which secondary IP ranges of a VM may be
|
|
allocated
|
|
type: object
|
|
type: object
|
|
type: array
|
|
type: object
|
|
project:
|
|
description: Project is the name of the project to deploy the cluster
|
|
to.
|
|
type: string
|
|
region:
|
|
description: The GCP Region the cluster lives in.
|
|
type: string
|
|
required:
|
|
- project
|
|
- region
|
|
type: object
|
|
status:
|
|
description: GCPClusterStatus defines the observed state of GCPCluster.
|
|
properties:
|
|
failureDomains:
|
|
additionalProperties:
|
|
description: FailureDomainSpec is the Schema for Cluster API failure
|
|
domains. It allows controllers to understand how many failure
|
|
domains a cluster can optionally span across.
|
|
properties:
|
|
attributes:
|
|
additionalProperties:
|
|
type: string
|
|
description: Attributes is a free form map of attributes an
|
|
infrastructure provider might use or require.
|
|
type: object
|
|
controlPlane:
|
|
description: ControlPlane determines if this failure domain
|
|
is suitable for use by control plane machines.
|
|
type: boolean
|
|
type: object
|
|
description: FailureDomains is a slice of FailureDomains.
|
|
type: object
|
|
network:
|
|
description: Network encapsulates GCP networking resources.
|
|
properties:
|
|
apiServerBackendService:
|
|
description: APIServerBackendService is the full reference to
|
|
the backend service created for the API Server.
|
|
type: string
|
|
apiServerForwardingRule:
|
|
description: APIServerForwardingRule is the full reference to
|
|
the forwarding rule created for the API Server.
|
|
type: string
|
|
apiServerHealthCheck:
|
|
description: APIServerHealthCheck is the full reference to the
|
|
health check created for the API Server.
|
|
type: string
|
|
apiServerInstanceGroups:
|
|
additionalProperties:
|
|
type: string
|
|
description: APIServerInstanceGroups is a map from zone to the
|
|
full reference to the instance groups created for the control
|
|
plane nodes created in the same zone.
|
|
type: object
|
|
apiServerIpAddress:
|
|
description: APIServerAddress is the IPV4 global address assigned
|
|
to the load balancer created for the API Server.
|
|
type: string
|
|
apiServerTargetProxy:
|
|
description: APIServerTargetProxy is the full reference to the
|
|
target proxy created for the API Server.
|
|
type: string
|
|
firewallRules:
|
|
additionalProperties:
|
|
type: string
|
|
description: FirewallRules is a map from the name of the rule
|
|
to its full reference.
|
|
type: object
|
|
router:
|
|
description: Router is the full reference to the router created
|
|
within the network it'll contain the cloud nat gateway
|
|
type: string
|
|
selfLink:
|
|
description: SelfLink is the link to the Network used for this
|
|
cluster.
|
|
type: string
|
|
type: object
|
|
ready:
|
|
description: Bastion Instance `json:"bastion,omitempty"`
|
|
type: boolean
|
|
required:
|
|
- ready
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: false
|
|
subresources:
|
|
status: {}
|
|
- additionalPrinterColumns:
|
|
- description: Cluster to which this GCPCluster belongs
|
|
jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name
|
|
name: Cluster
|
|
type: string
|
|
- description: Cluster infrastructure is ready for GCE instances
|
|
jsonPath: .status.ready
|
|
name: Ready
|
|
type: string
|
|
- description: GCP network the cluster is using
|
|
jsonPath: .spec.network.name
|
|
name: Network
|
|
type: string
|
|
- description: API Endpoint
|
|
jsonPath: .status.apiEndpoints[0]
|
|
name: Endpoint
|
|
priority: 1
|
|
type: string
|
|
name: v1alpha4
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: GCPCluster is the Schema for the gcpclusters 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: GCPClusterSpec defines the desired state of GCPCluster.
|
|
properties:
|
|
additionalLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: AdditionalLabels is an optional set of tags to add to
|
|
GCP resources managed by the GCP 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
|
|
failureDomains:
|
|
description: FailureDomains is an optional field which is used to
|
|
assign selected availability zones to a cluster FailureDomains if
|
|
empty, defaults to all the zones in the selected region and if specified
|
|
would override the default zones.
|
|
items:
|
|
type: string
|
|
type: array
|
|
network:
|
|
description: NetworkSpec encapsulates all things related to GCP network.
|
|
properties:
|
|
autoCreateSubnetworks:
|
|
description: "AutoCreateSubnetworks: When set to true, the VPC
|
|
network is created in \"auto\" mode. When set to false, the
|
|
VPC network is created in \"custom\" mode. \n An auto mode VPC
|
|
network starts with one subnet per region. Each subnet has a
|
|
predetermined range as described in Auto mode VPC network IP
|
|
ranges. \n Defaults to true."
|
|
type: boolean
|
|
loadBalancerBackendPort:
|
|
description: Allow for configuration of load balancer backend
|
|
(useful for changing apiserver port)
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
description: Name is the name of the network to be used.
|
|
type: string
|
|
subnets:
|
|
description: Subnets configuration.
|
|
items:
|
|
description: SubnetSpec configures an GCP Subnet.
|
|
properties:
|
|
cidrBlock:
|
|
description: CidrBlock is the range of internal addresses
|
|
that are owned by this subnetwork. Provide this property
|
|
when you create the subnetwork. For example, 10.0.0.0/8
|
|
or 192.168.0.0/16. Ranges must be unique and non-overlapping
|
|
within a network. Only IPv4 is supported. This field can
|
|
be set only at resource creation time.
|
|
type: string
|
|
description:
|
|
description: Description is an optional description associated
|
|
with the resource.
|
|
type: string
|
|
name:
|
|
description: Name defines a unique identifier to reference
|
|
this resource.
|
|
type: string
|
|
privateGoogleAccess:
|
|
description: PrivateGoogleAccess defines whether VMs in
|
|
this subnet can access Google services without assigning
|
|
external IP addresses
|
|
type: boolean
|
|
region:
|
|
description: Region is the name of the region where the
|
|
Subnetwork resides.
|
|
type: string
|
|
routeTableId:
|
|
description: 'EnableFlowLogs: Whether to enable flow logging
|
|
for this subnetwork. If this field is not explicitly set,
|
|
it will not appear in get listings. If not set the default
|
|
behavior is to disable flow logging.'
|
|
type: boolean
|
|
secondaryCidrBlocks:
|
|
additionalProperties:
|
|
type: string
|
|
description: SecondaryCidrBlocks defines secondary CIDR
|
|
ranges, from which secondary IP ranges of a VM may be
|
|
allocated
|
|
type: object
|
|
type: object
|
|
type: array
|
|
type: object
|
|
project:
|
|
description: Project is the name of the project to deploy the cluster
|
|
to.
|
|
type: string
|
|
region:
|
|
description: The GCP Region the cluster lives in.
|
|
type: string
|
|
required:
|
|
- project
|
|
- region
|
|
type: object
|
|
status:
|
|
description: GCPClusterStatus defines the observed state of GCPCluster.
|
|
properties:
|
|
failureDomains:
|
|
additionalProperties:
|
|
description: FailureDomainSpec is the Schema for Cluster API failure
|
|
domains. It allows controllers to understand how many failure
|
|
domains a cluster can optionally span across.
|
|
properties:
|
|
attributes:
|
|
additionalProperties:
|
|
type: string
|
|
description: Attributes is a free form map of attributes an
|
|
infrastructure provider might use or require.
|
|
type: object
|
|
controlPlane:
|
|
description: ControlPlane determines if this failure domain
|
|
is suitable for use by control plane machines.
|
|
type: boolean
|
|
type: object
|
|
description: FailureDomains is a slice of FailureDomains.
|
|
type: object
|
|
network:
|
|
description: Network encapsulates GCP networking resources.
|
|
properties:
|
|
apiServerBackendService:
|
|
description: APIServerBackendService is the full reference to
|
|
the backend service created for the API Server.
|
|
type: string
|
|
apiServerForwardingRule:
|
|
description: APIServerForwardingRule is the full reference to
|
|
the forwarding rule created for the API Server.
|
|
type: string
|
|
apiServerHealthCheck:
|
|
description: APIServerHealthCheck is the full reference to the
|
|
health check created for the API Server.
|
|
type: string
|
|
apiServerInstanceGroups:
|
|
additionalProperties:
|
|
type: string
|
|
description: APIServerInstanceGroups is a map from zone to the
|
|
full reference to the instance groups created for the control
|
|
plane nodes created in the same zone.
|
|
type: object
|
|
apiServerIpAddress:
|
|
description: APIServerAddress is the IPV4 global address assigned
|
|
to the load balancer created for the API Server.
|
|
type: string
|
|
apiServerTargetProxy:
|
|
description: APIServerTargetProxy is the full reference to the
|
|
target proxy created for the API Server.
|
|
type: string
|
|
firewallRules:
|
|
additionalProperties:
|
|
type: string
|
|
description: FirewallRules is a map from the name of the rule
|
|
to its full reference.
|
|
type: object
|
|
router:
|
|
description: Router is the full reference to the router created
|
|
within the network it'll contain the cloud nat gateway
|
|
type: string
|
|
selfLink:
|
|
description: SelfLink is the link to the Network used for this
|
|
cluster.
|
|
type: string
|
|
type: object
|
|
ready:
|
|
description: Bastion Instance `json:"bastion,omitempty"`
|
|
type: boolean
|
|
required:
|
|
- ready
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: false
|
|
subresources:
|
|
status: {}
|
|
- additionalPrinterColumns:
|
|
- description: Cluster to which this GCPCluster belongs
|
|
jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name
|
|
name: Cluster
|
|
type: string
|
|
- description: Cluster infrastructure is ready for GCE instances
|
|
jsonPath: .status.ready
|
|
name: Ready
|
|
type: string
|
|
- description: GCP network the cluster is using
|
|
jsonPath: .spec.network.name
|
|
name: Network
|
|
type: string
|
|
- description: API Endpoint
|
|
jsonPath: .status.apiEndpoints[0]
|
|
name: Endpoint
|
|
priority: 1
|
|
type: string
|
|
name: v1beta1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: GCPCluster is the Schema for the gcpclusters 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: GCPClusterSpec defines the desired state of GCPCluster.
|
|
properties:
|
|
additionalLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: AdditionalLabels is an optional set of tags to add to
|
|
GCP resources managed by the GCP 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
|
|
credentialsRef:
|
|
description: CredentialsRef is a reference to a Secret that contains
|
|
the credentials to use for provisioning this cluster. If not supplied
|
|
then the credentials of the controller will be used.
|
|
properties:
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
|
type: string
|
|
namespace:
|
|
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
|
type: string
|
|
required:
|
|
- name
|
|
- namespace
|
|
type: object
|
|
failureDomains:
|
|
description: FailureDomains is an optional field which is used to
|
|
assign selected availability zones to a cluster FailureDomains if
|
|
empty, defaults to all the zones in the selected region and if specified
|
|
would override the default zones.
|
|
items:
|
|
type: string
|
|
type: array
|
|
network:
|
|
description: NetworkSpec encapsulates all things related to GCP network.
|
|
properties:
|
|
autoCreateSubnetworks:
|
|
description: "AutoCreateSubnetworks: When set to true, the VPC
|
|
network is created in \"auto\" mode. When set to false, the
|
|
VPC network is created in \"custom\" mode. \n An auto mode VPC
|
|
network starts with one subnet per region. Each subnet has a
|
|
predetermined range as described in Auto mode VPC network IP
|
|
ranges. \n Defaults to true."
|
|
type: boolean
|
|
loadBalancerBackendPort:
|
|
description: Allow for configuration of load balancer backend
|
|
(useful for changing apiserver port)
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
description: Name is the name of the network to be used.
|
|
type: string
|
|
subnets:
|
|
description: Subnets configuration.
|
|
items:
|
|
description: SubnetSpec configures an GCP Subnet.
|
|
properties:
|
|
cidrBlock:
|
|
description: CidrBlock is the range of internal addresses
|
|
that are owned by this subnetwork. Provide this property
|
|
when you create the subnetwork. For example, 10.0.0.0/8
|
|
or 192.168.0.0/16. Ranges must be unique and non-overlapping
|
|
within a network. Only IPv4 is supported. This field can
|
|
be set only at resource creation time.
|
|
type: string
|
|
description:
|
|
description: Description is an optional description associated
|
|
with the resource.
|
|
type: string
|
|
enableFlowLogs:
|
|
description: 'EnableFlowLogs: Whether to enable flow logging
|
|
for this subnetwork. If this field is not explicitly set,
|
|
it will not appear in get listings. If not set the default
|
|
behavior is to disable flow logging.'
|
|
type: boolean
|
|
name:
|
|
description: Name defines a unique identifier to reference
|
|
this resource.
|
|
type: string
|
|
privateGoogleAccess:
|
|
description: PrivateGoogleAccess defines whether VMs in
|
|
this subnet can access Google services without assigning
|
|
external IP addresses
|
|
type: boolean
|
|
purpose:
|
|
default: PRIVATE_RFC_1918
|
|
description: "Purpose: The purpose of the resource. If unspecified,
|
|
the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs
|
|
field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
|
|
\n Possible values: \"INTERNAL_HTTPS_LOAD_BALANCER\" -
|
|
Subnet reserved for Internal HTTP(S) Load Balancing. \"PRIVATE\"
|
|
- Regular user created or automatically created subnet.
|
|
\"PRIVATE_RFC_1918\" - Regular user created or automatically
|
|
created subnet. \"PRIVATE_SERVICE_CONNECT\" - Subnetworks
|
|
created for Private Service Connect in the producer network.
|
|
\"REGIONAL_MANAGED_PROXY\" - Subnetwork used for Regional
|
|
Internal/External HTTP(S) Load Balancing."
|
|
enum:
|
|
- INTERNAL_HTTPS_LOAD_BALANCER
|
|
- PRIVATE_RFC_1918
|
|
- PRIVATE
|
|
- PRIVATE_SERVICE_CONNECT
|
|
- REGIONAL_MANAGED_PROXY
|
|
type: string
|
|
region:
|
|
description: Region is the name of the region where the
|
|
Subnetwork resides.
|
|
type: string
|
|
secondaryCidrBlocks:
|
|
additionalProperties:
|
|
type: string
|
|
description: SecondaryCidrBlocks defines secondary CIDR
|
|
ranges, from which secondary IP ranges of a VM may be
|
|
allocated
|
|
type: object
|
|
type: object
|
|
type: array
|
|
type: object
|
|
project:
|
|
description: Project is the name of the project to deploy the cluster
|
|
to.
|
|
type: string
|
|
region:
|
|
description: The GCP Region the cluster lives in.
|
|
type: string
|
|
required:
|
|
- project
|
|
- region
|
|
type: object
|
|
status:
|
|
description: GCPClusterStatus defines the observed state of GCPCluster.
|
|
properties:
|
|
failureDomains:
|
|
additionalProperties:
|
|
description: FailureDomainSpec is the Schema for Cluster API failure
|
|
domains. It allows controllers to understand how many failure
|
|
domains a cluster can optionally span across.
|
|
properties:
|
|
attributes:
|
|
additionalProperties:
|
|
type: string
|
|
description: Attributes is a free form map of attributes an
|
|
infrastructure provider might use or require.
|
|
type: object
|
|
controlPlane:
|
|
description: ControlPlane determines if this failure domain
|
|
is suitable for use by control plane machines.
|
|
type: boolean
|
|
type: object
|
|
description: FailureDomains is a slice of FailureDomains.
|
|
type: object
|
|
network:
|
|
description: Network encapsulates GCP networking resources.
|
|
properties:
|
|
apiServerBackendService:
|
|
description: APIServerBackendService is the full reference to
|
|
the backend service created for the API Server.
|
|
type: string
|
|
apiServerForwardingRule:
|
|
description: APIServerForwardingRule is the full reference to
|
|
the forwarding rule created for the API Server.
|
|
type: string
|
|
apiServerHealthCheck:
|
|
description: APIServerHealthCheck is the full reference to the
|
|
health check created for the API Server.
|
|
type: string
|
|
apiServerInstanceGroups:
|
|
additionalProperties:
|
|
type: string
|
|
description: APIServerInstanceGroups is a map from zone to the
|
|
full reference to the instance groups created for the control
|
|
plane nodes created in the same zone.
|
|
type: object
|
|
apiServerIpAddress:
|
|
description: APIServerAddress is the IPV4 global address assigned
|
|
to the load balancer created for the API Server.
|
|
type: string
|
|
apiServerTargetProxy:
|
|
description: APIServerTargetProxy is the full reference to the
|
|
target proxy created for the API Server.
|
|
type: string
|
|
firewallRules:
|
|
additionalProperties:
|
|
type: string
|
|
description: FirewallRules is a map from the name of the rule
|
|
to its full reference.
|
|
type: object
|
|
router:
|
|
description: Router is the full reference to the router created
|
|
within the network it'll contain the cloud nat gateway
|
|
type: string
|
|
selfLink:
|
|
description: SelfLink is the link to the Network used for this
|
|
cluster.
|
|
type: string
|
|
type: object
|
|
ready:
|
|
description: Bastion Instance `json:"bastion,omitempty"`
|
|
type: boolean
|
|
required:
|
|
- ready
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
cert-manager.io/inject-ca-from: capg-system/capg-serving-cert
|
|
controller-gen.kubebuilder.io/version: v0.11.3
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
cluster.x-k8s.io/v1beta1: v1beta1
|
|
name: gcpclustertemplates.infrastructure.cluster.x-k8s.io
|
|
spec:
|
|
conversion:
|
|
strategy: Webhook
|
|
webhook:
|
|
clientConfig:
|
|
caBundle: Cg==
|
|
service:
|
|
name: capg-webhook-service
|
|
namespace: capg-system
|
|
path: /convert
|
|
conversionReviewVersions:
|
|
- v1
|
|
- v1beta1
|
|
group: infrastructure.cluster.x-k8s.io
|
|
names:
|
|
categories:
|
|
- cluster-api
|
|
kind: GCPClusterTemplate
|
|
listKind: GCPClusterTemplateList
|
|
plural: gcpclustertemplates
|
|
shortNames:
|
|
- gcpct
|
|
singular: gcpclustertemplate
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha4
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: GCPClusterTemplate is the Schema for the gcpclustertemplates
|
|
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: GCPClusterTemplateSpec defines the desired state of GCPClusterTemplate.
|
|
properties:
|
|
template:
|
|
description: GCPClusterTemplateResource contains spec for GCPClusterSpec.
|
|
properties:
|
|
spec:
|
|
description: GCPClusterSpec defines the desired state of GCPCluster.
|
|
properties:
|
|
additionalLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: AdditionalLabels is an optional set of tags to
|
|
add to GCP resources managed by the GCP 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
|
|
failureDomains:
|
|
description: FailureDomains is an optional field which is
|
|
used to assign selected availability zones to a cluster
|
|
FailureDomains if empty, defaults to all the zones in the
|
|
selected region and if specified would override the default
|
|
zones.
|
|
items:
|
|
type: string
|
|
type: array
|
|
network:
|
|
description: NetworkSpec encapsulates all things related to
|
|
GCP network.
|
|
properties:
|
|
autoCreateSubnetworks:
|
|
description: "AutoCreateSubnetworks: When set to true,
|
|
the VPC network is created in \"auto\" mode. When set
|
|
to false, the VPC network is created in \"custom\" mode.
|
|
\n An auto mode VPC network starts with one subnet per
|
|
region. Each subnet has a predetermined range as described
|
|
in Auto mode VPC network IP ranges. \n Defaults to true."
|
|
type: boolean
|
|
loadBalancerBackendPort:
|
|
description: Allow for configuration of load balancer
|
|
backend (useful for changing apiserver port)
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
description: Name is the name of the network to be used.
|
|
type: string
|
|
subnets:
|
|
description: Subnets configuration.
|
|
items:
|
|
description: SubnetSpec configures an GCP Subnet.
|
|
properties:
|
|
cidrBlock:
|
|
description: CidrBlock is the range of internal
|
|
addresses that are owned by this subnetwork. Provide
|
|
this property when you create the subnetwork.
|
|
For example, 10.0.0.0/8 or 192.168.0.0/16. Ranges
|
|
must be unique and non-overlapping within a network.
|
|
Only IPv4 is supported. This field can be set
|
|
only at resource creation time.
|
|
type: string
|
|
description:
|
|
description: Description is an optional description
|
|
associated with the resource.
|
|
type: string
|
|
name:
|
|
description: Name defines a unique identifier to
|
|
reference this resource.
|
|
type: string
|
|
privateGoogleAccess:
|
|
description: PrivateGoogleAccess defines whether
|
|
VMs in this subnet can access Google services
|
|
without assigning external IP addresses
|
|
type: boolean
|
|
region:
|
|
description: Region is the name of the region where
|
|
the Subnetwork resides.
|
|
type: string
|
|
routeTableId:
|
|
description: 'EnableFlowLogs: Whether to enable
|
|
flow logging for this subnetwork. If this field
|
|
is not explicitly set, it will not appear in get
|
|
listings. If not set the default behavior is to
|
|
disable flow logging.'
|
|
type: boolean
|
|
secondaryCidrBlocks:
|
|
additionalProperties:
|
|
type: string
|
|
description: SecondaryCidrBlocks defines secondary
|
|
CIDR ranges, from which secondary IP ranges of
|
|
a VM may be allocated
|
|
type: object
|
|
type: object
|
|
type: array
|
|
type: object
|
|
project:
|
|
description: Project is the name of the project to deploy
|
|
the cluster to.
|
|
type: string
|
|
region:
|
|
description: The GCP Region the cluster lives in.
|
|
type: string
|
|
required:
|
|
- project
|
|
- region
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
required:
|
|
- template
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: false
|
|
- name: v1beta1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: GCPClusterTemplate is the Schema for the gcpclustertemplates
|
|
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: GCPClusterTemplateSpec defines the desired state of GCPClusterTemplate.
|
|
properties:
|
|
template:
|
|
description: GCPClusterTemplateResource contains spec for GCPClusterSpec.
|
|
properties:
|
|
metadata:
|
|
description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Annotations is an unstructured key value map
|
|
stored with a resource that may be set by external tools
|
|
to store and retrieve arbitrary metadata. They are not queryable
|
|
and should be preserved when modifying objects. More info:
|
|
http://kubernetes.io/docs/user-guide/annotations'
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Map of string keys and values that can be used
|
|
to organize and categorize (scope and select) objects. May
|
|
match selectors of replication controllers and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels'
|
|
type: object
|
|
type: object
|
|
spec:
|
|
description: GCPClusterSpec defines the desired state of GCPCluster.
|
|
properties:
|
|
additionalLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: AdditionalLabels is an optional set of tags to
|
|
add to GCP resources managed by the GCP 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
|
|
credentialsRef:
|
|
description: CredentialsRef is a reference to a Secret that
|
|
contains the credentials to use for provisioning this cluster.
|
|
If not supplied then the credentials of the controller will
|
|
be used.
|
|
properties:
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
|
type: string
|
|
namespace:
|
|
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
|
type: string
|
|
required:
|
|
- name
|
|
- namespace
|
|
type: object
|
|
failureDomains:
|
|
description: FailureDomains is an optional field which is
|
|
used to assign selected availability zones to a cluster
|
|
FailureDomains if empty, defaults to all the zones in the
|
|
selected region and if specified would override the default
|
|
zones.
|
|
items:
|
|
type: string
|
|
type: array
|
|
network:
|
|
description: NetworkSpec encapsulates all things related to
|
|
GCP network.
|
|
properties:
|
|
autoCreateSubnetworks:
|
|
description: "AutoCreateSubnetworks: When set to true,
|
|
the VPC network is created in \"auto\" mode. When set
|
|
to false, the VPC network is created in \"custom\" mode.
|
|
\n An auto mode VPC network starts with one subnet per
|
|
region. Each subnet has a predetermined range as described
|
|
in Auto mode VPC network IP ranges. \n Defaults to true."
|
|
type: boolean
|
|
loadBalancerBackendPort:
|
|
description: Allow for configuration of load balancer
|
|
backend (useful for changing apiserver port)
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
description: Name is the name of the network to be used.
|
|
type: string
|
|
subnets:
|
|
description: Subnets configuration.
|
|
items:
|
|
description: SubnetSpec configures an GCP Subnet.
|
|
properties:
|
|
cidrBlock:
|
|
description: CidrBlock is the range of internal
|
|
addresses that are owned by this subnetwork. Provide
|
|
this property when you create the subnetwork.
|
|
For example, 10.0.0.0/8 or 192.168.0.0/16. Ranges
|
|
must be unique and non-overlapping within a network.
|
|
Only IPv4 is supported. This field can be set
|
|
only at resource creation time.
|
|
type: string
|
|
description:
|
|
description: Description is an optional description
|
|
associated with the resource.
|
|
type: string
|
|
enableFlowLogs:
|
|
description: 'EnableFlowLogs: Whether to enable
|
|
flow logging for this subnetwork. If this field
|
|
is not explicitly set, it will not appear in get
|
|
listings. If not set the default behavior is to
|
|
disable flow logging.'
|
|
type: boolean
|
|
name:
|
|
description: Name defines a unique identifier to
|
|
reference this resource.
|
|
type: string
|
|
privateGoogleAccess:
|
|
description: PrivateGoogleAccess defines whether
|
|
VMs in this subnet can access Google services
|
|
without assigning external IP addresses
|
|
type: boolean
|
|
purpose:
|
|
default: PRIVATE_RFC_1918
|
|
description: "Purpose: The purpose of the resource.
|
|
If unspecified, the purpose defaults to PRIVATE_RFC_1918.
|
|
The enableFlowLogs field isn't supported with
|
|
the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
|
|
\n Possible values: \"INTERNAL_HTTPS_LOAD_BALANCER\"
|
|
- Subnet reserved for Internal HTTP(S) Load Balancing.
|
|
\"PRIVATE\" - Regular user created or automatically
|
|
created subnet. \"PRIVATE_RFC_1918\" - Regular
|
|
user created or automatically created subnet.
|
|
\"PRIVATE_SERVICE_CONNECT\" - Subnetworks created
|
|
for Private Service Connect in the producer network.
|
|
\"REGIONAL_MANAGED_PROXY\" - Subnetwork used for
|
|
Regional Internal/External HTTP(S) Load Balancing."
|
|
enum:
|
|
- INTERNAL_HTTPS_LOAD_BALANCER
|
|
- PRIVATE_RFC_1918
|
|
- PRIVATE
|
|
- PRIVATE_SERVICE_CONNECT
|
|
- REGIONAL_MANAGED_PROXY
|
|
type: string
|
|
region:
|
|
description: Region is the name of the region where
|
|
the Subnetwork resides.
|
|
type: string
|
|
secondaryCidrBlocks:
|
|
additionalProperties:
|
|
type: string
|
|
description: SecondaryCidrBlocks defines secondary
|
|
CIDR ranges, from which secondary IP ranges of
|
|
a VM may be allocated
|
|
type: object
|
|
type: object
|
|
type: array
|
|
type: object
|
|
project:
|
|
description: Project is the name of the project to deploy
|
|
the cluster to.
|
|
type: string
|
|
region:
|
|
description: The GCP Region the cluster lives in.
|
|
type: string
|
|
required:
|
|
- project
|
|
- region
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
required:
|
|
- template
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
cert-manager.io/inject-ca-from: capg-system/capg-serving-cert
|
|
controller-gen.kubebuilder.io/version: v0.11.3
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
cluster.x-k8s.io/v1beta1: v1beta1
|
|
name: gcpmachines.infrastructure.cluster.x-k8s.io
|
|
spec:
|
|
conversion:
|
|
strategy: Webhook
|
|
webhook:
|
|
clientConfig:
|
|
caBundle: Cg==
|
|
service:
|
|
name: capg-webhook-service
|
|
namespace: capg-system
|
|
path: /convert
|
|
conversionReviewVersions:
|
|
- v1
|
|
- v1beta1
|
|
group: infrastructure.cluster.x-k8s.io
|
|
names:
|
|
categories:
|
|
- cluster-api
|
|
kind: GCPMachine
|
|
listKind: GCPMachineList
|
|
plural: gcpmachines
|
|
singular: gcpmachine
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- description: Cluster to which this GCPMachine belongs
|
|
jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name
|
|
name: Cluster
|
|
type: string
|
|
- description: GCE instance state
|
|
jsonPath: .status.instanceState
|
|
name: State
|
|
type: string
|
|
- description: Machine ready status
|
|
jsonPath: .status.ready
|
|
name: Ready
|
|
type: string
|
|
- description: GCE instance ID
|
|
jsonPath: .spec.providerID
|
|
name: InstanceID
|
|
type: string
|
|
- description: Machine object which owns with this GCPMachine
|
|
jsonPath: .metadata.ownerReferences[?(@.kind=="Machine")].name
|
|
name: Machine
|
|
type: string
|
|
name: v1alpha3
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: GCPMachine is the Schema for the gcpmachines 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: GCPMachineSpec defines the desired state of GCPMachine.
|
|
properties:
|
|
additionalDisks:
|
|
description: AdditionalDisks are optional non-boot attached disks.
|
|
items:
|
|
description: AttachedDiskSpec degined GCP machine disk.
|
|
properties:
|
|
deviceType:
|
|
description: 'DeviceType is a device type of the attached disk.
|
|
Supported types of non-root attached volumes: 1. "pd-standard"
|
|
- Standard (HDD) persistent disk 2. "pd-ssd" - SSD persistent
|
|
disk 3. "local-ssd" - Local SSD disk (https://cloud.google.com/compute/docs/disks/local-ssd).
|
|
Default is "pd-standard".'
|
|
type: string
|
|
size:
|
|
description: Size is the size of the disk in GBs. Defaults to
|
|
30GB. For "local-ssd" size is always 375GB.
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
type: array
|
|
additionalLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: AdditionalLabels is an optional set of tags to add to
|
|
an instance, in addition to the ones added by default by the GCP
|
|
provider. If both the GCPCluster and the GCPMachine specify the
|
|
same tag name with different values, the GCPMachine's value takes
|
|
precedence.
|
|
type: object
|
|
additionalMetadata:
|
|
description: AdditionalMetadata is an optional set of metadata to
|
|
add to an instance, in addition to the ones added by default by
|
|
the GCP provider.
|
|
items:
|
|
description: MetadataItem defines a single piece of metadata associated
|
|
with an instance.
|
|
properties:
|
|
key:
|
|
description: Key is the identifier for the metadata entry.
|
|
type: string
|
|
value:
|
|
description: Value is the value of the metadata entry.
|
|
type: string
|
|
required:
|
|
- key
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- key
|
|
x-kubernetes-list-type: map
|
|
additionalNetworkTags:
|
|
description: AdditionalNetworkTags is a list of network tags that
|
|
should be applied to the instance. These tags are set in addition
|
|
to any network tags defined at the cluster level or in the actuator.
|
|
items:
|
|
type: string
|
|
type: array
|
|
image:
|
|
description: Image is the full reference to a valid image to be used
|
|
for this machine. Takes precedence over ImageFamily.
|
|
type: string
|
|
imageFamily:
|
|
description: ImageFamily is the full reference to a valid image family
|
|
to be used for this machine.
|
|
type: string
|
|
instanceType:
|
|
description: 'InstanceType is the type of instance to create. Example:
|
|
n1.standard-2'
|
|
type: string
|
|
preemptible:
|
|
description: Preemptible defines if instance is preemptible
|
|
type: boolean
|
|
providerID:
|
|
description: ProviderID is the unique identifier as specified by the
|
|
cloud provider.
|
|
type: string
|
|
publicIP:
|
|
description: PublicIP specifies whether the instance should get a
|
|
public IP. Set this to true if you don't have a NAT instances or
|
|
Cloud Nat setup.
|
|
type: boolean
|
|
rootDeviceSize:
|
|
description: RootDeviceSize is the size of the root volume in GB.
|
|
Defaults to 30.
|
|
format: int64
|
|
type: integer
|
|
rootDeviceType:
|
|
description: 'RootDeviceType is the type of the root volume. Supported
|
|
types of root volumes: 1. "pd-standard" - Standard (HDD) persistent
|
|
disk 2. "pd-ssd" - SSD persistent disk Default is "pd-standard".'
|
|
type: string
|
|
serviceAccounts:
|
|
description: 'ServiceAccount specifies the service account email and
|
|
which scopes to assign to the machine. Defaults to: email: "default",
|
|
scope: []{compute.CloudPlatformScope}'
|
|
properties:
|
|
email:
|
|
description: 'Email: Email address of the service account.'
|
|
type: string
|
|
scopes:
|
|
description: 'Scopes: The list of scopes to be made available
|
|
for this service account.'
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
subnet:
|
|
description: Subnet is a reference to the subnetwork to use for this
|
|
instance. If not specified, the first subnetwork retrieved from
|
|
the Cluster Region and Network is picked.
|
|
type: string
|
|
required:
|
|
- instanceType
|
|
type: object
|
|
status:
|
|
description: GCPMachineStatus defines the observed state of GCPMachine.
|
|
properties:
|
|
addresses:
|
|
description: Addresses contains the GCP instance associated addresses.
|
|
items:
|
|
description: NodeAddress contains information for the node's address.
|
|
properties:
|
|
address:
|
|
description: The node address.
|
|
type: string
|
|
type:
|
|
description: Node address type, one of Hostname, ExternalIP
|
|
or InternalIP.
|
|
type: string
|
|
required:
|
|
- address
|
|
- type
|
|
type: object
|
|
type: array
|
|
failureMessage:
|
|
description: "FailureMessage will be set in the event that there is
|
|
a terminal problem reconciling the Machine and will contain a more
|
|
verbose string suitable for logging and human consumption. \n This
|
|
field should not be set for transitive errors that a controller
|
|
faces that are expected to be fixed automatically over time (like
|
|
service outages), but instead indicate that something is fundamentally
|
|
wrong with the Machine's spec or the configuration of the controller,
|
|
and that manual intervention is required. Examples of terminal errors
|
|
would be invalid combinations of settings in the spec, values that
|
|
are unsupported by the controller, or the responsible controller
|
|
itself being critically misconfigured. \n Any transient errors that
|
|
occur during the reconciliation of Machines can be added as events
|
|
to the Machine object and/or logged in the controller's output."
|
|
type: string
|
|
failureReason:
|
|
description: "FailureReason will be set in the event that there is
|
|
a terminal problem reconciling the Machine and will contain a succinct
|
|
value suitable for machine interpretation. \n This field should
|
|
not be set for transitive errors that a controller faces that are
|
|
expected to be fixed automatically over time (like service outages),
|
|
but instead indicate that something is fundamentally wrong with
|
|
the Machine's spec or the configuration of the controller, and that
|
|
manual intervention is required. Examples of terminal errors would
|
|
be invalid combinations of settings in the spec, values that are
|
|
unsupported by the controller, or the responsible controller itself
|
|
being critically misconfigured. \n Any transient errors that occur
|
|
during the reconciliation of Machines can be added as events to
|
|
the Machine object and/or logged in the controller's output."
|
|
type: string
|
|
instanceState:
|
|
description: InstanceStatus is the status of the GCP instance for
|
|
this machine.
|
|
type: string
|
|
ready:
|
|
description: Ready is true when the provider resource is ready.
|
|
type: boolean
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: false
|
|
subresources:
|
|
status: {}
|
|
- additionalPrinterColumns:
|
|
- description: Cluster to which this GCPMachine belongs
|
|
jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name
|
|
name: Cluster
|
|
type: string
|
|
- description: GCE instance state
|
|
jsonPath: .status.instanceState
|
|
name: State
|
|
type: string
|
|
- description: Machine ready status
|
|
jsonPath: .status.ready
|
|
name: Ready
|
|
type: string
|
|
- description: GCE instance ID
|
|
jsonPath: .spec.providerID
|
|
name: InstanceID
|
|
type: string
|
|
- description: Machine object which owns with this GCPMachine
|
|
jsonPath: .metadata.ownerReferences[?(@.kind=="Machine")].name
|
|
name: Machine
|
|
type: string
|
|
name: v1alpha4
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: GCPMachine is the Schema for the gcpmachines 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: GCPMachineSpec defines the desired state of GCPMachine.
|
|
properties:
|
|
additionalDisks:
|
|
description: AdditionalDisks are optional non-boot attached disks.
|
|
items:
|
|
description: AttachedDiskSpec degined GCP machine disk.
|
|
properties:
|
|
deviceType:
|
|
description: 'DeviceType is a device type of the attached disk.
|
|
Supported types of non-root attached volumes: 1. "pd-standard"
|
|
- Standard (HDD) persistent disk 2. "pd-ssd" - SSD persistent
|
|
disk 3. "local-ssd" - Local SSD disk (https://cloud.google.com/compute/docs/disks/local-ssd).
|
|
Default is "pd-standard".'
|
|
type: string
|
|
size:
|
|
description: Size is the size of the disk in GBs. Defaults to
|
|
30GB. For "local-ssd" size is always 375GB.
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
type: array
|
|
additionalLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: AdditionalLabels is an optional set of tags to add to
|
|
an instance, in addition to the ones added by default by the GCP
|
|
provider. If both the GCPCluster and the GCPMachine specify the
|
|
same tag name with different values, the GCPMachine's value takes
|
|
precedence.
|
|
type: object
|
|
additionalMetadata:
|
|
description: AdditionalMetadata is an optional set of metadata to
|
|
add to an instance, in addition to the ones added by default by
|
|
the GCP provider.
|
|
items:
|
|
description: MetadataItem defines a single piece of metadata associated
|
|
with an instance.
|
|
properties:
|
|
key:
|
|
description: Key is the identifier for the metadata entry.
|
|
type: string
|
|
value:
|
|
description: Value is the value of the metadata entry.
|
|
type: string
|
|
required:
|
|
- key
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- key
|
|
x-kubernetes-list-type: map
|
|
additionalNetworkTags:
|
|
description: AdditionalNetworkTags is a list of network tags that
|
|
should be applied to the instance. These tags are set in addition
|
|
to any network tags defined at the cluster level or in the actuator.
|
|
items:
|
|
type: string
|
|
type: array
|
|
image:
|
|
description: Image is the full reference to a valid image to be used
|
|
for this machine. Takes precedence over ImageFamily.
|
|
type: string
|
|
imageFamily:
|
|
description: ImageFamily is the full reference to a valid image family
|
|
to be used for this machine.
|
|
type: string
|
|
instanceType:
|
|
description: 'InstanceType is the type of instance to create. Example:
|
|
n1.standard-2'
|
|
type: string
|
|
preemptible:
|
|
description: Preemptible defines if instance is preemptible
|
|
type: boolean
|
|
providerID:
|
|
description: ProviderID is the unique identifier as specified by the
|
|
cloud provider.
|
|
type: string
|
|
publicIP:
|
|
description: PublicIP specifies whether the instance should get a
|
|
public IP. Set this to true if you don't have a NAT instances or
|
|
Cloud Nat setup.
|
|
type: boolean
|
|
rootDeviceSize:
|
|
description: RootDeviceSize is the size of the root volume in GB.
|
|
Defaults to 30.
|
|
format: int64
|
|
type: integer
|
|
rootDeviceType:
|
|
description: 'RootDeviceType is the type of the root volume. Supported
|
|
types of root volumes: 1. "pd-standard" - Standard (HDD) persistent
|
|
disk 2. "pd-ssd" - SSD persistent disk Default is "pd-standard".'
|
|
type: string
|
|
serviceAccounts:
|
|
description: 'ServiceAccount specifies the service account email and
|
|
which scopes to assign to the machine. Defaults to: email: "default",
|
|
scope: []{compute.CloudPlatformScope}'
|
|
properties:
|
|
email:
|
|
description: 'Email: Email address of the service account.'
|
|
type: string
|
|
scopes:
|
|
description: 'Scopes: The list of scopes to be made available
|
|
for this service account.'
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
subnet:
|
|
description: Subnet is a reference to the subnetwork to use for this
|
|
instance. If not specified, the first subnetwork retrieved from
|
|
the Cluster Region and Network is picked.
|
|
type: string
|
|
required:
|
|
- instanceType
|
|
type: object
|
|
status:
|
|
description: GCPMachineStatus defines the observed state of GCPMachine.
|
|
properties:
|
|
addresses:
|
|
description: Addresses contains the GCP instance associated addresses.
|
|
items:
|
|
description: NodeAddress contains information for the node's address.
|
|
properties:
|
|
address:
|
|
description: The node address.
|
|
type: string
|
|
type:
|
|
description: Node address type, one of Hostname, ExternalIP
|
|
or InternalIP.
|
|
type: string
|
|
required:
|
|
- address
|
|
- type
|
|
type: object
|
|
type: array
|
|
failureMessage:
|
|
description: "FailureMessage will be set in the event that there is
|
|
a terminal problem reconciling the Machine and will contain a more
|
|
verbose string suitable for logging and human consumption. \n This
|
|
field should not be set for transitive errors that a controller
|
|
faces that are expected to be fixed automatically over time (like
|
|
service outages), but instead indicate that something is fundamentally
|
|
wrong with the Machine's spec or the configuration of the controller,
|
|
and that manual intervention is required. Examples of terminal errors
|
|
would be invalid combinations of settings in the spec, values that
|
|
are unsupported by the controller, or the responsible controller
|
|
itself being critically misconfigured. \n Any transient errors that
|
|
occur during the reconciliation of Machines can be added as events
|
|
to the Machine object and/or logged in the controller's output."
|
|
type: string
|
|
failureReason:
|
|
description: "FailureReason will be set in the event that there is
|
|
a terminal problem reconciling the Machine and will contain a succinct
|
|
value suitable for machine interpretation. \n This field should
|
|
not be set for transitive errors that a controller faces that are
|
|
expected to be fixed automatically over time (like service outages),
|
|
but instead indicate that something is fundamentally wrong with
|
|
the Machine's spec or the configuration of the controller, and that
|
|
manual intervention is required. Examples of terminal errors would
|
|
be invalid combinations of settings in the spec, values that are
|
|
unsupported by the controller, or the responsible controller itself
|
|
being critically misconfigured. \n Any transient errors that occur
|
|
during the reconciliation of Machines can be added as events to
|
|
the Machine object and/or logged in the controller's output."
|
|
type: string
|
|
instanceState:
|
|
description: InstanceStatus is the status of the GCP instance for
|
|
this machine.
|
|
type: string
|
|
ready:
|
|
description: Ready is true when the provider resource is ready.
|
|
type: boolean
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: false
|
|
subresources:
|
|
status: {}
|
|
- additionalPrinterColumns:
|
|
- description: Cluster to which this GCPMachine belongs
|
|
jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name
|
|
name: Cluster
|
|
type: string
|
|
- description: GCE instance state
|
|
jsonPath: .status.instanceState
|
|
name: State
|
|
type: string
|
|
- description: Machine ready status
|
|
jsonPath: .status.ready
|
|
name: Ready
|
|
type: string
|
|
- description: GCE instance ID
|
|
jsonPath: .spec.providerID
|
|
name: InstanceID
|
|
type: string
|
|
- description: Machine object which owns with this GCPMachine
|
|
jsonPath: .metadata.ownerReferences[?(@.kind=="Machine")].name
|
|
name: Machine
|
|
type: string
|
|
name: v1beta1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: GCPMachine is the Schema for the gcpmachines 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: GCPMachineSpec defines the desired state of GCPMachine.
|
|
properties:
|
|
additionalDisks:
|
|
description: AdditionalDisks are optional non-boot attached disks.
|
|
items:
|
|
description: AttachedDiskSpec degined GCP machine disk.
|
|
properties:
|
|
deviceType:
|
|
description: 'DeviceType is a device type of the attached disk.
|
|
Supported types of non-root attached volumes: 1. "pd-standard"
|
|
- Standard (HDD) persistent disk 2. "pd-ssd" - SSD persistent
|
|
disk 3. "local-ssd" - Local SSD disk (https://cloud.google.com/compute/docs/disks/local-ssd).
|
|
Default is "pd-standard".'
|
|
type: string
|
|
size:
|
|
description: Size is the size of the disk in GBs. Defaults to
|
|
30GB. For "local-ssd" size is always 375GB.
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
type: array
|
|
additionalLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: AdditionalLabels is an optional set of tags to add to
|
|
an instance, in addition to the ones added by default by the GCP
|
|
provider. If both the GCPCluster and the GCPMachine specify the
|
|
same tag name with different values, the GCPMachine's value takes
|
|
precedence.
|
|
type: object
|
|
additionalMetadata:
|
|
description: AdditionalMetadata is an optional set of metadata to
|
|
add to an instance, in addition to the ones added by default by
|
|
the GCP provider.
|
|
items:
|
|
description: MetadataItem defines a single piece of metadata associated
|
|
with an instance.
|
|
properties:
|
|
key:
|
|
description: Key is the identifier for the metadata entry.
|
|
type: string
|
|
value:
|
|
description: Value is the value of the metadata entry.
|
|
type: string
|
|
required:
|
|
- key
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- key
|
|
x-kubernetes-list-type: map
|
|
additionalNetworkTags:
|
|
description: AdditionalNetworkTags is a list of network tags that
|
|
should be applied to the instance. These tags are set in addition
|
|
to any network tags defined at the cluster level or in the actuator.
|
|
items:
|
|
type: string
|
|
type: array
|
|
confidentialCompute:
|
|
description: ConfidentialCompute Defines whether the instance should
|
|
have confidential compute enabled. If enabled OnHostMaintenance
|
|
is required to be set to "Terminate". If omitted, the platform chooses
|
|
a default, which is subject to change over time, currently that
|
|
default is false.
|
|
enum:
|
|
- Enabled
|
|
- Disabled
|
|
type: string
|
|
image:
|
|
description: Image is the full reference to a valid image to be used
|
|
for this machine. Takes precedence over ImageFamily.
|
|
type: string
|
|
imageFamily:
|
|
description: ImageFamily is the full reference to a valid image family
|
|
to be used for this machine.
|
|
type: string
|
|
instanceType:
|
|
description: 'InstanceType is the type of instance to create. Example:
|
|
n1.standard-2'
|
|
type: string
|
|
ipForwarding:
|
|
default: Enabled
|
|
description: IPForwarding Allows this instance to send and receive
|
|
packets with non-matching destination or source IPs. This is required
|
|
if you plan to use this instance to forward routes. Defaults to
|
|
enabled.
|
|
enum:
|
|
- Enabled
|
|
- Disabled
|
|
type: string
|
|
onHostMaintenance:
|
|
description: OnHostMaintenance determines the behavior when a maintenance
|
|
event occurs that might cause the instance to reboot. If omitted,
|
|
the platform chooses a default, which is subject to change over
|
|
time, currently that default is "Migrate".
|
|
enum:
|
|
- Migrate
|
|
- Terminate
|
|
type: string
|
|
preemptible:
|
|
description: Preemptible defines if instance is preemptible
|
|
type: boolean
|
|
providerID:
|
|
description: ProviderID is the unique identifier as specified by the
|
|
cloud provider.
|
|
type: string
|
|
publicIP:
|
|
description: PublicIP specifies whether the instance should get a
|
|
public IP. Set this to true if you don't have a NAT instances or
|
|
Cloud Nat setup.
|
|
type: boolean
|
|
rootDeviceSize:
|
|
description: RootDeviceSize is the size of the root volume in GB.
|
|
Defaults to 30.
|
|
format: int64
|
|
type: integer
|
|
rootDeviceType:
|
|
description: 'RootDeviceType is the type of the root volume. Supported
|
|
types of root volumes: 1. "pd-standard" - Standard (HDD) persistent
|
|
disk 2. "pd-ssd" - SSD persistent disk Default is "pd-standard".'
|
|
type: string
|
|
serviceAccounts:
|
|
description: 'ServiceAccount specifies the service account email and
|
|
which scopes to assign to the machine. Defaults to: email: "default",
|
|
scope: []{compute.CloudPlatformScope}'
|
|
properties:
|
|
email:
|
|
description: 'Email: Email address of the service account.'
|
|
type: string
|
|
scopes:
|
|
description: 'Scopes: The list of scopes to be made available
|
|
for this service account.'
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
shieldedInstanceConfig:
|
|
description: ShieldedInstanceConfig is the Shielded VM configuration
|
|
for this machine
|
|
properties:
|
|
integrityMonitoring:
|
|
description: IntegrityMonitoring determines whether the instance
|
|
should have integrity monitoring that verify the runtime boot
|
|
integrity. Compares the most recent boot measurements to the
|
|
integrity policy baseline and return a pair of pass/fail results
|
|
depending on whether they match or not. If omitted, the platform
|
|
chooses a default, which is subject to change over time, currently
|
|
that default is Enabled.
|
|
enum:
|
|
- Enabled
|
|
- Disabled
|
|
type: string
|
|
secureBoot:
|
|
description: SecureBoot Defines whether the instance should have
|
|
secure boot enabled. Secure Boot verify the digital signature
|
|
of all boot components, and halting the boot process if signature
|
|
verification fails. If omitted, the platform chooses a default,
|
|
which is subject to change over time, currently that default
|
|
is Disabled.
|
|
enum:
|
|
- Enabled
|
|
- Disabled
|
|
type: string
|
|
virtualizedTrustedPlatformModule:
|
|
description: VirtualizedTrustedPlatformModule enable virtualized
|
|
trusted platform module measurements to create a known good
|
|
boot integrity policy baseline. The integrity policy baseline
|
|
is used for comparison with measurements from subsequent VM
|
|
boots to determine if anything has changed. If omitted, the
|
|
platform chooses a default, which is subject to change over
|
|
time, currently that default is Enabled.
|
|
enum:
|
|
- Enabled
|
|
- Disabled
|
|
type: string
|
|
type: object
|
|
subnet:
|
|
description: Subnet is a reference to the subnetwork to use for this
|
|
instance. If not specified, the first subnetwork retrieved from
|
|
the Cluster Region and Network is picked.
|
|
type: string
|
|
required:
|
|
- instanceType
|
|
type: object
|
|
status:
|
|
description: GCPMachineStatus defines the observed state of GCPMachine.
|
|
properties:
|
|
addresses:
|
|
description: Addresses contains the GCP instance associated addresses.
|
|
items:
|
|
description: NodeAddress contains information for the node's address.
|
|
properties:
|
|
address:
|
|
description: The node address.
|
|
type: string
|
|
type:
|
|
description: Node address type, one of Hostname, ExternalIP
|
|
or InternalIP.
|
|
type: string
|
|
required:
|
|
- address
|
|
- type
|
|
type: object
|
|
type: array
|
|
failureMessage:
|
|
description: "FailureMessage will be set in the event that there is
|
|
a terminal problem reconciling the Machine and will contain a more
|
|
verbose string suitable for logging and human consumption. \n This
|
|
field should not be set for transitive errors that a controller
|
|
faces that are expected to be fixed automatically over time (like
|
|
service outages), but instead indicate that something is fundamentally
|
|
wrong with the Machine's spec or the configuration of the controller,
|
|
and that manual intervention is required. Examples of terminal errors
|
|
would be invalid combinations of settings in the spec, values that
|
|
are unsupported by the controller, or the responsible controller
|
|
itself being critically misconfigured. \n Any transient errors that
|
|
occur during the reconciliation of Machines can be added as events
|
|
to the Machine object and/or logged in the controller's output."
|
|
type: string
|
|
failureReason:
|
|
description: "FailureReason will be set in the event that there is
|
|
a terminal problem reconciling the Machine and will contain a succinct
|
|
value suitable for machine interpretation. \n This field should
|
|
not be set for transitive errors that a controller faces that are
|
|
expected to be fixed automatically over time (like service outages),
|
|
but instead indicate that something is fundamentally wrong with
|
|
the Machine's spec or the configuration of the controller, and that
|
|
manual intervention is required. Examples of terminal errors would
|
|
be invalid combinations of settings in the spec, values that are
|
|
unsupported by the controller, or the responsible controller itself
|
|
being critically misconfigured. \n Any transient errors that occur
|
|
during the reconciliation of Machines can be added as events to
|
|
the Machine object and/or logged in the controller's output."
|
|
type: string
|
|
instanceState:
|
|
description: InstanceStatus is the status of the GCP instance for
|
|
this machine.
|
|
type: string
|
|
ready:
|
|
description: Ready is true when the provider resource is ready.
|
|
type: boolean
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
cert-manager.io/inject-ca-from: capg-system/capg-serving-cert
|
|
controller-gen.kubebuilder.io/version: v0.11.3
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
cluster.x-k8s.io/v1beta1: v1beta1
|
|
name: gcpmachinetemplates.infrastructure.cluster.x-k8s.io
|
|
spec:
|
|
conversion:
|
|
strategy: Webhook
|
|
webhook:
|
|
clientConfig:
|
|
caBundle: Cg==
|
|
service:
|
|
name: capg-webhook-service
|
|
namespace: capg-system
|
|
path: /convert
|
|
conversionReviewVersions:
|
|
- v1
|
|
- v1beta1
|
|
group: infrastructure.cluster.x-k8s.io
|
|
names:
|
|
categories:
|
|
- cluster-api
|
|
kind: GCPMachineTemplate
|
|
listKind: GCPMachineTemplateList
|
|
plural: gcpmachinetemplates
|
|
singular: gcpmachinetemplate
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha3
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: GCPMachineTemplate is the Schema for the gcpmachinetemplates
|
|
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: GCPMachineTemplateSpec defines the desired state of GCPMachineTemplate.
|
|
properties:
|
|
template:
|
|
description: GCPMachineTemplateResource describes the data needed
|
|
to create am GCPMachine from a template.
|
|
properties:
|
|
spec:
|
|
description: Spec is the specification of the desired behavior
|
|
of the machine.
|
|
properties:
|
|
additionalDisks:
|
|
description: AdditionalDisks are optional non-boot attached
|
|
disks.
|
|
items:
|
|
description: AttachedDiskSpec degined GCP machine disk.
|
|
properties:
|
|
deviceType:
|
|
description: 'DeviceType is a device type of the attached
|
|
disk. Supported types of non-root attached volumes:
|
|
1. "pd-standard" - Standard (HDD) persistent disk
|
|
2. "pd-ssd" - SSD persistent disk 3. "local-ssd" -
|
|
Local SSD disk (https://cloud.google.com/compute/docs/disks/local-ssd).
|
|
Default is "pd-standard".'
|
|
type: string
|
|
size:
|
|
description: Size is the size of the disk in GBs. Defaults
|
|
to 30GB. For "local-ssd" size is always 375GB.
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
type: array
|
|
additionalLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: AdditionalLabels is an optional set of tags to
|
|
add to an instance, in addition to the ones added by default
|
|
by the GCP provider. If both the GCPCluster and the GCPMachine
|
|
specify the same tag name with different values, the GCPMachine's
|
|
value takes precedence.
|
|
type: object
|
|
additionalMetadata:
|
|
description: AdditionalMetadata is an optional set of metadata
|
|
to add to an instance, in addition to the ones added by
|
|
default by the GCP provider.
|
|
items:
|
|
description: MetadataItem defines a single piece of metadata
|
|
associated with an instance.
|
|
properties:
|
|
key:
|
|
description: Key is the identifier for the metadata
|
|
entry.
|
|
type: string
|
|
value:
|
|
description: Value is the value of the metadata entry.
|
|
type: string
|
|
required:
|
|
- key
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- key
|
|
x-kubernetes-list-type: map
|
|
additionalNetworkTags:
|
|
description: AdditionalNetworkTags is a list of network tags
|
|
that should be applied to the instance. These tags are set
|
|
in addition to any network tags defined at the cluster level
|
|
or in the actuator.
|
|
items:
|
|
type: string
|
|
type: array
|
|
image:
|
|
description: Image is the full reference to a valid image
|
|
to be used for this machine. Takes precedence over ImageFamily.
|
|
type: string
|
|
imageFamily:
|
|
description: ImageFamily is the full reference to a valid
|
|
image family to be used for this machine.
|
|
type: string
|
|
instanceType:
|
|
description: 'InstanceType is the type of instance to create.
|
|
Example: n1.standard-2'
|
|
type: string
|
|
preemptible:
|
|
description: Preemptible defines if instance is preemptible
|
|
type: boolean
|
|
providerID:
|
|
description: ProviderID is the unique identifier as specified
|
|
by the cloud provider.
|
|
type: string
|
|
publicIP:
|
|
description: PublicIP specifies whether the instance should
|
|
get a public IP. Set this to true if you don't have a NAT
|
|
instances or Cloud Nat setup.
|
|
type: boolean
|
|
rootDeviceSize:
|
|
description: RootDeviceSize is the size of the root volume
|
|
in GB. Defaults to 30.
|
|
format: int64
|
|
type: integer
|
|
rootDeviceType:
|
|
description: 'RootDeviceType is the type of the root volume.
|
|
Supported types of root volumes: 1. "pd-standard" - Standard
|
|
(HDD) persistent disk 2. "pd-ssd" - SSD persistent disk
|
|
Default is "pd-standard".'
|
|
type: string
|
|
serviceAccounts:
|
|
description: 'ServiceAccount specifies the service account
|
|
email and which scopes to assign to the machine. Defaults
|
|
to: email: "default", scope: []{compute.CloudPlatformScope}'
|
|
properties:
|
|
email:
|
|
description: 'Email: Email address of the service account.'
|
|
type: string
|
|
scopes:
|
|
description: 'Scopes: The list of scopes to be made available
|
|
for this service account.'
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
subnet:
|
|
description: Subnet is a reference to the subnetwork to use
|
|
for this instance. If not specified, the first subnetwork
|
|
retrieved from the Cluster Region and Network is picked.
|
|
type: string
|
|
required:
|
|
- instanceType
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
required:
|
|
- template
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: false
|
|
- name: v1alpha4
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: GCPMachineTemplate is the Schema for the gcpmachinetemplates
|
|
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: GCPMachineTemplateSpec defines the desired state of GCPMachineTemplate.
|
|
properties:
|
|
template:
|
|
description: GCPMachineTemplateResource describes the data needed
|
|
to create am GCPMachine from a template.
|
|
properties:
|
|
spec:
|
|
description: Spec is the specification of the desired behavior
|
|
of the machine.
|
|
properties:
|
|
additionalDisks:
|
|
description: AdditionalDisks are optional non-boot attached
|
|
disks.
|
|
items:
|
|
description: AttachedDiskSpec degined GCP machine disk.
|
|
properties:
|
|
deviceType:
|
|
description: 'DeviceType is a device type of the attached
|
|
disk. Supported types of non-root attached volumes:
|
|
1. "pd-standard" - Standard (HDD) persistent disk
|
|
2. "pd-ssd" - SSD persistent disk 3. "local-ssd" -
|
|
Local SSD disk (https://cloud.google.com/compute/docs/disks/local-ssd).
|
|
Default is "pd-standard".'
|
|
type: string
|
|
size:
|
|
description: Size is the size of the disk in GBs. Defaults
|
|
to 30GB. For "local-ssd" size is always 375GB.
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
type: array
|
|
additionalLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: AdditionalLabels is an optional set of tags to
|
|
add to an instance, in addition to the ones added by default
|
|
by the GCP provider. If both the GCPCluster and the GCPMachine
|
|
specify the same tag name with different values, the GCPMachine's
|
|
value takes precedence.
|
|
type: object
|
|
additionalMetadata:
|
|
description: AdditionalMetadata is an optional set of metadata
|
|
to add to an instance, in addition to the ones added by
|
|
default by the GCP provider.
|
|
items:
|
|
description: MetadataItem defines a single piece of metadata
|
|
associated with an instance.
|
|
properties:
|
|
key:
|
|
description: Key is the identifier for the metadata
|
|
entry.
|
|
type: string
|
|
value:
|
|
description: Value is the value of the metadata entry.
|
|
type: string
|
|
required:
|
|
- key
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- key
|
|
x-kubernetes-list-type: map
|
|
additionalNetworkTags:
|
|
description: AdditionalNetworkTags is a list of network tags
|
|
that should be applied to the instance. These tags are set
|
|
in addition to any network tags defined at the cluster level
|
|
or in the actuator.
|
|
items:
|
|
type: string
|
|
type: array
|
|
image:
|
|
description: Image is the full reference to a valid image
|
|
to be used for this machine. Takes precedence over ImageFamily.
|
|
type: string
|
|
imageFamily:
|
|
description: ImageFamily is the full reference to a valid
|
|
image family to be used for this machine.
|
|
type: string
|
|
instanceType:
|
|
description: 'InstanceType is the type of instance to create.
|
|
Example: n1.standard-2'
|
|
type: string
|
|
preemptible:
|
|
description: Preemptible defines if instance is preemptible
|
|
type: boolean
|
|
providerID:
|
|
description: ProviderID is the unique identifier as specified
|
|
by the cloud provider.
|
|
type: string
|
|
publicIP:
|
|
description: PublicIP specifies whether the instance should
|
|
get a public IP. Set this to true if you don't have a NAT
|
|
instances or Cloud Nat setup.
|
|
type: boolean
|
|
rootDeviceSize:
|
|
description: RootDeviceSize is the size of the root volume
|
|
in GB. Defaults to 30.
|
|
format: int64
|
|
type: integer
|
|
rootDeviceType:
|
|
description: 'RootDeviceType is the type of the root volume.
|
|
Supported types of root volumes: 1. "pd-standard" - Standard
|
|
(HDD) persistent disk 2. "pd-ssd" - SSD persistent disk
|
|
Default is "pd-standard".'
|
|
type: string
|
|
serviceAccounts:
|
|
description: 'ServiceAccount specifies the service account
|
|
email and which scopes to assign to the machine. Defaults
|
|
to: email: "default", scope: []{compute.CloudPlatformScope}'
|
|
properties:
|
|
email:
|
|
description: 'Email: Email address of the service account.'
|
|
type: string
|
|
scopes:
|
|
description: 'Scopes: The list of scopes to be made available
|
|
for this service account.'
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
subnet:
|
|
description: Subnet is a reference to the subnetwork to use
|
|
for this instance. If not specified, the first subnetwork
|
|
retrieved from the Cluster Region and Network is picked.
|
|
type: string
|
|
required:
|
|
- instanceType
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
required:
|
|
- template
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: false
|
|
- name: v1beta1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: GCPMachineTemplate is the Schema for the gcpmachinetemplates
|
|
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: GCPMachineTemplateSpec defines the desired state of GCPMachineTemplate.
|
|
properties:
|
|
template:
|
|
description: GCPMachineTemplateResource describes the data needed
|
|
to create am GCPMachine from a template.
|
|
properties:
|
|
metadata:
|
|
description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Annotations is an unstructured key value map
|
|
stored with a resource that may be set by external tools
|
|
to store and retrieve arbitrary metadata. They are not queryable
|
|
and should be preserved when modifying objects. More info:
|
|
http://kubernetes.io/docs/user-guide/annotations'
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Map of string keys and values that can be used
|
|
to organize and categorize (scope and select) objects. May
|
|
match selectors of replication controllers and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels'
|
|
type: object
|
|
type: object
|
|
spec:
|
|
description: Spec is the specification of the desired behavior
|
|
of the machine.
|
|
properties:
|
|
additionalDisks:
|
|
description: AdditionalDisks are optional non-boot attached
|
|
disks.
|
|
items:
|
|
description: AttachedDiskSpec degined GCP machine disk.
|
|
properties:
|
|
deviceType:
|
|
description: 'DeviceType is a device type of the attached
|
|
disk. Supported types of non-root attached volumes:
|
|
1. "pd-standard" - Standard (HDD) persistent disk
|
|
2. "pd-ssd" - SSD persistent disk 3. "local-ssd" -
|
|
Local SSD disk (https://cloud.google.com/compute/docs/disks/local-ssd).
|
|
Default is "pd-standard".'
|
|
type: string
|
|
size:
|
|
description: Size is the size of the disk in GBs. Defaults
|
|
to 30GB. For "local-ssd" size is always 375GB.
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
type: array
|
|
additionalLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: AdditionalLabels is an optional set of tags to
|
|
add to an instance, in addition to the ones added by default
|
|
by the GCP provider. If both the GCPCluster and the GCPMachine
|
|
specify the same tag name with different values, the GCPMachine's
|
|
value takes precedence.
|
|
type: object
|
|
additionalMetadata:
|
|
description: AdditionalMetadata is an optional set of metadata
|
|
to add to an instance, in addition to the ones added by
|
|
default by the GCP provider.
|
|
items:
|
|
description: MetadataItem defines a single piece of metadata
|
|
associated with an instance.
|
|
properties:
|
|
key:
|
|
description: Key is the identifier for the metadata
|
|
entry.
|
|
type: string
|
|
value:
|
|
description: Value is the value of the metadata entry.
|
|
type: string
|
|
required:
|
|
- key
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- key
|
|
x-kubernetes-list-type: map
|
|
additionalNetworkTags:
|
|
description: AdditionalNetworkTags is a list of network tags
|
|
that should be applied to the instance. These tags are set
|
|
in addition to any network tags defined at the cluster level
|
|
or in the actuator.
|
|
items:
|
|
type: string
|
|
type: array
|
|
confidentialCompute:
|
|
description: ConfidentialCompute Defines whether the instance
|
|
should have confidential compute enabled. If enabled OnHostMaintenance
|
|
is required to be set to "Terminate". If omitted, the platform
|
|
chooses a default, which is subject to change over time,
|
|
currently that default is false.
|
|
enum:
|
|
- Enabled
|
|
- Disabled
|
|
type: string
|
|
image:
|
|
description: Image is the full reference to a valid image
|
|
to be used for this machine. Takes precedence over ImageFamily.
|
|
type: string
|
|
imageFamily:
|
|
description: ImageFamily is the full reference to a valid
|
|
image family to be used for this machine.
|
|
type: string
|
|
instanceType:
|
|
description: 'InstanceType is the type of instance to create.
|
|
Example: n1.standard-2'
|
|
type: string
|
|
ipForwarding:
|
|
default: Enabled
|
|
description: IPForwarding Allows this instance to send and
|
|
receive packets with non-matching destination or source
|
|
IPs. This is required if you plan to use this instance to
|
|
forward routes. Defaults to enabled.
|
|
enum:
|
|
- Enabled
|
|
- Disabled
|
|
type: string
|
|
onHostMaintenance:
|
|
description: OnHostMaintenance determines the behavior when
|
|
a maintenance event occurs that might cause the instance
|
|
to reboot. If omitted, the platform chooses a default, which
|
|
is subject to change over time, currently that default is
|
|
"Migrate".
|
|
enum:
|
|
- Migrate
|
|
- Terminate
|
|
type: string
|
|
preemptible:
|
|
description: Preemptible defines if instance is preemptible
|
|
type: boolean
|
|
providerID:
|
|
description: ProviderID is the unique identifier as specified
|
|
by the cloud provider.
|
|
type: string
|
|
publicIP:
|
|
description: PublicIP specifies whether the instance should
|
|
get a public IP. Set this to true if you don't have a NAT
|
|
instances or Cloud Nat setup.
|
|
type: boolean
|
|
rootDeviceSize:
|
|
description: RootDeviceSize is the size of the root volume
|
|
in GB. Defaults to 30.
|
|
format: int64
|
|
type: integer
|
|
rootDeviceType:
|
|
description: 'RootDeviceType is the type of the root volume.
|
|
Supported types of root volumes: 1. "pd-standard" - Standard
|
|
(HDD) persistent disk 2. "pd-ssd" - SSD persistent disk
|
|
Default is "pd-standard".'
|
|
type: string
|
|
serviceAccounts:
|
|
description: 'ServiceAccount specifies the service account
|
|
email and which scopes to assign to the machine. Defaults
|
|
to: email: "default", scope: []{compute.CloudPlatformScope}'
|
|
properties:
|
|
email:
|
|
description: 'Email: Email address of the service account.'
|
|
type: string
|
|
scopes:
|
|
description: 'Scopes: The list of scopes to be made available
|
|
for this service account.'
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
shieldedInstanceConfig:
|
|
description: ShieldedInstanceConfig is the Shielded VM configuration
|
|
for this machine
|
|
properties:
|
|
integrityMonitoring:
|
|
description: IntegrityMonitoring determines whether the
|
|
instance should have integrity monitoring that verify
|
|
the runtime boot integrity. Compares the most recent
|
|
boot measurements to the integrity policy baseline and
|
|
return a pair of pass/fail results depending on whether
|
|
they match or not. If omitted, the platform chooses
|
|
a default, which is subject to change over time, currently
|
|
that default is Enabled.
|
|
enum:
|
|
- Enabled
|
|
- Disabled
|
|
type: string
|
|
secureBoot:
|
|
description: SecureBoot Defines whether the instance should
|
|
have secure boot enabled. Secure Boot verify the digital
|
|
signature of all boot components, and halting the boot
|
|
process if signature verification fails. If omitted,
|
|
the platform chooses a default, which is subject to
|
|
change over time, currently that default is Disabled.
|
|
enum:
|
|
- Enabled
|
|
- Disabled
|
|
type: string
|
|
virtualizedTrustedPlatformModule:
|
|
description: VirtualizedTrustedPlatformModule enable virtualized
|
|
trusted platform module measurements to create a known
|
|
good boot integrity policy baseline. The integrity policy
|
|
baseline is used for comparison with measurements from
|
|
subsequent VM boots to determine if anything has changed.
|
|
If omitted, the platform chooses a default, which is
|
|
subject to change over time, currently that default
|
|
is Enabled.
|
|
enum:
|
|
- Enabled
|
|
- Disabled
|
|
type: string
|
|
type: object
|
|
subnet:
|
|
description: Subnet is a reference to the subnetwork to use
|
|
for this instance. If not specified, the first subnetwork
|
|
retrieved from the Cluster Region and Network is picked.
|
|
type: string
|
|
required:
|
|
- instanceType
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
required:
|
|
- template
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.11.3
|
|
creationTimestamp: null
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
cluster.x-k8s.io/v1beta1: v1beta1
|
|
name: gcpmanagedclusters.infrastructure.cluster.x-k8s.io
|
|
spec:
|
|
group: infrastructure.cluster.x-k8s.io
|
|
names:
|
|
categories:
|
|
- cluster-api
|
|
kind: GCPManagedCluster
|
|
listKind: GCPManagedClusterList
|
|
plural: gcpmanagedclusters
|
|
shortNames:
|
|
- gcpmc
|
|
singular: gcpmanagedcluster
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- description: Cluster to which this GCPCluster belongs
|
|
jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name
|
|
name: Cluster
|
|
type: string
|
|
- description: Cluster infrastructure is ready for GCE instances
|
|
jsonPath: .status.ready
|
|
name: Ready
|
|
type: string
|
|
- description: GCP network the cluster is using
|
|
jsonPath: .spec.network.name
|
|
name: Network
|
|
type: string
|
|
- description: API Endpoint
|
|
jsonPath: .status.apiEndpoints[0]
|
|
name: Endpoint
|
|
priority: 1
|
|
type: string
|
|
name: v1beta1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: GCPManagedCluster is the Schema for the gcpmanagedclusters 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: GCPManagedClusterSpec defines the desired state of GCPManagedCluster.
|
|
properties:
|
|
additionalLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: AdditionalLabels is an optional set of tags to add to
|
|
GCP resources managed by the GCP 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
|
|
credentialsRef:
|
|
description: CredentialsRef is a reference to a Secret that contains
|
|
the credentials to use for provisioning this cluster. If not supplied
|
|
then the credentials of the controller will be used.
|
|
properties:
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
|
type: string
|
|
namespace:
|
|
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
|
type: string
|
|
required:
|
|
- name
|
|
- namespace
|
|
type: object
|
|
network:
|
|
description: NetworkSpec encapsulates all things related to the GCP
|
|
network.
|
|
properties:
|
|
autoCreateSubnetworks:
|
|
description: "AutoCreateSubnetworks: When set to true, the VPC
|
|
network is created in \"auto\" mode. When set to false, the
|
|
VPC network is created in \"custom\" mode. \n An auto mode VPC
|
|
network starts with one subnet per region. Each subnet has a
|
|
predetermined range as described in Auto mode VPC network IP
|
|
ranges. \n Defaults to true."
|
|
type: boolean
|
|
loadBalancerBackendPort:
|
|
description: Allow for configuration of load balancer backend
|
|
(useful for changing apiserver port)
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
description: Name is the name of the network to be used.
|
|
type: string
|
|
subnets:
|
|
description: Subnets configuration.
|
|
items:
|
|
description: SubnetSpec configures an GCP Subnet.
|
|
properties:
|
|
cidrBlock:
|
|
description: CidrBlock is the range of internal addresses
|
|
that are owned by this subnetwork. Provide this property
|
|
when you create the subnetwork. For example, 10.0.0.0/8
|
|
or 192.168.0.0/16. Ranges must be unique and non-overlapping
|
|
within a network. Only IPv4 is supported. This field can
|
|
be set only at resource creation time.
|
|
type: string
|
|
description:
|
|
description: Description is an optional description associated
|
|
with the resource.
|
|
type: string
|
|
enableFlowLogs:
|
|
description: 'EnableFlowLogs: Whether to enable flow logging
|
|
for this subnetwork. If this field is not explicitly set,
|
|
it will not appear in get listings. If not set the default
|
|
behavior is to disable flow logging.'
|
|
type: boolean
|
|
name:
|
|
description: Name defines a unique identifier to reference
|
|
this resource.
|
|
type: string
|
|
privateGoogleAccess:
|
|
description: PrivateGoogleAccess defines whether VMs in
|
|
this subnet can access Google services without assigning
|
|
external IP addresses
|
|
type: boolean
|
|
purpose:
|
|
default: PRIVATE_RFC_1918
|
|
description: "Purpose: The purpose of the resource. If unspecified,
|
|
the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs
|
|
field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
|
|
\n Possible values: \"INTERNAL_HTTPS_LOAD_BALANCER\" -
|
|
Subnet reserved for Internal HTTP(S) Load Balancing. \"PRIVATE\"
|
|
- Regular user created or automatically created subnet.
|
|
\"PRIVATE_RFC_1918\" - Regular user created or automatically
|
|
created subnet. \"PRIVATE_SERVICE_CONNECT\" - Subnetworks
|
|
created for Private Service Connect in the producer network.
|
|
\"REGIONAL_MANAGED_PROXY\" - Subnetwork used for Regional
|
|
Internal/External HTTP(S) Load Balancing."
|
|
enum:
|
|
- INTERNAL_HTTPS_LOAD_BALANCER
|
|
- PRIVATE_RFC_1918
|
|
- PRIVATE
|
|
- PRIVATE_SERVICE_CONNECT
|
|
- REGIONAL_MANAGED_PROXY
|
|
type: string
|
|
region:
|
|
description: Region is the name of the region where the
|
|
Subnetwork resides.
|
|
type: string
|
|
secondaryCidrBlocks:
|
|
additionalProperties:
|
|
type: string
|
|
description: SecondaryCidrBlocks defines secondary CIDR
|
|
ranges, from which secondary IP ranges of a VM may be
|
|
allocated
|
|
type: object
|
|
type: object
|
|
type: array
|
|
type: object
|
|
project:
|
|
description: Project is the name of the project to deploy the cluster
|
|
to.
|
|
type: string
|
|
region:
|
|
description: The GCP Region the cluster lives in.
|
|
type: string
|
|
required:
|
|
- project
|
|
- region
|
|
type: object
|
|
status:
|
|
description: GCPManagedClusterStatus defines the observed state of GCPManagedCluster.
|
|
properties:
|
|
conditions:
|
|
description: Conditions specifies the conditions for the managed control
|
|
plane
|
|
items:
|
|
description: Condition defines an observation of a Cluster API resource
|
|
operational state.
|
|
properties:
|
|
lastTransitionTime:
|
|
description: Last time the condition transitioned from one status
|
|
to another. This should be when the underlying condition changed.
|
|
If that is not known, then using the time when the API field
|
|
changed is acceptable.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: A human readable message indicating details about
|
|
the transition. This field may be empty.
|
|
type: string
|
|
reason:
|
|
description: The reason for the condition's last transition
|
|
in CamelCase. The specific API may choose whether or not this
|
|
field is considered a guaranteed API. This field may not be
|
|
empty.
|
|
type: string
|
|
severity:
|
|
description: Severity provides an explicit classification of
|
|
Reason code, so the users or machines can immediately understand
|
|
the current situation and act accordingly. The Severity field
|
|
MUST be set only when Status=False.
|
|
type: string
|
|
status:
|
|
description: Status of the condition, one of True, False, Unknown.
|
|
type: string
|
|
type:
|
|
description: Type of condition in CamelCase or in foo.example.com/CamelCase.
|
|
Many .condition.type values are consistent across resources
|
|
like Available, but because arbitrary conditions can be useful
|
|
(see .node.status.conditions), the ability to deconflict is
|
|
important.
|
|
type: string
|
|
required:
|
|
- lastTransitionTime
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
failureDomains:
|
|
additionalProperties:
|
|
description: FailureDomainSpec is the Schema for Cluster API failure
|
|
domains. It allows controllers to understand how many failure
|
|
domains a cluster can optionally span across.
|
|
properties:
|
|
attributes:
|
|
additionalProperties:
|
|
type: string
|
|
description: Attributes is a free form map of attributes an
|
|
infrastructure provider might use or require.
|
|
type: object
|
|
controlPlane:
|
|
description: ControlPlane determines if this failure domain
|
|
is suitable for use by control plane machines.
|
|
type: boolean
|
|
type: object
|
|
description: FailureDomains is a slice of FailureDomains.
|
|
type: object
|
|
network:
|
|
description: Network encapsulates GCP networking resources.
|
|
properties:
|
|
apiServerBackendService:
|
|
description: APIServerBackendService is the full reference to
|
|
the backend service created for the API Server.
|
|
type: string
|
|
apiServerForwardingRule:
|
|
description: APIServerForwardingRule is the full reference to
|
|
the forwarding rule created for the API Server.
|
|
type: string
|
|
apiServerHealthCheck:
|
|
description: APIServerHealthCheck is the full reference to the
|
|
health check created for the API Server.
|
|
type: string
|
|
apiServerInstanceGroups:
|
|
additionalProperties:
|
|
type: string
|
|
description: APIServerInstanceGroups is a map from zone to the
|
|
full reference to the instance groups created for the control
|
|
plane nodes created in the same zone.
|
|
type: object
|
|
apiServerIpAddress:
|
|
description: APIServerAddress is the IPV4 global address assigned
|
|
to the load balancer created for the API Server.
|
|
type: string
|
|
apiServerTargetProxy:
|
|
description: APIServerTargetProxy is the full reference to the
|
|
target proxy created for the API Server.
|
|
type: string
|
|
firewallRules:
|
|
additionalProperties:
|
|
type: string
|
|
description: FirewallRules is a map from the name of the rule
|
|
to its full reference.
|
|
type: object
|
|
router:
|
|
description: Router is the full reference to the router created
|
|
within the network it'll contain the cloud nat gateway
|
|
type: string
|
|
selfLink:
|
|
description: SelfLink is the link to the Network used for this
|
|
cluster.
|
|
type: string
|
|
type: object
|
|
ready:
|
|
type: boolean
|
|
required:
|
|
- ready
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.11.3
|
|
creationTimestamp: null
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
cluster.x-k8s.io/v1beta1: v1beta1
|
|
name: gcpmanagedcontrolplanes.infrastructure.cluster.x-k8s.io
|
|
spec:
|
|
group: infrastructure.cluster.x-k8s.io
|
|
names:
|
|
categories:
|
|
- cluster-api
|
|
kind: GCPManagedControlPlane
|
|
listKind: GCPManagedControlPlaneList
|
|
plural: gcpmanagedcontrolplanes
|
|
shortNames:
|
|
- gcpmcp
|
|
singular: gcpmanagedcontrolplane
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- description: Cluster to which this GCPManagedControlPlane belongs
|
|
jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name
|
|
name: Cluster
|
|
type: string
|
|
- description: Control plane is ready
|
|
jsonPath: .status.ready
|
|
name: Ready
|
|
type: string
|
|
- description: The current Kubernetes version
|
|
jsonPath: .status.currentVersion
|
|
name: CurrentVersion
|
|
type: string
|
|
- description: API Endpoint
|
|
jsonPath: .spec.endpoint
|
|
name: Endpoint
|
|
priority: 1
|
|
type: string
|
|
name: v1beta1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: GCPManagedControlPlane is the Schema for the gcpmanagedcontrolplanes
|
|
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: GCPManagedControlPlaneSpec defines the desired state of GCPManagedControlPlane.
|
|
properties:
|
|
clusterName:
|
|
description: ClusterName allows you to specify the name of the GKE
|
|
cluster. If you don't specify a name then a default name will be
|
|
created based on the namespace and name of the managed control plane.
|
|
type: string
|
|
controlPlaneVersion:
|
|
description: ControlPlaneVersion represents the control plane version
|
|
of the GKE cluster. If not specified, the default version currently
|
|
supported by GKE will be used.
|
|
type: string
|
|
enableAutopilot:
|
|
description: EnableAutopilot indicates whether to enable autopilot
|
|
for this GKE cluster.
|
|
type: boolean
|
|
endpoint:
|
|
description: Endpoint 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
|
|
location:
|
|
description: Location represents the location (region or zone) in
|
|
which the GKE cluster will be created.
|
|
type: string
|
|
master_authorized_networks_config:
|
|
description: MasterAuthorizedNetworksConfig represents configuration
|
|
options for master authorized networks feature of the GKE cluster.
|
|
This feature is disabled if this field is not specified.
|
|
properties:
|
|
cidr_blocks:
|
|
description: cidr_blocks define up to 50 external networks that
|
|
could access Kubernetes master through HTTPS.
|
|
items:
|
|
description: MasterAuthorizedNetworksConfigCidrBlock contains
|
|
an optional name and one CIDR block.
|
|
properties:
|
|
cidr_block:
|
|
description: cidr_block must be specified in CIDR notation.
|
|
pattern: ^(?:[0-9]{1,3}\.){3}[0-9]{1,3}(?:\/([0-9]|[1-2][0-9]|3[0-2]))?$|^([a-fA-F0-9:]+:+)+[a-fA-F0-9]+\/[0-9]{1,3}$
|
|
type: string
|
|
display_name:
|
|
description: display_name is an field for users to identify
|
|
CIDR blocks.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
gcp_public_cidrs_access_enabled:
|
|
description: Whether master is accessible via Google Compute Engine
|
|
Public IP addresses.
|
|
type: boolean
|
|
type: object
|
|
project:
|
|
description: Project is the name of the project to deploy the cluster
|
|
to.
|
|
type: string
|
|
releaseChannel:
|
|
description: ReleaseChannel represents the release channel of the
|
|
GKE cluster.
|
|
enum:
|
|
- rapid
|
|
- regular
|
|
- stable
|
|
type: string
|
|
required:
|
|
- location
|
|
- project
|
|
type: object
|
|
status:
|
|
description: GCPManagedControlPlaneStatus defines the observed state of
|
|
GCPManagedControlPlane.
|
|
properties:
|
|
conditions:
|
|
description: Conditions specifies the conditions for the managed control
|
|
plane
|
|
items:
|
|
description: Condition defines an observation of a Cluster API resource
|
|
operational state.
|
|
properties:
|
|
lastTransitionTime:
|
|
description: Last time the condition transitioned from one status
|
|
to another. This should be when the underlying condition changed.
|
|
If that is not known, then using the time when the API field
|
|
changed is acceptable.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: A human readable message indicating details about
|
|
the transition. This field may be empty.
|
|
type: string
|
|
reason:
|
|
description: The reason for the condition's last transition
|
|
in CamelCase. The specific API may choose whether or not this
|
|
field is considered a guaranteed API. This field may not be
|
|
empty.
|
|
type: string
|
|
severity:
|
|
description: Severity provides an explicit classification of
|
|
Reason code, so the users or machines can immediately understand
|
|
the current situation and act accordingly. The Severity field
|
|
MUST be set only when Status=False.
|
|
type: string
|
|
status:
|
|
description: Status of the condition, one of True, False, Unknown.
|
|
type: string
|
|
type:
|
|
description: Type of condition in CamelCase or in foo.example.com/CamelCase.
|
|
Many .condition.type values are consistent across resources
|
|
like Available, but because arbitrary conditions can be useful
|
|
(see .node.status.conditions), the ability to deconflict is
|
|
important.
|
|
type: string
|
|
required:
|
|
- lastTransitionTime
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
currentVersion:
|
|
description: CurrentVersion shows the current version of the GKE control
|
|
plane.
|
|
type: string
|
|
initialized:
|
|
description: Initialized is true when the control plane is available
|
|
for initial contact. This may occur before the control plane is
|
|
fully ready.
|
|
type: boolean
|
|
ready:
|
|
default: false
|
|
description: Ready denotes that the GCPManagedControlPlane API Server
|
|
is ready to receive requests.
|
|
type: boolean
|
|
required:
|
|
- ready
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.11.3
|
|
creationTimestamp: null
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
cluster.x-k8s.io/v1beta1: v1beta1
|
|
name: gcpmanagedmachinepools.infrastructure.cluster.x-k8s.io
|
|
spec:
|
|
group: infrastructure.cluster.x-k8s.io
|
|
names:
|
|
categories:
|
|
- cluster-api
|
|
kind: GCPManagedMachinePool
|
|
listKind: GCPManagedMachinePoolList
|
|
plural: gcpmanagedmachinepools
|
|
shortNames:
|
|
- gcpmmp
|
|
singular: gcpmanagedmachinepool
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .spec.mode
|
|
name: Mode
|
|
type: string
|
|
name: v1beta1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: GCPManagedMachinePool is the Schema for the gcpmanagedmachinepools
|
|
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: GCPManagedMachinePoolSpec defines the desired state of GCPManagedMachinePool.
|
|
properties:
|
|
additionalLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: AdditionalLabels is an optional set of tags to add to
|
|
GCP resources managed by the GCP provider, in addition to the ones
|
|
added by default.
|
|
type: object
|
|
kubernetesLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: KubernetesLabels specifies the labels to apply to the
|
|
nodes of the node pool.
|
|
type: object
|
|
kubernetesTaints:
|
|
description: KubernetesTaints specifies the taints to apply to the
|
|
nodes of the node pool.
|
|
items:
|
|
description: Taint represents a Kubernetes taint.
|
|
properties:
|
|
effect:
|
|
description: Effect specifies the effect for the taint.
|
|
enum:
|
|
- NoSchedule
|
|
- NoExecute
|
|
- PreferNoSchedule
|
|
type: string
|
|
key:
|
|
description: Key is the key of the taint
|
|
type: string
|
|
value:
|
|
description: Value is the value of the taint
|
|
type: string
|
|
required:
|
|
- effect
|
|
- key
|
|
- value
|
|
type: object
|
|
type: array
|
|
nodePoolName:
|
|
description: NodePoolName specifies the name of the GKE node pool
|
|
corresponding to this MachinePool. If you don't specify a name then
|
|
a default name will be created based on the namespace and name of
|
|
the managed machine pool.
|
|
type: string
|
|
providerIDList:
|
|
description: ProviderIDList are the provider IDs of instances in the
|
|
managed instance group corresponding to the nodegroup represented
|
|
by this machine pool
|
|
items:
|
|
type: string
|
|
type: array
|
|
scaling:
|
|
description: Scaling specifies scaling for the node pool
|
|
properties:
|
|
maxCount:
|
|
format: int32
|
|
type: integer
|
|
minCount:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
type: object
|
|
status:
|
|
description: GCPManagedMachinePoolStatus defines the observed state of
|
|
GCPManagedMachinePool.
|
|
properties:
|
|
conditions:
|
|
description: Conditions specifies the cpnditions for the managed machine
|
|
pool
|
|
items:
|
|
description: Condition defines an observation of a Cluster API resource
|
|
operational state.
|
|
properties:
|
|
lastTransitionTime:
|
|
description: Last time the condition transitioned from one status
|
|
to another. This should be when the underlying condition changed.
|
|
If that is not known, then using the time when the API field
|
|
changed is acceptable.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: A human readable message indicating details about
|
|
the transition. This field may be empty.
|
|
type: string
|
|
reason:
|
|
description: The reason for the condition's last transition
|
|
in CamelCase. The specific API may choose whether or not this
|
|
field is considered a guaranteed API. This field may not be
|
|
empty.
|
|
type: string
|
|
severity:
|
|
description: Severity provides an explicit classification of
|
|
Reason code, so the users or machines can immediately understand
|
|
the current situation and act accordingly. The Severity field
|
|
MUST be set only when Status=False.
|
|
type: string
|
|
status:
|
|
description: Status of the condition, one of True, False, Unknown.
|
|
type: string
|
|
type:
|
|
description: Type of condition in CamelCase or in foo.example.com/CamelCase.
|
|
Many .condition.type values are consistent across resources
|
|
like Available, but because arbitrary conditions can be useful
|
|
(see .node.status.conditions), the ability to deconflict is
|
|
important.
|
|
type: string
|
|
required:
|
|
- lastTransitionTime
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
ready:
|
|
type: boolean
|
|
replicas:
|
|
description: Replicas is the most recently observed number of replicas.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- ready
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
name: capg-manager
|
|
namespace: capg-system
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
name: capg-leader-election-role
|
|
namespace: capg-system
|
|
rules:
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- configmaps
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- create
|
|
- update
|
|
- patch
|
|
- delete
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- configmaps/status
|
|
verbs:
|
|
- get
|
|
- update
|
|
- patch
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- events
|
|
verbs:
|
|
- create
|
|
- apiGroups:
|
|
- coordination.k8s.io
|
|
resources:
|
|
- leases
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- create
|
|
- update
|
|
- patch
|
|
- delete
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
creationTimestamp: null
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
name: capg-manager-role
|
|
rules:
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- events
|
|
verbs:
|
|
- create
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- secrets
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- cluster.x-k8s.io
|
|
resources:
|
|
- clusters
|
|
- clusters/status
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- cluster.x-k8s.io
|
|
resources:
|
|
- machinepools
|
|
- machinepools/status
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- cluster.x-k8s.io
|
|
resources:
|
|
- machines
|
|
- machines/status
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
resources:
|
|
- gcpclusters
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
resources:
|
|
- gcpclusters/status
|
|
verbs:
|
|
- get
|
|
- patch
|
|
- update
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
resources:
|
|
- gcpmachines
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
resources:
|
|
- gcpmachines/status
|
|
verbs:
|
|
- get
|
|
- patch
|
|
- update
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
resources:
|
|
- gcpmanagedclusters
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
resources:
|
|
- gcpmanagedclusters/finalizers
|
|
verbs:
|
|
- update
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
resources:
|
|
- gcpmanagedclusters/status
|
|
verbs:
|
|
- get
|
|
- patch
|
|
- update
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
resources:
|
|
- gcpmanagedcontrolplanes
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
resources:
|
|
- gcpmanagedcontrolplanes/finalizers
|
|
verbs:
|
|
- update
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
resources:
|
|
- gcpmanagedcontrolplanes/status
|
|
verbs:
|
|
- get
|
|
- patch
|
|
- update
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
resources:
|
|
- gcpmanagedmachinepools
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
resources:
|
|
- gcpmanagedmachinepools/finalizers
|
|
verbs:
|
|
- update
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
resources:
|
|
- gcpmanagedmachinepools/status
|
|
verbs:
|
|
- get
|
|
- patch
|
|
- update
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
name: capg-leader-election-rolebinding
|
|
namespace: capg-system
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: capg-leader-election-role
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: capg-manager
|
|
namespace: capg-system
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
name: capg-manager-rolebinding
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: capg-manager-role
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: capg-manager
|
|
namespace: capg-system
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
name: capg-webhook-service
|
|
namespace: capg-system
|
|
spec:
|
|
ports:
|
|
- port: 443
|
|
targetPort: webhook-server
|
|
selector:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
control-plane: capg-controller-manager
|
|
name: capg-controller-manager
|
|
namespace: capg-system
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
control-plane: capg-controller-manager
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
kubectl.kubernetes.io/default-container: manager
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
control-plane: capg-controller-manager
|
|
spec:
|
|
affinity:
|
|
nodeAffinity:
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
nodeSelectorTerms:
|
|
- matchExpressions:
|
|
- key: node-role.kubernetes.io/control-plane
|
|
operator: Exists
|
|
- matchExpressions:
|
|
- key: node-role.kubernetes.io/master
|
|
operator: Exists
|
|
containers:
|
|
- args:
|
|
- --leader-elect
|
|
- --feature-gates=GKE=false
|
|
- --metrics-bind-addr=localhost:8080
|
|
- --v=0
|
|
env:
|
|
- name: NODE_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: spec.nodeName
|
|
- name: POD_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: POD_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.namespace
|
|
image: registry.k8s.io/cluster-api-gcp/cluster-api-gcp-controller:v1.5.0
|
|
imagePullPolicy: IfNotPresent
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /healthz
|
|
port: healthz
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 10
|
|
name: manager
|
|
ports:
|
|
- containerPort: 9443
|
|
name: webhook-server
|
|
protocol: TCP
|
|
- containerPort: 9440
|
|
name: healthz
|
|
protocol: TCP
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /readyz
|
|
port: healthz
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 10
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
runAsGroup: 65532
|
|
runAsUser: 65532
|
|
volumeMounts:
|
|
- mountPath: /tmp/k8s-webhook-server/serving-certs
|
|
name: cert
|
|
readOnly: true
|
|
serviceAccountName: capg-manager
|
|
terminationGracePeriodSeconds: 10
|
|
tolerations:
|
|
- effect: NoSchedule
|
|
key: node-role.kubernetes.io/master
|
|
- effect: NoSchedule
|
|
key: node-role.kubernetes.io/control-plane
|
|
volumes:
|
|
- name: cert
|
|
secret:
|
|
defaultMode: 420
|
|
secretName: capg-webhook-service-cert
|
|
---
|
|
apiVersion: cert-manager.io/v1
|
|
kind: Certificate
|
|
metadata:
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
name: capg-serving-cert
|
|
namespace: capg-system
|
|
spec:
|
|
dnsNames:
|
|
- capg-webhook-service.capg-system.svc
|
|
- capg-webhook-service.capg-system.svc.cluster.local
|
|
issuerRef:
|
|
kind: Issuer
|
|
name: capg-selfsigned-issuer
|
|
secretName: capg-webhook-service-cert
|
|
---
|
|
apiVersion: cert-manager.io/v1
|
|
kind: Issuer
|
|
metadata:
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
name: capg-selfsigned-issuer
|
|
namespace: capg-system
|
|
spec:
|
|
selfSigned: {}
|
|
---
|
|
apiVersion: admissionregistration.k8s.io/v1
|
|
kind: MutatingWebhookConfiguration
|
|
metadata:
|
|
annotations:
|
|
cert-manager.io/inject-ca-from: capg-system/capg-serving-cert
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
name: capg-mutating-webhook-configuration
|
|
webhooks:
|
|
- admissionReviewVersions:
|
|
- v1beta1
|
|
clientConfig:
|
|
service:
|
|
name: capg-webhook-service
|
|
namespace: capg-system
|
|
path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-gcpcluster
|
|
failurePolicy: Fail
|
|
matchPolicy: Equivalent
|
|
name: default.gcpcluster.infrastructure.cluster.x-k8s.io
|
|
rules:
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
apiVersions:
|
|
- v1beta1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- gcpclusters
|
|
sideEffects: None
|
|
- admissionReviewVersions:
|
|
- v1beta1
|
|
clientConfig:
|
|
service:
|
|
name: capg-webhook-service
|
|
namespace: capg-system
|
|
path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-gcpclustertemplate
|
|
failurePolicy: Fail
|
|
matchPolicy: Equivalent
|
|
name: default.gcpclustertemplate.infrastructure.cluster.x-k8s.io
|
|
rules:
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
apiVersions:
|
|
- v1beta1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- gcpclustertemplates
|
|
sideEffects: None
|
|
- admissionReviewVersions:
|
|
- v1beta1
|
|
clientConfig:
|
|
service:
|
|
name: capg-webhook-service
|
|
namespace: capg-system
|
|
path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-gcpmachine
|
|
failurePolicy: Fail
|
|
matchPolicy: Equivalent
|
|
name: default.gcpmachine.infrastructure.cluster.x-k8s.io
|
|
rules:
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
apiVersions:
|
|
- v1beta1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- gcpmachines
|
|
sideEffects: None
|
|
- admissionReviewVersions:
|
|
- v1beta1
|
|
clientConfig:
|
|
service:
|
|
name: capg-webhook-service
|
|
namespace: capg-system
|
|
path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-gcpmachinetemplate
|
|
failurePolicy: Fail
|
|
matchPolicy: Equivalent
|
|
name: default.gcpmachinetemplate.infrastructure.cluster.x-k8s.io
|
|
rules:
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
apiVersions:
|
|
- v1beta1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- gcpmachinetemplates
|
|
sideEffects: None
|
|
- admissionReviewVersions:
|
|
- v1
|
|
clientConfig:
|
|
service:
|
|
name: capg-webhook-service
|
|
namespace: capg-system
|
|
path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-gcpmanagedcluster
|
|
failurePolicy: Fail
|
|
name: mgcpmanagedcluster.kb.io
|
|
rules:
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
apiVersions:
|
|
- v1beta1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- gcpmanagedclusters
|
|
sideEffects: None
|
|
- admissionReviewVersions:
|
|
- v1
|
|
clientConfig:
|
|
service:
|
|
name: capg-webhook-service
|
|
namespace: capg-system
|
|
path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-gcpmanagedcontrolplane
|
|
failurePolicy: Fail
|
|
name: mgcpmanagedcontrolplane.kb.io
|
|
rules:
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
apiVersions:
|
|
- v1beta1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- gcpmanagedcontrolplanes
|
|
sideEffects: None
|
|
- admissionReviewVersions:
|
|
- v1
|
|
clientConfig:
|
|
service:
|
|
name: capg-webhook-service
|
|
namespace: capg-system
|
|
path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-gcpmanagedmachinepool
|
|
failurePolicy: Fail
|
|
name: mgcpmanagedmachinepool.kb.io
|
|
rules:
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
apiVersions:
|
|
- v1beta1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- gcpmanagedmachinepools
|
|
sideEffects: None
|
|
---
|
|
apiVersion: admissionregistration.k8s.io/v1
|
|
kind: ValidatingWebhookConfiguration
|
|
metadata:
|
|
annotations:
|
|
cert-manager.io/inject-ca-from: capg-system/capg-serving-cert
|
|
labels:
|
|
cluster.x-k8s.io/provider: infrastructure-gcp
|
|
name: capg-validating-webhook-configuration
|
|
webhooks:
|
|
- admissionReviewVersions:
|
|
- v1beta1
|
|
clientConfig:
|
|
service:
|
|
name: capg-webhook-service
|
|
namespace: capg-system
|
|
path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-gcpcluster
|
|
failurePolicy: Fail
|
|
matchPolicy: Equivalent
|
|
name: validation.gcpcluster.infrastructure.cluster.x-k8s.io
|
|
rules:
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
apiVersions:
|
|
- v1beta1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- gcpclusters
|
|
sideEffects: None
|
|
- admissionReviewVersions:
|
|
- v1beta1
|
|
clientConfig:
|
|
service:
|
|
name: capg-webhook-service
|
|
namespace: capg-system
|
|
path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-gcpclustertemplate
|
|
failurePolicy: Fail
|
|
matchPolicy: Equivalent
|
|
name: validation.gcpclustertemplate.infrastructure.cluster.x-k8s.io
|
|
rules:
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
apiVersions:
|
|
- v1beta1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- gcpclustertemplates
|
|
sideEffects: None
|
|
- admissionReviewVersions:
|
|
- v1beta1
|
|
clientConfig:
|
|
service:
|
|
name: capg-webhook-service
|
|
namespace: capg-system
|
|
path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-gcpmachine
|
|
failurePolicy: Fail
|
|
matchPolicy: Equivalent
|
|
name: validation.gcpmachine.infrastructure.cluster.x-k8s.io
|
|
rules:
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
apiVersions:
|
|
- v1beta1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- gcpmachines
|
|
sideEffects: None
|
|
- admissionReviewVersions:
|
|
- v1beta1
|
|
clientConfig:
|
|
service:
|
|
name: capg-webhook-service
|
|
namespace: capg-system
|
|
path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-gcpmachinetemplate
|
|
failurePolicy: Fail
|
|
matchPolicy: Equivalent
|
|
name: validation.gcpmachinetemplate.infrastructure.cluster.x-k8s.io
|
|
rules:
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
apiVersions:
|
|
- v1beta1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- gcpmachinetemplates
|
|
sideEffects: None
|
|
- admissionReviewVersions:
|
|
- v1
|
|
clientConfig:
|
|
service:
|
|
name: capg-webhook-service
|
|
namespace: capg-system
|
|
path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-gcpmanagedcluster
|
|
failurePolicy: Fail
|
|
name: vgcpmanagedcluster.kb.io
|
|
rules:
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
apiVersions:
|
|
- v1beta1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- gcpmanagedclusters
|
|
sideEffects: None
|
|
- admissionReviewVersions:
|
|
- v1
|
|
clientConfig:
|
|
service:
|
|
name: capg-webhook-service
|
|
namespace: capg-system
|
|
path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-gcpmanagedcontrolplane
|
|
failurePolicy: Fail
|
|
name: vgcpmanagedcontrolplane.kb.io
|
|
rules:
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
apiVersions:
|
|
- v1beta1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- gcpmanagedcontrolplanes
|
|
sideEffects: None
|
|
- admissionReviewVersions:
|
|
- v1
|
|
clientConfig:
|
|
service:
|
|
name: capg-webhook-service
|
|
namespace: capg-system
|
|
path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-gcpmanagedmachinepool
|
|
failurePolicy: Fail
|
|
name: vgcpmanagedmachinepool.kb.io
|
|
rules:
|
|
- apiGroups:
|
|
- infrastructure.cluster.x-k8s.io
|
|
apiVersions:
|
|
- v1beta1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- gcpmanagedmachinepools
|
|
sideEffects: None
|