citus/src/test/regress/expected/ssl_by_default.out

79 lines
1.9 KiB
Plaintext

-- Citus uses ssl by default now. It does so by turning on ssl and if needed will generate
-- self-signed certificates.
-- To test this we will verify that SSL is set to ON for all machines, and we will make
-- sure connections to workers use SSL by having it required in citus.conn_nodeinfo and
-- lastly we will inspect the ssl state for connections to the workers
-- ssl can only be enabled by default on installations of postgres 10 and above that are
-- OpenSSL-enabled.
SHOW server_version \gset
SHOW ssl_ciphers \gset
WITH features AS (
SELECT
substring(:'server_version', '\d+')::int >= 10 AS version_ten_or_above,
:'ssl_ciphers' != 'none' AS hasssl
)
SELECT (
true
AND version_ten_or_above
AND hasssl
) AS ssl_by_default_supported FROM features;
ssl_by_default_supported
--------------------------
t
(1 row)
SHOW ssl;
ssl
-----
on
(1 row)
SELECT run_command_on_workers($$
SHOW ssl;
$$);
run_command_on_workers
------------------------
(localhost,57637,t,on)
(localhost,57638,t,on)
(2 rows)
SHOW citus.node_conninfo;
citus.node_conninfo
---------------------
sslmode=require
(1 row)
SELECT run_command_on_workers($$
SHOW citus.node_conninfo;
$$);
run_command_on_workers
-------------------------------------
(localhost,57637,t,sslmode=require)
(localhost,57638,t,sslmode=require)
(2 rows)
SELECT run_command_on_workers($$
SELECT ssl FROM pg_stat_ssl WHERE pid = pg_backend_pid();
$$);
run_command_on_workers
------------------------
(localhost,57637,t,t)
(localhost,57638,t,t)
(2 rows)
SHOW ssl_ciphers;
ssl_ciphers
----------------------------
TLSv1.2+HIGH:!aNULL:!eNULL
(1 row)
SELECT run_command_on_workers($$
SHOW ssl_ciphers;
$$);
run_command_on_workers
------------------------------------------------
(localhost,57637,t,TLSv1.2+HIGH:!aNULL:!eNULL)
(localhost,57638,t,TLSv1.2+HIGH:!aNULL:!eNULL)
(2 rows)