diff --git a/repo/config/config.go b/repo/config/config.go index bfe9be1de..8c8d2ec1e 100644 --- a/repo/config/config.go +++ b/repo/config/config.go @@ -21,7 +21,6 @@ type Config struct { Datastore Datastore // local node's storage Addresses Addresses // local node's addresses Mounts Mounts // local node's mount points - Version Version // local node's version management Discovery Discovery // local node's discovery mechanisms Ipns Ipns // Ipns settings Bootstrap []string // local nodes's bootstrap peer addresses diff --git a/repo/config/init.go b/repo/config/init.go index 810cc9998..886aaac75 100644 --- a/repo/config/init.go +++ b/repo/config/init.go @@ -21,11 +21,6 @@ func Init(out io.Writer, nBitsForKeypair int) (*Config, error) { return nil, err } - snr, err := initSNRConfig() - if err != nil { - return nil, err - } - conf := &Config{ // setup the node's default addresses. @@ -40,9 +35,8 @@ func Init(out io.Writer, nBitsForKeypair int) (*Config, error) { Gateway: "/ip4/127.0.0.1/tcp/8080", }, - Bootstrap: BootstrapPeerStrings(bootstrapPeers), - SupernodeRouting: *snr, - Identity: identity, + Bootstrap: BootstrapPeerStrings(bootstrapPeers), + Identity: identity, Discovery: Discovery{MDNS{ Enabled: true, Interval: 10, @@ -58,10 +52,6 @@ func Init(out io.Writer, nBitsForKeypair int) (*Config, error) { ResolveCacheSize: 128, }, - // tracking ipfs version used to generate the init folder and adding - // update checker default setting. - Version: VersionDefaultValue(), - Gateway: Gateway{ RootRedirect: "", Writable: false, diff --git a/repo/config/version.go b/repo/config/version.go index 40bc4f8e3..471356f8e 100644 --- a/repo/config/version.go +++ b/repo/config/version.go @@ -1,12 +1,5 @@ package config -import ( - "errors" - "strconv" - "strings" - "time" -) - // CurrentCommit is the current git commit, this is set as a ldflag in the Makefile var CurrentCommit string @@ -14,123 +7,3 @@ var CurrentCommit string const CurrentVersionNumber = "0.4.0" const ApiVersion = "/go-ipfs/" + CurrentVersionNumber + "/" - -// Version regulates checking if the most recent version is run -type Version struct { - // Current is the ipfs version for which config was generated - Current string - - // Check signals how to react on updates: - // - "ignore" for not checking - // - "warn" for issuing a warning and proceeding - // - "error" for exiting with an error - Check string - - // CheckDate is a timestamp for the last time API endpoint was checked for updates - CheckDate time.Time - - // CheckPeriod is the time duration over which the update check will not be performed - // (Note: cannot use time.Duration because marshalling with json breaks it) - CheckPeriod string - - // AutoUpdate is optional - AutoUpdate AutoUpdateSetting -} - -// supported Version.Check values -const ( - // CheckError value for Version.Check to raise error and exit if version is obsolete - CheckError = "error" - - // CheckWarn value for Version.Check to show warning message if version is obsolete - CheckWarn = "warn" - - // CheckIgnore value for Version.Check to not perform update check - CheckIgnore = "ignore" -) - -// AutoUpdateSetting implements json.Unmarshaler to check values in config -type AutoUpdateSetting int - -// AutoUpdateSetting values -const ( - AutoUpdateNever AutoUpdateSetting = iota // do not auto-update - AutoUpdatePatch // only on new patch versions - AutoUpdateMinor // on new minor or patch versions (Default) - AutoUpdateMajor // on all, even Major, version changes -) - -// ErrUnknownAutoUpdateSetting is returned when an unknown value is read from the config -var ErrUnknownAutoUpdateSetting = errors.New("unknown value for AutoUpdate") - -// defaultCheckPeriod governs h -var defaultCheckPeriod = time.Hour * 48 - -// UnmarshalJSON checks the input against known strings -func (s *AutoUpdateSetting) UnmarshalJSON(in []byte) error { - - switch strings.ToLower(string(in)) { - case `"never"`: - *s = AutoUpdateNever - case `"major"`: - *s = AutoUpdateMajor - case `"minor"`: - *s = AutoUpdateMinor - case `"patch"`: - *s = AutoUpdatePatch - default: - *s = AutoUpdateMinor - return ErrUnknownAutoUpdateSetting - } - return nil -} - -// MarshalJSON converts the value back to JSON string -func (s AutoUpdateSetting) MarshalJSON() ([]byte, error) { - return []byte(`"` + s.String() + `"`), nil -} - -// String converts valye to human readable string -func (s AutoUpdateSetting) String() string { - switch s { - case AutoUpdateNever: - return "never" - case AutoUpdateMajor: - return "major" - case AutoUpdateMinor: - return "minor" - case AutoUpdatePatch: - return "patch" - default: - return ErrUnknownAutoUpdateSetting.Error() - } -} - -func (v *Version) checkPeriodDuration() time.Duration { - d, err := strconv.Atoi(v.CheckPeriod) - if err != nil { - log.Warning("config.Version.CheckPeriod parse error. Using default.") - return defaultCheckPeriod - } - return time.Duration(d) -} - -// ShouldCheckForUpdate returns if update check API endpoint is needed for this specific runtime -func (v *Version) ShouldCheckForUpdate() bool { - - period := v.checkPeriodDuration() - if v.Check == CheckIgnore || v.CheckDate.Add(period).After(time.Now()) { - return false - } - return true -} - -// VersionDefaultValue returns the default version config value (for init). -func VersionDefaultValue() Version { - return Version{ - Current: CurrentVersionNumber, - Check: "error", - CheckPeriod: strconv.Itoa(int(defaultCheckPeriod)), - AutoUpdate: AutoUpdateMinor, - } -}