newConfigMapsObject constructs a kubernetes ConfigMap object to store a release. Each configmap data entry is the base64 encoded gzipped string of a release. The following labels are used within each configmap: "modifiedAt" - timestamp indicating when this configmap was last modified. (set in
(key string, rls *rspb.Release, lbs labels)
| 256 | // "owner" - owner of the configmap, currently "helm". |
| 257 | // "name" - name of the release. |
| 258 | func newConfigMapsObject(key string, rls *rspb.Release, lbs labels) (*v1.ConfigMap, error) { |
| 259 | const owner = "helm" |
| 260 | |
| 261 | // encode the release |
| 262 | s, err := encodeRelease(rls) |
| 263 | if err != nil { |
| 264 | return nil, err |
| 265 | } |
| 266 | |
| 267 | if lbs == nil { |
| 268 | lbs.init() |
| 269 | } |
| 270 | |
| 271 | // apply custom labels |
| 272 | lbs.fromMap(rls.Labels) |
| 273 | |
| 274 | // apply labels |
| 275 | lbs.set("name", rls.Name) |
| 276 | lbs.set("owner", owner) |
| 277 | lbs.set("status", rls.Info.Status.String()) |
| 278 | lbs.set("version", strconv.Itoa(rls.Version)) |
| 279 | |
| 280 | // create and return configmap object |
| 281 | return &v1.ConfigMap{ |
| 282 | ObjectMeta: metav1.ObjectMeta{ |
| 283 | Name: key, |
| 284 | Labels: lbs.toMap(), |
| 285 | }, |
| 286 | Data: map[string]string{"release": s}, |
| 287 | }, nil |
| 288 | } |
searching dependent graphs…