// Copyright 2016 The go-qemu Authors. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package main import ( "embed" "net" "os" "time" "github.com/digitalocean/go-qemu/hypervisor" "go.wit.com/dev/alexflint/arg" "go.wit.com/log" ) var Version string //go:embed resources/* var resources embed.FS func main() { var pp *arg.Parser pp = arg.MustParse(&argv) if pp == nil { pp.WriteHelp(os.Stdout) os.Exit(0) } me = new(Virtigod) me.Hostname, _ = os.Hostname() log.DaemonMode(true) // fmt.Printf("\nConnecting to %s://%s\n", *network, *address) newConn := func() (net.Conn, error) { // return net.DialTimeout("tcp", "hyper02:16514", *timeout) // return net.DialTimeout(*network, *address, *timeout) return net.DialTimeout("unix", "/var/run/libvirt/libvirt-sock", 2*time.Second) } driver := hypervisor.NewRPCDriver(newConn) me.hv = hypervisor.New(driver) pollHypervisor(me.hv) startHTTP() }