Documentation
¶
Overview ¶
Package release includes a client for fetching Helm releases from Kubernetes secrets.
Index ¶
- type Chart
- type Client
- type HelmReleaseClient
- type Info
- type Maintainer
- type Metadata
- type Release
- type Time
- func (t Time) Add(d time.Duration) Time
- func (t Time) AddDate(years int, months int, days int) Time
- func (t Time) After(u Time) bool
- func (t Time) Before(u Time) bool
- func (t Time) Equal(u Time) bool
- func (t Time) In(loc *time.Location) Time
- func (t Time) Local() Time
- func (t Time) MarshalJSON() ([]byte, error)
- func (t Time) Round(d time.Duration) Time
- func (t Time) Sub(u Time) time.Duration
- func (t Time) Truncate(d time.Duration) Time
- func (t Time) UTC() Time
- func (t *Time) UnmarshalJSON(b []byte) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Chart ¶
type Chart struct {
// Metadata is the contents of the Chart.yaml file.
Metadata *Metadata `json:"metadata,omitempty"`
}
Chart holds the chart metadata.
type Client ¶
type Client interface {
List(context.Context, klabels.Selector, string) ([]*Release, error)
Get(context.Context, string, string) (*Release, error)
}
Client is a subset of the kubernetes SecretsInterface, geared towards handling Helm secrets.
type HelmReleaseClient ¶
type HelmReleaseClient struct {
// contains filtered or unexported fields
}
HelmReleaseClient implements the Client interface.
func NewHelmReleaseClient ¶
func NewHelmReleaseClient(client client.Client) *HelmReleaseClient
NewHelmReleaseClient initializes a new HelmReleaseClient.
type Info ¶
type Info struct {
// FirstDeployed is when the release was first deployed.
// +optional
FirstDeployed Time `json:"first_deployed,omitempty"`
// LastDeployed is when the release was last deployed.
// +optional
LastDeployed Time `json:"last_deployed,omitempty"`
// Deleted tracks when this object was deleted.
// +optional
Deleted Time `json:"deleted,omitempty"`
// Description is human-friendly "log entry" about this release.
// +optional
Description string `json:"description,omitempty"`
// Status is the current state of the release.
// +optional
Status string `json:"status,omitempty"`
// Contains the rendered templates/NOTES.txt if available.
// +optional
Notes string `json:"notes,omitempty"`
}
Info describes release information.
type Maintainer ¶
type Maintainer struct {
// Name is a user name or organization name.
// +optional
Name string `json:"name,omitempty"`
// Email is an optional email address to contact the named maintainer.
// +optional
Email string `json:"email,omitempty"`
// URL is an optional URL to an address for the named maintainer.
// +optional
URL string `json:"url,omitempty"`
}
Maintainer describes a chart maintainer.
type Metadata ¶
type Metadata struct {
// The name of the chart.
// +optional
Name string `json:"name,omitempty"`
// The URL to a relevant project page, git repo, or contact person.
// +optional
Home string `json:"home,omitempty"`
// Source is the URL to the source code of this chart.
// +optional
Sources []string `json:"sources,omitempty"`
// A SemVer 2 conformant version string of the chart.
// +optional
Version string `json:"version,omitempty"`
// A one-sentence description of the chart.
// +optional
Description string `json:"description,omitempty"`
// A list of string keywords.
// +optional
Keywords []string `json:"keywords,omitempty"`
// A list of name and URL/email address combinations for the maintainer(s).
// +optional
Maintainers []*Maintainer `json:"maintainers,omitempty"`
// The URL to an icon file.
// +optional
Icon string `json:"icon,omitempty"`
// The API Version of this chart.
// +optional
APIVersion string `json:"apiVersion,omitempty"`
// The condition to check to enable chart.
// +optional
Condition string `json:"condition,omitempty"`
// The tags to check to enable chart.
// +optional
Tags string `json:"tags,omitempty"`
// The version of the application enclosed inside of this chart.
// +optional
AppVersion string `json:"appVersion,omitempty"`
// Whether or not this chart is deprecated.
// +optional
Deprecated bool `json:"deprecated,omitempty"`
// Annotations are additional mappings uninterpreted by Helm,
// made available for inspection by other applications.
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// KubeVersion is a SemVer constraint specifying the version of Kubernetes required.
// +optional
KubeVersion string `json:"kubeVersion,omitempty"`
// Specifies the chart type: application or library.
// +optional
Type string `json:"type,omitempty"`
// Urls where to find the chart contents.
// +optional
Urls []string `json:"urls,omitempty"`
}
Metadata describes a chart's metadata.
type Release ¶
type Release struct {
// Name is the name of the release.
Name string `json:"name,omitempty"`
// Info provides information about a release.
Info *Info `json:"info,omitempty"`
// Chart is the chart that was released.
Chart *Chart `json:"chart,omitempty"`
// Config is the set of extra Values added to the chart.
// These values override the default values inside of the chart.
Config map[string]interface{} `json:"config,omitempty"`
// Version is an int which represents the version of the release.
Version int `json:"version,omitempty"`
// Namespace is the kubernetes namespace of the release.
Namespace string `json:"namespace,omitempty"`
// Secret is the secret containing the release's secret values.
Secret *corev1.Secret `json:"-"`
}
Release describes a deployment of a chart, together with the chart and the variables used to deploy that chart.
type Time ¶
Time is a convenience wrapper around stdlib time, but with different marshalling and unmarshaling for zero values.
func Date ¶
Date returns the Time corresponding to the given year, month, day, hour, min, sec, and nsec. nolint:revive
func Now ¶
func Now() Time
Now returns the current time. It is a convenience wrapper around time.Now().
func ParseInLocation ¶
ParseInLocation is like Parse but with a location.
func (Time) AddDate ¶
AddDate returns the Time corresponding to adding the given number of years, months, and days to t.
func (Time) In ¶
In returns a copy of t representing the same time instant, but with a new location.
func (Time) MarshalJSON ¶
MarshalJSON marshals a Time to JSON.
func (Time) Round ¶
Round returns the result of rounding t to the nearest multiple of d (since the zero time).
func (*Time) UnmarshalJSON ¶
UnmarshalJSON unmarshals a Time from JSON.