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  }