puppetlabs / bolt

Bolt is an open source orchestration tool that automates the manual work it takes to maintain your infrastructure on an as-needed basis or as part of a greater orchestration workflow. It can be installed on your local workstation and connects directly to remote nodes with SSH or WinRM, so you are not required to install any agent software.
https://puppet.com/docs/bolt/latest/bolt.html
Apache License 2.0
500 stars 225 forks source link

Install Bolt on Ubuntu instructions not working #3192

Open ryanrwspeed opened 1 year ago

ryanrwspeed commented 1 year ago

Describe the Change You Would Like

I'm not sure if this is a documentation issue or not but I tried to install puppet-bolt with your instructions for Ubuntu 20.04 on a freshly installed (via multipass launch 20.04) VM.

The new repo installs correctly but apt-get install puppet-bolt fails with package not found.

ubuntu@rw-puppet:~$ sudo dpkg -i puppet-tools-release-focal.deb Selecting previously unselected package puppet-tools-release. (Reading database ... 64735 files and directories currently installed.) Preparing to unpack puppet-tools-release-focal.deb ... Unpacking puppet-tools-release (1.0.0-9focal) ... Setting up puppet-tools-release (1.0.0-9focal) ... ubuntu@rw-puppet:~$ sudo apt-get update 0% [Connecting to ports.ubuntu.com (185.125.190.39)] [Connecting to apt.puppet.com (108.138.94.57)] Get:1 http://apt.puppet.com focal InRelease [115 kB] Hit:2 http://ports.ubuntu.com/ubuntu-ports focal InRelease Get:3 http://ports.ubuntu.com/ubuntu-ports focal-updates InRelease [114 kB] Get:4 http://apt.puppet.com focal/puppet-tools all Packages [935 B] Get:5 http://apt.puppet.com focal/puppet-tools arm64 Packages [935 B] Get:6 http://ports.ubuntu.com/ubuntu-ports focal-backports InRelease [108 kB] Get:7 http://ports.ubuntu.com/ubuntu-ports focal-security InRelease [114 kB] Get:8 http://ports.ubuntu.com/ubuntu-ports focal/universe arm64 Packages [8458 kB] Get:9 http://ports.ubuntu.com/ubuntu-ports focal/universe Translation-en [5124 kB] Get:10 http://ports.ubuntu.com/ubuntu-ports focal/universe arm64 c-n-f Metadata [255 kB] Get:11 http://ports.ubuntu.com/ubuntu-ports focal/multiverse arm64 Packages [114 kB] Get:12 http://ports.ubuntu.com/ubuntu-ports focal/multiverse Translation-en [104 kB] Get:13 http://ports.ubuntu.com/ubuntu-ports focal/multiverse arm64 c-n-f Metadata [8024 B] Get:14 http://ports.ubuntu.com/ubuntu-ports focal-updates/main arm64 Packages [1721 kB] Get:15 http://ports.ubuntu.com/ubuntu-ports focal-updates/main Translation-en [409 kB] Get:16 http://ports.ubuntu.com/ubuntu-ports focal-updates/main arm64 c-n-f Metadata [15.9 kB] Get:17 http://ports.ubuntu.com/ubuntu-ports focal-updates/restricted Translation-en [227 kB] Get:18 http://ports.ubuntu.com/ubuntu-ports focal-updates/universe arm64 Packages [950 kB] Get:19 http://ports.ubuntu.com/ubuntu-ports focal-updates/universe Translation-en [239 kB] Get:20 http://ports.ubuntu.com/ubuntu-ports focal-updates/universe arm64 c-n-f Metadata [21.9 kB] Get:21 http://ports.ubuntu.com/ubuntu-ports focal-updates/multiverse arm64 Packages [8200 B] Get:22 http://ports.ubuntu.com/ubuntu-ports focal-updates/multiverse Translation-en [7408 B] Get:23 http://ports.ubuntu.com/ubuntu-ports focal-updates/multiverse arm64 c-n-f Metadata [380 B] Get:24 http://ports.ubuntu.com/ubuntu-ports focal-backports/main arm64 Packages [45.3 kB] Get:25 http://ports.ubuntu.com/ubuntu-ports focal-backports/main Translation-en [16.3 kB] Get:26 http://ports.ubuntu.com/ubuntu-ports focal-backports/main arm64 c-n-f Metadata [1420 B] Get:27 http://ports.ubuntu.com/ubuntu-ports focal-backports/restricted arm64 c-n-f Metadata [116 B] Get:28 http://ports.ubuntu.com/ubuntu-ports focal-backports/universe arm64 Packages [24.3 kB] Get:29 http://ports.ubuntu.com/ubuntu-ports focal-backports/universe Translation-en [16.3 kB] Get:30 http://ports.ubuntu.com/ubuntu-ports focal-backports/universe arm64 c-n-f Metadata [860 B] Get:31 http://ports.ubuntu.com/ubuntu-ports focal-backports/multiverse arm64 c-n-f Metadata [116 B] Get:32 http://ports.ubuntu.com/ubuntu-ports focal-security/main arm64 Packages [1417 kB] Get:33 http://ports.ubuntu.com/ubuntu-ports focal-security/main Translation-en [327 kB] Get:34 http://ports.ubuntu.com/ubuntu-ports focal-security/main arm64 c-n-f Metadata [11.9 kB] Get:35 http://ports.ubuntu.com/ubuntu-ports focal-security/restricted Translation-en [213 kB] Get:36 http://ports.ubuntu.com/ubuntu-ports focal-security/universe arm64 Packages [722 kB] Get:37 http://ports.ubuntu.com/ubuntu-ports focal-security/universe Translation-en [156 kB] Get:38 http://ports.ubuntu.com/ubuntu-ports focal-security/universe arm64 c-n-f Metadata [15.1 kB] Get:39 http://ports.ubuntu.com/ubuntu-ports focal-security/multiverse arm64 Packages [3068 B] Get:40 http://ports.ubuntu.com/ubuntu-ports focal-security/multiverse Translation-en [5488 B] Get:41 http://ports.ubuntu.com/ubuntu-ports focal-security/multiverse arm64 c-n-f Metadata [116 B] Fetched 21.1 MB in 14s (1508 kB/s) Reading package lists... Done ubuntu@rw-puppet:~$ sudo apt-get install puppet-bolt Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package puppet-bolt ubuntu@rw-puppet:~$ cat /etc/os-release NAME="Ubuntu" VERSION="20.04.5 LTS (Focal Fossa)"

jay7x commented 1 year ago

Confirmed from my side on Ubuntu 20.04 for arm64. Please note the original requester has arm64 machine too.

I'd say this is not the docs issue but packaging issue. There is no Puppet Bolt package for Ubuntu 20.04 for arm64 as I see here: http://apt.puppet.com/pool/focal/puppet-tools/p/puppet-bolt/index.html

donoghuc commented 1 year ago

Yeah, unfortunately we dont compile and ship bolt packages for ARM architectures.

ryanrwspeed commented 1 year ago

Thanks for clarifying, one might argue that does make it a docs issue but I'll leave it with you all.

evanstachowiak commented 8 months ago

@donoghuc, any chance to get this supported? Even if not a .deb, a binary would also be helpful.

donoghuc commented 8 months ago

What binary are you interested in? You can always use bolt as a gem if you have a ruby runtime for ARM. FWIW getting back to better coverage between agent/bolt packages is something i'm trying to get prioritized.

evanstachowiak commented 8 months ago

@donoghuc, thanks for the quick reply! I'm running Ubuntu 22.04, so that would be the target.

I suggested the binary because other projects (e.g. Hashicorp) have made binaries available before officially adding apt support.

I will consider ruby gem installation, I'm not currently installing a ruby runtime, but that would be pretty straightforward. The one downside to this is the additional storage for installing Ruby as this will be installed in a container and adding additional packages starts to impact startup and storage costs.

donoghuc commented 8 months ago

Ultimately bolt is a rubygem. Bolt packages are not a binary, instead it is a full ruby/openssl runtime, some pre-packaged modules and the required data for being managed as a system package. I do hope we can get packages built for this platform, but until then the only option is going to be people installing the bolt gem (and its deps) into their own ruby runtime.

GMZwinge commented 2 months ago

Running bolt when installed as a Gem gives this warning:

Bolt might be installed as a gem. To use Bolt reliably and with all of its
dependencies, uninstall the 'bolt' gem and install Bolt as a package:
https://puppet.com/docs/bolt/latest/bolt_installing.html

If you meant to install Bolt as a gem and want to disable this warning,
set the BOLT_GEM environment variable. [ID: gem_install]