Files
upstream-zulip/puppet/kandra/manifests/aws_tools.pp
upstream-mirror 64898b2c79
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
snapshot of https://github.com/zulip/zulip.git @ 48c69911c7dd4e03b20552eb3bd77ad8151c1357 (2026-09-15)
2026-09-15 15:05:30 +05:00

91 lines
2.9 KiB
Puppet

# @summary Installs the AWS CLI
#
class kandra::aws_tools {
$is_ec2 = zulipconf('machine', 'hosting_provider', 'ec2') == 'ec2'
file { '/usr/local/bin/install-aws-cli':
ensure => file,
mode => '0755',
source => 'puppet:///modules/kandra/install-aws-cli',
}
exec { 'install-aws-cli':
require => File['/usr/local/bin/install-aws-cli'],
command => '/usr/local/bin/install-aws-cli',
# When puppet is initially determining which resources need to be
# applied, it will call the unless -- but install-aws-cli may not
# exist yet. Count this as needing to run.
unless => '[ -f /usr/local/bin/install-aws-cli ] && /usr/local/bin/install-aws-cli check',
}
if ! $is_ec2 {
if $facts['os']['architecture'] == 'amd64' {
$archname = 'X86_64'
} else {
$archname = 'Aarch64'
}
$helper_version = $zulip::common::versions['aws_signing_helper']['version']
zulip::external_dep { 'aws_signing_helper':
version => $helper_version,
url => "https://rolesanywhere.amazonaws.com/releases/${helper_version}/${archname}/Linux/Amzn2023/aws_signing_helper",
before => File['/root/.aws/config'],
}
file { '/srv/zulip-aws-tools/bin/aws_signing_helper':
ensure => link,
target => "/srv/zulip-aws_signing_helper-${helper_version}",
require => [
File["/srv/zulip-aws_signing_helper-${helper_version}"],
Exec['install-aws-cli'],
],
before => Exec['Cleanup aws_signing_helper'],
}
file { '/usr/local/bin/teleport-aws-credentials':
ensure => file,
require => [
Package['sqlite3'],
Service['teleport_node'],
],
before => [
File['/root/.aws/config'],
],
mode => '0755',
owner => 'root',
group => 'root',
source => 'puppet:///modules/kandra/teleport-aws-credentials',
}
}
file { '/root/.aws':
ensure => directory,
mode => '0755',
owner => 'root',
group => 'root',
}
$aws_trust_arn = zulipsecret('secrets','aws_trust_arn','')
$aws_profile_arn = zulipsecret('secrets','aws_profile_arn','')
$aws_role_arn = zulipsecret('secrets','aws_role_arn','')
file { '/root/.aws/config':
ensure => file,
mode => '0644',
owner => 'root',
group => 'root',
content => template('kandra/dotfiles/aws_config.erb'),
}
# Pull keys and authorized_keys from AWS secretsmanager
file { '/usr/local/bin/install-ssh-keys':
ensure => file,
require => File['/root/.aws/config'],
mode => '0755',
owner => 'root',
group => 'root',
source => 'puppet:///modules/kandra/install-ssh-keys',
}
file { '/usr/local/bin/install-ssh-authorized-keys':
ensure => file,
require => File['/root/.aws/config'],
mode => '0755',
owner => 'root',
group => 'root',
source => 'puppet:///modules/kandra/install-ssh-authorized-keys',
}
}