This section walks you through installing Puppet on a Google Cloud Platform (GCP) SUSE Linux arm64 VM. You’ll set up all required dependencies, build Ruby from source, and prepare the environment for Puppet automation.
To get started, you’ll install the required development tools and libraries, then build Ruby 3.1.4 from source. This approach prepares your environment for Puppet and helps prevent compatibility problems.
To install the necessary packages for Ruby use this command:
sudo zypper install git curl gcc make patch libyaml-devel libffi-devel libopenssl-devel readline-devel zlib-devel gdbm-devel bzip2 bzip2-devel
ncurses-devel during the zypper install, choose the option that allows downgrading ncurses-devel to the required version (usually “Solution 1”). Confirm the downgrade by entering “y” when prompted. This step can be confusing at first, but it’s a common requirement for building Ruby from source on SUSE Linux.Next, install ruby:
cd ~
sudo wget https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.4.tar.gz
sudo tar -xzf ruby-3.1.4.tar.gz
cd ruby-3.1.4
sudo ./configure
sudo make && sudo make install
Check that Ruby is correctly installed and available in your system PATH:
ruby -v
which ruby
The expected output is:
ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [aarch64-linux]
/usr/local/bin/ruby
Install the core Puppet libraries to enable automation and configuration management on your Arm-based GCP VM.
First, download and extract the Puppet source code:
cd ~
sudo wget https://github.com/puppetlabs/puppet/archive/refs/tags/8.10.0.tar.gz
sudo tar -xvf 8.10.0.tar.gz
cd ~/puppet-8.10.0
Next, install the required Ruby gems for Puppet:
sudo /usr/local/bin/gem install semantic_puppet -v "~> 1.0"
sudo gem install facter -v "~> 4.0"
sudo gem install hiera
semantic_puppet manages Puppet-specific versioning and module dependenciesfacter collects system information, such as operating system, IP address, and hardware details, for Puppet to usehiera separates configuration data from Puppet manifests, making your automation setup more flexibleThese libraries ensure Puppet runs smoothly and can manage your Arm-based SUSE Linux VM effectively.
These libraries are required for Puppet to work correctly on your Arm-based GCP VM.
< notice Note %>Puppet version 8.8.1 introduces expanded support for Arm and AArch64 platforms. This release adds agent compatibility for AlmaLinux 9 (AARCH64), Rocky Linux 9 (AARCH64), and Ubuntu 24.04 (ARM). It works with Ruby 3.3 and fixes several agent and catalog issues. Security is improved with OpenSSL 3.0.14, addressing recent vulnerabilities (CVE-2024-4603 and CVE-2024-2511).</notice%>
For more information, see the official Puppet release notes .
The Arm Ecosystem Dashboard recommends Puppet 8.8.1 as the minimum version for Arm platforms.
The Puppet gem provides the core Puppet framework, including its CLI, manifest parser, and resource management engine.
Build and install the Puppet 8.10.0 package from source into your Ruby environment.
sudo gem build puppet.gemspec
sudo /usr/local/bin/gem install puppet-8.10.0.gem
Confirm Puppet is successfully installed and ready to use on the system.
puppet --version
Output:
8.10.0
Puppet installation is complete. You can now go ahead with the baseline testing of Puppet in the next section.