lib: Move to go modules and shed a few tears

The old system with vendor/ and git submodules worked great,
unfortunately FUD around git submodules seemed to scare people away and
golang moved to a go.mod system that adds a new lock file format instead
of using the built-in git version. It's now almost impossible to use
modern golang without this, so we've switched.

So much for the golang compatibility promise-- turns out it doesn't
apply to the useful parts that I actually care about like this.

Thanks to frebib for his incredibly valuable contributions to this
patch. This snide commit message is mine alone.

This patch also mixes in some changes due to legacy golang as we've also
bumped the minimum version to 1.16 in the docs and tests.

Lastly, we had to disable some tests and fix up a few other misc things
to get this passing. We've definitely hot bugs in the go.mod system, and
our Makefile tries to workaround those.
This commit is contained in:
James Shubin
2021-05-25 01:44:30 -04:00
parent 9c75c55fa4
commit 88516546fa
80 changed files with 1115 additions and 287 deletions

57
go.mod Normal file
View File

@@ -0,0 +1,57 @@
module github.com/purpleidea/mgmt
go 1.16
require (
cloud.google.com/go v0.54.0 // indirect
github.com/Microsoft/go-winio v0.4.17 // indirect
github.com/aws/aws-sdk-go v1.40.49
github.com/containerd/containerd v1.4.9 // indirect
github.com/coredhcp/coredhcp v0.0.0-20210830115404-2176f33418f4
github.com/coreos/go-systemd/v22 v22.3.2
github.com/cyphar/filepath-securejoin v0.2.3
github.com/davecgh/go-spew v1.1.1
github.com/deniswernert/go-fstab v0.0.0-20141204152952-eb4090f26517
github.com/docker/distribution v2.7.1+incompatible // indirect
github.com/docker/docker v20.10.8+incompatible
github.com/docker/go-connections v0.4.0
github.com/docker/go-units v0.4.0 // indirect
github.com/fsnotify/fsnotify v1.5.1
github.com/godbus/dbus/v5 v5.0.4
github.com/google/uuid v1.2.0 // indirect
github.com/gorilla/mux v1.7.2 // indirect
github.com/hashicorp/consul/api v1.1.0
github.com/hashicorp/go-multierror v1.0.0
github.com/hashicorp/hil v0.0.0-20210521165536-27a72121fd40
github.com/iancoleman/strcase v0.2.0
github.com/insomniacslk/dhcp v0.0.0-20210827173440-b95caade3eac
github.com/kr/pretty v0.2.1 // indirect
github.com/kylelemons/godebug v1.1.0
github.com/libvirt/libvirt-go v7.4.0+incompatible
github.com/libvirt/libvirt-go-xml v7.4.0+incompatible
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
github.com/moby/term v0.0.0-20200312100748-672ec06f55cd // indirect
github.com/morikuni/aec v1.0.0 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.0.1 // indirect
github.com/pborman/uuid v1.2.1
github.com/pin/tftp v0.0.0-20210809155059-0161c5dd2e96
github.com/pkg/errors v0.9.1
github.com/prometheus/client_golang v1.11.0
github.com/sanity-io/litter v1.5.1
github.com/sirupsen/logrus v1.8.1 // indirect
github.com/spf13/afero v1.5.1
github.com/urfave/cli/v2 v2.3.0
github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852
go.etcd.io/etcd/api/v3 v3.5.0
go.etcd.io/etcd/client/pkg/v3 v3.5.0
go.etcd.io/etcd/client/v3 v3.5.0
go.etcd.io/etcd/server/v3 v3.5.0
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba
gopkg.in/src-d/go-git.v4 v4.13.1
gopkg.in/yaml.v2 v2.4.0
gotest.tools/v3 v3.0.3 // indirect
honnef.co/go/augeas v0.0.0-20161110001225-ca62e35ed6b8
)