diff options
| author | Romain Tartière <romain@FreeBSD.org> | 2025-10-21 18:44:30 +0000 |
|---|---|---|
| committer | Romain Tartière <romain@FreeBSD.org> | 2025-10-27 18:39:12 +0000 |
| commit | e4b2538d1c649d94e2a531ff2745694e94f279b7 (patch) | |
| tree | 005df11f4776d30b169034fa460794c118ea7ca6 | |
| parent | 30e325a6bc362a303e1d6e0aab46e3470f622336 (diff) | |
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
| -rw-r--r-- | sysutils/Makefile | 1 | ||||
| -rw-r--r-- | sysutils/rubygem-bolt/Makefile | 1 | ||||
| -rw-r--r-- | sysutils/rubygem-openbolt/Makefile | 51 | ||||
| -rw-r--r-- | sysutils/rubygem-openbolt/distinfo | 3 | ||||
| -rw-r--r-- | sysutils/rubygem-openbolt/files/patch-openbolt.gemspec | 11 | ||||
| -rw-r--r-- | sysutils/rubygem-openbolt/pkg-descr | 9 | ||||
| -rw-r--r-- | sysutils/rubygem-openbolt/pkg-message | 36 |
7 files changed, 112 insertions, 0 deletions
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 +} +] |
