skywire icon indicating copy to clipboard operation
skywire copied to clipboard

Services array in visor config & fall over

Open 0pcom opened this issue 2 years ago • 0 comments

Services Array

Every instance of a URL for a service specified in the visor's config should become an array of strings instead of just a string

	"dmsg": {
		"discovery": "http://dmsgd.skywire.skycoin.com",
		"sessions_count": 1,
		"servers": []
	},
	"transport": {
		"discovery": "http://tpd.skywire.skycoin.com",
		"address_resolver": "http://ar.skywire.skycoin.com",
		"public_autoconnect": false,
		"transport_setup_nodes": null,
		"log_store": {
			"type": "file",
			"location": "/opt/skywire/local/transport_logs",
			"rotation_interval": "168h0m0s"
		}
	},
	"routing": {
		"setup_nodes": [
			"0324579f003e6b4048bae2def4365e634d8e0e3054a20fc7af49daf2a179658557"
		],
		"route_finder": "http://rf.skywire.skycoin.com",
		"route_finder_timeout": "10s",
		"min_hops": 0
	},
	"uptime_tracker": {
		"addr": "http://ut.skywire.skycoin.com"
	},
	"launcher": {
		"service_discovery": "http://sd.skycoin.com",

the above would become

{
  "dmsg": [
    {
      "discovery": "http://dmsgd.skywire.skycoin.com",
      "sessions_count": 1,
      "servers": []
    },
    {
      "discovery": "http://dmsgd.skywire.dev",
      "sessions_count": 1,
      "servers": []
    }
  ],
  "transport": [
    {
      "discovery": "http://tpd.skywire.skycoin.com",
      "address_resolver": "http://ar.skywire.skycoin.com",
      "public_autoconnect": false,
      "transport_setup_nodes": null,
      "log_store": {
        "type": "file",
        "location": "/opt/skywire/local/transport_logs",
        "rotation_interval": "168h0m0s"
      }
    },
    {
      "discovery": "http://tpd.skywire.dev",
      "address_resolver": "http://ar.skywire.dev",
      "public_autoconnect": true,
      "transport_setup_nodes": null,
      "log_store": {
        "type": "file",
        "location": "./local/transport_logs",
        "rotation_interval": "168h0m0s"
      }
    }
  ],
  "routing": [
    {
      "setup_nodes": [
        "0324579f003e6b4048bae2def4365e634d8e0e3054a20fc7af49daf2a179658557"
      ],
      "route_finder": "http://rf.skywire.skycoin.com",
      "route_finder_timeout": "10s",
      "min_hops": 0
    },
    {
      "setup_nodes": [
        "026c2a3e92d6253c5abd71a42628db6fca9dd9aa037ab6f4e3a31108558dfd87cf"
      ],
      "route_finder": "http://rf.skywire.dev",
      "route_finder_timeout": "10s",
      "min_hops": 0
    }
  ],
  "uptime_tracker": [
    {
      "addr": "http://ut.skywire.skycoin.com"
    },
    {
      "addr": "http://ut.skywire.dev"
    }
  ],
  "launcher": [
    {
      "service_discovery": "http://sd.skycoin.com"
    },
    {
      "service_discovery": "http://sd.skywire.dev"
    }
  ]
}

the transport log store location needs to be a unique path or else the transport logs need to be identified per the transport discovery used

Fall over

These services should be used based on their order in the array. If an operation is unsuccessful (after n tries?) the next configured service should be used, and so on.

0pcom avatar Apr 28 '23 14:04 0pcom