57 lines
2.3 KiB
Go
57 lines
2.3 KiB
Go
|
// Copyright 2022 The Gitea Authors. All rights reserved.
|
||
|
// Use of this source code is governed by a MIT-style
|
||
|
// license that can be found in the LICENSE file.
|
||
|
|
||
|
package helm
|
||
|
|
||
|
// https://github.com/helm/helm/blob/main/pkg/chart/
|
||
|
|
||
|
const ConfigMediaType = "application/vnd.cncf.helm.config.v1+json"
|
||
|
|
||
|
// Maintainer describes a Chart maintainer.
|
||
|
type Maintainer struct {
|
||
|
// Name is a user name or organization name
|
||
|
Name string `json:"name,omitempty"`
|
||
|
// Email is an optional email address to contact the named maintainer
|
||
|
Email string `json:"email,omitempty"`
|
||
|
// URL is an optional URL to an address for the named maintainer
|
||
|
URL string `json:"url,omitempty"`
|
||
|
}
|
||
|
|
||
|
// Metadata for a Chart file. This models the structure of a Chart.yaml file.
|
||
|
type Metadata struct {
|
||
|
// The name of the chart. Required.
|
||
|
Name string `json:"name,omitempty"`
|
||
|
// The URL to a relevant project page, git repo, or contact person
|
||
|
Home string `json:"home,omitempty"`
|
||
|
// Source is the URL to the source code of this chart
|
||
|
Sources []string `json:"sources,omitempty"`
|
||
|
// A SemVer 2 conformant version string of the chart. Required.
|
||
|
Version string `json:"version,omitempty"`
|
||
|
// A one-sentence description of the chart
|
||
|
Description string `json:"description,omitempty"`
|
||
|
// A list of string keywords
|
||
|
Keywords []string `json:"keywords,omitempty"`
|
||
|
// A list of name and URL/email address combinations for the maintainer(s)
|
||
|
Maintainers []*Maintainer `json:"maintainers,omitempty"`
|
||
|
// The URL to an icon file.
|
||
|
Icon string `json:"icon,omitempty"`
|
||
|
// The API Version of this chart. Required.
|
||
|
APIVersion string `json:"apiVersion,omitempty"`
|
||
|
// The condition to check to enable chart
|
||
|
Condition string `json:"condition,omitempty"`
|
||
|
// The tags to check to enable chart
|
||
|
Tags string `json:"tags,omitempty"`
|
||
|
// The version of the application enclosed inside of this chart.
|
||
|
AppVersion string `json:"appVersion,omitempty"`
|
||
|
// Whether or not this chart is deprecated
|
||
|
Deprecated bool `json:"deprecated,omitempty"`
|
||
|
// Annotations are additional mappings uninterpreted by Helm,
|
||
|
// made available for inspection by other applications.
|
||
|
Annotations map[string]string `json:"annotations,omitempty"`
|
||
|
// KubeVersion is a SemVer constraint specifying the version of Kubernetes required.
|
||
|
KubeVersion string `json:"kubeVersion,omitempty"`
|
||
|
// Specifies the chart type: application or library
|
||
|
Type string `json:"type,omitempty"`
|
||
|
}
|