The new version of the urfave/cli library is moving to generics, and it's completely unclear to me why this is an improvement. Their new API is very complicated to understand, which for me, defeats the purpose of golang. In parallel, I needed to do some upcoming cli API refactoring, so this was a good time to look into new libraries. After a review of the landscape, I found the alexflint/go-arg library which has a delightfully elegant API. It does have a few rough edges, but it's otherwise very usable, and I think it would be straightforward to add features and fix issues. Thanks Alex!
171 lines
8.1 KiB
Modula-2
171 lines
8.1 KiB
Modula-2
module github.com/purpleidea/mgmt
|
|
|
|
go 1.20
|
|
|
|
require (
|
|
github.com/aws/aws-sdk-go v1.48.5
|
|
github.com/coredhcp/coredhcp v0.0.0-20231020075302-1cd0fca8759a
|
|
github.com/coreos/go-systemd/v22 v22.5.0
|
|
github.com/cyphar/filepath-securejoin v0.2.4
|
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc
|
|
github.com/deniswernert/go-fstab v0.0.0-20141204152952-eb4090f26517
|
|
github.com/docker/docker v24.0.7+incompatible
|
|
github.com/docker/go-connections v0.4.0
|
|
github.com/fsnotify/fsnotify v1.7.0
|
|
github.com/godbus/dbus/v5 v5.1.0
|
|
github.com/hashicorp/consul/api v1.26.1
|
|
github.com/hashicorp/go-multierror v1.1.1
|
|
github.com/hashicorp/hil v0.0.0-20231024160542-43d11d37940c
|
|
github.com/hetznercloud/hcloud-go v1.52.0
|
|
github.com/iancoleman/strcase v0.3.0
|
|
github.com/insomniacslk/dhcp v0.0.0-20231126010706-b0416c0f187a
|
|
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/pborman/uuid v1.2.1
|
|
github.com/pkg/errors v0.9.1
|
|
github.com/prometheus/client_golang v1.17.0
|
|
github.com/sanity-io/litter v1.5.5
|
|
github.com/spf13/afero v1.10.0
|
|
github.com/vishvananda/netlink v1.2.1-beta.2
|
|
go.etcd.io/etcd/api/v3 v3.5.10
|
|
go.etcd.io/etcd/client/pkg/v3 v3.5.10
|
|
go.etcd.io/etcd/client/v3 v3.5.10
|
|
go.etcd.io/etcd/server/v3 v3.5.10
|
|
golang.org/x/crypto v0.16.0
|
|
golang.org/x/sys v0.15.0
|
|
golang.org/x/time v0.5.0
|
|
gopkg.in/src-d/go-git.v4 v4.13.1
|
|
gopkg.in/yaml.v2 v2.4.0
|
|
honnef.co/go/augeas v0.0.0-20161110001225-ca62e35ed6b8
|
|
)
|
|
|
|
require (
|
|
cloud.google.com/go v0.110.4 // indirect
|
|
github.com/Microsoft/go-winio v0.6.0 // indirect
|
|
github.com/alexflint/go-arg v1.4.3 // indirect
|
|
github.com/alexflint/go-scalar v1.1.0 // indirect
|
|
github.com/armon/go-metrics v0.4.1 // indirect
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
github.com/cenkalti/backoff/v4 v4.1.3 // indirect
|
|
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
|
github.com/containerd/containerd v1.6.8 // indirect
|
|
github.com/coreos/go-semver v0.3.0 // indirect
|
|
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
|
|
github.com/docker/distribution v2.8.1+incompatible // indirect
|
|
github.com/docker/go-units v0.5.0 // indirect
|
|
github.com/dustin/go-humanize v1.0.0 // indirect
|
|
github.com/emirpasic/gods v1.18.1 // indirect
|
|
github.com/fatih/color v1.14.1 // indirect
|
|
github.com/form3tech-oss/jwt-go v3.2.5+incompatible // indirect
|
|
github.com/go-logr/logr v1.2.3 // indirect
|
|
github.com/go-logr/stdr v1.2.2 // indirect
|
|
github.com/gogo/protobuf v1.3.2 // indirect
|
|
github.com/golang-jwt/jwt/v4 v4.4.2 // indirect
|
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
|
github.com/golang/protobuf v1.5.3 // indirect
|
|
github.com/google/btree v1.1.2 // indirect
|
|
github.com/google/go-cmp v0.5.9 // indirect
|
|
github.com/google/uuid v1.3.0 // indirect
|
|
github.com/gorilla/mux v1.7.2 // indirect
|
|
github.com/gorilla/websocket v1.5.0 // indirect
|
|
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
|
|
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect
|
|
github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
|
|
github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 // indirect
|
|
github.com/hashicorp/errwrap v1.1.0 // indirect
|
|
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
|
github.com/hashicorp/go-hclog v1.5.0 // indirect
|
|
github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
|
|
github.com/hashicorp/go-rootcerts v1.0.2 // indirect
|
|
github.com/hashicorp/golang-lru v0.5.4 // indirect
|
|
github.com/hashicorp/serf v0.10.1 // indirect
|
|
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
|
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
|
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
|
github.com/jonboulle/clockwork v0.3.0 // indirect
|
|
github.com/josharian/native v1.1.0 // indirect
|
|
github.com/json-iterator/go v1.1.12 // indirect
|
|
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
|
github.com/kr/pretty v0.3.1 // indirect
|
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
|
github.com/mattn/go-isatty v0.0.20 // indirect
|
|
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
|
|
github.com/mdlayher/ethernet v0.0.0-20220221185849-529eae5b6118 // indirect
|
|
github.com/mdlayher/packet v1.0.0 // indirect
|
|
github.com/mdlayher/raw v0.1.0 // indirect
|
|
github.com/mdlayher/socket v0.2.3 // indirect
|
|
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
|
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
|
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
|
github.com/moby/term v0.0.0-20200312100748-672ec06f55cd // indirect
|
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
|
github.com/modern-go/reflect2 v1.0.2 // indirect
|
|
github.com/morikuni/aec v1.0.0 // indirect
|
|
github.com/opencontainers/go-digest v1.0.0 // indirect
|
|
github.com/opencontainers/image-spec v1.1.0-rc2 // indirect
|
|
github.com/pierrec/lz4/v4 v4.1.18 // indirect
|
|
github.com/pin/tftp/v3 v3.1.0 // indirect
|
|
github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16 // indirect
|
|
github.com/prometheus/common v0.44.0 // indirect
|
|
github.com/prometheus/procfs v0.11.1 // indirect
|
|
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
|
github.com/sergi/go-diff v1.2.0 // indirect
|
|
github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect
|
|
github.com/sirupsen/logrus v1.9.3 // indirect
|
|
github.com/soheilhy/cmux v0.1.5 // indirect
|
|
github.com/spf13/cobra v1.1.3 // indirect
|
|
github.com/spf13/pflag v1.0.6-0.20210604193023-d5e0c0615ace // indirect
|
|
github.com/src-d/gcfg v1.4.0 // indirect
|
|
github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75 // indirect
|
|
github.com/u-root/uio v0.0.0-20230305220412-3e8cd9d6bf63 // indirect
|
|
github.com/vishvananda/netns v0.0.0-20220913150850-18c4f4234207 // indirect
|
|
github.com/xanzy/ssh-agent v0.3.2 // indirect
|
|
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 // indirect
|
|
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect
|
|
github.com/yalue/merged_fs v1.3.0 // indirect
|
|
go.etcd.io/bbolt v1.3.8 // indirect
|
|
go.etcd.io/etcd/client/v2 v2.305.10 // indirect
|
|
go.etcd.io/etcd/pkg/v3 v3.5.10 // indirect
|
|
go.etcd.io/etcd/raft/v3 v3.5.10 // indirect
|
|
go.opentelemetry.io/contrib v1.11.0 // indirect
|
|
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3 // indirect
|
|
go.opentelemetry.io/otel v1.11.0 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp v0.20.0 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.0 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.11.0 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.11.0 // indirect
|
|
go.opentelemetry.io/otel/internal/metric v0.27.0 // indirect
|
|
go.opentelemetry.io/otel/metric v0.32.3 // indirect
|
|
go.opentelemetry.io/otel/sdk v1.11.0 // indirect
|
|
go.opentelemetry.io/otel/sdk/export/metric v0.28.0 // indirect
|
|
go.opentelemetry.io/otel/sdk/metric v0.32.3 // indirect
|
|
go.opentelemetry.io/otel/trace v1.11.0 // indirect
|
|
go.opentelemetry.io/proto/otlp v0.19.0 // indirect
|
|
go.uber.org/atomic v1.11.0 // indirect
|
|
go.uber.org/multierr v1.11.0 // indirect
|
|
go.uber.org/zap v1.23.0 // indirect
|
|
golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
|
|
golang.org/x/mod v0.14.0 // indirect
|
|
golang.org/x/net v0.19.0 // indirect
|
|
golang.org/x/sync v0.5.0 // indirect
|
|
golang.org/x/text v0.14.0 // indirect
|
|
golang.org/x/tools v0.16.0 // indirect
|
|
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
|
|
google.golang.org/appengine v1.6.7 // indirect
|
|
google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 // indirect
|
|
google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 // indirect
|
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect
|
|
google.golang.org/grpc v1.58.3 // indirect
|
|
google.golang.org/protobuf v1.31.0 // indirect
|
|
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
|
|
gopkg.in/src-d/go-billy.v4 v4.3.2 // indirect
|
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
|
gotest.tools/v3 v3.0.3 // indirect
|
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
|
)
|
|
|
|
replace github.com/u-root/u-root v7.0.0+incompatible => github.com/u-root/u-root v1.0.1
|
|
|
|
replace github.com/insomniacslk/dhcp => github.com/insomniacslk/dhcp v0.0.0-20221001123530-5308ebe5334c
|