MCPcopy
hub / github.com/helm/helm / newSecretsObject

Function newSecretsObject

pkg/storage/driver/secrets.go:246–287  ·  view source on GitHub ↗

newSecretsObject constructs a kubernetes Secret object to store a release. Each secret data entry is the base64 encoded gzipped string of a release. The following labels are used within each secret: "modifiedAt" - timestamp indicating when this secret was last modified. (set in Update) "creat

(key string, rls *rspb.Release, lbs labels)

Source from the content-addressed store, hash-verified

244// "owner" - owner of the secret, currently "helm".
245// "name" - name of the release.
246func newSecretsObject(key string, rls *rspb.Release, lbs labels) (*v1.Secret, error) {
247 const owner = "helm"
248
249 // encode the release
250 s, err := encodeRelease(rls)
251 if err != nil {
252 return nil, err
253 }
254
255 if lbs == nil {
256 lbs.init()
257 }
258
259 // apply custom labels
260 lbs.fromMap(rls.Labels)
261
262 // apply labels
263 lbs.set("name", rls.Name)
264 lbs.set("owner", owner)
265 lbs.set("status", rls.Info.Status.String())
266 lbs.set("version", strconv.Itoa(rls.Version))
267
268 // create and return secret object.
269 // Helm 3 introduced setting the 'Type' field
270 // in the Kubernetes storage object.
271 // Helm defines the field content as follows:
272 // <helm_domain>/<helm_object>.v<helm_object_version>
273 // Type field for Helm 3: helm.sh/release.v1
274 // Note: Version starts at 'v1' for Helm 3 and
275 // should be incremented if the release object
276 // metadata is modified.
277 // This would potentially be a breaking change
278 // and should only happen between major versions.
279 return &v1.Secret{
280 ObjectMeta: metav1.ObjectMeta{
281 Name: key,
282 Labels: lbs.toMap(),
283 },
284 Type: "helm.sh/release.v1",
285 Data: map[string][]byte{"release": []byte(s)},
286 }, nil
287}

Callers 4

CreateMethod · 0.85
UpdateMethod · 0.85
InitMethod · 0.85

Calls 6

encodeReleaseFunction · 0.85
fromMapMethod · 0.80
setMethod · 0.80
toMapMethod · 0.80
initMethod · 0.45
StringMethod · 0.45

Tested by 2

InitMethod · 0.68

Used in the wild real call sites across dependent graphs

searching dependent graphs…