1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-08-10 00:05:24 +02:00

fix startup/init sequence

This commit is contained in:
Matt Hook 2023-06-02 12:35:22 +12:00 committed by Prabhat Khera
parent 7647feb395
commit e819a6ad74
6 changed files with 35 additions and 11 deletions

View file

@ -3,7 +3,6 @@ package main
import ( import (
"context" "context"
"crypto/sha256" "crypto/sha256"
"fmt"
"math/rand" "math/rand"
"os" "os"
"path" "path"
@ -106,8 +105,6 @@ func initDataStore(flags *portainer.CLIFlags, secretKey []byte, fileService port
log.Fatal().Err(err).Msg("failed initializing data store") log.Fatal().Err(err).Msg("failed initializing data store")
} }
fmt.Println("IsNew:", isNew)
if isNew { if isNew {
instanceId, err := uuid.NewV4() instanceId, err := uuid.NewV4()
if err != nil { if err != nil {
@ -134,6 +131,11 @@ func initDataStore(flags *portainer.CLIFlags, secretKey []byte, fileService port
// if err != nil { // if err != nil {
// log.Fatal().Err(err).Msg("failed migration") // log.Fatal().Err(err).Msg("failed migration")
// } // }
err := store.PostInit()
if err != nil {
log.Fatal().Err(err).Msg("postinit failed")
}
} }
err = updateSettingsFromFlags(store, flags) err = updateSettingsFromFlags(store, flags)

View file

@ -38,6 +38,23 @@ func NewService(connection portainer.Connection) (*Service, error) {
return s, nil return s, nil
} }
func (service *Service) Init() error {
es, err := service.endpoints()
if err != nil {
return err
}
for _, e := range es {
if len(e.EdgeID) > 0 {
service.idxEdgeID[e.EdgeID] = e.ID
}
service.heartbeats.Store(e.ID, e.LastCheckInDate)
}
return nil
}
func (service *Service) Tx(tx portainer.Transaction) ServiceTx { func (service *Service) Tx(tx portainer.Transaction) ServiceTx {
return ServiceTx{ return ServiceTx{
service: service, service: service,

View file

@ -31,8 +31,6 @@ func (store *Store) Open() (newStore bool, err error) {
return false, err return false, err
} }
fmt.Println("encryptionReq:", encryptionReq)
if encryptionReq { if encryptionReq {
err = store.encryptDB() err = store.encryptDB()
if err != nil { if err != nil {
@ -49,8 +47,6 @@ func (store *Store) Open() (newStore bool, err error) {
return false, err return false, err
} }
fmt.Println("connection openned")
err = store.initServices() err = store.initServices()
if err != nil { if err != nil {
return false, err return false, err

View file

@ -27,6 +27,11 @@ func (store *Store) Init() error {
return store.checkOrCreateDefaultData() return store.checkOrCreateDefaultData()
} }
func (store *Store) PostInit() error {
store.EndpointService.Init()
return nil
}
func (store *Store) checkOrCreateDefaultSettings() error { func (store *Store) checkOrCreateDefaultSettings() error {
isDDExtention := false isDDExtention := false

View file

@ -38,7 +38,9 @@ type testDatastore struct {
func (d *testDatastore) BackupTo(io.Writer) error { return nil } func (d *testDatastore) BackupTo(io.Writer) error { return nil }
func (d *testDatastore) Open() (bool, error) { return false, nil } func (d *testDatastore) Open() (bool, error) { return false, nil }
func (d *testDatastore) Init() error { return nil }
// func (d *testDatastore) Init() error { return nil }
func (d *testDatastore) PostInit() error { return nil }
func (d *testDatastore) Close() error { return nil } func (d *testDatastore) Close() error { return nil }
func (d *testDatastore) UpdateTx(func(dataservices.DataStoreTx) error) error { return nil } func (d *testDatastore) UpdateTx(func(dataservices.DataStoreTx) error) error { return nil }
func (d *testDatastore) ViewTx(func(dataservices.DataStoreTx) error) error { return nil } func (d *testDatastore) ViewTx(func(dataservices.DataStoreTx) error) error { return nil }

View file

@ -1,8 +1,10 @@
#!/bin/bash #!/bin/bash
GOLANGCI_LINT="go run github.com/golangci/golangci-lint/cmd/golangci-lint@v1.53.0"
cd api cd api
if golangci-lint run --timeout=10m -c .golangci.yaml if ${GOLANGCI_LINT} run --timeout=10m -c .golangci.yaml
then then
echo "golangci-lint run successfully" echo "golangci-lint run successfully"
else else