Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
40 lines
1.3 KiB
Puppet
40 lines
1.3 KiB
Puppet
# @summary Provide Teleport SSH access to a node.
|
|
#
|
|
# EC2 nodes will automatically join the cluster; non-EC2 hosts will
|
|
# need to set a teleport_join_token secret. See
|
|
# https://goteleport.com/docs/agents/join-services-to-your-cluster/join-token/#generate-a-token
|
|
class kandra::teleport::node {
|
|
include kandra::teleport::base
|
|
|
|
$is_ec2 = zulipconf('machine', 'hosting_provider', 'ec2') == 'ec2'
|
|
$join_token = zulipsecret('secrets', 'teleport_join_token', '')
|
|
concat { '/etc/teleport_node.yaml':
|
|
ensure => present,
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => '0644',
|
|
before => Kandra::Teleport::Part['node'],
|
|
notify => Exec['reload teleport_node'],
|
|
}
|
|
concat::fragment { 'teleport_node_base':
|
|
target => '/etc/teleport_node.yaml',
|
|
content => template('kandra/teleport_node.yaml.template.erb'),
|
|
order => '01',
|
|
}
|
|
|
|
kandra::teleport::part { 'node': }
|
|
|
|
$host_ca_path = '/etc/ssl/certs/teleport-ca-host.cert'
|
|
$host_ca_extract = @("EOT")
|
|
sqlite3 /var/lib/teleport/proc/sqlite.db "select value from kv where key = '/ids/node/current'" \
|
|
| jq -r .spec.tls_ca_certs[] \
|
|
| base64 -d \
|
|
> ${host_ca_path}
|
|
| EOT
|
|
exec { 'teleport host CA':
|
|
require => [Service['teleport_node'], Package['sqlite3']],
|
|
creates => $host_ca_path,
|
|
command => $host_ca_extract,
|
|
}
|
|
}
|