github.com/argoproj/argo-cd/v3@v3.2.1/controller/syncid/id.go (about)

     1  package syncid
     2  
     3  import (
     4  	"fmt"
     5  	"sync/atomic"
     6  
     7  	"github.com/argoproj/argo-cd/v3/util/rand"
     8  )
     9  
    10  var globalCount = &atomic.Uint64{}
    11  
    12  // Generate generates a new ID
    13  func Generate() (string, error) {
    14  	randSuffix, err := rand.String(5)
    15  	if err != nil {
    16  		return "", fmt.Errorf("failed to generate random suffix: %w", err)
    17  	}
    18  	prefix := globalCount.Add(1)
    19  	return fmt.Sprintf("%05d-%s", prefix, randSuffix), nil
    20  }