forked from MeltanoLabs/target-postgres
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Adds support for SSL to address issue MeltanoLabs#71. (MeltanoL…
…abs#131) Two types of SSL are supported: - Checking the server's certificate against a certificate authority using `ssl_enable`, for verifying the server's identity to the client. - Passing a client certificate and private key to the server using `ssl_client_certificate_enable`, for verifying the client's identity to the server. Each can be configured independently of the other. Using either or both precludes the use of `sqlalchemy_url`. Closes MeltanoLabs#71. --------- Co-authored-by: Derek Visch <[email protected]>
- Loading branch information
1 parent
c8c4e67
commit 409e8e8
Showing
18 changed files
with
599 additions
and
53 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
smoke-test | ||
.meltano/** | ||
.tox/** | ||
.secrets/** | ||
.vscode/** | ||
output/** | ||
.env | ||
|
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
--- | ||
# docker compose -f docker-compose.yml up -d | ||
version: "2.1" | ||
services: | ||
postgres: | ||
image: postgres:latest | ||
command: postgres -c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key -c ssl_ca_file=/var/lib/postgresql/ca.crt -c hba_file=/var/lib/postgresql/pg_hba.conf | ||
environment: | ||
POSTGRES_USER: postgres | ||
POSTGRES_PASSWORD: postgres | ||
POSTGRES_DB: postgres | ||
POSTGRES_HOST_AUTH_METHOD: cert clientcert=verify-full | ||
POSTGRES_INITDB_ARGS: --auth-host=cert | ||
# Not placed in the data directory (/var/lib/postgresql/data) because of https://gist.github.com/mrw34/c97bb03ea1054afb551886ffc8b63c3b?permalink_comment_id=2678568#gistcomment-2678568 | ||
volumes: | ||
- ./ssl/server.crt:/var/lib/postgresql/server.crt # Certificate verifying the server's identity to the client. | ||
- ./ssl/server.key:/var/lib/postgresql/server.key # Private key to verify the server's certificate is legitimate. | ||
- ./ssl/ca.crt:/var/lib/postgresql/ca.crt # Certificate authority to use when verifying the client's identity to the server. | ||
- ./ssl/pg_hba.conf:/var/lib/postgresql/pg_hba.conf # Configuration file to allow connection over SSL. | ||
ports: | ||
- "5432:5432" | ||
postgres_no_ssl: # Borrowed from https://github.com/MeltanoLabs/tap-postgres/blob/main/.github/workflows/test.yml#L13-L23 | ||
image: postgres:latest | ||
environment: | ||
POSTGRES_PASSWORD: postgres | ||
ports: | ||
- 5433:5432 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
-----BEGIN CERTIFICATE----- | ||
MIIDBzCCAe+gAwIBAgIUHoTp2HQfKSdJ9MdrvWvWW9FLLHMwDQYJKoZIhvcNAQEL | ||
BQAwEzERMA8GA1UEAwwIcG9zdGdyZXMwHhcNMjMwNTE2MjMyNjAzWhcNMjQwNTE1 | ||
MjMyNjAzWjATMREwDwYDVQQDDAhwb3N0Z3JlczCCASIwDQYJKoZIhvcNAQEBBQAD | ||
ggEPADCCAQoCggEBAJwSeW2XRRlP5DDNqwqKSZncXigDo0zBJyYs9flAGfoPPI7V | ||
uaWaEfhpF9uoQ6RKuWJ4IrqXTVFhZmMvygfakMVhl4cYfE2ApB7qRk8vNhQ9K/c9 | ||
ks1zL7FddqfwaARCww3LuE+j9Mh2cI8FHQPYtonmRmFIo7hbuL2ZWXOeEqPf4RDE | ||
n10nXx7XlKO52zLFPYJ0guv0todxbuAWVNFfuFXtUANmzhoq0lYwt/kT4/bfLRXu | ||
G24dUA60fCjm0YpFJtv/rAKPcIRpo7VEpCFq6+rUMQZKVVhX8tcZ+SbmKdWPx5I5 | ||
41HMPPBDH8XuDJvtuKzd5Hnj7qfEg0L3Xy414EUCAwEAAaNTMFEwHQYDVR0OBBYE | ||
FIPvcMua9Wec95+dbdBUX6EDwCsUMB8GA1UdIwQYMBaAFIPvcMua9Wec95+dbdBU | ||
X6EDwCsUMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAH+TrUQD | ||
POYPAzcropUbtYV40pjTK7k6Q9OXwDfVNNsQhBE+TGuk0YpJzpaRQPzyosD/eFYU | ||
UEfsbCifhSb5h5AQB3V0MnQmC3/Oeao6On17wncM48V7BZ8o6HA8wa7bDs7tVMW5 | ||
+lS+CqCEzdWmqWX7batImU8yVmmhIRL/Rp4Yz8WiOSZxq/ALTlAjsecVFug4MS33 | ||
5r5G1LfYId387vy9wGchYaY3cVLuJypMf2IzXS0t7BWK6rP8VxWYlnKqRksmPhvN | ||
1JBStTo+cRsCCqs2Hv/1cYynW2VWgNBndsw4h9Ni8dfJbLTsObixFMjzWhOYPk4Q | ||
aE7neVvEqUwG6rE= | ||
-----END CERTIFICATE----- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
-----BEGIN CERTIFICATE----- | ||
MIIDBzCCAe+gAwIBAgIUHoTp2HQfKSdJ9MdrvWvWW9FLLHMwDQYJKoZIhvcNAQEL | ||
BQAwEzERMA8GA1UEAwwIcG9zdGdyZXMwHhcNMjMwNTE2MjMyNjAzWhcNMjQwNTE1 | ||
MjMyNjAzWjATMREwDwYDVQQDDAhwb3N0Z3JlczCCASIwDQYJKoZIhvcNAQEBBQAD | ||
ggEPADCCAQoCggEBAJwSeW2XRRlP5DDNqwqKSZncXigDo0zBJyYs9flAGfoPPI7V | ||
uaWaEfhpF9uoQ6RKuWJ4IrqXTVFhZmMvygfakMVhl4cYfE2ApB7qRk8vNhQ9K/c9 | ||
ks1zL7FddqfwaARCww3LuE+j9Mh2cI8FHQPYtonmRmFIo7hbuL2ZWXOeEqPf4RDE | ||
n10nXx7XlKO52zLFPYJ0guv0todxbuAWVNFfuFXtUANmzhoq0lYwt/kT4/bfLRXu | ||
G24dUA60fCjm0YpFJtv/rAKPcIRpo7VEpCFq6+rUMQZKVVhX8tcZ+SbmKdWPx5I5 | ||
41HMPPBDH8XuDJvtuKzd5Hnj7qfEg0L3Xy414EUCAwEAAaNTMFEwHQYDVR0OBBYE | ||
FIPvcMua9Wec95+dbdBUX6EDwCsUMB8GA1UdIwQYMBaAFIPvcMua9Wec95+dbdBU | ||
X6EDwCsUMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAH+TrUQD | ||
POYPAzcropUbtYV40pjTK7k6Q9OXwDfVNNsQhBE+TGuk0YpJzpaRQPzyosD/eFYU | ||
UEfsbCifhSb5h5AQB3V0MnQmC3/Oeao6On17wncM48V7BZ8o6HA8wa7bDs7tVMW5 | ||
+lS+CqCEzdWmqWX7batImU8yVmmhIRL/Rp4Yz8WiOSZxq/ALTlAjsecVFug4MS33 | ||
5r5G1LfYId387vy9wGchYaY3cVLuJypMf2IzXS0t7BWK6rP8VxWYlnKqRksmPhvN | ||
1JBStTo+cRsCCqs2Hv/1cYynW2VWgNBndsw4h9Ni8dfJbLTsObixFMjzWhOYPk4Q | ||
aE7neVvEqUwG6rE= | ||
-----END CERTIFICATE----- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
local all postgres peer | ||
host all all 127.0.0.1/32 trust | ||
host all all ::1/128 trust | ||
hostssl all all all cert clientcert=verify-full |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
-----BEGIN PRIVATE KEY----- | ||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCcEnltl0UZT+Qw | ||
zasKikmZ3F4oA6NMwScmLPX5QBn6DzyO1bmlmhH4aRfbqEOkSrlieCK6l01RYWZj | ||
L8oH2pDFYZeHGHxNgKQe6kZPLzYUPSv3PZLNcy+xXXan8GgEQsMNy7hPo/TIdnCP | ||
BR0D2LaJ5kZhSKO4W7i9mVlznhKj3+EQxJ9dJ18e15SjudsyxT2CdILr9LaHcW7g | ||
FlTRX7hV7VADZs4aKtJWMLf5E+P23y0V7htuHVAOtHwo5tGKRSbb/6wCj3CEaaO1 | ||
RKQhauvq1DEGSlVYV/LXGfkm5inVj8eSOeNRzDzwQx/F7gyb7bis3eR54+6nxINC | ||
918uNeBFAgMBAAECggEAGjPz1RVvkXdbTWJKVCOxhbZ8zGUH9qv7IaqsxWMguV3z | ||
gduaJpZ+a+FhEwzmBmBRTZnz4rXiUkZzBTYRyk3Evo7K/PB8dhqh81rL4SGBB9bZ | ||
WdIponqzSCjz8fAn1odK7jcEw8I4J6vS7AAkxe+Nfgt+R3kFm78yfgqP/RxN7ts1 | ||
czGT2ezOJNr7Wk6d4DDAy2hTYIc89eqir+epfx1e5EnhdVeg2SPBwSTppbXIp8F1 | ||
51jXNv60pP64Ieu7QTCR283btkQxMvUQ8i9LKVNh6EECd2bBPEt0xCWVyL8exc1u | ||
MUtIpblhs17ziNBHNs1YQLX8Z73xbnyxO+IsAvf4gQKBgQDKpbueiPW0uQ77iesR | ||
NkUWZNvqTXl9tWnlUeNBdcWvhOeP2OeAFyeCLCmKXE7vPiKn4C/2PMHlmUS0JdET | ||
TV2nlUJIv78Rl26gCcYdLjwAUfmmH+BgNHw/cP58kkTiegNYd84reva0AGz7I/c2 | ||
mim2KlzZLKCHPopZJ99KZY9HYQKBgQDFKZwFv+npFcp0W0G+c2COsZ0vRbSttQaR | ||
wYRb6FfXaBisDwSGCujQsKG92XYZAS9q7GPJ8iTpPoT/TSUePKERlwPxUpc9sqVB | ||
tysb7vWcGrSOGeunIHH6F2OXPHPfux9Eq/bURUF1MIB6fbgzxL+Kl/M7m/EtMESq | ||
AtFalGUXZQKBgB09LIUDXfBlgzPoAnLJUc6ZXuG/q/fnZRAhcJjRVWSt2Ht44G4q | ||
6RhvJs8/4mPCo111i3YL7i4inzce/bu7PfggISA+CmOPZfbRcjRjp2Skb1D46Hb5 | ||
G7RLqWxv7mB/Glx5bNX5N/9g0FisJ89JDxupoRv0xHS/IVcb2avyW2oBAoGBAIgB | ||
I/dzY0++EGIjcT6HKFxGeT9avj/1WArDiyI7LB0TWbGWynAMpn0O2wOzNpwZDTSc | ||
zFlKB9w9nFDgTnKFMDaKDdYyOtH8obKrP7mNJTAB2/sKNlybLQRvjeuNcAEte2xL | ||
k4DqJTVJt9bHUoGjft2D4+2CrOOXIEaGmxP4uaNhAoGBAJHDjgvXi2j0DloQh8hR | ||
6+c/wRV3lMfg4joQ7tnI8HWyncUfmcl6Ei5jdgYT3VqTfqYMWKqIqlxeOqaPh/6j | ||
me7Odgcc52pQaLYGEiwl4cd+pYXSyxGozVR9INf2KveUtiCDKlxKswbWaZ/ywTpI | ||
9uR9je0KdLsSQ4e4D5k2JkPV | ||
-----END PRIVATE KEY----- |
Oops, something went wrong.