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  }