open-vault/vendor/github.com
Vishal Nayak 3e55e79a3f
Autopilot: Server Stabilization, State and Dead Server Cleanup (#10856)
* k8s doc: update for 0.9.1 and 0.8.0 releases (#10825)

* k8s doc: update for 0.9.1 and 0.8.0 releases

* Update website/content/docs/platform/k8s/helm/configuration.mdx

Co-authored-by: Theron Voran <tvoran@users.noreply.github.com>

Co-authored-by: Theron Voran <tvoran@users.noreply.github.com>

* Autopilot initial commit

* Move autopilot related backend implementations to its own file

* Abstract promoter creation

* Add nil check for health

* Add server state oss no-ops

* Config ext stub for oss

* Make way for non-voters

* s/health/state

* s/ReadReplica/NonVoter

* Add synopsis and description

* Remove struct tags from AutopilotConfig

* Use var for config storage path

* Handle nin-config when reading

* Enable testing autopilot by using inmem cluster

* First passing test

* Only report the server as known if it is present in raft config

* Autopilot defaults to on for all existing and new clusters

* Add locking to some functions

* Persist initial config

* Clarify the command usage doc

* Add health metric for each node

* Fix audit logging issue

* Don't set DisablePerformanceStandby to true in test

* Use node id label for health metric

* Log updates to autopilot config

* Less aggressively consume config loading failures

* Return a mutable config

* Return early from known servers if raft config is unable to be pulled

* Update metrics name

* Reduce log level for potentially noisy log

* Add knob to disable autopilot

* Don't persist if default config is in use

* Autopilot: Dead server cleanup (#10857)

* Dead server cleanup

* Initialize channel in any case

* Fix a bunch of tests

* Fix panic

* Add follower locking in heartbeat tracker

* Add LastContactFailureThreshold to config

* Add log when marking node as dead

* Update follower state locking in heartbeat tracker

* Avoid follower states being nil

* Pull test to its own file

* Add execution status to state response

* Optionally enable autopilot in some tests

* Updates

* Added API function to fetch autopilot configuration

* Add test for default autopilot configuration

* Configuration tests

* Add State API test

* Update test

* Added TestClusterOptions.PhysicalFactoryConfig

* Update locking

* Adjust locking in heartbeat tracker

* s/last_contact_failure_threshold/left_server_last_contact_threshold

* Add disabling autopilot as a core config option

* Disable autopilot in some tests

* s/left_server_last_contact_threshold/dead_server_last_contact_threshold

* Set the lastheartbeat of followers to now when setting up active node

* Don't use config defaults from CLI command

* Remove config file support

* Remove HCL test as well

* Persist only supplied config; merge supplied config with default to operate

* Use pointer to structs for storing follower information

* Test update

* Retrieve non voter status from configbucket and set it up when a node comes up

* Manage desired suffrage

* Consider bucket being created already

* Move desired suffrage to its own entry

* s/DesiredSuffrageKey/LocalNodeConfigKey

* s/witnessSuffrage/recordSuffrage

* Fix test compilation

* Handle local node config post a snapshot install

* Commit to storage first; then record suffrage in fsm

* No need of local node config being nili case, post snapshot restore

* Reconcile autopilot config when a new leader takes over duty

* Grab fsm lock when recording suffrage

* s/Suffrage/DesiredSuffrage in FollowerState

* Instantiate autopilot only in leader

* Default to old ways in more scenarios

* Make API gracefully handle 404

* Address some feedback

* Make IsDead an atomic.Value

* Simplify follower hearbeat tracking

* Use uber.atomic

* Don't have multiple causes for having autopilot disabled

* Don't remove node from follower states if we fail to remove the dead server

* Autopilot server removals map (#11019)

* Don't remove node from follower states if we fail to remove the dead server

* Use map to track dead server removals

* Use lock and map

* Use delegate lock

* Adjust when to remove entry from map

* Only hold the lock while accessing map

* Fix race

* Don't set default min_quorum

* Fix test

* Ensure follower states is not nil before starting autopilot

* Fix race

Co-authored-by: Jason O'Donnell <2160810+jasonodonnell@users.noreply.github.com>
Co-authored-by: Theron Voran <tvoran@users.noreply.github.com>
2021-03-03 13:59:50 -05:00
..
Azure Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
BurntSushi/toml run go mod vendor (#7736) 2019-10-25 13:35:22 +01:00
DataDog/datadog-go Couchbase -> 0.2.0; Elasticsearch -> 0.6.0; MongoDBAtlas -> 0.2.0 (#10188) 2020-10-20 11:48:53 -06:00
Jeffail/gabs Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
Masterminds/semver Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
Microsoft Minimal changes to solve Dependency CVEs [VAULT-871] (#11015) 2021-03-01 14:35:40 -08:00
NYTimes/gziphandler Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
Nvveen/Gotty Re-add dockertest and fix up imports and update script (#4909) 2018-07-11 17:49:13 -04:00
SAP/go-hdb Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
Sectorbob/mlab-ns2 Bundle MongoDB Atlas (#8309) 2020-02-07 14:09:39 -08:00
StackExchange/wmi sdk/gomod: remove dependency on vault (#9449) 2020-07-16 16:24:07 -07:00
aerospike/aerospike-client-go Aerospike storage backend (#10131) 2021-01-12 15:26:07 -08:00
aliyun Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
apache/arrow/go/arrow Adding snowflake as a bundled database secrets plugin (#10603) 2021-01-07 09:30:24 -08:00
apple/foundationdb/bindings/go Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
armon Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
asaskevich/govalidator Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
aws/aws-sdk-go Minimal changes to solve Dependency CVEs [VAULT-871] (#11015) 2021-03-01 14:35:40 -08:00
beorn7/perks Bump Deps (#4868) 2018-07-06 12:09:34 -04:00
bgentry/speakeasy Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
boombuler/barcode oss changes for entropy augmentation feature (#7670) 2019-10-17 10:33:00 -07:00
briankassouf/jose Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
cenkalti/backoff Run CI tests in docker instead of a machine. (#8948) 2020-09-15 10:01:26 -04:00
centrify/cloud-golang-sdk Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
cespare/xxhash/v2 Update to newest go-metrics, go mod vendor. (#8311) 2020-02-07 09:05:14 -05:00
chrismalek/oktasdk-go Update deps (#6580) 2019-04-12 11:51:37 -04:00
circonus-labs Raft Storage Backend (#6888) 2019-06-20 12:14:58 -07:00
client9/misspell Update to latest go-kms-wrapping and fix protos/etcd (#8996) 2020-05-14 18:45:10 -04:00
cloudfoundry-community/go-cfclient Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
cockroachdb/cockroach-go Update Deps (#5454) 2018-10-03 09:55:26 -07:00
containerd Minimal changes to solve Dependency CVEs [VAULT-871] (#11015) 2021-03-01 14:35:40 -08:00
coreos Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
couchbase Add couchbase, elasticsearch, and mongodbatlas back (#10222) 2020-10-22 17:20:17 -06:00
davecgh/go-spew Raft chunk snapshotting (#7185) 2019-07-24 20:44:13 -04:00
denisenkom/go-mssqldb Bump go-kms-wrapping to remove proto warning, and vendor (#9066) 2020-05-22 10:48:50 -04:00
denverdino/aliyungo Merge PR #10095: Integrated Storage Cloud Auto-Join 2020-10-13 16:26:39 -04:00
dgrijalva/jwt-go/v4 Adding snowflake as a bundled database secrets plugin (#10603) 2021-01-07 09:30:24 -08:00
digitalocean/godo Merge PR #10095: Integrated Storage Cloud Auto-Join 2020-10-13 16:26:39 -04:00
dimchansky/utfbom Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
docker Run CI tests in docker instead of a machine. (#8948) 2020-09-15 10:01:26 -04:00
dsnet/compress Update go.mod to corrected plugin tags (#8759) 2020-04-17 11:50:19 -07:00
duosecurity/duo_api_golang Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
elazarl/go-bindata-assetfs Update to latest go-kms-wrapping and fix protos/etcd (#8996) 2020-05-14 18:45:10 -04:00
fatih Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
form3tech-oss/jwt-go Add support for Managed Identity auth for physical/Azure (#10189) 2020-10-28 15:04:26 -07:00
fullsailor/pkcs7 Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
gammazero Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
ghodss/yaml Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
go-asn1-ber/asn1-ber Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
go-errors/errors Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
go-ldap Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
go-ole/go-ole sdk/gomod: remove dependency on vault (#9449) 2020-07-16 16:24:07 -07:00
go-sql-driver/mysql Update to latest go-kms-wrapping and fix protos/etcd (#8996) 2020-05-14 18:45:10 -04:00
go-stack/stack Mongodb driver switch to mongo-driver (#8140) 2020-01-24 09:32:47 +01:00
go-test/deep Add couchbase, elasticsearch, and mongodbatlas back (#10222) 2020-10-22 17:20:17 -06:00
go-yaml/yaml Upgrade okta sdk lib (#8143) 2020-02-03 12:51:10 -05:00
gocql/gocql update gocql version for cassandra physical backend (#9602) 2020-07-27 15:18:43 -04:00
gogo/protobuf Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
golang Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
golang-sql/civil Bump go-kms-wrapping to remove proto warning, and vendor (#9066) 2020-05-22 10:48:50 -04:00
google Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
googleapis Merge PR #10192: Auto-Join: Configurable Scheme & Port (and add k8s provider) 2020-10-23 16:13:09 -04:00
gophercloud/gophercloud Merge PR #10095: Integrated Storage Cloud Auto-Join 2020-10-13 16:26:39 -04:00
gorhill/cronexpr Bump Deps (#4868) 2018-07-06 12:09:34 -04:00
gorilla/websocket Add TLS options per Nomad backend (#8083) 2020-01-15 11:03:38 +01:00
hailocab/go-hostpool Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
hashicorp Autopilot: Server Stabilization, State and Dead Server Cleanup (#10856) 2021-03-03 13:59:50 -05:00
imdario/mergo Merge PR #10192: Auto-Join: Configurable Scheme & Port (and add k8s provider) 2020-10-23 16:13:09 -04:00
influxdata/influxdb Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
jackc/pgx Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
jcmturner Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
jeffchao/backoff Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
jefferai Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
jmespath/go-jmespath Couchbase -> 0.2.0; Elasticsearch -> 0.6.0; MongoDBAtlas -> 0.2.0 (#10188) 2020-10-20 11:48:53 -06:00
joyent/triton-go Merge PR #10095: Integrated Storage Cloud Auto-Join 2020-10-13 16:26:39 -04:00
json-iterator/go Backport leader status telemetry [VAULT-672] (#10147) 2020-10-15 14:15:58 -07:00
jstemmer/go-junit-report Update to latest go-kms-wrapping and fix protos/etcd (#8996) 2020-05-14 18:45:10 -04:00
kelseyhightower/envconfig Upgrade to newer okta lib for pagination, fetch all groups using it (#9580) 2020-07-24 09:05:08 -04:00
keybase/go-crypto Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
klauspost/compress Couchbase -> 0.2.0; Elasticsearch -> 0.6.0; MongoDBAtlas -> 0.2.0 (#10188) 2020-10-20 11:48:53 -06:00
konsorten/go-windows-terminal-sequences Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
kr Couchbase -> 0.2.0; Elasticsearch -> 0.6.0; MongoDBAtlas -> 0.2.0 (#10188) 2020-10-20 11:48:53 -06:00
lib/pq Bundle couchbase database plugin with vault (#9664) 2020-08-07 11:01:04 +01:00
linode/linodego Merge PR #10095: Integrated Storage Cloud Auto-Join 2020-10-13 16:26:39 -04:00
mattn Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
matttproud/golang_protobuf_extensions Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
mholt/archiver Vault Debug (#7375) 2019-10-15 15:39:19 -07:00
michaelklishin/rabbit-hole Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
miekg/dns Minimal changes to solve Dependency CVEs [VAULT-871] (#11015) 2021-03-01 14:35:40 -08:00
mitchellh Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
moby/term MySQL - Fix username generation length bug (#10433) 2020-12-01 15:24:51 -07:00
modern-go Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
mongodb/go-client-mongodb-atlas Bundle MongoDB Atlas (#8309) 2020-02-07 14:09:39 -08:00
mwielbut/pointy Bundle MongoDB Atlas (#8309) 2020-02-07 14:09:39 -08:00
natefinch/atomic Ensure that the .vault-token file writen by `vault login` always has the correct permissions and ownership. (#8867) 2020-04-27 19:55:13 -04:00
ncw/swift Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
nicolai86/scaleway-sdk Merge PR #10095: Integrated Storage Cloud Auto-Join 2020-10-13 16:26:39 -04:00
nwaples/rardecode sdk/gomod: remove dependency on vault (#9449) 2020-07-16 16:24:07 -07:00
oklog/run Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
okta/okta-sdk-golang Upgrade to newer okta lib for pagination, fetch all groups using it (#9580) 2020-07-24 09:05:08 -04:00
opencontainers Run CI tests in docker instead of a machine. (#8948) 2020-09-15 10:01:26 -04:00
openlyinc/pointy Add couchbase, elasticsearch, and mongodbatlas back (#10222) 2020-10-22 17:20:17 -06:00
oracle/oci-go-sdk Migrate built in auto seal to go-kms-wrapping (#8118) 2020-01-10 20:39:52 -05:00
ory/dockertest MySQL - Fix username generation length bug (#10433) 2020-12-01 15:24:51 -07:00
packethost/packngo Merge PR #10095: Integrated Storage Cloud Auto-Join 2020-10-13 16:26:39 -04:00
patrickmn/go-cache Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
petermattis/goid Add option to detect deadlocks in Core.stateLock using build tag `deadlock` (#8524) 2020-03-10 16:01:20 -04:00
pierrec/lz4 Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
pkg Adding snowflake as a bundled database secrets plugin (#10603) 2021-01-07 09:30:24 -08:00
pmezard/go-difflib Raft chunk snapshotting (#7185) 2019-07-24 20:44:13 -04:00
posener/complete Pull in newest consul-template from master and all corresponding dependencies [VAULT-1392] (#10756) 2021-01-29 12:30:16 -08:00
pquerna Updates the JWT/OIDC auth plugin (#10919) 2021-02-16 17:21:35 -08:00
prometheus Backport leader status telemetry [VAULT-672] (#10147) 2020-10-15 14:15:58 -07:00
rboyer/safeio Improve the performance of snapshot installs by using rename (#9247) 2020-06-23 11:08:30 -07:00
renier/xmlrpc Merge PR #10095: Integrated Storage Cloud Auto-Join 2020-10-13 16:26:39 -04:00
ryanuber Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
samuel/go-zookeeper Backport leader status telemetry [VAULT-672] (#10147) 2020-10-15 14:15:58 -07:00
sasha-s/go-deadlock Add option to detect deadlocks in Core.stateLock using build tag `deadlock` (#8524) 2020-03-10 16:01:20 -04:00
sethvargo/go-limiter update go-limiter to v0.3.0 (#9697) 2020-08-10 17:04:50 +01:00
shirou/gopsutil Update gopsutil & x/sys libraries (#10889) 2021-02-10 14:33:11 -07:00
sirupsen/logrus Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
snowflakedb Adding snowflake as a bundled database secrets plugin (#10603) 2021-01-07 09:30:24 -08:00
softlayer/softlayer-go Merge PR #10095: Integrated Storage Cloud Auto-Join 2020-10-13 16:26:39 -04:00
spf13/pflag Merge PR #10192: Auto-Join: Configurable Scheme & Port (and add k8s provider) 2020-10-23 16:13:09 -04:00
stretchr [DBPW 4/X] Update DB engine to support v4 and v5 interfaces with password policies (#9878) 2020-09-18 15:10:54 -06:00
svanharmelen/jsonapi Bundle new Vault plugin: Terraform secrets (#10931) 2021-02-19 16:38:56 -06:00
tencentcloud/tencentcloud-sdk-go Merge PR #10095: Integrated Storage Cloud Auto-Join 2020-10-13 16:26:39 -04:00
tv42/httpunix Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
ulikunitz/xz Revert "Vault Dependency Upgrades [VAULT-871] (#10903)" (#10939) 2021-02-18 15:40:18 -05:00
vmware/govmomi Merge PR #10095: Integrated Storage Cloud Auto-Join 2020-10-13 16:26:39 -04:00
xdg Mongodb driver switch to mongo-driver (#8140) 2020-01-24 09:32:47 +01:00
xi2/xz Vault Debug (#7375) 2019-10-15 15:39:19 -07:00
yuin/gopher-lua Aerospike storage backend (#10131) 2021-01-12 15:26:07 -08:00