MCPcopy Create free account
hub / github.com/cloudnative-pg/cloudnative-pg / CreatePromotionToken

Method CreatePromotionToken

pkg/utils/parser.go:311–327  ·  view source on GitHub ↗

CreatePromotionToken translates a parsed pgControlData into a JSON token

()

Source from the content-addressed store, hash-verified

309
310// CreatePromotionToken translates a parsed pgControlData into a JSON token
311func (p PgControlData) CreatePromotionToken() (string, error) {
312 content := PgControldataTokenContent{
313 LatestCheckpointTimelineID: p.GetLatestCheckpointTimelineID(),
314 REDOWALFile: p.GetREDOWALFile(),
315 DatabaseSystemIdentifier: p.GetDatabaseSystemIdentifier(),
316 LatestCheckpointREDOLocation: p.GetLatestCheckpointREDOLocation(),
317 TimeOfLatestCheckpoint: p.GetTimeOfLatestCheckpoint(),
318 OperatorVersion: versions.Info.Version,
319 }
320
321 token, err := json.Marshal(content)
322 if err != nil {
323 return "", err
324 }
325
326 return base64.StdEncoding.EncodeToString(token), nil
327}
328
329// ParsePgControldataToken parses the JSON token into usable content
330func ParsePgControldataToken(base64Token string) (*PgControldataTokenContent, error) {

Callers 3

parser_test.goFile · 0.80
reconciler_test.goFile · 0.80
generateDemotionTokenFunction · 0.80

Tested by

no test coverage detected