aboutsummaryrefslogtreecommitdiff
path: root/sysutils/rubygem-openbolt
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils/rubygem-openbolt')
-rw-r--r--sysutils/rubygem-openbolt/Makefile51
-rw-r--r--sysutils/rubygem-openbolt/distinfo3
-rw-r--r--sysutils/rubygem-openbolt/files/patch-openbolt.gemspec11
-rw-r--r--sysutils/rubygem-openbolt/pkg-descr9
-rw-r--r--sysutils/rubygem-openbolt/pkg-message36
5 files changed, 110 insertions, 0 deletions
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
+}
+]