MCPcopy
hub / github.com/helm/helm / Create

Method Create

pkg/storage/driver/secrets.go:163–190  ·  view source on GitHub ↗

Create creates a new Secret holding the release. If the Secret already exists, ErrReleaseExists is returned.

(key string, rel release.Releaser)

Source from the content-addressed store, hash-verified

161// Create creates a new Secret holding the release. If the
162// Secret already exists, ErrReleaseExists is returned.
163func (secrets *Secrets) Create(key string, rel release.Releaser) error {
164 // set labels for secrets object meta data
165 var lbs labels
166
167 rls, err := releaserToV1Release(rel)
168 if err != nil {
169 return err
170 }
171
172 lbs.init()
173 lbs.fromMap(rls.Labels)
174 lbs.set("createdAt", strconv.FormatInt(time.Now().Unix(), 10))
175
176 // create a new secret to hold the release
177 obj, err := newSecretsObject(key, rls, lbs)
178 if err != nil {
179 return fmt.Errorf("create: failed to encode release %q: %w", rls.Name, err)
180 }
181 // push the secret object out into the kubiverse
182 if _, err := secrets.impl.Create(context.Background(), obj, metav1.CreateOptions{}); err != nil {
183 if apierrors.IsAlreadyExists(err) {
184 return ErrReleaseExists
185 }
186
187 return fmt.Errorf("create: failed to create: %w", err)
188 }
189 return nil
190}
191
192// Update updates the Secret holding the release. If not found
193// the Secret is created to hold the release.

Callers

nothing calls this directly

Calls 7

initMethod · 0.95
fromMapMethod · 0.95
setMethod · 0.95
newSecretsObjectFunction · 0.85
NowMethod · 0.80
releaserToV1ReleaseFunction · 0.70
CreateMethod · 0.65

Tested by

no test coverage detected