Releases: jippi/hashi-ui
0.13.1 - bug fix edition
Breaking changes:
- #180 CLI arguments are now compliant with GNU Coding Standards - thanks @lfarnell)
(sorry about changing this multiple times!) - please see README.md for new CLI flag names.
Bugs & Feature issues:
- #176 Add Vagrant file for easier local development (Thanks @lfarnell)
- #191 Add nginx / lua auth example (Thanks @dropje86)
- #192 Add keepalive websocket messages
- #193 Fix a type (Thanks @FlorinAndrei)
- #194 Add
nomad-skip-verify
TLS option (Thanks @sepulworld) - #197 Non-ascii characters don't display correctly (Reported by @sethvargo)
Please see commit diff between 0.13.0 and 0.13.1 for other changes
Consul UI (and configuration changes)
General changes
I've done a fairly big refactor of the configurations of hashi-ui to make it more streamlined now that the UI supports multiple backends.
You now have to enable a backend (current nomad
or consul
) by providing a CLI flag (--consul.enable
or --nomad.enable
) or ENV variables (CONSUL_ENABLE=1
or NOMAD_ENABLE=1
).
By default no backends are enabled, and hashi-ui will refuse to start if you don't enable a backend
NOMAD_ENABLE
/--nomad.enable
has been addedNOMAD_LOG_LEVEL
/--log.level
has been renamed toLOG_LEVEL
/--log-level
NOMAD_PROXY_ADDRESS
/--web.proxy-address
has been renamed toPROXY_ADDRESS
/--proxy-address
web.listen-address
has been renamed to--listen-address
, also works from env usingLISTEN_ADDRESS
NOMAD_PORT_http
is still supported but new configuration options has been provided outside of Nomad deployments
CONSUL_ENABLE
/--consul.enable
has been addedCONSUL_ADDR
/--consul.address
has been added (defaults to127.0.0.:8500
)CONSUL_READ_ONLY
/--consul.read-only
has been added
If both Nomad a Consul is enabled, you can switch between them by using the menu icon left of the title in the topbar. (It's only visible if you enable both Nomad and Consul).
I've updated the Development documentation to include how-to use Go and get the environment up and running fast.
Consul UI
This release contain the code found in PR #171.
The major feature is "basic" Consul UI support, currently Services, Key/Value and Nodes (with out-of-the-box) support for multiple Datacenters.
I've tried to somewhat mirror the features found in the UI bundled with Consul, with a few small differences.
Currently no ACL support has been added, please let me know if you need it, and I'll add a CLI option for it.
I've uploaded consul screenshots for a quick overview of how it looks.
Consul Services
The list of services, and any specific service you may select, is automatically kept up to date with changes in your Consul cluster.
You can deregister services and specific service checks directly from the service overview.
You can expand a service check to see the output and any notes directly from the services overview.
Consul Key/Value
The list of folders and keys is automatically kept up to date with changes in your Consul cluster.
The breadcrumbs are individually clickable for easy and quick navigation.
Full support for CAS
(Check-And-Set) in both Write and Delete actions, preventing accidental modification or deleting of keys that have changed since you loaded them.
There is also visual verification when you choose to delete a key or a folder (and everything below) to avoid accidental deletes.
Sorting of folders and keys are alphabetically (according to your browser locale), but folders are always first in the list.
Consul Nodes
The list of Nodes is automatically kept up to date with changes in your Consul cluster.
When viewing a node, checks belonging to a service are grouped below the service instead of having services and checks are individual lists. Checks without a service is shown below the list of services on the node.
You can deregister services and specific service checks directly from the node details view.
Use alpine linux instead of scratch
Fixes #169
The benefits of having a real (though minimal) OS with /etc/resolv.conf
and the curl ca-certificates
around will ease deployment for many.
If anyone find those 3MB additional data unacceptable, please reach out ! ;)
Multiple regions support
I've added region browsing support to hash-ui now (#170) (and a tons of internal refactoring)
If you have multiple regions in your nomad cluster, you will be asked which one you wish to access, otherwise the one region you have will be auto-selected for you.
Regions can now be selected from a list (when multiple regions is available)
or from the upper right corner anywhere in the UI
(expanded)
The region you are currently in will be shown in the main topbar now as well
When you have multiple regions, the leader from each region will now be detected correctly as well
caveats
hash-ui will not re-scan for new or dropped regions, it will only pick up the regions on startup, so if you change your regions, please remember to restart hash-ui.
Additionally all URLs have changed to be /nomad/:region/:resource/:id/:action
instead of previously /:resource/:id/:action
- the UI should redirect you automatically to somewhere "sane", but please update any bookmarks you may have :)
Add TLS support
You can now use hashi-ui to connect to nomad clusters that use TLS
Please see the updated readme for instructions
v0.10.2
Multiple fixes for proxy support and rewriting
Hopefully this will stabilize the 0.10 line :)
v0.10.1
i found a small bug in how the proxy support in v0.10.0 worked, when not using the feature
this release should fix that :)
proxy / put-hashi-ui-anywhere support
@vancluever has been so kind to add proxy support to hashi-ui (#161)
You can now control the public facing URL of hashi-ui, allowing you to easily put nginx or other proxies in front of the hashi-ui server.
The new NOMAD_PROXY_ADDRESS
(--web.proxy-address
) is the base URL of the UI when running behind a reverse proxy (ie: example.com/nomad/) - by default it's empty.
feature: stop a job
You can now also stop jobs from the UI
Click on the new job action icon
stopping a job requires confirmation before doing anything
If you don't want this feature, please use NOMAD_READ_ONLY=1
environment or --nomad.read-only
CLI flag. This will server-side prevent submission of jobs, but will not hide it from the UI.
edit raw job json
You can now edit the full job json payload and submit updates directly from the UI! :)
Simply click "edit job" in the right when viewing a job and you will see a dialog like this:
If the underlying job gets updated after you begun editing, the UI will best-effort prevent you from submitting the job to Nomad, and you have to close and open the dialog again to get the new job spec.
If you don't want this feature, please use NOMAD_READ_ONLY=1
environment or --nomad.read-only
CLI flag. This will server-side prevent submission of jobs, but will not hide it from the UI.