mirror of
https://github.com/ysoftdevs/gardener-extension-shoot-fleet-agent.git
synced 2026-04-20 23:41:50 +02:00
Initial v1.0.0 commit
This commit is contained in:
5
example/00-config.yaml
Normal file
5
example/00-config.yaml
Normal file
@@ -0,0 +1,5 @@
|
||||
apiVersion: shoot-fleet-agent-service.extensions.config.gardener.cloud/v1alpha1
|
||||
kind: FleetAgentConfig
|
||||
clientConnection:
|
||||
kubeconfig: #base64 encoded kubeconfig
|
||||
namespace: clusters #namespace to register clusters in fleet manager cluster
|
||||
186
example/10-fake-shoot-controlplane.yaml
Normal file
186
example/10-fake-shoot-controlplane.yaml
Normal file
File diff suppressed because one or more lines are too long
23
example/20-crd-cluster.yaml
Normal file
23
example/20-crd-cluster.yaml
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: clusters.extensions.gardener.cloud
|
||||
spec:
|
||||
group: extensions.gardener.cloud
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
version: v1alpha1
|
||||
scope: Cluster
|
||||
names:
|
||||
plural: clusters
|
||||
singular: cluster
|
||||
kind: Cluster
|
||||
additionalPrinterColumns:
|
||||
- name: Age
|
||||
type: date
|
||||
JSONPath: .metadata.creationTimestamp
|
||||
subresources:
|
||||
status: {}
|
||||
120
example/20-crd-extension.yaml
Normal file
120
example/20-crd-extension.yaml
Normal file
@@ -0,0 +1,120 @@
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: extensions.extensions.gardener.cloud
|
||||
spec:
|
||||
group: extensions.gardener.cloud
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
version: v1alpha1
|
||||
scope: Namespaced
|
||||
names:
|
||||
plural: extensions
|
||||
singular: extension
|
||||
kind: Extension
|
||||
shortNames:
|
||||
- ext
|
||||
additionalPrinterColumns:
|
||||
- name: Type
|
||||
type: string
|
||||
description: The type of the Extension resource.
|
||||
JSONPath: .spec.type
|
||||
- name: State
|
||||
type: string
|
||||
JSONPath: .status.lastOperation.state
|
||||
- name: Age
|
||||
type: date
|
||||
JSONPath: .metadata.creationTimestamp
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
properties:
|
||||
apiVersion:
|
||||
description: 'APIVersion defines the versioned schema of this representation
|
||||
of an object. Servers should convert recognized schemas to the latest
|
||||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/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/api-conventions.md#types-kinds'
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
properties:
|
||||
type:
|
||||
description: Type contains the instance of the resource's kind.
|
||||
type: string
|
||||
providerConfig:
|
||||
description: ProviderConfig holds the configuration for the acting extension controller.
|
||||
type: object
|
||||
required:
|
||||
- type
|
||||
status:
|
||||
properties:
|
||||
lastError:
|
||||
description: LastError holds information about the last occurred error
|
||||
during an operation.
|
||||
properties:
|
||||
codes:
|
||||
description: Well-defined error codes of the last error(s).
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
description:
|
||||
description: A human readable message indicating details about the
|
||||
last error.
|
||||
type: string
|
||||
required:
|
||||
- description
|
||||
type: object
|
||||
lastOperation:
|
||||
description: LastOperation holds information about the last operation
|
||||
on the resource.
|
||||
properties:
|
||||
description:
|
||||
description: A human readable message indicating details about the
|
||||
last operation.
|
||||
type: string
|
||||
lastUpdateTime:
|
||||
description: Last time the operation state transitioned from one
|
||||
to another.
|
||||
format: date-time
|
||||
type: string
|
||||
progress:
|
||||
description: The progress in percentage (0-100) of the last operation.
|
||||
format: int64
|
||||
type: integer
|
||||
state:
|
||||
description: Status of the last operation, one of Aborted, Processing,
|
||||
Succeeded, Error, Failed.
|
||||
type: string
|
||||
type:
|
||||
description: Type of the last operation, one of Create, Reconcile,
|
||||
Delete.
|
||||
type: string
|
||||
required:
|
||||
- description
|
||||
- lastUpdateTime
|
||||
- progress
|
||||
- state
|
||||
- type
|
||||
type: object
|
||||
observedGeneration:
|
||||
description: ObservedGeneration is the most recent generation observed
|
||||
for this resource.
|
||||
format: int64
|
||||
type: integer
|
||||
state:
|
||||
description: State can be filled by the operating controller with what
|
||||
ever data it needs.
|
||||
type: string
|
||||
providerStatus:
|
||||
description: Provider-specific output for this control plane
|
||||
type: object
|
||||
type: object
|
||||
45
example/20-crd-issuer.yaml
Normal file
45
example/20-crd-issuer.yaml
Normal file
@@ -0,0 +1,45 @@
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: issuers.cert.gardener.cloud
|
||||
labels:
|
||||
app.kubernetes.io/name: gardener-extension-shoot-fleet-agent
|
||||
spec:
|
||||
additionalPrinterColumns:
|
||||
- JSONPath: .spec.acme.server
|
||||
description: ACME Server
|
||||
name: SERVER
|
||||
type: string
|
||||
- JSONPath: .spec.acme.email
|
||||
description: ACME Registration email
|
||||
name: EMAIL
|
||||
type: string
|
||||
- JSONPath: .status.state
|
||||
description: Status of registration
|
||||
name: STATUS
|
||||
type: string
|
||||
- JSONPath: .status.type
|
||||
description: Issuer type
|
||||
name: TYPE
|
||||
type: string
|
||||
- JSONPath: .metadata.creationTimestamp
|
||||
name: AGE
|
||||
type: date
|
||||
conversion:
|
||||
strategy: None
|
||||
group: cert.gardener.cloud
|
||||
names:
|
||||
kind: Issuer
|
||||
listKind: IssuerList
|
||||
plural: issuers
|
||||
shortNames:
|
||||
- issuer
|
||||
singular: issuer
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
version: v1alpha1
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
36
example/20-crd-managedresource.yaml
Normal file
36
example/20-crd-managedresource.yaml
Normal file
@@ -0,0 +1,36 @@
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: managedresources.resources.gardener.cloud
|
||||
spec:
|
||||
group: resources.gardener.cloud
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
version: v1alpha1
|
||||
scope: Namespaced
|
||||
names:
|
||||
plural: managedresources
|
||||
singular: managedresource
|
||||
kind: ManagedResource
|
||||
shortNames:
|
||||
- mr
|
||||
additionalPrinterColumns:
|
||||
- name: Class
|
||||
type: string
|
||||
description: The class identifies which resource manager is responsible for this ManagedResource.
|
||||
JSONPath: .spec.class
|
||||
- name: Applied
|
||||
type: string
|
||||
description: Indicates whether all resources have been applied.
|
||||
JSONPath: .status.conditions[?(@.type=="ResourcesApplied")].status
|
||||
- name: Healthy
|
||||
type: string
|
||||
description: Indicates whether all resources are healthy.
|
||||
JSONPath: .status.conditions[?(@.type=="ResourcesHealthy")].status
|
||||
- name: Age
|
||||
type: date
|
||||
JSONPath: .metadata.creationTimestamp
|
||||
subresources:
|
||||
status: {}
|
||||
23
example/25-rbac.yaml
Normal file
23
example/25-rbac.yaml
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: gardener-extension-shoot-fleet-agent
|
||||
labels:
|
||||
app.kubernetes.io/name: gardener-extension-shoot-fleet-agent
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- configmaps
|
||||
resourceNames:
|
||||
- gardener-extension-shoot-fleet-agent
|
||||
verbs:
|
||||
- get
|
||||
- update
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- configmaps
|
||||
verbs:
|
||||
- create
|
||||
28
example/30-cluster.yaml
Normal file
28
example/30-cluster.yaml
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
apiVersion: extensions.gardener.cloud/v1alpha1
|
||||
kind: Cluster
|
||||
metadata:
|
||||
name: shoot--foo--bar
|
||||
spec:
|
||||
cloudProfile:
|
||||
apiVersion: core.gardener.cloud/v1beta1
|
||||
kind: CloudProfile
|
||||
seed:
|
||||
apiVersion: core.gardener.cloud/v1beta1
|
||||
kind: Seed
|
||||
shoot:
|
||||
apiVersion: core.gardener.cloud/v1beta1
|
||||
kind: Shoot
|
||||
metadata:
|
||||
generation: 1
|
||||
name: shoot--foo--bar
|
||||
spec:
|
||||
dns:
|
||||
domain: foo.bar.example.com
|
||||
kubernetes:
|
||||
version: 1.18.2
|
||||
status:
|
||||
lastOperation:
|
||||
state: Succeeded
|
||||
observedGeneration: 1
|
||||
|
||||
11
example/30-extension.yaml
Normal file
11
example/30-extension.yaml
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
apiVersion: extensions.gardener.cloud/v1alpha1
|
||||
kind: Extension
|
||||
metadata:
|
||||
name: certificate-service
|
||||
namespace: shoot--foo--bar
|
||||
spec:
|
||||
type: shoot-fleet-agent
|
||||
providerConfig:
|
||||
apiVersion: service.cert.extensions.gardener.cloud/v1alpha1
|
||||
kind: CertConfig
|
||||
18
example/controller-registration.yaml
Normal file
18
example/controller-registration.yaml
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user