git: e4b2538d1c64 - main - sysutils/rubygem-openbolt: New port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 27 Oct 2025 18:55:26 UTC
The branch main has been updated by romain:
URL: https://cgit.FreeBSD.org/ports/commit/?id=e4b2538d1c649d94e2a531ff2745694e94f279b7
commit e4b2538d1c649d94e2a531ff2745694e94f279b7
Author: Romain Tartière <romain@FreeBSD.org>
AuthorDate: 2025-10-21 18:44:30 +0000
Commit: Romain Tartière <romain@FreeBSD.org>
CommitDate: 2025-10-27 18:39:12 +0000
sysutils/rubygem-openbolt: New port
OpenBolt is an open source orchestration tool that automates the manual work it
takes to maintain your infrastructure. Use OpenBolt to automate tasks that you
perform on an as-needed basis or as part of a greater orchestration workflow.
For example, you can use OpenBolt to patch and update systems, troubleshoot
servers, deploy applications, or stop and restart services. OpenBolt can be
installed on your local workstation and connects directly to remote targets
with SSH or WinRM, so you are not required to install any agent software.
OpenBolt is a community implementation of Puppet Bolt.
With hat: puppet
---
sysutils/Makefile | 1 +
sysutils/rubygem-bolt/Makefile | 1 +
sysutils/rubygem-openbolt/Makefile | 51 ++++++++++++++++++++++
sysutils/rubygem-openbolt/distinfo | 3 ++
.../rubygem-openbolt/files/patch-openbolt.gemspec | 11 +++++
sysutils/rubygem-openbolt/pkg-descr | 9 ++++
sysutils/rubygem-openbolt/pkg-message | 36 +++++++++++++++
7 files changed, 112 insertions(+)
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 178156d18e58..04efbe92f958 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -1222,6 +1222,7 @@
SUBDIR += rubygem-mothra
SUBDIR += rubygem-murder
SUBDIR += rubygem-ohai
+ SUBDIR += rubygem-openbolt
SUBDIR += rubygem-openfact
SUBDIR += rubygem-openvoxserver-ca
SUBDIR += rubygem-parallel
diff --git a/sysutils/rubygem-bolt/Makefile b/sysutils/rubygem-bolt/Makefile
index 7ec8897dd147..40aa8a8e2538 100644
--- a/sysutils/rubygem-bolt/Makefile
+++ b/sysutils/rubygem-bolt/Makefile
@@ -34,6 +34,7 @@ RUN_DEPENDS= r10k:sysutils/rubygem-r10k \
USES= gem shebangfix
+CONFLICTS_INSTALL=rubygem-openbolt
ruby_OLD_CMD+= /opt/puppetlabs/puppet/bin/ruby
SHEBANG_FILES= libexec/*
diff --git a/sysutils/rubygem-openbolt/Makefile b/sysutils/rubygem-openbolt/Makefile
new file mode 100644
index 000000000000..871cf89565c3
--- /dev/null
+++ b/sysutils/rubygem-openbolt/Makefile
@@ -0,0 +1,51 @@
+PORTNAME= openbolt
+PORTVERSION= 5.1.0
+CATEGORIES= sysutils rubygems
+MASTER_SITES= RG
+
+MAINTAINER= puppet@FreeBSD.org
+COMMENT= Execute commands remotely over SSH and WinRM
+WWW= https://github.com/OpenVoxProject/openbolt/
+
+LICENSE= APACHE20
+
+RUN_DEPENDS= puppet:sysutils/openvox-agent8 \
+ r10k:sysutils/rubygem-r10k \
+ rubygem-addressable>=2.5:www/rubygem-addressable \
+ rubygem-aws-sdk-ec2>1:devel/rubygem-aws-sdk-ec2 \
+ rubygem-CFPropertyList>=2.2:devel/rubygem-CFPropertyList \
+ rubygem-concurrent-ruby11>=1.0:devel/rubygem-concurrent-ruby11 \
+ rubygem-ffi>=1.13<2:devel/rubygem-ffi \
+ rubygem-hiera-eyaml>=3:sysutils/rubygem-hiera-eyaml \
+ rubygem-json>=2.12.0:devel/rubygem-json \
+ rubygem-jwt>=2.2:www/rubygem-jwt \
+ rubygem-logging>=2.2:devel/rubygem-logging \
+ rubygem-minitar>=0.6:archivers/rubygem-minitar \
+ rubygem-net-scp>=1.2<5:security/rubygem-net-scp \
+ rubygem-net-ssh6>=4.0<8:security/rubygem-net-ssh6 \
+ rubygem-net-ssh-krb>=0.5:security/rubygem-net-ssh-krb \
+ rubygem-openvox-strings>=5.0:textproc/rubygem-openvox-strings \
+ rubygem-orchestrator_client>=0.5:net/rubygem-orchestrator_client \
+ rubygem-puppet-resource_api>=1.8.1:devel/rubygem-puppet-resource_api \
+ rubygem-puppetfile-resolver>=0.6.2:sysutils/rubygem-puppetfile-resolver \
+ rubygem-ruby_smb>=1.0:net/rubygem-ruby_smb \
+ rubygem-terminal-table>=3.0<4:textproc/rubygem-terminal-table \
+ rubygem-winrm-fs>=1.3:filesystems/rubygem-winrm-fs \
+ rubygem-winrm>=2.0:sysutils/rubygem-winrm
+
+USES= gem shebangfix
+
+CONFLICTS_INSTALL= rubygem-bolt
+ruby_OLD_CMD+= /opt/puppetlabs/puppet/bin/ruby
+SHEBANG_FILES= libexec/*
+
+NO_ARCH= yes
+
+PLIST_FILES= bin/bolt \
+ etc/bash_completion.d/bolt
+
+post-install:
+ ${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d
+ ${INSTALL_DATA} ${WRKSRC}/resources/bolt_bash_completion.sh ${STAGEDIR}${PREFIX}/etc/bash_completion.d/bolt
+
+.include <bsd.port.mk>
diff --git a/sysutils/rubygem-openbolt/distinfo b/sysutils/rubygem-openbolt/distinfo
new file mode 100644
index 000000000000..6cf208c3210d
--- /dev/null
+++ b/sysutils/rubygem-openbolt/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760644437
+SHA256 (rubygem/openbolt-5.1.0.gem) = ae2a80af51f9098511d6e7a1385bacf3fc8b51859217292bf4f28e3e2b8d750a
+SIZE (rubygem/openbolt-5.1.0.gem) = 231936
diff --git a/sysutils/rubygem-openbolt/files/patch-openbolt.gemspec b/sysutils/rubygem-openbolt/files/patch-openbolt.gemspec
new file mode 100644
index 000000000000..ad3f9ae315ca
--- /dev/null
+++ b/sysutils/rubygem-openbolt/files/patch-openbolt.gemspec
@@ -0,0 +1,11 @@
+--- openbolt.gemspec.orig 2025-10-21 18:36:14 UTC
++++ openbolt.gemspec
+@@ -39,7 +39,7 @@ Gem::Specification.new do |s|
+ s.add_runtime_dependency(%q<puppetfile-resolver>.freeze, [">= 0.6.2".freeze, "< 1.0".freeze])
+ s.add_runtime_dependency(%q<puppet-resource_api>.freeze, [">= 1.8.1".freeze])
+ s.add_runtime_dependency(%q<r10k>.freeze, [">= 3.10".freeze, "< 6".freeze])
+- s.add_runtime_dependency(%q<ruby_smb>.freeze, ["~> 1.0".freeze])
++ s.add_runtime_dependency(%q<ruby_smb>.freeze, [">= 1.0".freeze])
+ s.add_runtime_dependency(%q<terminal-table>.freeze, ["~> 3.0".freeze])
+ s.add_runtime_dependency(%q<winrm>.freeze, ["~> 2.0".freeze])
+ s.add_runtime_dependency(%q<winrm-fs>.freeze, ["~> 1.3".freeze])
diff --git a/sysutils/rubygem-openbolt/pkg-descr b/sysutils/rubygem-openbolt/pkg-descr
new file mode 100644
index 000000000000..60a418cf9889
--- /dev/null
+++ b/sysutils/rubygem-openbolt/pkg-descr
@@ -0,0 +1,9 @@
+OpenBolt is an open source orchestration tool that automates the manual work it
+takes to maintain your infrastructure. Use OpenBolt to automate tasks that you
+perform on an as-needed basis or as part of a greater orchestration workflow.
+For example, you can use OpenBolt to patch and update systems, troubleshoot
+servers, deploy applications, or stop and restart services. OpenBolt can be
+installed on your local workstation and connects directly to remote targets
+with SSH or WinRM, so you are not required to install any agent software.
+
+OpenBolt is a community implementation of Puppet Bolt.
diff --git a/sysutils/rubygem-openbolt/pkg-message b/sysutils/rubygem-openbolt/pkg-message
new file mode 100644
index 000000000000..82138ff79f15
--- /dev/null
+++ b/sysutils/rubygem-openbolt/pkg-message
@@ -0,0 +1,36 @@
+[
+{ type: install
+ message: <<EOM
+This port depends on security/rubygem-net-ssh which has stricter defaults that
+OpenSSH: when using strict host key checking, security/rubygem-net-ssh will
+refuse the connexion if both the remote host name and IP address are not on the
+same line of a known_host file.
+
+security/rubygem-net-ssh added support for disabling strict host key checking
+in version 5.2.0, however this setting is still enabled by default because
+upstream OpenSSH has it enabled by default. However, FreeBSD ships with a
+modified version of OpenSSH where strict host key checking is disabled by
+default. As a result:
+ - When adding an entry for a new host, only the host name is added in the
+ known_host file;
+ - The absence of CheckHostIP in the SSH configuration means the feature is
+ disabled while such absence is generally the indication of the feature
+ being enabled.
+
+As a consequence, host key verification may need additional work:
+ - When using security/rubygem-net-ssh < 5.2.0, either:
+ - Disable host key checking totally (--no-host-key-check parameter of the
+ bolt command);
+ - Update your remote host entries in the known_hosts file to use the
+ format:
+ <host-name>,<IP address> <key-type> <key>
+ - When using security/rubygem-net-ssh >= 5.2.0
+ - Add "CheckHostIP no" to your SSH client configuration file
+ (/etc/ssh/ssh_config or ~/.ssh/config).
+
+Some future version of security/rubygem-net-ssh should drop strict host key
+checking entirely, for more details, see:
+https://github.com/net-ssh/net-ssh/pull/663
+EOM
+}
+]