Releases: ITRS-Group/cordial
Release v1.6.6
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
- Addpackage 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
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
Release v1.6.4 (replaces v1.6.3)
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 initialhidden
flag to hosts, so they don't participate in wildcarded operations. -
tools/geneos
- Add new--validate
option togeneos show
to run a validation and output results as JSON. -
pkg/geneos
- Updates for further parsing of config files, fix the treatment ofgeneos.Value
type. -
pkg/config
- Add aconfig.UseEnvs()
option toNew()
andLoad()
to trigger viperAutomaticEnv()
and use prefixes. -
Convert all packages and programs to use
*config.Plaintext
and notconfig.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`
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 withdeploy
and home directories
Release v1.6.1
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
ChangesSome 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 updatesThe
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 totrue
for all types exceptac2
which defaults tofalse
. Documentation updtes to follow.The
init demo
command now detects if the user has aDISPLAY
environment variable set and if so also installs anac2
instance.The
command
command can now output the details in JSON format. This format is not quite compatible with thepkg/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
Change Log
Version v1.6.0
Released 2023-06-07
Please report issues via github or the ITRS Community Forum.
v1.6.0 Changes
-
Added a new
geneos deploy
command that combinesgeneos init
andgeneos 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. -
For
geneos
instances that have both the defaultlibpaths
and an environment variableLD_LIBRARY_PATH
configured these are now concatenated withlibpaths
always first. -
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 thegeneos migrate
command to automatically merge the instance directories undernetprobe/
including the update of configuration files. -
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 anautostart
like flag that can prevent this and require a manual start using the fullgeneos start ac2 abcde
syntax. -
pkg/process
- New featuresNew 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
andpkg/gwhub
- New APIsThese 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
-
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.
-
The work done for #117 above meant that all templates are now located under
netprobe/templates
and bothsan
andfloating
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 arenetprobe.setup.xml
andgateway.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, runninggeneos rebuild san
will still result in a
netprobe.setup.xml
in the instance directory. -
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
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
commandMove the functions of
--name
etc fromtls new
totls 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.
v1.5.2 Fixes
Patch release to v1.5.0
Change Log
Version v1.5.1
Releases 2023/05/25
Please report issues via github or the ITRS Community Forum.
v1.5.1 Changes
-
-
#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 fixesstart -l
,restart -l
and
by implicationinit -l
options. Added a--nostandard
/-N
option
tologs
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
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.
- REMOVED. This simplistic internal logging package has been
-
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 thegateways
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 filesan.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 thevariables
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 runsudo 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
thegeneos
program withsudo
. There is no additional
checking/rejection of running undersudo
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 tocordial
, 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 formgateway: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 incordial
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 downloadgeneos-v.1.5.0
and use it without
having to rename it (useful for initial testing of new releases).
-
-
-
Extensive documentation restructuring and rewriting. This is still
work in progress but largely complet. Built-in help text (shown
with thehelp
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
andtls
command sources to their subsystems. -
Add
host
andpackage
subsystems and create aliases for the
original commands, e.g.add host
becomeshost add
install
becomespackage 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
andlogout
commands to manage credentials. -
New
ca3
andfloating
components for Collection Agent 3 and Floating
Netprobes
-
-
- 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.
- This new utility can be run as a Geneos Action or Effect to
v1.5.0 - Bug Fixes
-
-
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 theinit
andtls
subsystems need to be reviewed further and completed. This should be
in a patch release soon. -
- Local storage of encrypted passwords for remote SSH access needs
documenting
- Local storage of encrypted passwords for remote SSH access needs
v1.5.0 Beta 2 - fixes and documentation updates
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.