Skip to content

Releases: ITRS-Group/cordial

Release v1.6.6

28 Jun 14:00
Compare
Choose a tag to compare

Change Log

Version v1.6.6

Released 2023-06-28

Please report issues via github or the ITRS Community Forum.

v1.6.6 Fixes

  • #145 - Wrap geneos tls list JSON output in an array correctly

  • tools/geneos - Package version handling was broken in some cases, especially for components with 'parent' types

v1.6.6 Changes

  • tools/geneos - Add a progress bar for downloads when running interactively. Make checking if running interactively consistent

  • tools/geneos - Add package install -D to download packages without unpacking them

  • tools/geneos - Refactor internal variable names in subsystem packages to shrink very long names

  • pkg/geneos - Various updates to plugins and other structures to support an ongoing project

Release v1.6.5

23 Jun 15:35
Compare
Choose a tag to compare

Note: There is now also a geneos.centos7-x86_64 download which is dynamically linked to support PAM and other dynamic directories.

Change Log

Version v1.6.5

Released 2023-06-23

Please report issues via github or the ITRS Community Forum.

v1.6.4 Fixes

  • #146 - Entering empty passwords could cause pointer panics

  • #148 - Fallback to environment vars when user.Current() fails because user is not in local passwd file with static binary.

Release v1.6.4 (replaces v1.6.3)

22 Jun 15:02
Compare
Choose a tag to compare

Change Log

Version v1.6.4

Released 2023-06-22

Please report issues via github or the ITRS Community Forum.

Note: v1.6.3 was removed, and v1.6.4 releases to address some last minute issues.

v1.6.4 Changes

  • tools/geneos - Add an initial hidden flag to hosts, so they don't participate in wildcarded operations.

  • tools/geneos - Add new --validate option to geneos show to run a validation and output results as JSON.

  • pkg/geneos - Updates for further parsing of config files, fix the treatment of geneos.Value type.

  • pkg/config - Add a config.UseEnvs() option to New() and Load() to trigger viper AutomaticEnv() and use prefixes.

  • Convert all packages and programs to use *config.Plaintext and not config.Plaintext.

v1.6.4 Fixes

  • Fix remote host optional encoded password handling

  • #142 - Fix expansion of non-encoded config strings in show and other places

  • #140 - Fix generation of 'secure' args for command start-up

  • #138 - Fix autostart behaviour for geneos restart

  • #139 - Show running AC2 instances

  • #134 - Update some geneos commands that need either flags or args set to just output usage otherwise.

  • #133 - Check restart logic and fix for when instance is already stopped. Also update the Stop() function and it's usage in other callers.

v1.6.2 patch release for `geneos deploy`

14 Jun 14:10
Compare
Choose a tag to compare

Change Log

Version v1.6.2

Released 2023-06-14

Please report issues via github or the ITRS Community Forum.

v1.6.2 Fixes

  • tools/geneos Fix late found bug with deploy and home directories

Release v1.6.1

13 Jun 20:05
Compare
Choose a tag to compare

Change Log

Version v1.6.1

Released 2023-06-13

Please report issues via github or the ITRS Community Forum.

v1.6.1 Changes

  • pkg/geneos Changes

    Some API changes to support work on a project for reading Gateway configuration files. Existing structures used to write config files cannot co-exist and have been renamed with an "Out" suffix down to the SamplerOut level. While the old names should have been retained and the new API requirements used new names, it was decided that this is the more common use case in the future.

  • tools/geneos Command updates

    The show command can now output an instance's own configuration file (for types of Netprobe and Gateway) and also try to produce a merged Gateway file using a modified command line with the Gateway -dump-xml command line option.

    A new instance flag autostart has been added, set to true for all types except ac2 which defaults to false. Documentation updtes to follow.

    The init demo command now detects if the user has a DISPLAY environment variable set and if so also installs an ac2 instance.

    The command command can now output the details in JSON format. This format is not quite compatible with the pkg/process Run and Batch functions, but the aim is to eventually merge the formats so that they can also share the implementation later.

v1.6.1 Fixes

  • Minor ongoing changes

    While adding new features there is ongoing review work and refactoring of code.

v1.6.0

07 Jun 15:41
Compare
Choose a tag to compare

Change Log

Version v1.6.0

Released 2023-06-07

Please report issues via github or the ITRS Community Forum.

v1.6.0 Changes

  • #116

    Added a new geneos deploy command that combines geneos init and geneos add but takes more care over existing installations and/or creating new directories.

    As part of this work all the geneos init command will prompt the user for a directory if none is given on the command line. If the command is run from a non-interactive parent (e.g. a pipe from the shell) then the prompt is skipped and the default directory is used.

    The geneos deploy command uses the same initialisation rules but reduces the number of options. The intended audience is around automation where the deployment scripts may not have the knowledge or logic to check for existing installations.

  • #114

    For geneos instances that have both the default libpaths and an environment variable LD_LIBRARY_PATH configured these are now concatenated with libpaths always first.

  • #117

    Based on user feedback all the Netprobe types have been merged under the netprobe/ directory in their respective plural names, e.g. netprobe/sans. Existing installations should continue to work unchanged but you can use the geneos migrate command to automatically merge the instance directories under netprobe/ including the update of configuration files.

  • #97

    The Linux Active Console is now treated like any other component and instance. At the moment, if you issue a geneos start command then all instances including Active Console(s) will be run. In a future release we may add an autostart like flag that can prevent this and require a manual start using the full geneos start ac2 abcde syntax.

  • pkg/process - New features

    New functions have been added to support the running of single processes and batches based on a Program struct. This is for running tasks loaded from a config file (typically YAML) for an ongoing project. The reason for not using existing external packages was the integration with other cordial tooling. This functionality is currently maturing and is very sparsely documented and subject to major changes.

  • pkg/icp and pkg/gwhub - New APIs

    These two packages are the start of Go APIs for ITRS Capacity Planner and Gateway Hub, respectively. These should not yet be used and have been included to track progress over the next few releases.

v1.6.0 Fixes

  • #126

    In the config package the Load() function would fail if used with a file format set bu other defaults and run in the same directory as the binary it ran in because viper would also try to load the bare-named program binary as a config file of the type given. The package now does it's own file name construction to avoid this.

    As a consequence of the work done around this fix to make the usage of options to Load() and Save() clearer some have changed names. Existing code that wants to use v1.6.0 will experience minor API breakage. The fixes are simple refactors, so no backward compatibility has been retained.

  • #124

    The work done for #117 above meant that all templates are now located under netprobe/templates and both san and floating templates had the same name. The default templates now have updated root names, e.g. san.setup.xml.gotmpl, but existing configuration may need updating if the existing templates clash.

    To help users control which configuration files are created from templates, and which to use for instance start-up, a new instance parameter setup has been introduced for this. The defaults are netprobe.setup.xml and gateway.setup.xml for the two affected component types which means no change for existing users.

    So even though the new SAN template is san.setup.xml.gotmpl, for example, running geneos rebuild san will still result in a
    netprobe.setup.xml in the instance directory.

  • #120

    While this report was a misunderstanding of the way to use Daemon() the comments have been updated to give better direction on how to use the pidfile io.Writer parameters.

Patch release with small fixes and some new features

31 May 11:09
Compare
Choose a tag to compare

Change Log

Version v1.5.2

Releases 2023/05/31

Please report issues via github or the ITRS Community Forum.

v1.5.2 Changes

  • #102 - process package additions

  • #109 - New tls create command

    Move the functions of --name etc from tls new to tls create to remove dependency on the Geneos home directory.

  • #106 - Change directory for TLS root and signing certs and keys

  • #97 - Start of Linux AC2 support. Not yet fully functional.

  • #98 - Work done and then superceeded by #109 above.

v1.5.2 Fixes

  • #111 - Fix gateway instance template ports

  • #103 - Fix default web server log file name

Patch release to v1.5.0

25 May 12:10
Compare
Choose a tag to compare

Change Log

Version v1.5.1

Releases 2023/05/25

Please report issues via github or the ITRS Community Forum.

v1.5.1 Changes

  • tools/geneos:

    • #85 - TLS Issues

      Added verification for certificates against existing root and
      signing certificates.

      Added an option to recreate root and signing certs from tls init.

    • #86 - New log option for stderr logs blocked main logs

      Reworked the way that logs are followed to allow both normal and
      stderr logs to be followed. This fixes start -l, restart -l and
      by implication init -l options. Added a --nostandard/-N option
      to logs to allow normal log to be surpressed when you only want
      the error logs.

    • #88 - Floating probe configuration template output malformed

      The defaults for new floating probes used sanname instead of
      floatingname as the parameter for the template rendering.

    • #90 - Variables in SANs

      The san template was not corrected updated for the new variable
      structure.

    • #43 - Minor error in disable

      In disable check if stopped and print error if not --force

v1.5.0

22 May 13:36
Compare
Choose a tag to compare

We are very happy to announce release v1.5.0 of cordial

Release Notes

Version v1.5.0

Released 2023/05/22

Please report issues via github or the ITRS Community Forum.

v1.5.0 - Highlights

This release brings numerous changes to the cordial tools, especially
the geneos utility. We have tried to improve the reliability and
usability of the utility through updated and improved documentation and
subsequent fixes and changes that arose from writing and checking that
documentation.

v1.5.0 - BREAKING CHANGES

  • pkg/logger:

    • REMOVED. This simplistic internal logging package has been
      deprecated in favour of more mature solutions, such as
      zerolog.
  • tools/geneos:

    • The way SAN instances handle gateway connections has been fixed to
      allow gateway represented as FDQNs or IP addresses. The old way
      resulted in a mess - viper defaults to dots ('.') as configuration
      item hierarchy delimiters and this caused issues. Most users with
      SANs should not notice any change, but if you see problems please
      check the san XML file and correct the gateways section as
      necessary. One way is to remove and re-set them using:

      geneos set san mySan -g gateway.example.com ...

      Running set will rewrite the configuration in the new format bu
      there is a chance that the previous configuration will continue to
      occupy settings. You may need to manually edit the instance
      configuration file san.json anyway.

    • Like the above any variables defined for either SAN or Gateway
      instances used to generate XML from templates will have not worked
      in a case sensitive manner to mirror how Geneos treats variable
      names. To fix this the internal format of the variables section
      has been updated to move the variable name from the configuration
      key to a separate structure as it's own value. Code has been added
      to automatically convert from the old format to the new when the
      configuration file is updated however there is no fix for the
      correction of variable case name being incorrect from previous
      configurations. Please review and adjust as necessary.

    • Support for running instances as other user accounts or under
      sudo has been deprecated. Security is hard, and the support
      for these was poorly implemented. A better way should be coming in
      a future release.

      This may mean that where users has configured netprobes to run as
      different users and have previously run sudo geneos start to let
      the program do the right thing will run into issues. Please be
      careful if any of your instances run as other users and do not run
      the geneos program with sudo. There is no additional
      checking/rejection of running under sudo or any other privilege
      escalation system so this is important!

v1.5.0 - Other Changes

  • There has been a significant amount of refactoring and moving around
    of the code-base. Most of this should not be user visible, but some
    public APIs have changed. As with all major changes there may be
    problems that have not been caught in testing. Please report
    anything you see as either a github
    issue
    or via the
    ITRS Community Forum.

    There are too many changed to list them all in detail but specific
    ones worth mentioning include:

    • memguard
      support for protected memory. Credentials (passwords, TLS keys and
      so on) should now be handled as Enclaves (for plaintext or private
      keys) or as LockedBuffers (for ciphertexts of sensitive data).

      The config package includes new methods
      for handling configuration file data as Enclaves and LockedBuffers
      to try to reduce the amount of confidential data visible in the
      process.

      The changes are ongoing and, in addition to adding a layer of data
      security to cordial, an added benefit is the interception of
      memory use errors etc. If you see errors, panic etc. please report
      them as a github
      issue

    • A number of the previous package APIs have undergone review and
      changed as needed. In particular the
      config API has been through the wringer
      and if you have any code that relies on it from v1.4 or earlier
      then it will require changes. There are new functions, which is to
      be expected, but also some existing ones have been renamed or had
      their argument signatures changed. Please review the documentation
      to see what the methods and functions have become.

    • Credentials support. There is both general purpose and
      geneos specific support for the local
      storage of credentials. Passwords and other secrets "at rest" are
      stored in Geneos AES256 format using a key file that is initial
      auto-generated. To decode these passwords you must have both the
      key file (which is by default only user readable) and the
      credentials file. There should be support for other credentials
      types, such as OAuth style client secrets and tokens, in future
      releases. The username and the domain that the credentials
      apply to are not encrypted, by design. This is however subject to
      change in a future release.

      Credentials currently works with a free-text domain that matches a
      destination using a "longest match wins" search, e.g. for a URL
      this may be a full or partial domain name, and for Geneos
      component authentication, e.g. the REST command API, the domain is
      in the form gateway:NAME. Others will be added later, probably
      including TLS certificates and keys as well as SSH password and
      private keys.

    • Releases now include selected binaries with a semantic version
      suffix. The programs in cordial use the base name of the binary
      as a key to select which configuration files to load, so that
      renaming the binary will result in a different set of
      configuration file being used, automatically.

      To make life simpler, any version suffix is automatically stripped
      if, and only if, it matches the one used to build the binary. This
      means you can now download geneos-v.1.5.0 and use it without
      having to rename it (useful for initial testing of new releases).

  • tools/geneos:

    • Extensive documentation restructuring and rewriting. This is still
      work in progress but largely complet. Built-in help text (shown
      with the help command or the --help/-h option) should now
      align much more closely with real functionality and the online
      documentation is now almost completely built from the same source.

    • Addition of subsystems to group commands.

    • Move aes and tls command sources to their subsystems.

    • Add host and package subsystems and create aliases for the
      original commands, e.g.

      • add host becomes host add
      • install becomes package install
      • etc.
    • The set user, show user etc. commands are now under single
      config subystem, e.g. geneos config set mykey=value

    • The set global and related commands have been deprecated.

    • The new package subsystem command pulls all Geneos release
      management into one place

    • New login and logout commands to manage credentials.

    • New ca3 and floating components for Collection Agent 3 and Floating
      Netprobes

  • tools/dv2email:

    • This new utility can be run as a Geneos Action or Effect to
      capture one or more Dataviews and send as an email. The
      configuration is extensive and the layout and contents are
      completely configurable through the use of Go templates.

v1.5.0 - Bug Fixes

  • tools/geneos:

    • Version checking of local release archives was broken because of
      overloading of a common function. This is now split and checking
      should work once again.

    • Most reported issues on github have been fixed.

v1.5.0 - To Do

  • Documentation needs more work and refinement. The built-in help for
    almost all commands is now up-to-date but the init and tls
    subsystems need to be reviewed further and completed. This should be
    in a patch release soon.

  • tools/geneos:

    • Local storage of encrypted passwords for remote SSH access needs
      documenting

v1.5.0 Beta 2 - fixes and documentation updates

18 May 17:32
Compare
Choose a tag to compare

This second beta addresses some issues found during testing - thanks to those who reported issues - and also incorporates a significant number of changes (bug fixes or enhancements, you decide) that came to light while updating the help documentation for most geneos program commands. Almost all the help test in geneos has been updated with just a small subset awaiting more edits.

The geneos help text should now more closely align with functionality and has also resulted in that functionality being improved and made more consistent. Online rendered version of these changes can be browsed here: https://github.com/ITRS-Group/cordial/blob/main/tools/geneos/docs/commands/geneos.md

The CHANGELOG.md file has not had much in the way of change yet, so is not being copied here.

One more note - if you download any of the binaries attached to this release directly then please remember to rename before use as new behaviour means that the executable file name influences the configuration files loaded at start-up. We are looking at how to allow embedded semantic versioning in the file name without affecting the "basename" of the program which may be done by final release.

Once again, thanks for your patience and feedback.