expel-io / vault-plugin-database-cloudsql Goto Github PK
View Code? Open in Web Editor NEWHashicorp Vault plugin to connect to CloudSQL instances with github.com/GoogleCloudPlatform/cloud-sql-go-connector
License: BSD 2-Clause "Simplified" License
Hashicorp Vault plugin to connect to CloudSQL instances with github.com/GoogleCloudPlatform/cloud-sql-go-connector
License: BSD 2-Clause "Simplified" License
I'm working on integrating our internal tooling with creating vault cloudsql postgres roles. I've gotten this working locally using vault:1.8.3 but our actual dev and production environments are on vault 1.10.x. When I use vault:1.10.8 locally I get this error:
* error creating database object: invalid database version: 2 errors occurred:
* error getting plugin type: unable to get database plugin type: rpc error: code = Unavailable desc = error reading from server: EOF
* Incompatible API version with plugin. Plugin version: 5, Client versions: [4 3]
Here are the logs from the container when trying to interact and create a connection:
2022-11-08T16:44:45.786Z [INFO] secrets.database.database_c57aeb57.cloudsql: configuring client automatic mTLS
2022-11-08T16:44:45.793Z [DEBUG] secrets.database.database_c57aeb57.cloudsql: starting plugin: path=/vault/plugins/cloudsql args=["/vault/plugins/cloudsql", "-log-level=debug", "-db-type=cloudsql-postgres"]
2022-11-08T16:44:45.793Z [DEBUG] secrets.database.database_c57aeb57.cloudsql: plugin started: path=/vault/plugins/cloudsql pid=41
2022-11-08T16:44:45.793Z [DEBUG] secrets.database.database_c57aeb57.cloudsql: waiting for RPC address: path=/vault/plugins/cloudsql
2022-11-08T16:44:45.797Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: 2022-11-08T16:44:45.797Z [DEBUG] vault-plugin-database-cloudsql: initializing cloudsql plugin with multiplexing=%t: EXTRA_VALUE_AT_END=true
2022-11-08T16:44:45.863Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: 2022-11-08T16:44:45.863Z [INFO] vault-plugin-database-cloudsql: configuring server automatic mTLS
2022-11-08T16:44:45.884Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: 2022-11-08T16:44:45.884Z [DEBUG] vault-plugin-database-cloudsql: plugin address: network=unix address=/tmp/plugin514498414
2022-11-08T16:44:45.884Z [DEBUG] secrets.database.database_c57aeb57.cloudsql: using plugin: version=6
2022-11-08T16:44:45.894Z [TRACE] secrets.database.database_c57aeb57.cloudsql.stdio: waiting for stdio data
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: panic: sql: Register called twice for driver cloudsql-postgres
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql:
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: goroutine 47 [running]:
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: database/sql.Register({0x7ffc019cda62, 0x11}, {0xe16840, 0xc0001ca480})
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: /usr/lib/go/src/database/sql/sql.go:51 +0x13d
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: cloud.google.com/go/cloudsqlconn/postgres/pgxv4.RegisterDriver({0x7ffc019cda62, 0x11}, {0xc00008b7d0?, 0xc00008b7d8?, 0x40d987?})
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: /home/caseymau/go/pkg/mod/cloud.google.com/go/[email protected]/postgres/pgxv4/postgres.go:42 +0xbe
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: github.com/expel-io/vault-plugin-database-cloudsql/cloudsql.newPostgresDatabase({0x7ffc019cda62?, 0x1?}, 0xc0001d27e0)
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: /home/caseymau/Projects/vault-plugin-database-cloudsql/cloudsql.go:114 +0x49
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: github.com/expel-io/vault-plugin-database-cloudsql/cloudsql.New({0x7ffc019cda62, 0x11})
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: /home/caseymau/Projects/vault-plugin-database-cloudsql/cloudsql.go:41 +0x106
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: main.Serve.func1()
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: /home/caseymau/Projects/vault-plugin-database-cloudsql/cmd/vault-plugin-database-cloudsql/serve.go:43 +0x25
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: github.com/hashicorp/vault/sdk/database/dbplugin/v5.(*gRPCServer).createDatabase(0xc0002c48c0, {0xc0001e1380, 0xa})
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: /home/caseymau/go/pkg/mod/github.com/hashicorp/vault/[email protected]/database/dbplugin/v5/grpc_server.go:56 +0x30
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: github.com/hashicorp/vault/sdk/database/dbplugin/v5.(*gRPCServer).getOrCreateDatabase(0xc0002c48c0, {0xe1ed30, 0xc000491c20})
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: /home/caseymau/go/pkg/mod/github.com/hashicorp/vault/[email protected]/database/dbplugin/v5/grpc_server.go:51 +0x153
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: github.com/hashicorp/vault/sdk/database/dbplugin/v5.(*gRPCServer).Type(0xc3b8a0?, {0xe1ed30?, 0xc000491c20?}, 0xc00059ba20?)
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: /home/caseymau/go/pkg/mod/github.com/hashicorp/vault/[email protected]/database/dbplugin/v5/grpc_server.go:270 +0x2a
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: github.com/hashicorp/vault/sdk/database/dbplugin/v5/proto._Database_Type_Handler({0xccaf00?, 0xc0002c48c0}, {0xe1ed30, 0xc000491c20}, 0xc00029a380, 0x0)
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: /home/caseymau/go/pkg/mod/github.com/hashicorp/vault/[email protected]/database/dbplugin/v5/proto/database_grpc.pb.go:217 +0x170
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: google.golang.org/grpc.(*Server).processUnaryRPC(0xc0003d2000, {0xe226b8, 0xc0001029c0}, 0xc0000bd0e0, 0xc000490a20, 0x12fd520, 0x0)
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: /home/caseymau/go/pkg/mod/google.golang.org/[email protected]/server.go:1340 +0xd23
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: google.golang.org/grpc.(*Server).handleStream(0xc0003d2000, {0xe226b8, 0xc0001029c0}, 0xc0000bd0e0, 0x0)
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: /home/caseymau/go/pkg/mod/google.golang.org/[email protected]/server.go:1713 +0xa2f
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: google.golang.org/grpc.(*Server).serveStreams.func1.2()
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: /home/caseymau/go/pkg/mod/google.golang.org/[email protected]/server.go:965 +0x98
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: created by google.golang.org/grpc.(*Server).serveStreams.func1
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: /home/caseymau/go/pkg/mod/google.golang.org/[email protected]/server.go:963 +0x28a
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = error reading from server: EOF"
2022-11-08T16:44:45.897Z [DEBUG] secrets.database.database_c57aeb57.cloudsql: plugin process exited: path=/vault/plugins/cloudsql pid=41 error="exit status 2"
2022-11-08T16:44:45.950Z [DEBUG] secrets.database.database_c57aeb57.cloudsql: starting plugin: path=/vault/plugins/cloudsql args=["/vault/plugins/cloudsql", "-log-level=debug", "-db-type=cloudsql-postgres"]
2022-11-08T16:44:45.950Z [DEBUG] secrets.database.database_c57aeb57.cloudsql: plugin started: path=/vault/plugins/cloudsql pid=51
2022-11-08T16:44:45.950Z [DEBUG] secrets.database.database_c57aeb57.cloudsql: waiting for RPC address: path=/vault/plugins/cloudsql
2022-11-08T16:44:45.954Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: 2022-11-08T16:44:45.954Z [DEBUG] vault-plugin-database-cloudsql: initializing cloudsql plugin with multiplexing=%t: EXTRA_VALUE_AT_END=true
2022-11-08T16:44:46.100Z [DEBUG] secrets.database.database_c57aeb57.cloudsql.cloudsql: 2022-11-08T16:44:46.100Z [DEBUG] vault-plugin-database-cloudsql: plugin address: network=unix address=/tmp/plugin2080400221
2022-11-08T16:44:46.101Z [DEBUG] secrets.database.database_c57aeb57.cloudsql: plugin process exited: path=/vault/plugins/cloudsql pid=51 error="signal: killed"
I'm new to using Vault and creating a plugin to interface with it but I'm happy to help contribute.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.