Last active
April 13, 2023 22:37
-
-
Save judell/d011d25fc03ed7aeef6b1c1d173e9dca to your computer and use it in GitHub Desktop.
dashboard with code reuse
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
dashboard "javier" { | |
with "tls_data" { | |
sql = <<EOQ | |
select | |
'domain.com:443' as address, | |
max(distinct version) as max_version | |
from | |
net_tls_connection | |
where | |
address = 'domain.com:443' | |
and handshake_completed | |
EOQ | |
} | |
with "tls_data_fn" { | |
sql = <<EOQ | |
create or replace function public.tls_version() returns table ( | |
address text, | |
max_version text | |
) as $$ | |
select | |
'domain.com:443' as address, | |
max(distinct version) as max_version | |
from | |
net_tls_connection | |
where | |
address = 'domain.com:443' | |
and handshake_completed | |
group by | |
address | |
$$ language sql | |
EOQ | |
} | |
benchmark "tls_version" { | |
title = "sample benchmark" | |
children = [ | |
control.tls_version, | |
control.tls_version_2, | |
control.tls_version_3 | |
] | |
} | |
card { | |
width = 3 | |
args = [ with.tls_data.rows[0].address ] | |
sql = <<EOQ | |
select $1 as address | |
EOQ | |
} | |
card { | |
width = 2 | |
args = [ with.tls_data.rows[0].max_version ] | |
sql = <<EOQ | |
select $1 as max_tls_version | |
EOQ | |
} | |
card { | |
width = 3 | |
sql = <<EOQ | |
select address from tls_version() limit 1 | |
EOQ | |
} | |
card { | |
width = 2 | |
sql = <<EOQ | |
select max_version from tls_version() limit 1 | |
EOQ | |
} | |
table "tls_version" { | |
title = "table version of control.tls_version" | |
args = [ with.tls_data.rows[0].address, with.tls_data.rows[0].max_version] | |
sql = <<EOT | |
select | |
$1 as resource, | |
case | |
when $2 >= 'TLS v1.2' then 'ok' | |
else 'alarm' | |
end as status, | |
case | |
when $2 >= 'TLS v1.2' then $1 || ' TLS version is compliant: ' | |
else $1 || ' TLS version is NOT compliant: ' | |
end as reason | |
EOT | |
} | |
table "tls_version_2" { | |
title = "table version of control.tls_version_2" | |
sql = <<EOT | |
select | |
'domain.com:443' as resource, | |
'ok' as status, | |
'domain.com:443 TLS version is compliant' as reason | |
EOT | |
} | |
table "tls_version_3" { | |
title = "table version of control.tls_version_3" | |
sql = <<EOT | |
with data as ( | |
select * from tls_version() limit 1 | |
) | |
select | |
address as resource, | |
case | |
when max_version >= 'TLS v1.2' then 'ok' | |
else 'alarm' | |
end as status, | |
case | |
when max_version >= 'TLS v1.2' then address || ' TLS version is compliant: ' | |
else address || ' TLS version is NOT compliant: ' | |
end as reason | |
from data | |
EOT | |
} | |
} | |
control "tls_version" { | |
title = "control.tls_version" | |
args = [ with.tls_data.rows[0].address, with.tls_data.rows[0].max_version] | |
sql = <<EOT | |
select | |
$1 as resource, | |
case | |
when $2 >= 'TLS v1.2' then 'ok' | |
else 'alarm' | |
end as status, | |
case | |
when $2 >= 'TLS v1.2' then $1 || ' TLS version is compliant: ' | |
else $1 || ' TLS version is NOT compliant: ' | |
end as reason | |
EOT | |
} | |
control "tls_version_2" { | |
title = "control.tls_version_2" | |
sql = <<EOT | |
select | |
'domain.com:443' as resource, | |
'ok' as status, | |
'domain.com:443 TLS version is compliant' as reason | |
EOT | |
} | |
control "tls_version_3" { | |
title = "control.tls_version_3" | |
sql = <<EOT | |
with data as ( | |
select * from tls_version() limit 1 | |
) | |
select | |
address as resource, | |
case | |
when max_version >= 'TLS v1.2' then 'ok' | |
else 'alarm' | |
end as status, | |
case | |
when max_version >= 'TLS v1.2' then address || ' TLS version is compliant: ' | |
else address || ' TLS version is NOT compliant: ' | |
end as reason | |
from data | |
EOT | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment