From d9319736486de92deb1229638156d6acd1b99ec9 Mon Sep 17 00:00:00 2001 From: "Antonio J. Delgado" Date: Mon, 27 Nov 2023 19:37:17 +0200 Subject: [PATCH] use commands --- manifests/init.pp | 179 ++++++++++++++++++++++------------------------ 1 file changed, 87 insertions(+), 92 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index bbe680b..37d242d 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -114,70 +114,65 @@ class mastodon ( system => true, require => Group['mastodon'], } - # vcsrepo { 'rbenv': - # path => "${mastodon_home}/.rbenv", - # source => 'https://github.com/rbenv/rbenv.git', - # provider => 'git', - # owner => 'mastodon', - # group => 'mastodon', - # require => User['mastodon'], - # } - # exec { 'configure_rbenv': - # command => "${mastodon_home}/.rbenv/src/configure", - # user => 'mastodon', - # cwd => "${mastodon_home}/.rbenv/", - # creates => "${mastodon_home}/.rbenv/src/Makefile", - # require => Vcsrepo['rbenv'], - # } - # exec { 'make_rbenv': - # command => '/usr/bin/make -C src', - # user => 'mastodon', - # cwd => "${mastodon_home}/.rbenv/", - # creates => "${mastodon_home}/.rbenv/libexec/rbenv-realpath.dylib", - # require => Exec['configure_rbenv'], - # } - # file_line { 'mastodon_path': - # path => "${mastodon_home}/.bashrc/", - # line => 'export PATH="$HOME/.rbenv/bin:$PATH"', - # match => '^export PATH="$HOME/.rbenv', - # require => Vcsrepo['rbenv'], - # } - # file_line { 'mastodon_rbenv_init': - # path => "${mastodon_home}/.bashrc/", - # line => 'eval "$(rbenv init -)"', - # match => '^eval "$(rbenv init -)"', - # require => Vcsrepo['rbenv'], - # } - # vcsrepo { 'ruby_build': - # path => "${mastodon_home}/.rbenv/plugins/ruby-build", - # source => 'https://github.com/rbenv/ruby-build.git', - # provider => 'git', - # owner => 'mastodon', - # group => 'mastodon', - # require => Vcsrepo['rbenv'], - # } - # exec { 'update_ruby': - # command => "${mastodon_home}/.rbenv/bin/rbenv global 3.2.2", - # environment => [ - # 'RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.2.2', - # ], - # user => 'mastodon', - # cwd => "${mastodon_home}/.rbenv/", - # # creates => '', - # require => Vcsrepo['ruby_build'], - # } - # exec { '':} - class { 'rvm': } - rvm_system_ruby { - 'ruby-3.2.2': - build_opts => ['--with-jemalloc'], + vcsrepo { 'rbenv': + path => "${mastodon_home}/.rbenv", + source => 'https://github.com/rbenv/rbenv.git', + provider => 'git', + owner => 'mastodon', + group => 'mastodon', + require => User['mastodon'], } - rvm_gemset { - 'bundler': - name => 'bundler', - ruby_version => 'ruby-3.2.2', - require => Rvm_system_ruby['ruby-3.2.2']; + exec { 'configure_rbenv': + command => "${mastodon_home}/.rbenv/src/configure", + user => 'mastodon', + cwd => "${mastodon_home}/.rbenv/", + creates => "${mastodon_home}/.rbenv/src/Makefile", + require => Vcsrepo['rbenv'], } + exec { 'make_rbenv': + command => '/usr/bin/make -C src', + user => 'mastodon', + cwd => "${mastodon_home}/.rbenv/", + creates => "${mastodon_home}/.rbenv/libexec/rbenv-realpath.dylib", + require => Exec['configure_rbenv'], + } + file_line { 'mastodon_path': + path => "${mastodon_home}/.bashrc/", + line => 'export PATH="$HOME/.rbenv/bin:$PATH"', + match => '^export PATH="$HOME/.rbenv', + require => Vcsrepo['rbenv'], + } + file_line { 'mastodon_rbenv_init': + path => "${mastodon_home}/.bashrc/", + line => 'eval "$(rbenv init -)"', + match => '^eval "$(rbenv init -)"', + require => Vcsrepo['rbenv'], + } + vcsrepo { 'ruby_build': + path => "${mastodon_home}/.rbenv/plugins/ruby-build", + source => 'https://github.com/rbenv/ruby-build.git', + provider => 'git', + owner => 'mastodon', + group => 'mastodon', + require => Vcsrepo['rbenv'], + } + exec { 'update_ruby': + command => "${mastodon_home}/.rbenv/bin/rbenv global 3.2.2", + environment => [ + 'RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.2.2', + ], + user => 'mastodon', + cwd => "${mastodon_home}/.rbenv/", + # creates => '', + require => Vcsrepo['ruby_build'], + } + # exec { 'install_bundler': + # command => 'gem install bundler --no-document', + # user => 'mastodon', + # cwd => "${mastodon_home}/.rbenv/", + # # creates => '', + # require => Vcsrepo['ruby_build'], + # } postgresql::server::db { 'mastodon': user => 'mastodon', password => postgresql::postgresql_password('mastodon', $db_password), @@ -191,34 +186,34 @@ class mastodon ( group => 'mastodon', require => User['mastodon'], } - exec { 'config_deployment': - command => 'bundle config deployment \'true\'', - user => 'mastodon', - cwd => "${mastodon_home}/live", - # creates => "${mastodon_home}/.rbenv/libexec/rbenv-realpath.dylib", - require => Rvm_gemset['bundler'], - } - exec { 'config_without_devel_test': - command => 'bundle config without \'development test\'', - user => 'mastodon', - cwd => "${mastodon_home}/live", - # creates => "${mastodon_home}/.rbenv/libexec/rbenv-realpath.dylib", - require => Exec['config_deployment'], - } - exec { 'bundle_install': - command => 'bundle install -j$(getconf _NPROCESSORS_ONLN)', - path => '/usr/sbin:/usr/bin:/sbin:/bin', - user => 'mastodon', - cwd => "${mastodon_home}/live", - # creates => "${mastodon_home}/.rbenv/libexec/rbenv-realpath.dylib", - require => Exec['config_without_devel_test'], - } - exec { 'yarn_install': - command => 'yarn install --pure-lockfile', - path => '/usr/sbin:/usr/bin:/sbin:/bin', - user => 'mastodon', - cwd => "${mastodon_home}/live", - # creates => "${mastodon_home}/.rbenv/libexec/rbenv-realpath.dylib", - require => Exec['bundle_install'], - } + # exec { 'config_deployment': + # command => 'bundle config deployment \'true\'', + # user => 'mastodon', + # cwd => "${mastodon_home}/live", + # # creates => "${mastodon_home}/.rbenv/libexec/rbenv-realpath.dylib", + # require => Rvm_gemset['bundler'], + # } + # exec { 'config_without_devel_test': + # command => 'bundle config without \'development test\'', + # user => 'mastodon', + # cwd => "${mastodon_home}/live", + # # creates => "${mastodon_home}/.rbenv/libexec/rbenv-realpath.dylib", + # require => Exec['config_deployment'], + # } + # exec { 'bundle_install': + # command => 'bundle install -j$(getconf _NPROCESSORS_ONLN)', + # path => '/usr/sbin:/usr/bin:/sbin:/bin', + # user => 'mastodon', + # cwd => "${mastodon_home}/live", + # # creates => "${mastodon_home}/.rbenv/libexec/rbenv-realpath.dylib", + # require => Exec['config_without_devel_test'], + # } + # exec { 'yarn_install': + # command => 'yarn install --pure-lockfile', + # path => '/usr/sbin:/usr/bin:/sbin:/bin', + # user => 'mastodon', + # cwd => "${mastodon_home}/live", + # # creates => "${mastodon_home}/.rbenv/libexec/rbenv-realpath.dylib", + # require => Exec['bundle_install'], + # } }