Selaa lähdekoodia

make keyrotate tests pass

Alexander Belanger 4 vuotta sitten
vanhempi
sitoutus
09ed5bbc3b
2 muutettua tiedostoa jossa 8 lisäystä ja 4 poistoa
  1. 7 3
      cmd/migrate/keyrotate/rotate.go
  2. 1 1
      internal/repository/gorm/cluster.go

+ 7 - 3
cmd/migrate/keyrotate/rotate.go

@@ -133,11 +133,11 @@ func rotateClusterModel(db *_gorm.DB, oldKey, newKey *[32]byte) error {
 
 		// decrypt with the old key
 		for _, cluster := range clusters {
+			// attach the token cache, not fatal if it fails
+			db.Where("id = ?", cluster.TokenCacheID).First(&cluster.TokenCache)
+
 			err := repo.DecryptClusterData(cluster, oldKey)
 
-			if err != nil {
-				return err
-			}
 			if err != nil {
 				fmt.Printf("error decrypting cluster %d\n", cluster.ID)
 
@@ -163,6 +163,10 @@ func rotateClusterModel(db *_gorm.DB, oldKey, newKey *[32]byte) error {
 			if err := db.Save(cluster).Error; err != nil {
 				return err
 			}
+
+			if err := db.Save(&cluster.TokenCache).Error; err != nil {
+				return err
+			}
 		}
 	}
 

+ 1 - 1
internal/repository/gorm/cluster.go

@@ -174,7 +174,7 @@ func (repo *ClusterRepository) ReadCluster(
 	cluster := &models.Cluster{}
 
 	// preload Clusters association
-	if err := ctxDB.Debug().Where("project_id = ? AND id = ?", projectID, clusterID).First(&cluster).Error; err != nil {
+	if err := ctxDB.Where("project_id = ? AND id = ?", projectID, clusterID).First(&cluster).Error; err != nil {
 		return nil, err
 	}