Skip to content

Commit

Permalink
Project Test CAPD Initial Commit
Browse files Browse the repository at this point in the history
  • Loading branch information
rkjain committed Jul 24, 2020
0 parents commit 2ab5c07
Show file tree
Hide file tree
Showing 35 changed files with 1,028 additions and 0 deletions.
24 changes: 24 additions & 0 deletions certmanager/certificate.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# The following manifests contain a self-signed issuer CR and a certificate CR.
# More document can be found at https://docs.cert-manager.io
apiVersion: cert-manager.io/v1alpha2
kind: Issuer
metadata:
name: selfsigned-issuer
namespace: system
spec:
selfSigned: {}
---
apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
name: serving-cert # this name should match the one appeared in kustomizeconfig.yaml
namespace: system
spec:
# $(SERVICE_NAME) and $(SERVICE_NAMESPACE) will be substituted by kustomize
dnsNames:
- $(SERVICE_NAME).$(SERVICE_NAMESPACE).svc
- $(SERVICE_NAME).$(SERVICE_NAMESPACE).svc.cluster.local
issuerRef:
kind: Issuer
name: selfsigned-issuer
secretName: $(SERVICE_NAME)-cert # this secret will not be prefixed, since it's not managed by kustomize
8 changes: 8 additions & 0 deletions certmanager/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- certificate.yaml

configurations:
- kustomizeconfig.yaml
19 changes: 19 additions & 0 deletions certmanager/kustomizeconfig.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# This configuration is for teaching kustomize how to update name ref and var substitution
nameReference:
- kind: Issuer
group: cert-manager.io
fieldSpecs:
- kind: Certificate
group: cert-manager.io
path: spec/issuerRef/name

varReference:
- kind: Certificate
group: cert-manager.io
path: spec/commonName
- kind: Certificate
group: cert-manager.io
path: spec/dnsNames
- kind: Certificate
group: cert-manager.io
path: spec/secretName
164 changes: 164 additions & 0 deletions crd/bases/infrastructure.cluster.x-k8s.io_dockerclusters.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.9
creationTimestamp: null
name: dockerclusters.infrastructure.cluster.x-k8s.io
spec:
group: infrastructure.cluster.x-k8s.io
names:
categories:
- cluster-api
kind: DockerCluster
listKind: DockerClusterList
plural: dockerclusters
singular: dockercluster
scope: Namespaced
versions:
- name: v1alpha3
schema:
openAPIV3Schema:
description: DockerCluster is the Schema for the dockerclusters 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: DockerClusterSpec defines the desired state of DockerCluster.
properties:
controlPlaneEndpoint:
description: ControlPlaneEndpoint represents the endpoint used to
communicate with the control plane.
properties:
host:
description: Host is the hostname on which the API server is serving.
type: string
port:
description: Port is the port on which the API server is serving.
type: integer
required:
- host
- port
type: object
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 are not usulaly defined on the spec. The
docker provider is special since failure domains don't mean anything
in a local docker environment. Instead, the docker cluster controller
will simply copy these into the Status and allow the Cluster API
controllers to do what they will with the defined failure domains.
type: object
type: object
status:
description: DockerClusterStatus defines the observed state of DockerCluster.
properties:
conditions:
description: Conditions defines current service state of the DockerCluster.
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:
- 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 don't mean much in CAPD since it's all
local, but we can see how the rest of cluster API will use this
if we populate it.
type: object
ready:
description: Ready denotes that the docker cluster (infrastructure)
is ready.
type: boolean
required:
- ready
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
148 changes: 148 additions & 0 deletions crd/bases/infrastructure.cluster.x-k8s.io_dockermachines.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.9
creationTimestamp: null
name: dockermachines.infrastructure.cluster.x-k8s.io
spec:
group: infrastructure.cluster.x-k8s.io
names:
categories:
- cluster-api
kind: DockerMachine
listKind: DockerMachineList
plural: dockermachines
singular: dockermachine
scope: Namespaced
versions:
- name: v1alpha3
schema:
openAPIV3Schema:
description: DockerMachine is the Schema for the dockermachines 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: DockerMachineSpec defines the desired state of DockerMachine
properties:
bootstrapped:
description: Bootstrapped is true when the kubeadm bootstrapping has
been run against this machine
type: boolean
customImage:
description: CustomImage allows customizing the container image that
is used for running the machine
type: string
extraMounts:
description: ExtraMounts describes additional mount points for the
node container These may be used to bind a hostPath
items:
description: Mount specifies a host volume to mount into a container.
This is a simplified version of kind v1alpha4.Mount types
properties:
containerPath:
description: Path of the mount within the container.
type: string
hostPath:
description: Path of the mount on the host. If the hostPath
doesn't exist, then runtimes should report error. If the hostpath
is a symbolic link, runtimes should follow the symlink and
mount the real destination to container.
type: string
readOnly:
description: If set, the mount is read-only.
type: boolean
type: object
type: array
preLoadImages:
description: PreLoadImages allows to pre-load images in a newly created
machine. This can be used to speed up tests by avoiding e.g. to
download CNI images on all the containers.
items:
type: string
type: array
providerID:
description: ProviderID will be the container name in ProviderID format
(docker:////<containername>)
type: string
type: object
status:
description: DockerMachineStatus defines the observed state of DockerMachine
properties:
conditions:
description: Conditions defines current service state of the DockerMachine.
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:
- status
- type
type: object
type: array
loadBalancerConfigured:
description: LoadBalancerConfigured denotes that the machine has been
added to the load balancer
type: boolean
ready:
description: Ready denotes that the machine (docker container) is
ready
type: boolean
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
Loading

0 comments on commit 2ab5c07

Please sign in to comment.