sysbox

sysadmin/scripting utilities, distributed as a single binary

GPL-2.0 License

Stars
219

Bot releases are visible (Hide)

sysbox - release-0.18.0 Latest Release

Published by skx over 1 year ago

This release updates our dependencies, and adds minor tweaks to a couple of commands:

  • sysbox make-password
    • #49 - Avoid confusing characters when generating passwords.
  • sysbox with-lock
    • #50 - Allow specifying the lockfile directly.
sysbox - release-0.17.1

Published by skx over 1 year ago

NOTE: release-0.17.1 is identical to release-0.17.0, the reason for the new tag was to fix the CI-pipeline for generating binaries.

This release updates our dependencies, and improves the peerd sub-command, as a result of great feature-requests from @terefang:

  • #45 - Allow multiple instances of peerd running on the same host.
  • #44 - Feature Request: Allow Peerd to execute commands on up/down.
sysbox - release-0.17.0

Published by skx over 1 year ago

This release updates our dependencies, and improves the peerd sub-command, as a result of great feature-requests from @terefang:

  • #45 - Allow multiple instances of peerd running on the same host.
  • #44 - Feature Request: Allow Peerd to execute commands on up/down.

NOTE: This release didn't get binaries built for it, due to a pipeline issue. release-0.17.1 was generated to resolve that.

sysbox - release-0.16.0

Published by skx about 2 years ago

Our dependencies were updated to the most recent available versions, but nothing significant was changed.

New sub-commands

This release includes the new watchsub-command, which allows you to run a command continuously, in a somewhat graphical way. This can be useful for awaiting DNS updates, and similar things:

sysbox watch dig -t a example.com

The command will re-run continuously, every five seconds by default, although you can trigger an immediate re-execution by pressing the space-bar. Quit via Ctrl-c, q, or escape.

sysbox - release-0.15.0

Published by skx over 2 years ago

This release updates our dependencies to their latest versions, and better supports the 1.18+ release of golang:

  • The fuzz-testing for our calculator has been updated to use that which is available natively.
    • The replaces the use of the go-fuzz tool.
  • The version sub-command shows VCS information now.

New sub-commands

Two new sub-commands were introduced:

  • sysbox find ..
    • Allows finding files/directories by regular expression, recursively.
    • A cheap and nasty alternative to the standard UNIX find command.
  • sysbox todo ..
    • Report on TODO or FIXME comments which have associated dates.
    • This allows you to track deprecations, and things to be fixed with a deadline.

To see the integrated help run sysbox help todo, or sysbox help find.

sysbox - release-0.14.0

Published by skx almost 3 years ago

release-0.14.0

This release removes the install subcommand, which was causing support questions by email more often than anything else relating to this project.

The new version subcommand was added, which is helpful for users downloading binaries from our release page.

As is traditional the calc subcommand received some more updates, and bugfixes.

  • Multiple consecutive "-" characters are now handled correctly.
    • So 3--3 is handled as 3 - (-3), with a result of 6.
  • The REPL mode, launched with sysbox calc, now has an command-line history support.
sysbox - release-0.13.0

Published by skx over 3 years ago

release-0.13.0

This release adds a new sub-command html2text, which performs trivial HTML to text conversion for files named on the command-line, or STDIN if no files are specified.

The complete set of changes since the previous release are:

  • New subcommand, html2text
    • #29
  • Updated comment handling for FORTRAN sources
  • #30
  • Allow the user to specify the maximum nesting level for markdown table of content files
  • #31
  • Updated our dependencies.
  • #32
sysbox - release-0.12.0

Published by skx almost 4 years ago

release-0.12.0

This release adds the new markdown-toc sub-command, which allows you to easily generate a table of contents from a markdown file. I use a perl-script to do this in many of my existing projects, so this is an easy win.

In addition to the new command there were a couple of minor tweaks:

  • If the DEBUG environmental variable is set to a non-empty value any panic the code produces will be displayed literally, rather than being hidden and recovered from.
    • This is useful for debugging.
  • The dependencies were bumped to their latest upstream version(s).
    • No significant changes required.
sysbox - release-0.11.0

Published by skx about 4 years ago

release-0.11.0

This release adds a new sub-command validate-xml, which nicely compliments the existing commands for validating JSON and YAML files.

Although we do not support validation using a DTD, this command is sufficient to detect and report upon tag-mismatches and similar "simple" errors.

sysbox - release-0.10.0

Published by skx about 4 years ago

release-0.10.0

This release fixes a bug in the validate-json sub-command. When executed with no-arguments, or arguments that specified directories the tool would process files with the wrong name:

  • Rather than searching recursively for files matching the pattern *.json it would process *.yml & *.yaml.
    • These would of course fail validation, as they were not JSON files.

Specifying files, rather than directories, would work as expected which is why this was not noticed immediately.

sysbox - release-0.9.0

Published by skx about 4 years ago

release-0.9.0

This release fixes a few minor internal implementation details, improving our code standard and correctness.

In addition to the regular minor tweaks there has been the addition of a new sub-command comments, which allows you to extract comments from source-code in a flexible fashion. I introduced this in a blog-post recently:

The ssl-expiry sub-command gained a pair of new flags (-hours and -days) to make using it inside shell-scripts less complex, and the calc sub-command received a few fixes to handle invalid input in a more graceful fashion.

sysbox - release-0.8.0

Published by skx over 4 years ago

release-0.8.0

This release adds a new sub-command expect, which allows simple command-automation, in a fashion similar to the TCL expect utility. In short you can launch commands, and send input to them based on matching regular expressions.

See sysbox help expect for brief examples, and an overview.

Otherwise the only changes in this release are some minor updates to calc sub-command, to resolve some linter warnings (relating to program complexity). No functional changes.

sysbox - release-0.7.0

Published by skx over 4 years ago

release-0.7.0

This release updates a couple of our built-in sub-commands:

  • calc
    • Allows negative numbers to be supported (!)
    • Allows the use of variable-assignment without the use of the let token.
    • 100% test-coverage.
  • exec-stdin
    • Added support for running commands in parallel.
    • Don't terminate if any single execution fails.
  • splay
    • Allow the maximum splay-time to be specified via splay 123 in addition to splay -maximum 123 since that feels more natural.
sysbox - release-0.6.0

Published by skx over 4 years ago

release-0.6.0

The sysbox choose-file utility is so useful I wanted to make it more general, so there is now a matching sysbox choose-stdin command. This allows you to navigate/choose lines read from STDIN instead of just files.

The code used to perform template-expansion of commands has now been moved to its own package, with test-cases, cutting down on code duplication.

sysbox - release-0.5.0

Published by skx over 4 years ago

release-0.5.0

This is an incremental release which makes only minor changes to the previous one:

  • There is now integrated support for generating a bash-completion script.
  • The calc subcommand was rewritten to allow the use of variable-definitions in the REPL environment.
    • See sysbox help calc for details.
  • There were some minor rewording/tweaks to the output of the various subcommand help-text.
  • There is a new choose-file subcommand, allowing you to use a text-based GUI to select a filename.
    • Optionally executing a command upon a successful choice.
sysbox - release-0.4.0

Published by skx over 4 years ago

release-0.4.0

All being well this release will contain binary artifacts for:

  • Linux
  • FreeBSD
  • MacOS

Binaries for Windows have been dropped due to a build-issue:

Building for windows [amd64] -> sysbox-windows-amd64.exe
# golang.org/x/crypto/ssh/terminal
/home/skx/go/pkg/mod/golang.org/x/[email protected]/ssh/terminal/util_windows.go:97:61: multiple-value "golang.org/x/sys/windows".GetCurrentProcess() in single-value context

Building for windows [386] -> sysbox-windows-i386.exe
# golang.org/x/crypto/ssh/terminal
/home/skx/go/pkg/mod/golang.org/x/[email protected]/ssh/terminal/util_windows.go:97:61: multiple-value "golang.org/x/sys/windows".GetCurrentProcess() in single-value context

This will need investigation in the future.

sysbox - release-0.3.0

Published by skx over 4 years ago

release-0.3.0

This release was made specifically because we've updated our subcommand-dependency, such that it is possible to retrieve a list of subcommand names.

The repository now includes a simple bash completion script, which allows completing on available subcommands, and their arguments.

sysbox - release-0.2.0

Published by skx over 4 years ago

release-0.2.0

Moved to a new computer, which inspired me to add a bunch of new sub-commands:

  • calc - Simple calculator.
  • chronic - Wrapper useful for cron tasks.
  • exec-stdin - Run commands based on templated STDIN input.
  • fingerd - Trivial finger-server.
  • http-get - Trivial curl-lite.
  • torrent - Download torrents via magnet-links.
  • tree - Simple filesystem-tree lister.
  • urls - Extract URLs from STDIN, or named files.
sysbox - release-0.1.0

Published by skx over 4 years ago

release-0.1.0

This is the initial release which has been generated for early-feedback. There are a small number of tools present already, each of which is sufficiently complete for my own needs:

  • collapse: Remove whitespace from input.
  • env-template: Populate a template-file with environmental variables.
  • httpd: A simple HTTP server.
  • install: Create symlinks for each known binary.
  • ips: Show IP address information.
  • make-password: Generate a random password.
  • peerd: Keep track of peer hosts.
  • run-directory: Run all the executables in a directory.
  • splay: Sleep for a random time.
  • ssl-expiry: Report how long until an SSL certificate expires.
  • validate-json: Validate all JSON files for syntax.
  • validate-yaml: Validate all YAML files for syntax.
  • with-lock: Execute a process, with a lock.
Package Rankings
Top 5.51% on Proxy.golang.org
Badges
Extracted from project README
Go Report Card license Release