MCPcopy
hub / github.com/kopia/kopia / setup

Method setup

cli/app.go:249–318  ·  view source on GitHub ↗
(app *kingpin.Application)

Source from the content-addressed store, hash-verified

247}
248
249func (c *App) setup(app *kingpin.Application) {
250 app.PreAction(func(pc *kingpin.ParseContext) error {
251 if sc := pc.SelectedCommand; sc != nil {
252 c.currentAction = sc.FullCommand()
253 } else {
254 c.currentAction = "unknown-action"
255 }
256
257 return nil
258 })
259
260 _ = app.Flag("help-full", "Show help for all commands, including hidden").Action(func(pc *kingpin.ParseContext) error {
261 _ = app.UsageForContextWithTemplate(pc, 0, kingpin.DefaultUsageTemplate)
262
263 c.exitWithError(nil)
264
265 return nil
266 }).Bool()
267
268 app.Flag("auto-maintenance", "Automatic maintenance").Default("true").Hidden().BoolVar(&c.enableAutomaticMaintenance)
269
270 // hidden flags to control auto-update behavior.
271 app.Flag("initial-update-check-delay", "Initial delay before first time update check").Default("24h").Hidden().Envar(c.EnvName("KOPIA_INITIAL_UPDATE_CHECK_DELAY")).DurationVar(&c.initialUpdateCheckDelay)
272 app.Flag("update-check-interval", "Interval between update checks").Default("168h").Hidden().Envar(c.EnvName("KOPIA_UPDATE_CHECK_INTERVAL")).DurationVar(&c.updateCheckInterval)
273 app.Flag("update-available-notify-interval", "Interval between update notifications").Default("1h").Hidden().Envar(c.EnvName("KOPIA_UPDATE_NOTIFY_INTERVAL")).DurationVar(&c.updateAvailableNotifyInterval)
274 app.Flag("config-file", "Specify the config file to use").Default("repository.config").Envar(c.EnvName("KOPIA_CONFIG_PATH")).StringVar(&c.configPath)
275 app.Flag("trace-storage", "Enables tracing of storage operations.").Default("true").Hidden().BoolVar(&c.traceStorage)
276 app.Flag("timezone", "Format time according to specified time zone (local, utc, original or time zone name)").Hidden().StringVar(&timeZone)
277 app.Flag("password", "Repository password.").Envar(c.EnvName("KOPIA_PASSWORD")).Short('p').StringVar(&c.password)
278 app.Flag("persist-credentials", "Persist credentials").Default("true").Envar(c.EnvName("KOPIA_PERSIST_CREDENTIALS_ON_CONNECT")).BoolVar(&c.persistCredentials)
279 app.Flag("disable-repository-log", "Disable repository log").Hidden().Envar(c.EnvName("KOPIA_DISABLE_REPOSITORY_LOG")).BoolVar(&c.disableRepositoryLog)
280 app.Flag("dangerous-commands", "Enable dangerous commands that could result in data loss and repository corruption.").Hidden().Envar(c.EnvName("KOPIA_DANGEROUS_COMMANDS")).StringVar(&c.DangerousCommands)
281 app.Flag("track-releasable", "Enable tracking of releasable resources.").Hidden().Envar(c.EnvName("KOPIA_TRACK_RELEASABLE")).StringsVar(&c.trackReleasable)
282 app.Flag("upgrade-owner-id", "Repository format upgrade owner-id.").Hidden().Envar(c.EnvName("KOPIA_REPO_UPGRADE_OWNER_ID")).StringVar(&c.upgradeOwnerID)
283 app.Flag("upgrade-no-block", "Do not block when repository format upgrade is in progress, instead exit with a message.").Hidden().Default("false").Envar(c.EnvName("KOPIA_REPO_UPGRADE_NO_BLOCK")).BoolVar(&c.doNotWaitForUpgrade)
284 app.Flag("error-notifications", "Send notification on errors").Hidden().
285 Envar(c.EnvName("KOPIA_SEND_ERROR_NOTIFICATIONS")).
286 Default(errorNotificationsNonInteractive).
287 EnumVar(&c.errorNotifications, errorNotificationsAlways, errorNotificationsNever, errorNotificationsNonInteractive)
288
289 if c.enableTestOnlyFlags() {
290 app.Flag("ignore-missing-required-features", "Open repository despite missing features (VERY DANGEROUS, ONLY FOR TESTING)").Hidden().BoolVar(&c.testonlyIgnoreMissingRequiredFeatures)
291 }
292
293 c.observability.setup(c, app)
294
295 c.setupOSSpecificKeychainFlags(c, app)
296
297 c.progress.setup(c, app)
298
299 c.blob.setup(c, app)
300 c.benchmark.setup(c, app)
301 c.cache.setup(c, app)
302 c.content.setup(c, app)
303 c.diff.setup(c, app)
304 c.index.setup(c, app)
305 c.list.setup(c, app)
306 c.logs.setup(c, app)

Callers 2

AttachMethod · 0.95
TestIgnoreFSFunction · 0.45

Calls 3

EnvNameMethod · 0.95
enableTestOnlyFlagsMethod · 0.95

Tested by 1

TestIgnoreFSFunction · 0.36