{"record":{"id":"b3bbaa17e4d9edd5","repo":"ipfs/kubo","slug":"config-setting-ipns-republishperiod-is-not-between","errorCode":null,"errorMessage":"config setting IPNS.RepublishPeriod is not between 1min and 1day: %s","messagePattern":"config setting IPNS\\.RepublishPeriod is not between 1min and 1day: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/node/groups.go","lineNumber":335,"sourceCode":"\tif ipnsCacheSize == 0 {\n\t\tipnsCacheSize = DefaultIpnsCacheSize\n\t}\n\tif ipnsCacheSize < 0 {\n\t\treturn fx.Error(errors.New(\"cannot specify negative resolve cache size\"))\n\t}\n\n\t// Republisher params\n\n\tvar repubPeriod, recordLifetime time.Duration\n\n\tif cfg.Ipns.RepublishPeriod != \"\" {\n\t\td, err := time.ParseDuration(cfg.Ipns.RepublishPeriod)\n\t\tif err != nil {\n\t\t\treturn fx.Error(fmt.Errorf(\"failure to parse config setting IPNS.RepublishPeriod: %s\", err))\n\t\t}\n\n\t\tif !util.Debug && (d < time.Minute || d > (time.Hour*24)) {\n\t\t\treturn fx.Error(fmt.Errorf(\"config setting IPNS.RepublishPeriod is not between 1min and 1day: %s\", d))\n\t\t}\n\n\t\trepubPeriod = d\n\t}\n\n\tif cfg.Ipns.RecordLifetime != \"\" {\n\t\td, err := time.ParseDuration(cfg.Ipns.RecordLifetime)\n\t\tif err != nil {\n\t\t\treturn fx.Error(fmt.Errorf(\"failure to parse config setting IPNS.RecordLifetime: %s\", err))\n\t\t}\n\n\t\trecordLifetime = d\n\t}\n\n\tisBitswapLibp2pEnabled := cfg.Bitswap.Libp2pEnabled.WithDefault(config.DefaultBitswapLibp2pEnabled)\n\tisBitswapServerEnabled := cfg.Bitswap.ServerEnabled.WithDefault(config.DefaultBitswapServerEnabled)\n\tisHTTPRetrievalEnabled := cfg.HTTPRetrieval.Enabled.WithDefault(config.DefaultHTTPRetrievalEnabled)\n","sourceCodeStart":317,"sourceCodeEnd":353,"githubUrl":"https://github.com/ipfs/kubo/blob/329838acdfafae224582930457efe80aa217afc0/core/node/groups.go#L317-L353","documentation":"Kubo validates IPNS.RepublishPeriod at daemon startup while constructing the Online node (fx dependency graph in Networked). The republisher interval must be at least 1 minute and at most 24 hours (unless util.Debug is set), because republishing more often floods the DHT and less often lets records go stale. The daemon fails to start if the configured duration falls outside that range.","triggerScenarios":"Setting IPNS.RepublishPeriod in the config to a duration string that parses (e.g. \"10s\" or \"25h\" or \"0\") and starting the daemon with `ipfs daemon`; the check runs in the fx Online constructor when the value is non-empty.","commonSituations":"Users trying to speed up IPNS record propagation set it to seconds; users copying old examples set \"0\" expecting default behavior; typos like \"1day\" parse as something unexpected or the value exceeds 24h after a unit mistake (e.g. \"1440h\").","solutions":["Run `ipfs config Ipns.RepublishPeriod` to see the current value, then set it inside 1m-24h: `ipfs config Ipns.RepublishPeriod 4h`","Remove the setting entirely (`ipfs config --json Ipns.RepublishPeriod \"\"` or delete the key) to use the default republish interval","If you really need faster republishing for testing, build with the debug tag (util.Debug) — not recommended for production"],"exampleFix":"// before (config.json)\n\"Ipns\": { \"RepublishPeriod\": \"30s\" }\n// after\n\"Ipns\": { \"RepublishPeriod\": \"4h\" }","handlingStrategy":"validation","validationCode":"d, err := time.ParseDuration(cfg.Ipns.RepublishPeriod)\nif err != nil || (!debug && (d < time.Minute || d > 24*time.Hour)) {\n    return fmt.Errorf(\"IPNS.RepublishPeriod must be a Go duration between 1m and 24h, got %q\", cfg.Ipns.RepublishPeriod)\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Validate IPNS.RepublishPeriod with time.ParseDuration and range-check 1m..24h before writing it via `ipfs config`","Prefer leaving RepublishPeriod unset and rely on the default interval"],"tags":["ipns","config","startup"],"backgroundTag":"config-value-out-of-range","analyzedSha":"329838acdfafae224582930457efe80aa217afc0","analyzedAt":"2026-09-03T18:30:52.135Z","contentChangedAt":"2026-09-03T18:30:52.135Z","schemaVersion":2},"datasetVersion":"2026-09-11T00:17:11.886Z"}