github.com/operator-framework/operator-lifecycle-manager@v0.30.0/test/e2e/data/kiali-image-registry/create-bundles-db.go (about)

     1  package main
     2  
     3  import (
     4  	"context"
     5  	"database/sql"
     6  	"fmt"
     7  	"os"
     8  
     9  	"github.com/operator-framework/operator-registry/pkg/sqlite"
    10  )
    11  
    12  func checkErr(err error) {
    13  	if err != nil {
    14  		panic(err)
    15  	}
    16  }
    17  
    18  func main() {
    19  	dbFile := "bundles.db"
    20  	bundleImage := "quay.io/olmtest/installplan_e2e-bundle-image:latest"
    21  	dataPath := "../kiali-manifests"
    22  
    23  	// start with a clean slate
    24  	os.Remove(dbFile)
    25  
    26  	// create database
    27  	db, err := sql.Open("sqlite3", dbFile)
    28  	checkErr(err)
    29  
    30  	dbLoader, err := sqlite.NewSQLLiteLoader(db)
    31  	checkErr(err)
    32  
    33  	err = dbLoader.Migrate(context.TODO())
    34  	checkErr(err)
    35  
    36  	// populate database with data
    37  	loader := sqlite.NewSQLLoaderForDirectory(dbLoader, dataPath)
    38  	err = loader.Populate()
    39  	checkErr(err)
    40  
    41  	// add a bundlepath for kiali 1.4.2 so that later a bundle image lookup is performed
    42  	updateSQL := fmt.Sprintf(`UPDATE operatorbundle SET bundlepath = '%v' WHERE version = "1.4.2";`, bundleImage)
    43  	_, err = db.Exec(updateSQL)
    44  	checkErr(err)
    45  }