code.vegaprotocol.io/vega@v0.79.0/cmd/vega/commands/unsafe_reset_all.go (about) 1 // Copyright (C) 2023 Gobalsky Labs Limited 2 // 3 // This program is free software: you can redistribute it and/or modify 4 // it under the terms of the GNU Affero General Public License as 5 // published by the Free Software Foundation, either version 3 of the 6 // License, or (at your option) any later version. 7 // 8 // This program is distributed in the hope that it will be useful, 9 // but WITHOUT ANY WARRANTY; without even the implied warranty of 10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 // GNU Affero General Public License for more details. 12 // 13 // You should have received a copy of the GNU Affero General Public License 14 // along with this program. If not, see <http://www.gnu.org/licenses/>. 15 16 package commands 17 18 import ( 19 "context" 20 21 "code.vegaprotocol.io/vega/core/checkpoint" 22 "code.vegaprotocol.io/vega/core/config" 23 snapshotdbs "code.vegaprotocol.io/vega/core/snapshot/databases" 24 "code.vegaprotocol.io/vega/logging" 25 "code.vegaprotocol.io/vega/paths" 26 27 "github.com/jessevdk/go-flags" 28 ) 29 30 type UnsafeResetAllCmd struct { 31 config.VegaHomeFlag 32 } 33 34 //nolint:unparam 35 func (cmd *UnsafeResetAllCmd) Execute(_ []string) error { 36 log := logging.NewLoggerFromConfig( 37 logging.NewDefaultConfig(), 38 ) 39 defer log.AtExit() 40 41 vegaPaths := paths.New(cmd.VegaHome) 42 43 if err := snapshotdbs.RemoveAll(vegaPaths); err != nil { 44 log.Error("Could not remove local snapshots databases", logging.Error(err)) 45 log.Error("Skipping removal of the local snapshots") 46 } else { 47 log.Info("Local snapshots have been removed") 48 } 49 50 if err := checkpoint.RemoveAll(vegaPaths); err != nil { 51 log.Error("Could not remove local checkpoints", logging.Error(err)) 52 log.Error("Skipping removal of the local checkpoints") 53 } else { 54 log.Info("Local checkpoints have been removed") 55 } 56 57 return nil 58 } 59 60 var unsafeResetCmd UnsafeResetAllCmd 61 62 func UnsafeResetAll(_ context.Context, parser *flags.Parser) error { 63 unsafeResetCmd = UnsafeResetAllCmd{} 64 65 _, err := parser.AddCommand("unsafe_reset_all", "(unsafe) Remove all application state", "(unsafe) Remove all vega application state (checkpoints and snapshots)", &unsafeResetCmd) 66 return err 67 }