code.gitea.io/gitea@v1.19.3/modules/packages/container/helm/helm.go (about) 1 // Copyright 2022 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package helm 5 6 // https://github.com/helm/helm/blob/main/pkg/chart/ 7 8 const ConfigMediaType = "application/vnd.cncf.helm.config.v1+json" 9 10 // Maintainer describes a Chart maintainer. 11 type Maintainer struct { 12 // Name is a user name or organization name 13 Name string `json:"name,omitempty"` 14 // Email is an optional email address to contact the named maintainer 15 Email string `json:"email,omitempty"` 16 // URL is an optional URL to an address for the named maintainer 17 URL string `json:"url,omitempty"` 18 } 19 20 // Metadata for a Chart file. This models the structure of a Chart.yaml file. 21 type Metadata struct { 22 // The name of the chart. Required. 23 Name string `json:"name,omitempty"` 24 // The URL to a relevant project page, git repo, or contact person 25 Home string `json:"home,omitempty"` 26 // Source is the URL to the source code of this chart 27 Sources []string `json:"sources,omitempty"` 28 // A SemVer 2 conformant version string of the chart. Required. 29 Version string `json:"version,omitempty"` 30 // A one-sentence description of the chart 31 Description string `json:"description,omitempty"` 32 // A list of string keywords 33 Keywords []string `json:"keywords,omitempty"` 34 // A list of name and URL/email address combinations for the maintainer(s) 35 Maintainers []*Maintainer `json:"maintainers,omitempty"` 36 // The URL to an icon file. 37 Icon string `json:"icon,omitempty"` 38 // The API Version of this chart. Required. 39 APIVersion string `json:"apiVersion,omitempty"` 40 // The condition to check to enable chart 41 Condition string `json:"condition,omitempty"` 42 // The tags to check to enable chart 43 Tags string `json:"tags,omitempty"` 44 // The version of the application enclosed inside of this chart. 45 AppVersion string `json:"appVersion,omitempty"` 46 // Whether or not this chart is deprecated 47 Deprecated bool `json:"deprecated,omitempty"` 48 // Annotations are additional mappings uninterpreted by Helm, 49 // made available for inspection by other applications. 50 Annotations map[string]string `json:"annotations,omitempty"` 51 // KubeVersion is a SemVer constraint specifying the version of Kubernetes required. 52 KubeVersion string `json:"kubeVersion,omitempty"` 53 // Specifies the chart type: application or library 54 Type string `json:"type,omitempty"` 55 }