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