Supports using KMIP as a KMS provider for client side encryption.
Example of registering a client with auto-encryption through a KMIP KMS server with TLS.
// Provide KMS providers map with KMIP endpoint.
kmipKmsProviderMap := map[string]map[string]interface{}{
"kmip": {
"endpoint": "IP.of.KMIP.Server",
},
}
// Create TLS config with tlsCertificateKeyFile and tlsCAFile.
tlsConfig := make(map[string]*tls.Config)
tlsOpts := map[string]interface{}{
"tlsCertificateKeyFile": "path/to/tls/certfile",
"tlsCAFile": "path/to/tls/cafile",
}
// Build config and handle error.
kmipConfig, err := options.BuildTLSConfig(tlsOpts)
if err != nil {
panic(err)
}
tlsConfig["kmip"] = kmipConfig
// Create new client with auto-encryption options.
aeo := options.AutoEncryption().
SetKmsProviders(kmipKmsProviderMap).
SetKeyVaultNamespace("keyvault.datakeys").
SetTLSConfig(tlsConfig)
opts := options.Client().ApplyURI("mongodb://localhost:27017").SetAutoEncryptionOptions(aeo)
client, err := mongo.NewClient(opts)
if err != nil {
panic(err)
}
Oppressive Language Removal
Following the guidance documented here, we removed all oppressive and unnecessarily gendered language in the Go driver documentation, code, tests, and spec tests.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps go.mongodb.org/mongo-driver from 1.4.0 to 1.8.1.
Release notes
Sourced from go.mongodb.org/mongo-driver's releases.
... (truncated)
Commits
9a6cd35
Update version to v1.8.1d3f6dae
GODRIVER-2243 Wrap write errors in IndexView.CreateMany (#820)3c1c1d7
Update version to v1.8.1+prerelease25bc272
Update version to v1.8.0a452f51
GODRIVER-2222 Prevent removing valid servers when updating SRV hosts. (#805)13af40d
GODRIVER-2210: Update libmongocrypt dependency to 1.3.0 (#817)517aca9
GODRIVER-2237: Run KMS KMIP spec and prose tests in Evergreen (#816)399ea1e
GODRIVER-2236 Fix atomic op alignment and run linters on multiple architectur...14339a4
GODRIVER-2211: Support KMIP Provider (#812)fcd593d
GODRIVER-2238 Skip TestCausalConsistencyExamples on MongoDB v4.0 for now. (#814)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)