Create creates a new Secret holding the release. If the Secret already exists, ErrReleaseExists is returned.
(key string, rel release.Releaser)
| 161 | // Create creates a new Secret holding the release. If the |
| 162 | // Secret already exists, ErrReleaseExists is returned. |
| 163 | func (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. |
nothing calls this directly
no test coverage detected