Skip to content

Commit

Permalink
feat: add kubermatic-operator chart (#52)
Browse files Browse the repository at this point in the history
  • Loading branch information
oliverbaehler authored Mar 28, 2024
1 parent 1d52d9b commit 1a297e2
Show file tree
Hide file tree
Showing 40 changed files with 13,589 additions and 0 deletions.
28 changes: 28 additions & 0 deletions charts/kubermatic-operator/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Copyright 2020 The Kubermatic Kubernetes Platform contributors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: v1
name: kubermatic-operator
version: v2.24.5
appVersion: v2.24.5
description: Helm chart to install the Kubermatic Operator
keywords:
- kubermatic
home: https://www.kubermatic.com/
sources:
- https://github.com/kubermatic/kubermatic
maintainers:
- name: oliverbaehler
email: oliverbaehler@hotmail.com
- name: chifu1234
email: kk@sudo-i.net

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
kubermatic.k8c.io/location: master
app.kubernetes.io/version: v2.24.5
name: addonconfigs.kubermatic.k8c.io
spec:
group: kubermatic.k8c.io
names:
kind: AddonConfig
listKind: AddonConfigList
plural: addonconfigs
singular: addonconfig
scope: Cluster
versions:
- additionalPrinterColumns:
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1
schema:
openAPIV3Schema:
description: AddonConfig specifies addon configuration. Addons can be installed without a matching AddonConfig, but they will be missing a logo, description and the potentially necessary form fields in the KKP dashboard to make the addon comfortable to use.
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: Spec describes the configuration of an addon.
properties:
description:
description: Description of the configured addon, it will be displayed in the addon overview in the UI
type: string
formSpec:
description: Controls that can be set for configured addon
items:
description: AddonFormControl specifies addon form control.
properties:
displayName:
description: DisplayName is visible in the UI
type: string
helpText:
description: HelpText is visible in the UI next to the control
type: string
internalName:
description: InternalName is used internally to save in the addon object
type: string
required:
description: Required indicates if the control has to be set
type: boolean
type:
description: Type of displayed control
type: string
type: object
type: array
logo:
description: Logo of the configured addon, encoded in base64
type: string
logoFormat:
description: LogoFormat contains logo format of the configured addon, i.e. svg+xml
type: string
shortDescription:
description: ShortDescription of the configured addon that contains more detailed information about the addon, it will be displayed in the addon details view in the UI
type: string
type: object
type: object
served: true
storage: true
subresources: {}
119 changes: 119 additions & 0 deletions charts/kubermatic-operator/crd/k8c.io/kubermatic.k8c.io_addons.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
kubermatic.k8c.io/location: master,seed
app.kubernetes.io/version: v2.24.5
name: addons.kubermatic.k8c.io
spec:
group: kubermatic.k8c.io
names:
kind: Addon
listKind: AddonList
plural: addons
singular: addon
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1
schema:
openAPIV3Schema:
description: Addon specifies a cluster addon. Addons can be installed into user clusters to provide additional manifests for CNIs, CSIs or other applications, which makes addons a necessary component to create functioning user clusters. Addon objects must be created inside cluster namespaces.
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: Spec describes the desired addon state.
properties:
cluster:
description: Cluster is the reference to the cluster the addon should be installed in
properties:
apiVersion:
description: API version of the referent.
type: string
fieldPath:
description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
type: string
kind:
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
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
resourceVersion:
description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
type: string
uid:
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
type: string
type: object
x-kubernetes-map-type: atomic
isDefault:
description: IsDefault indicates whether the addon is installed because it was configured in the default addon section in the KubermaticConfiguration. User-installed addons must not set this field to true, as extra default Addon objects (that are not in the KubermaticConfiguration) will be garbage-collected.
type: boolean
name:
description: Name defines the name of the addon to install
type: string
requiredResourceTypes:
description: RequiredResourceTypes allows to indicate that this addon needs some resource type before it can be installed. This can be used to indicate that a specific CRD and/or extension apiserver must be installed before this addon can be installed. The addon will not be installed until that resource is served.
items:
description: GroupVersionKind unambiguously identifies a kind. It doesn't anonymously include GroupVersion to avoid automatic coercion. It doesn't use a GroupVersion to avoid custom marshalling.
properties:
group:
type: string
kind:
type: string
version:
type: string
type: object
type: array
variables:
description: Variables is free form data to use for parsing the manifest templates
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- cluster
- name
type: object
status:
description: Status contains information about the reconciliation status.
properties:
conditions:
additionalProperties:
properties:
lastHeartbeatTime:
description: Last time we got an update on a given condition.
format: date-time
type: string
lastTransitionTime:
description: Last time the condition transitioned from one status to another.
format: date-time
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
required:
- lastHeartbeatTime
- status
type: object
type: object
type: object
type: object
served: true
storage: true
subresources:
status: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
kubermatic.k8c.io/location: master
app.kubernetes.io/version: v2.24.5
name: admissionplugins.kubermatic.k8c.io
spec:
group: kubermatic.k8c.io
names:
kind: AdmissionPlugin
listKind: AdmissionPluginList
plural: admissionplugins
singular: admissionplugin
scope: Cluster
versions:
- name: v1
schema:
openAPIV3Schema:
description: AdmissionPlugin is the type representing a AdmissionPlugin.
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: Spec describes an admission plugin name and in which k8s version it is supported.
properties:
fromVersion:
description: FromVersion flag can be empty. It means the plugin fit to all k8s versions
type: string
pluginName:
type: string
required:
- pluginName
type: object
type: object
served: true
storage: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
kubermatic.k8c.io/location: master,seed
app.kubernetes.io/version: v2.24.5
name: alertmanagers.kubermatic.k8c.io
spec:
group: kubermatic.k8c.io
names:
kind: Alertmanager
listKind: AlertmanagerList
plural: alertmanagers
singular: alertmanager
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1
schema:
openAPIV3Schema:
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: Spec describes the configuration of the Alertmanager.
properties:
configSecret:
description: ConfigSecret refers to the Secret in the same namespace as the Alertmanager object, which contains configuration for this Alertmanager.
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
required:
- configSecret
type: object
status:
description: Status stores status information about the Alertmanager.
properties:
configStatus:
description: ConfigStatus stores status information about the AlertManager configuration.
properties:
errorMessage:
description: ErrorMessage contains a default error message in case the configuration could not be applied. Will be reset if the error was resolved and condition becomes True
type: string
lastUpdated:
description: LastUpdated stores the last successful time when the configuration was successfully applied
format: date-time
type: string
status:
description: Status of whether the configuration was applied, one of True, False
type: string
required:
- status
type: object
type: object
type: object
served: true
storage: true
subresources:
status: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
kubermatic.k8c.io/location: master
app.kubernetes.io/version: v2.24.5
name: allowedregistries.kubermatic.k8c.io
spec:
group: kubermatic.k8c.io
names:
kind: AllowedRegistry
listKind: AllowedRegistryList
plural: allowedregistries
singular: allowedregistry
scope: Cluster
versions:
- additionalPrinterColumns:
- description: RegistryPrefix contains the prefix of the registry which will be allowed. User clusters will be able to deploy only images which are prefixed with one of the allowed image registry prefixes.
jsonPath: .spec.registryPrefix
name: RegistryPrefix
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1
schema:
openAPIV3Schema:
description: AllowedRegistry is the object representing an allowed registry.
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: Spec describes the desired state for an allowed registry.
properties:
registryPrefix:
description: RegistryPrefix contains the prefix of the registry which will be allowed. User clusters will be able to deploy only images which are prefixed with one of the allowed image registry prefixes.
type: string
required:
- registryPrefix
type: object
type: object
served: true
storage: true
subresources: {}
Loading

0 comments on commit 1a297e2

Please sign in to comment.