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

Method Create

pkg/storage/driver/memory.go:159–186  ·  view source on GitHub ↗

Create creates a new release or returns ErrReleaseExists.

(key string, rel release.Releaser)

Source from the content-addressed store, hash-verified

157
158// Create creates a new release or returns ErrReleaseExists.
159func (mem *Memory) Create(key string, rel release.Releaser) error {
160 defer unlock(mem.wlock())
161
162 rls, err := releaserToV1Release(rel)
163 if err != nil {
164 return err
165 }
166 // For backwards compatibility, we protect against an unset namespace
167 namespace := rls.Namespace
168 if namespace == "" {
169 namespace = defaultNamespace
170 }
171 mem.SetNamespace(namespace)
172
173 if _, ok := mem.cache[namespace]; !ok {
174 mem.cache[namespace] = memReleases{}
175 }
176
177 if recs, ok := mem.cache[namespace][rls.Name]; ok {
178 if err := recs.Add(newRecord(key, rls)); err != nil {
179 return err
180 }
181 mem.cache[namespace][rls.Name] = recs
182 return nil
183 }
184 mem.cache[namespace][rls.Name] = records{newRecord(key, rls)}
185 return nil
186}
187
188// Update updates a release or returns ErrReleaseNotFound.
189func (mem *Memory) Update(key string, rel release.Releaser) error {

Callers 1

tsFixtureMemoryFunction · 0.95

Calls 6

wlockMethod · 0.95
SetNamespaceMethod · 0.95
unlockFunction · 0.85
newRecordFunction · 0.85
releaserToV1ReleaseFunction · 0.70
AddMethod · 0.45

Tested by 1

tsFixtureMemoryFunction · 0.76