-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
35 changed files
with
993 additions
and
91 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
190 changes: 190 additions & 0 deletions
190
charts/unikorn-core/crds/unikorn-cloud.org_helmapplications.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,190 @@ | ||
--- | ||
apiVersion: apiextensions.k8s.io/v1 | ||
kind: CustomResourceDefinition | ||
metadata: | ||
annotations: | ||
controller-gen.kubebuilder.io/version: v0.12.1 | ||
name: helmapplications.unikorn-cloud.org | ||
spec: | ||
group: unikorn-cloud.org | ||
names: | ||
categories: | ||
- unikorn | ||
kind: HelmApplication | ||
listKind: HelmApplicationList | ||
plural: helmapplications | ||
singular: helmapplication | ||
scope: Cluster | ||
versions: | ||
- additionalPrinterColumns: | ||
- jsonPath: .metadata.creationTimestamp | ||
name: age | ||
type: date | ||
name: v1alpha1 | ||
schema: | ||
openAPIV3Schema: | ||
description: HelmApplication defines a Helm application. | ||
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: | ||
properties: | ||
description: | ||
description: Description describes what the application does. | ||
type: string | ||
documentation: | ||
description: Documentation defines a URL to 3rd party documentation. | ||
type: string | ||
exported: | ||
description: Exported defines whether the application should be exported | ||
to the user visiable application manager. | ||
type: boolean | ||
icon: | ||
description: Icon is a base64 encoded icon for the application. | ||
format: byte | ||
type: string | ||
license: | ||
description: License describes the licence the application is released | ||
under. | ||
type: string | ||
name: | ||
description: Name is the human readable application name. | ||
type: string | ||
tags: | ||
description: Tags allows an application to be given a free-form set | ||
of labels that can provide grouping, filtering or other contexts. For | ||
example "networking", "monitoring", "database" etc. | ||
items: | ||
type: string | ||
type: array | ||
versions: | ||
description: Versions are the application versions that are supported. | ||
items: | ||
properties: | ||
chart: | ||
description: Chart is the chart name in the repository. If not | ||
set, uses the application default. | ||
type: string | ||
createNamespace: | ||
description: CreateNamespace indicates whether the chart requires | ||
a namespace to be created by the tooling, rather than the | ||
chart itself. If not set, uses the application default. | ||
type: boolean | ||
dependencies: | ||
description: Dependencies capture hard dependencies on other | ||
applications that must be installed before this one. | ||
items: | ||
properties: | ||
name: | ||
description: Name the name of the application to depend | ||
on. | ||
type: string | ||
required: | ||
- name | ||
type: object | ||
type: array | ||
interface: | ||
description: Interface is the name of a Unikorn function that | ||
configures the application. In particular it's used when reading | ||
values from a custom resource and mapping them to Helm values. This | ||
allows us to version Helm interfaces in the context of "do | ||
we need to do something differently", without having to come | ||
up with a generalized solution that purely exists as Kubernetes | ||
resource specifications. For example, building a Openstack | ||
Cloud Provider configuration from a clouds.yaml is going to | ||
be bloody tricky without some proper code to handle it. If | ||
not set, uses the application default. | ||
type: string | ||
parameters: | ||
description: Parameters is a set of static --set parameters | ||
to pass to the chart. If not set, uses the application default. | ||
items: | ||
properties: | ||
name: | ||
description: Name is the name of the parameter. | ||
type: string | ||
value: | ||
description: Value is the value of the parameter. | ||
type: string | ||
required: | ||
- name | ||
- value | ||
type: object | ||
type: array | ||
path: | ||
description: Path is the path if the repo is a git repo. If | ||
not set, uses the application default. | ||
type: string | ||
recommends: | ||
description: Recommends capture soft dependencies on other applications | ||
that may be installed after this one. Typically ths could | ||
be storage classes for a storage provider etc. | ||
items: | ||
properties: | ||
name: | ||
description: Name the name of the application to depend | ||
on. | ||
type: string | ||
required: | ||
- name | ||
type: object | ||
type: array | ||
release: | ||
description: Release is the explicit release name for when chart | ||
resource names are dynamic. Typically we need predicatable | ||
names for things that are going to be remote clusters to derive | ||
endpoints or Kubernetes configurations. If not set, uses the | ||
application default. | ||
type: string | ||
repo: | ||
description: Repo is either a Helm chart repository, or git | ||
repository. If not set, uses the application default. | ||
type: string | ||
serverSideApply: | ||
description: ServerSideApply allows you to bypass using kubectl | ||
apply. This is useful in situations where CRDs are too big | ||
and blow the annotation size limit. We'd like to have this | ||
on by default, but mutating admission webhooks and controllers | ||
modifying the spec mess this up. If not set, uses the application | ||
default. | ||
type: boolean | ||
version: | ||
description: Version is the chart version, or a branch when | ||
a path is provided. | ||
type: string | ||
required: | ||
- repo | ||
- version | ||
type: object | ||
x-kubernetes-validations: | ||
- message: either chart or path must be specified | ||
rule: has(self.chart) || has(self.path) | ||
- message: only one of chart or path may be specified | ||
rule: '!(has(self.chart) && has(self.path))' | ||
type: array | ||
required: | ||
- description | ||
- documentation | ||
- icon | ||
- license | ||
- name | ||
- tags | ||
type: object | ||
status: | ||
type: object | ||
required: | ||
- spec | ||
type: object | ||
served: true | ||
storage: true | ||
subresources: {} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.