Commit Graph

958 Commits

Author SHA1 Message Date
kenia 52e88bbf65 Create TransparentProxy mode label for service instance page 2021-04-15 09:19:21 -04:00
kenia fc40212823 Create Topology Metrics Source Type to be in each Card 2021-04-15 09:19:21 -04:00
kenia e9d01a3d4c Refactor Topology Metrics Card component 2021-04-15 09:19:21 -04:00
kenia cdf77e32f2 Create warning banners for permissive default-allow and wildcard-intention 2021-04-15 09:19:21 -04:00
kenia 57d3bf59ee Update service-topology mock data with new attributes: TransparentProxy, DefaultAllow, WildcardIntention, and Source 2021-04-15 09:19:21 -04:00
Kenia 84064f972e
ui: Return empty string protocol for upstream/downstream metrics request (#9989) 2021-04-12 09:03:57 -04:00
Kenia a0d12ff164
ui: Reformat MaxTokenTTL to sortBy as an integer (#9969)
* Install Duration JS

* Use Duration.js to sortBy reformatted MaxTokenTTL

* Remove @icholy/duration package

* Install parse-duration package

* Use parse-duration in auth-method model
2021-04-07 12:43:04 -04:00
John Cowen e4e85a8f83
ui: Move control of login modal to use JS rather than HTML (label/id) (#9883)
* Add before and after skip links portals

* Move EmptyState and ErrorState to use a @login action/function

* Move page title setting to the Route component

* Add Routes and Outlets everywhere, and use those to access login modal

* Add some aria-labels to the modals

* Docs

* Remove the label/input now we no longer need it, fixup pageobject

* Add basic modal docs

* Switch out old toggle names for ids

* Wrap nspace Route template in a Route component

* type > class
2021-04-06 13:40:40 +01:00
Kenia ee5c3e3aa5
ui: Auth Methods - Namespace rules tab (#9935)
* Add mock data for NamespaceRules

* Create NamespaceTable component and styling

* Add NamespaceRules route and add to model

* Create Namespace Rules tab and implement with flag to only show in ent

* Add emptystate to namespace rules page

* Rename namespace-rules to be nspace-rules

* Rename NamespaceTable to be NspaceList
2021-03-31 10:55:31 -04:00
Kenia 4d13e31ae0
ui: Auth Methods - Create Binding Rules tab (#9914)
* Create BindingRule adapter and tests

* Create BindingRule serializer and test

* Create BindingRule model and repository

* Add binding-rules mock data

* Create binding-rules router and call endpoint

* Create Binding rules tab

* Create and use BindingView component

* Create empty state for BindingView

* Remove binding rule requestForQueryRecord endpoint and tests

* Update binding rules selector to be monospaced

* Add bind type tooltip

* Create and Tabular-dl styling component

* Update hr tag global styling

* Rename BindingView to BindingList and refactor

* Add translations for bind types tooltip info

* Remove unused endpoint

* Refactor based on review notes
2021-03-26 11:47:47 -04:00
Kenia 232921b60e
ui: Add a README to the new Certificate component (#9908) 2021-03-23 09:22:09 -04:00
John Cowen a7a56ca39c
ui: Ensure intention form cancel button works (#9901)
* ui: Ensure intention form cancel button works

By adding `@action` decorators to the actions called form within the
template
2021-03-19 15:14:46 +00:00
John Cowen 0863806769
ui: Dependency Upgrade (#9907)
* Pin ember-changeset-validations and its dependencies to 3.9

Future versions produce a 'validator is not a function' error

* yarn upgrade

* Upgrade the majority of user facing deps that don't required add. change

not upgraded here due to more changes required:

- ember-page-title
- ember-href-to

* Upgrade ember-page-title which no longer requires ember-cli-head

* Upgrade some devtools related dependencies

* Upgrade some non ember-core test utils

* Upgrade js-yaml which required safeLoad > load

* Upgrade some compilation utils

* Yarn install from workspace root

* Add Python-2.0 to compliance checker
2021-03-19 15:14:07 +00:00
Kenia 980299d519
ui: Auth Methods- Updates to certificate and empty state in show page (#9895)
* Update Certificate to be monospaced

* Add empty states for claim and list claim mappings

* Update the styling of empty state actions block

* Update mocked PEM certificate format
2021-03-18 11:18:23 -04:00
John Cowen 8dc590cf11
ui: Add all tooltips to the default tabbing order in the page (#9888)
* ui: Add all tooltips to the default tabbing order in the page

This amends our tooltip modifier to automatically add a tabindex="0" to
all of our tooltips (if they aren't tabbable already).

This means that all tooltips will automatically be
added to the natural tab order of the page. I'm pretty sure we don't
currently require the ability to disable this automatic functionality
but if we do at some point in the future we can add an option to disable
it, meaning all tooltips will be tabbable by default.
2021-03-18 14:35:50 +00:00
John Cowen 9e715842d9
ui: Improves UI engineering docs (#9875)
Also fixes some typos in with-overlay
2021-03-17 15:58:17 +00:00
Kenia f9e8b26af6
ui: Create auth-method show page with General Info Tab (#9845)
* Update list items to be linkable to auth-methods show

* Add general, namespace, and binding sub-routes

* Remove namespace and binding tabs to be done separately

* Update auth-method byId endpoint

* Style the show auth-method kubernetes type

* Finish Kubernetes auth-method type styling

* OIDC and JWT auth-method styling

* Create consul-auth-method-view component

* Add navigation test for auth-methods

* Create Certificate component
2021-03-17 10:40:56 -04:00
John Cowen aca7976580
ui: Adds warning icon to side menu when ACLs are disabled (#9864)
* ui: Adds warning icon to side menu when ACLs are are disabled
2021-03-17 11:23:00 +00:00
John Cowen 41471719e6
ui: CSP Improvements (#9847)
* Configure ember-auto-import so we can use a stricter CSP

* Create a fake filesystem using JSON to avoid inline scripts in index

We used to have inline scripts in index.html in order to support embers
filepath fingerprinting and our configurable rootURL.

Instead of using inline scripts we use application/json plus a JSON blob
to create a fake filesystem JSON blob/hash/map to hold all of the
rootURL'ed fingerprinted file paths which we can then retrive later in
non-inline scripts.

We move our inlined polyfills script into the init.js external script,
and we move the CodeMirror syntax highlighting configuration inline
script into the main app itself - into the already existing CodeMirror
initializer (this has been moved so we can lookup a service located
document using ember's DI container)

* Set a strict-ish CSP policy during development
2021-03-17 10:46:21 +00:00
John Cowen fa6687b7f4
ui: Implement ACLs access based on ACLs (#9835)
Adds restrictions to everything within the ACLs (and nspaces) area based on your ACLs (including readonly views etc.)
2021-03-11 09:29:11 +00:00
John Cowen 33d0383779
ui: a11y modals (#9819)
This PR uses the excellent a11y-dialog to implement our modal functionality across the UI.

This package covers all our a11y needs - overlay click and ESC to close, controlling aria-* attributes, focus trap and restore. It's also very small (1.6kb) and has good DOM and JS APIs and also seems to be widely used and well tested.

There is one downside to using this, and that is:

We made use of a very handy characteristic of the relationship between HTML labels and inputs in order to implement our modals previously. Adding a for="id" attribute to a label meant you can control an <input id="id" /> from anywhere else in the page without having to pass javascript objects around. It's just based on using the same string for the for attribute and the id attribute. This allowed us to easily open our login dialog with CSS from anywhere within the UI without having to manage passing around a javascript object/function/method in order to open the dialog.

We've PRed #9813 which includes an approach which would make passing around JS modal object easier to do. But in the meantime we've added a little 'hack' here using an additional <input /> element and a change listener which allows us to keep this label/input characteristic of our old modals. I'd originally thought this would be a temporary amend in order to wait on #9813 but the more I think about it, the more I think its quite a nice thing to keep - so longer term we may/may not keep this.
2021-03-09 09:30:01 +00:00
John Cowen 308e5a480e
ui: Remove storybook, add docfy (#9831)
This PR removes storybook and adds docfy and uses docfy to render our existing README files.

This now means we can keep adding README documentation without committing any specific format or framework. If we eventually move to storybook then fine, or if we just want to remove docfy for whatever reason then fine - we will still have a full set of README files viewable via GitHub.
2021-03-08 12:22:01 +00:00
John Cowen 61eef053db
ui: Add Route component / routlet service (#9813)
* Add Routlet service and Route Component

* Add ember-assign-helper (already an indirect dependency)

* Use EventListeners for is-href instead of observing

* Don't include :active in '-intent' styles
2021-03-08 12:15:54 +00:00
John Cowen 779f7f7b60
ui: Side navigation tweaks (#9812)
* Remove footer and add the Consul version to the Help menu

* Tweak menu text and button styling

* Tweak some coloring and spacing

* Add slightly larger Consul logo
2021-02-25 09:35:53 +00:00
John Cowen f9b0e50ca0
ui: Update project blueprints for native classes (#9775) 2021-02-24 09:03:18 +00:00
John Cowen 8b12d0d09d
ui: DataSource Decorator (#9746)
We use a `<DataSource @src={{url}} />` component throughout our UI for when we want to load data from within our components. The URL specified as the `@src` is used to map/lookup what is used in to retrieve data, for example we mostly use our repository methods wrapped with our Promise backed `EventSource` implementation, but DataSource URLs can also be mapped to EventTarget backed `EventSource`s and native `EventSource`s or `WebSockets` if we ever need to use those (for example these are options for potential streaming support with the Consul backend).

The URL to function/method mapping previous to this PR used a very naive humongous `switch` statement which was a temporary 'this is fine for the moment' solution, although we'd always wanted to replace with something more manageable.

Here we add `wayfarer` as a dependency - a very small (1kb), very fast, radix trie based router, and use that to perform the URL to function/method mapping.

This essentially turns every `DataSource` into a very small SPA - change its URL and the view of data changes. When the data itself changes, either the yielded view of data changes or the `onchange` event is fired with the changed data, making the externally sourced view of data completely reactive.

```javascript
// use the new decorator a service somewhere to annotate/decorate
// a method with the URL that can be used to access this method
@dataSource('/:ns/:dc/services')
async findAllByDatacenter(params) {
  // get the data
}

// can use with JS in a route somewhere
async model() {
  return this.data.source(uri => uri`/${nspace}/${dc}/services`)
}
```

```hbs
{{!-- or just straight in a template using the component --}}
<DataSource @src="/default/dc1/services" @onchange="" />
```

This also uses a new `container` Service to automatically execute/import certain services yet not execute them. This new service also provides a lookup that supports both standard ember DI lookup plus Class based lookup or these specific services. Lastly we also provide another debug function called DataSourceRoutes() which can be called from console which gives you a list of URLs and their mappings.
2021-02-23 08:56:42 +00:00
John Cowen 2c2e9d1ce5
ui: Add an optional environment variable to control how testem starts (#9793)
Here we look for a TESTEM_AUTOLAUNCH environment variable, which can be
set to either Chrome, Firefox or Safari, which will control which
browser to automatically start when running testem tests.

If the variable is set to anything else, then it will not automatically
start a browser in order to run the tests and you will need to visit the
tests manually. e.g.:

TESTEM_AUTOLAUNCH=0 make test-oss-view

Previously we only ever tested in Chrome and therefore there are no
specific settings for Firefox or Safari. If specific settings are
required for these browsers they can be added at a later date.
2021-02-22 14:53:05 +00:00
John Cowen 8263879e6f
ui: Restrict the viewing/editing of certain UI elements based on the users ACLs (#9687)
This commit use the internal authorize endpoint along wiht ember-can to further restrict user access to certain UI features and navigational elements depending on the users ACL token
2021-02-19 16:42:16 +00:00
John Cowen 7be21a9027
ui: Add some acceptance testing around the Metrics graph (#9785)
* Add a way to set the local datacenter

* Amend step so we can positively and negatively look for elements

* Add a data-test selector so we can get to the topology series graph

* Add a couple of tests to verify the series graph shows/doesn't show
2021-02-18 18:31:49 +00:00
Kenia 1507dd8ab3
ui: Auth Methods List view (#9617)
* Create mock-api endpoints for auth-methods

* Implement auth-method endpoints and model with tests

* Create route and tab for auth-methods

* Create auth-method list and type components with styles

* Add JWT and OIDC svg logos to codebase

* Add brand translations

* Add SearchBar to Auth Methods

* Add acceptance test for Auth Methods UI

* Skip auth method repo test

* Changes from review notes

* Fixup auth-method modela and mock-data

* Update SearhBar with rebased changes

* Add filterBy source and sortBy max token ttl

* Update to SortBy MethodName

* Update UI acceptance tests

* Update mock data DisplayNames

* Skip repo test

* Fix to breaking serializer test

* Implement auth-method endpoints and model with tests

* Add acceptance test for Auth Methods UI

* Update SearhBar with rebased changes

* Add filterBy source and sortBy max token ttl

* Update to SortBy MethodName

* Update UI acceptance tests

* Update mock data DisplayNames

* Fix to breaking serializer test

* Update class for search

* Add auth-methods link to sidebar

* Fixup PR review notes

* Fixup review notes

* Only show OIDC filter with enterprise

* Update conditionals for MaxTokenTTL & TokenLocality

* Refactor
2021-02-17 13:56:56 -05:00
Kenia 1b5087f6e5
ui: Use ember-on-resize-modifier to fix bug with sidebar (#9761)
* Use ember-on-resize-modifier to fix bug with sidebar

* Fix recursive height by dynamically setting fixed height

* Refactor
2021-02-17 13:51:48 -05:00
John Cowen 96204a21d8
ui: [BUGFIX] Ensure we show the correct count of instances for each node (#9749)
* Add MeshServiceInstances property to node model

* Use MeshServiceInstances property

* Make sure we show the 'No * checks' if Checks.length is zero
2021-02-11 11:36:36 +00:00
John Cowen 369637aff7
ui: Update browser targets to ~2016 browsers (#9729)
* ui: Reduce range of browsers in targets.js `'Chrome 55', 'Firefox 53', 'Safari 13', 'Edge 15'`

* ui: Remove auto-prefixer
2021-02-11 10:03:13 +00:00
John Cowen eda38a0ba1
ui: [BUGFIX] Replace all replaceAll with split.join for older browsers without replaceAll (#9715)
* ui: replace all `replaceAll` with split.join

* Use a div instead of fieldset for flex-box reasons
2021-02-11 09:49:39 +00:00
John Cowen e0ff7080ae
ui: Adds unique-id helper (#9676) 2021-02-02 10:03:46 +00:00
John Cowen 0b7d676dcb
ui: Add 'Scenario' debug function for easy saving debug scenarios (#9675) 2021-02-01 17:50:11 +00:00
John Cowen 3aef5cde20
ui: Adds the dump router dumping function only in dev mode (#9666) 2021-02-01 17:29:43 +00:00
John Cowen 3477b1de77
ui: Keep track of previous node checks and avoid adding them twice (#9661)
* Keep track of previous node checks and avoid adding them twice
2021-01-29 15:57:47 +00:00
John Cowen 19fd9a87d1
ui: Check for a non-existent items argument/attribute within DataCollection (#9662) 2021-01-29 15:53:28 +00:00
John Cowen 7c277aa85b
ui: [BUGFIX] Fix missing or duplicate service instance health checks (#9660)
* Use NodeName not Node for cross checking proxies/instances

* Also copy over the meta data to keep the correct cursor/index

* When we sync checks to the ProxyInstance replace rather than accumulate
2021-01-29 15:51:23 +00:00
John Cowen 25f989753b
ui: Adds @NullValue attr decorator (#9587)
There are many places in the API where we receive a property set to
`null` which can then lead to defensive code deeper in the app in order
to guard for this type of thing when usually we are expecting an array
or for the property to be undefined using omitempty on the backend.

Previously we had two places where we would deal with this in the
serializer using our 'remove-null' util (KV and Intentions).

This new decorator lets you declaritively define this type of data using
a decorator @NullValue([]) (which would replce a null value with [].

@NullValue in turn uses a more generic @replace helper, which we
currently don't need but would let you replace any value with another,
not just a null value.

An additional benefit here is that the guard/replacement is executed
lazily when we get the property instead of serializing all the values
when they come in via the API. On super large datasets, where we only
visualize part of the dataset (say in our scroll panes), this feels like
a good improvement on the previous approach.
2021-01-27 10:41:24 +00:00
John Cowen 92f0eb3bdc
ui: Re-organize our %h* placeholders (#9584)
We've always had this idea of being able to markup up information
semantically without thinking about what it should look like, then
applying our %h* placeholder styles to control what the information
should look like.

Back when we originally made our set of %h* placeholders, we tried to
follow Structure as much as possible, which defined the largest header
(which we thought would have been the h1 style) as a super large 3.5rem.

Therefore we made our set of %h* placeholders the same as Structure
beginning at a huge 3.5 size. We then re-overwrote those sizes only in
Consul specific CSS files thinking that this was due to us existing
before Structure did.

Lately we saw an extra clue in Structure - the extra large 3.5 header was
called 'h0'.

This commit moves all our headers to use a zero based scale, and
additionally uses our 3 digit scale as opposed to 1 digit (h1 vs h100),
similar to our color scales (note we don't use a hypen, which we can
alter later if need be), which means we can insert additional h150 etc
if need be.

Additional we stop styling our headers globally (h1 { @extend %h100; }
). This means there is no reason not to use headers for marking up
content depending on what it is rather than what it should look like,
and as a consequence means we can be more purposeful in ordering h*
tags.

Lastly, we use the new scale over the entire codebase and update a
couple of places where we were using using header tags due to what the
styleing for them looked like rather than what the meaning/order was.
2021-01-26 17:53:45 +00:00
John Cowen 82a62cd2ed
ui: Sidebar navigation / redesign (#9553)
* CSS for moving from a horizontal main menu to a side/vertical one
* Add <App /> Component and rearrange <HashcorpConsul /> to use it

1. HashicorpConsul now uses <App />
2. <App /> is now translated and adds 'skip to main content' functionality
3. Adds ember-in-viewport addon in order to visibly hide main navigation
items in order to take them out of focus/tabbing
4. Slight amends to the dom service while I was there
2021-01-26 17:40:33 +00:00
Jeff Escalante 09d9176188
Trailing ui/vercel fixes (#9633)
* update ui staging for vercel

* move vercel.json

* missed a couple things, sorry
2021-01-25 14:02:45 -05:00
Jeff Escalante 88d5e00f99
Update UI staging build for vercel hosting (#9628)
* update ui staging for vercel

* move vercel.json

* add a couple more settings

* fix comments
2021-01-25 13:46:20 -05:00
John Cowen bb95738321
ui: Search/filtering 'Filtered by:' search status (#9442)
Adds a 'status' for the filtering/searching in the UI, without this its not super clear that you are filtering a recordset due to the menu selections being hidden once closed. You can also use the pills in this status view to delete individual filters.
2021-01-25 18:13:54 +00:00
John Cowen 02772e46a2
Fix -ui-content-path without regex (#9569)
* Add templating to inject JSON into an application/json script tag

Plus an external script in order to pick it out and inject the values we
need injecting into ember's environment meta tag.

The UI still uses env style naming (CONSUL_*) but we uses the new style
JSON/golang props behind the scenes.

Co-authored-by: Paul Banks <banks@banksco.de>
2021-01-20 18:40:46 +00:00
Kenia ffb6680e76
ui: Removing formatting to display LockDelay in nanoseconds (#9594)
* Removing formatting to display LockDelay in nanoseconds

* Update test

* Add changelog
2021-01-20 12:03:08 -05:00
John Cowen 30014ff8fe
ui: Convert Service.GatewayConfig to a model fragment (#9586)
* ui: Convert Service.GatewayConfig to a model fragment

We added the ember-intl addon, which has its own format-number helper.
We replaced our own similarly named helper with this one, but the
ember-intl one is far stricter and errors if the arguments passed are
undefined. Our previously one would cope with this.

We'd rather continue to use the stricter ember-intl helper, so here we
convert the GatewayConfig property to a model fragment so that we can
give the GatewayConfig.AssociatedServices property a default zero value.
2021-01-20 15:36:23 +00:00
John Cowen be694366a7
ui: Topology intention saving improvements (#9513)
* ui: Keep track of existing intentions and use those to save changes

Previously we risked overwriting existing data in an intention if we
tried to save an intention without having loaded it first, for example
Description and Metadata would have been overwritten.

This change loads in all the intentions for an origin service so we can
pick off the one we need to save and change to ensure that we don't
overwrite any existing data.
2021-01-19 15:40:39 +00:00
John Cowen 41a4a9f4fb
ui: Improves the 'you must provide ... to `generate`' error from href-to (#9514)
This originally comes form the ember-href-to helper and is one of those
errors that when I see it I think ... hmmm

This gives a little bit more of a clue as to what is wrong by logging
the route name you asked for plus the params you passed to it so you:

1. Have more help finding the href-to that is problematic in the
template/component
2. Can see all the parameters you passed (including a potential null
parameter for the thing you are missing)
2021-01-19 15:25:37 +00:00
John Cowen 1e30503ece
ui: Show a feedback icon instead of a learn icon in the help menu (#9552) 2021-01-13 09:41:25 +00:00
Kenia b86eea4fba
ui: Rename a model attribute to not be overwritten by ember-data (#9524)
* Rename a model attr to not be overwritten by ember-data

* Make sure we can click on the instances

* Make sure we can click back to the preevious page, not root

* Add a forwards/back/forwards navigation test for service instances

* Rename a model attr to not be overwritten by ember-data

Co-authored-by: John Cowen <jcowen@hashicorp.com>
2021-01-12 09:53:21 -05:00
John Cowen e893ba7ea0
ci: Explicitly specify a default target, don't use the first target (#9521) 2021-01-07 19:04:45 +00:00
John Cowen 512ad836bc
ui: Add license checker to the workspace plus CI (#9507)
* ui: Adds license-checker plus manually run package script
2021-01-06 18:37:21 +00:00
John Cowen 1304dc8820
ui: Adds localStorage to <html class=""> mapping for user controlled theming (#9496) 2021-01-05 17:40:28 +00:00
John Cowen a42e844ccc
ui: Add EmptyState for exposed paths, plus additional details (#9445)
* ui: Add EmptyState for exposed paths, plus additional details

1. Add the port to the combined address
2. Use the proxy address for the ip address used

* Convert to glimmer component

* Add spaces to ListenerPort and LocalPathPort Tooltips
2021-01-05 16:59:16 +00:00
John Cowen 17438020f1
ui: Accessibility scan improvements (#9485)
* ui: Remove all vestiges of role=tabpanel

* Switch out tablist role for a label, default to Secondary

* Move healthcheckout-output headers to h2, ideally these would be outside the component

* Add aria-label for empty button

* Fix up non-unique ids in topology component

* Temporarily fixup h2 in KV > LockSession

* Fixup dl with no dt

* h3 > h2

* Fix up page objects that were reliant on ids
2021-01-05 10:05:59 +00:00
John Cowen d0ebb2b774
ui: Fix up erroneously placed conditional (#9447)
This meant that when where were no upstreams, no message would show
telling you of that fact. This commit means an EmptyState will now show instead.
2021-01-05 10:04:03 +00:00
John Cowen 8c9d5ecc2b
ui: [BUGFIX] Role/Policy selector default sort (#9434)
* Sort the options when they aren't being searched
2021-01-04 18:28:35 +00:00
John Cowen 4480302883
ui: [BUGFIX] Request intention listing with ns parameter (#9432)
This PR adds the ns=* query parameter when namespaces are enabled to keep backwards compatibility with how the UI used to work (Intentions page always lists all intention across all namespace you have access to)

I found a tiny dev bug for printing out the current URL during acceptance testing and fixed that up while I was there.
2021-01-04 17:22:10 +00:00
John Cowen 8c0473a622
ui: [BUGFIX] Ensure namespace is used for node API requests (#9410)
Nodes themselves are not namespaced, so we'd originally assumed we did not need to pass through the ns query parameter when listing or viewing nodes.

As it turns out the API endpoints we use to list and view nodes (and related things) return things that are namespaced, therefore any API requests for nodes do require a the ns query parameter to be passed through to the request.

This PR adds the necessary ns query param to all things Node, apart from the querying for the leader which only returns node related information.

Additionally here we decided to show 0 Services text in the node listing if there are nodes with no service instances within the namespace you are viewing, as this is clearer than showing nothing at all. We also cleaned up/standardized the text we use to in the empty state for service instances.
2021-01-04 16:42:44 +00:00
John Cowen 99f102705d
ui: Fuzzy and Regex searching (#9424)
Moves search things around to match an interface that can be switched in and out of fuzzy searching using fuse.js. We add both fuzzy searching and regex based searching to the codebase here, but it is not yet compiled in.
2020-12-18 10:38:15 +00:00
John Cowen 25d6a1277e
ui: Use InformedAction for KV table row delete confirmations (#9425) 2020-12-18 09:03:25 +00:00
Kenia c7d9177775
ui: Add Local flag to local dc in dropdown (#9419)
* Add Local flag to local dc in dropdown

* Remove brand color from the check

* Move styling to main-nav-horizonal styling sheets
2020-12-17 13:57:07 -05:00
John Cowen 2e3a66efb7
ui: Misc changes for Catalog area (#9414)
* Use DataLoader errors for Service Detail and Service Instance

* uiCfg > config use the repo-like async interface where possible

* Clean up node show

* Make sure you can put `=` in dev cookie values

* Never default to default

* Tweak chain variable

* Remove env service

* Pass chain through to the template for the tempalte to clean it up

* Delete controller tests

* Remove cleanup in Nodes show as this is still being used in another tab

* Use dc.Local
2020-12-17 16:35:01 +00:00
John Cowen 635cf4dc93
ui: Change references to L7 to say Layer 7 (#9412) 2020-12-17 16:04:05 +00:00
John Cowen 66cc91c69a
ui: Show the No Dependencies message when a Topology has no streams (#9413)
Also changes the upstreams docs link
2020-12-17 15:26:48 +00:00
John Cowen 0ca54c608b
ui: Add new dev UI environment variables to the README (#9411) 2020-12-16 16:40:31 +00:00
John Cowen 4404b4f44c
ui: Set overflow: auto on the tab nav (#9402)
This ensures scroll bars are mainly hidden, yet visible on small screens
if the tabs are large enough for there to be an overflow
2020-12-16 09:19:00 +00:00
John Cowen d602b303e1
ui: Rearrange Service detail page to load Topology and Routing tabs separately (#9401) 2020-12-16 09:18:29 +00:00
Kenia a919b60f5c
ui: Return empty state for no health check in Topology Cards (#9403) 2020-12-15 14:32:03 -05:00
John Cowen e921b3cf9a
ui: Install ember-intl (#9399)
* ui: Install ember-intl

Also:

1. Removes our own format-number in order to use ember-intl's instead
2. Moves format-time to format-short-time so as to not clash with
ember-intls own format-time
2020-12-15 18:29:32 +00:00
John Cowen 5e150d7f04
ui: Lint get-environment.js (#9400) 2020-12-15 18:14:25 +00:00
John Cowen 9f07871971
ui: Use InformedAction for intention confirmation dialogs (#9398) 2020-12-15 16:33:05 +00:00
John Cowen f111d6b3e3
ui: Dev/Test environment configurable metrics (#9345)
In order to test certain setups for our metrics visualizations we need to be able to setup several different `ui_config` settings during development/testing. Generally in the UI, we use the Web Inspector to set various cookie values to configure the UI how we need to see it whilst developing, so this PR:

1. Routes `ui_config` through a dev time only `CONSUL_UI_CONFIG` env variable so we can change it via cookies vars.
2. Adds `CONSUL_METRICS_PROXY_ENABLE`, `CONSUL_METRICS_PROVIDER` and `CONSUL_SERVICE_DASHBOARD_URL` so it's easy to set/unset these only values during development.
3. Adds an acceptance testing step so we can setup `ui_config` to whatever we want during testing.
4. Adds an async 'repository-like' method to the `UiConfig` Service so it feels like a repository - incase we ever need to get this via an HTTP API+blocking query.
5. Vaguely unrelated: we allow cookie values to be set via the location.hash whilst in development only e.g. `/ui/services#CONSUL_METRICS_PROXY_ENABLE=1` so we can link to different setups if we ever need to.

All values added here are empty/falsey by default, so in order to see how it was previously you'll need to set the appropriate cookies values, but you can now also easily preview/test the the metrics viz in different/disabled states (with differing `ui_config`)
2020-12-15 15:34:54 +00:00
John Cowen 14d043e5f8
ui: Show local datacenter by default on first visit (#9377)
* Add `Local` property to Datacenters

* If you have not previous datacenter, redirect the user to the local dc

* Add an `is-local` class to the local datacenter in the DC picker
2020-12-14 15:29:40 +00:00
John Cowen d6f27c6564
ui: Move linting to the `node:test` script (#9385)
* Reconfigure linting to be a node-test

* Fixup linting across the project
2020-12-14 15:28:35 +00:00
John Cowen 4e419b9b37
ui: Add External Sources Filter to Node > Service Instances (#9368)
* Add service collections to get all ExternalServices

* Add a basic collection helper

* Use the collections to get all ExternalSources

* Remove old Controllers
2020-12-14 14:25:33 +00:00
John Cowen 514270a413
ui: Controller dead code removal (#9367)
* ui: Controller dead code removal

This commit removes a little code that became 'dead' as a result of
previous PRs/commits

* Remove a little more from the settings Controller

* Remove CSS related to being able to set the dashboard_url in settings
2020-12-11 11:43:13 +00:00
John Cowen 0f7c909f13
ui: Improved Discovery Chain resizing (#9360)
* install on-resize modifier

* Rerrange things to use on-resize modifier for positioning
2020-12-11 09:38:33 +00:00
John Cowen 21e5a8f0f3
ui: Remove random undefined from codemod run (#9370) 2020-12-11 09:33:43 +00:00
John Cowen 9d81319074
ui: Use pill/badge components for intention filter options (#9357) 2020-12-09 19:12:57 +00:00
John Cowen 2c3b6aec05
ui: Remove old style 'filterable' searching (#9356)
* Switch upstream-instances to use new style of searchable

* Add search action to DataCollection plus basic README

* Use DataCollection for PowerSelect searching in child-selectors

* Remove old style filterable search for role/policies and instances

* Remove old helpers/components related to search/sort/filter
2020-12-09 19:12:17 +00:00
Kenia a78566e2d8
ui: Send item name down to Stats to call endpoint (#9358)
* Refactor Stats and Series components

* Remove unused variable from being passed down to Stats

* Add item name to be passed down to Stats
2020-12-09 13:49:34 -05:00
John Cowen d6cb2b0d76
ui: Update UI README (#9346) 2020-12-09 18:41:08 +00:00
John Cowen 27c74f7141
ui: New search/sort/filtering bar for Node > ServiceInstances (#9326)
* Model layer changes to turn Node:ServiceInstances into hasMany

We tried to make something that feels a little like ember-data yet
not leave our approach of re-shaping the JSON directly from the
response.

1. We added transformHasManyResponse for re-shaping JSON for hasMany
relationships. we avoided the normalize word as ember-data serialize
methods usually return something JSON:API shaped and we distinctly don't
want to do that. Transform was the best word we could think of.

2. The integration tests across all of our models here feel very much
like those types of tests that aren't really testing much, or assert
too much to an extent that they get in the way rather than be of any
use. I'd very much like to move a lot of this to unit tests. Currently
most of the fingerprinting functionality is unit tested and these
integration tests were originally to give confidence that IDs and
related properties were being added correctly.

3. We've added a hasMany relationship, but not the corresponding
belongsTo - yet at least. We don't require the belongsTo right now, and
if we do  we can add it later.

* Integrate ServiceInstance search bar for Node:ServiceInstances

* Hide Node.Meta when on the Node:ServiceINstance page

We use a little string replace hack here for a human-like label, this is
soon to be replaced with proper i10n replacement

* Always ensure that a Namespace is set, and add comment explaining
2020-12-09 13:08:30 +00:00
John Cowen 613be01f43
ui: Change URI helper to a template based approach (#9344)
This moves our uri helper to use a the template renderer we already have for rendering URLs.
2020-12-09 09:22:46 +00:00
John Cowen e0a4646768
ui: document-attrs helper (#9336)
This commit adds a {{document-attrs}} helper, specifically for adding attributes to the root documentElement, which in our case is always <html>
2020-12-09 09:22:01 +00:00
Kenia db5283ee24
ui: Refactor topology components (#9339)
* Refactor Stats and Series components

* Refactor metrics error message for ingress-gateway

* Fix upLines icon positioning

* Remove unused variable from being passed down to Stats
2020-12-08 10:47:55 -05:00
John Cowen 3be03029f6
ui: Native-ize class based helpers (#9337)
* Install ember-decorators/observes

* Remove filter-predicate

* Nativize `env` and inject env service

* Nativize all other class based helpers
2020-12-08 09:27:28 +00:00
John Cowen 9262c25fdf
ui: Lowercase the word 'instance' in Service listings (#9333) 2020-12-08 09:27:00 +00:00
John Cowen 4dfa7622d6
ui: Don't pluralize words when there is only 1 of the item (#9321) 2020-12-07 09:19:22 +00:00
John Cowen 2061bff36b
ui: HealthCheck Search/Sort/Filtering (#9314)
* Adds model layer changes around HealthChecks

1. Makes a HealthCheck model fragment and uses it in ServiceInstances and
Nodes
2. Manually adds a relationship between a ServiceInstance and its
potential ServiceInstanceProxy
3. Misc changes related to the above such as an Exposed property on
MeshChecks, MeshChecks itself

* Add a potential temporary endpoint to distinguish ProxyServiceInstance

* Fix up Node search bar class

* Add search/sort/filter logic

* Fixup Service default sort key

* Add Healthcheck search/sort/filtering

* Tweak CSS add a default Type of 'Serf' when type is blank

* Fix up tests and new test support

* Add ability to search on Service/Node name depending on where you are

* Fixup CheckID search predicate

* Use computed for DataCollection to use caching

* Alpha sort the Type menu

* Temporary fix for new non-changing style Ember Proxys

* Only special case EventSource proxies
2020-12-07 09:14:30 +00:00
John Cowen adbd6c0c8b
ui: ServiceInstance.Name should be the Service.Name, never the Service.ID (#9316)
* ui: ServiceInstance.Name should be the Service.Name, never the ID

The ServiceInstance.ID should try Service.ID and fallback to
Service.Name, not ServiceInstance.Name. ServiceInstance.Name is just an
alias to Service.Name which is always set.
2020-12-03 09:14:59 +00:00
John Cowen e23b5b003d
ui: Reorganize Tabs CSS (#9313) 2020-12-02 15:48:06 +00:00
John Cowen 9ac7bc1804
ui: Asyncify Service Model Hooks (#9312)
* ui: Add Kind grouping computed properties

* Use new computed properties and move model hooks to async methods
2020-12-02 15:42:18 +00:00
John Cowen a5b9ada9ad
ui: New overlays (#9305)
Replaces ember-popover with tippy.js based overlay modifier.
2020-12-02 09:43:34 +00:00
John Cowen cf38309f61
ui: Add 'Search Across' for finer grained searching (#9282) 2020-12-01 15:45:09 +00:00
John Cowen afe0f26143
ui: Move identity components (#9298) 2020-11-30 18:42:59 +00:00
John Cowen b5abbf122b
ui: Add copyable IDs to the Role and Policy views (#9296) 2020-11-30 17:28:33 +00:00
John Cowen d1ebe8c14d
ui: Moves healthcheck list to Glimmer template-only consul component (#9293) 2020-11-30 17:22:43 +00:00
John Cowen 0f85357a6e
ui: Remove unused helpers or swap for helpers in ember-string-fns (#9294)
* ui: Remove unused helpers or swap for helpers in ember-string-fns

* starts-with > string-starts-with
2020-11-30 17:19:44 +00:00
John Cowen f46ef3e3ff
ui: Round Trip Time Tooltips (#9290) 2020-11-30 17:02:54 +00:00
John Cowen a59a2f8604
ui: Modifier based tooltips (#9288) 2020-11-30 16:52:13 +00:00
John Cowen 9cf30e74e6
ui: Nestable DataSources (plus glimmer upgrade) (#9275) 2020-11-30 15:05:16 +00:00
John Cowen 62ae1d5f5a ui: Add copyable IDs to the Role and Policy views 2020-11-30 14:42:57 +00:00
John Cowen 408174f3bc
ui: Change metrics link documentation link (#9281)
* ui: Change metrics link documentation link

* Update ui/packages/consul-ui/app/components/topology-metrics/index.hbs

Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
2020-11-27 15:41:13 +00:00
John Cowen 6f8b5acbe0
ui: Ensure the per item logout button logs you out (#9269) 2020-11-24 17:47:53 +00:00
John Cowen 9c3c7bcf3b
ui: Include nspace in up/downstream link when nspaces are enabled (#9257) 2020-11-24 14:33:34 +00:00
Kenia d913af2bb1
ui: Card component nspace refactor (#9228)
* Refactoring conditional for showing nspaces

* Styling empty state for Stats component
2020-11-19 13:40:05 -05:00
John Cowen 687ce1f9c5
ui: Alter background color of filter bars (#9238) 2020-11-19 16:07:58 +00:00
John Cowen b025319756
ui: Surface 'detail' of API errors in the error page (#9237)
* ui: Surface 'detail' of API errors in the error page

* Make UI generated 404s look less bare
2020-11-19 16:07:23 +00:00
John Cowen 86f5919fc0
ui: ACL Tokens > Roles and Policy search and sort (#9236)
* ui: Ensure search is enabled for child items in the ACLs area

* Refactor comparators to reuse some utility functions

* Add search and sorting to the ACLs child selector

* Add tests for searching within child selectors

* Allow sorting by CreateIndex
2020-11-19 16:06:39 +00:00
John Cowen 35f1274a1f
ui: Sort lists with health by unhealthy/healthy by default (#9234)
* ui: Update lists with Health to sort by unhealthy/healthy by default

* Fix up tests for new sorting

* Make specific services page-navigation test
2020-11-19 16:05:46 +00:00
John Cowen f8e80fc688
ui: All metrics cards should default to the default nspace if not set (#9223)
* ui: All metrics cards should default to the default nspace if not set

* Use the up/downstream as the data/nspace for up/downstreams not the service
2020-11-19 16:03:26 +00:00
John Cowen 160b448c24
ui: Remove ghost healthcheck from the service instance healthcheck list (#9220)
* ui: Fixup service instance healthcheck list not to show ghost check

If the proxy is undefined, then an undefined vaule is appended to the
list of checks

* There are only 6 checks in the mocks so only expect 6
2020-11-19 15:59:27 +00:00
Kenia 591a96d5b8
ui: Fix empty state conditional for Series Graph (#9221) 2020-11-18 14:02:13 -05:00
Kenia 53a5b54b99
ui: Fix mutated nspace argument (#9222) 2020-11-18 14:01:35 -05:00
John Cowen 1edef424ad
ui: Refactor tomography graph component to glimmer and remove deprecation (#9219)
* ui: Refactor tomograph graph component to glimmer and remove deprecation

* Avoid ember-data deprecation error
2020-11-18 18:55:59 +00:00
John Cowen 4e1c62361e
ui: Remove ember-computed-style to avoid deprecation error (#9218) 2020-11-18 18:55:30 +00:00
John Cowen 664f1d9aa5
ui: Change title helper to page-title (#9211) 2020-11-18 11:11:30 +00:00
John Cowen 7edee36621
ui: Add triple curlies and reformat style attribute (#9210) 2020-11-18 11:11:02 +00:00
Freddy fe728855ed
Add DC and NS support for Envoy metrics (#9207)
This PR updates the tags that we generate for Envoy stats.

Several of these come with breaking changes, since we can't keep two stats prefixes for a filter.
2020-11-16 16:37:19 -07:00
John Cowen 959974e960
ui: Replace NaN and undefined metrics values with `-` (#9200)
* ui: Add functionality to metrics mocks:

1. More randomness during blocking queries
2. NaN and undefined values that come from prometheus
3. General trivial amends to bring things closer to the style of the
project

* Provider should always provide data as a string or undefined

* Use a placeholder `-` if the metrics endpoint responds with undefined data
2020-11-16 15:22:24 +00:00
John Cowen 1059a51a32
ui: Search/sort improvements (#9183) 2020-11-13 15:55:40 +00:00
Kenia 78b704be87
ui: Pass down nspace and dc from Service model down to prometheus request (#9175)
* Pass down nspace and dc from Service model down to prometheus request

* Reviewing notes fix-ups

* Fix on dc/nspace to send from upstream/downstream card
2020-11-13 10:39:00 -05:00
John Cowen 6b29704027
ui: Upstream Instance Search and Sort (#9172)
* ui: Add predicate, comparator and necessary files for the search/sort

* Implement search and sort for upstream instance list

* ui: Tweak CSS so its all part of the component

* Remove the old proxy test attribute
2020-11-12 18:45:11 +00:00
Kenia 7243f1f4f9
ui: Topology Intentions Popovers (#9137)
* Refactor grid styling for Topology page

* Crate TopologyMetrics Button component and move styling

* Create intention ID

* fixup button styling

* Return a link to the create intention page

* Rename Button to Popover component

* Fixup serializer test

* ui: Inline Topology Intention Actions  (#9153)

* Add arrow and dot to/from metrics back in

* Add addional space to have metrics wrap and show in smaller screens

* Move logic for finding positioning

* Use color variables

Co-authored-by: John Cowen <johncowen@users.noreply.github.com>
2020-11-12 10:40:15 -05:00
John Cowen 6423a2c10d
ui: Add vendor directory as a target for JS linting and lint (#9157)
* ui: Add vendor for js linting

* Lint all the things
2020-11-11 16:59:15 +00:00
John Cowen e1d9771381
ui: Move discovery chain component (#9154) 2020-11-11 14:43:37 +00:00
Kenia e18d8e299d
ui: Delete Proxy Info tab (#9141)
* Remove Proxy Info and create Upstreams and Exposed Paths tabs

* Update routes formatting

* Update typo for Expose.Checks

* Remove, update, and add tests

* Make consul-upstream-instance-list into a glimmer component

* Create styling for upstream-instance-list component
2020-11-10 11:31:47 -05:00
John Cowen fb62029297
ui: Correct AdapterError import (#9147) 2020-11-10 14:36:45 +00:00
John Cowen d561d346a8
ui: Remove unnecessay reopens from sort and form services (#9146) 2020-11-10 14:36:27 +00:00
John Cowen c8e40ee0de
ui: Move ember-data classes to use native JS classes/decorators (#9136)
* ui: Upgrade ember-data models to use native classes/decorators

* ui: Update remaining ember-data imports

* ui: Move ember-data Adapters to use native classes

* ui: Upgrade serializers to native classes/decorators

* ui: remove meta from roles, they never had it to start with
2020-11-09 17:29:12 +00:00
John Cowen 5c0ec13fb9
ui: Run Ember native class code mod (#9093)
* ui: Apply native class codemod to all services

* ui: Apply native class codemod to routes

* ui: Apply native class codemod to controllers

* Fix up ember proxy `content` issue

* Add a CreateTime on policy creation

* Minor formatting

* Convert child based saving to use ec instead of custom approach

* Remove custom event source repo wrapping initializer

* Repos here are no longer proxy objects revert to using them normally

* Remove areas of code that were used to set up source backed repos
2020-11-09 09:25:35 +00:00
John Cowen d9672bca81
ui: Move notice storybook to use controls addon (#9126) 2020-11-09 09:14:51 +00:00
Mike Morris bd3e31d2cf
ui: remove consul-api-double from yarn.lock (#9115) 2020-11-06 20:46:23 -05:00
John Cowen 3a68686cc3
ui: Ensure per service intentions link to the correct place (#9122)
* ui: Add a separate routeNsme to the per service intention listing

* Add a test to make sure we go through to per service intention form
2020-11-06 14:57:29 +00:00
John Cowen 475b4cd473
ui: Intention "Action change" warning modal (#9108)
* ui: Add a warning dialog if you go to remove permissions from an intention

* ui: Move modal styles next to component, add warning style

* ui: Move back to using the input name for a selector

* ui: Fixup negative "isn't" step so its optional

* Add warning modal to pageobject

* Fixup test for whether to show the warning modal or not

* Intention change action warning acceptence test

* Add a null/undefined Action
2020-11-06 14:57:19 +00:00
John Cowen ef201806f2
ui: Default to glimmer components (#9121) 2020-11-06 14:54:44 +00:00
John Cowen ac208742f2
ui: Move gitignore file to workspace root and add storybook ignores (#9120) 2020-11-06 14:50:39 +00:00
John Cowen 848f72f66a
ui: Move AppError and ErrorState to glimmer components (#9095)
* ui: move AppError and ErrorState to glimmer components

* yarn.lock changes
2020-11-06 09:24:17 +00:00
Kenia 6ff094976e
ui: Fix up typo for the UI config template url (#9109) 2020-11-05 14:04:40 -05:00
John Cowen 1ef18c4b67
ui: Move mocks into the ui project (#9084)
* Add consul-api-double under api

* Update config to reflect api change

* Remove consul-api-double as a dependency

* api -> mock-api

* Fixup mocks path for staging
2020-11-05 16:03:49 +00:00
John Cowen 0f6c0a5c13
ui: Metrics - Provide a fetch-like http client that automatically adds the current ACL token (#9094)
* Remove local httpGet and shim one in from options

* Add custom httpGet to pass through to provider

* Make a fetch wrapper that adds your token

* Pass the fetch like fetchWithToken wrapper through to the provider

* Fix up httpGet to encode query params again and use fetch-like
2020-11-04 09:33:37 +00:00
John Cowen d5d4155e1a
ui: Storybook Install (#9049)
* ui: Install storybook into the main project

* Add a basic story for a notice

* Remove empty dependencies
2020-11-03 14:09:39 +00:00
Kenia 56c2ff56e4
ui: Update to not return metrics for ingress gateways (#9081) 2020-11-02 13:38:43 -05:00
John Cowen bf32a17994
ui: Remove string casting when passing index/checked for dropmenus (#9077)
* ui: Remove string casting when passing index/checked

* Check for e.target
2020-11-02 16:07:08 +00:00
John Cowen 314eeda957
ui: Use eslint vs ember-cli-lint, sass vs dart-sass (#9078)
These two dependency changes means that @hashicorp/pds-ember can be
installed and used without any build/dependency issues
2020-11-02 14:35:10 +00:00
R.B. Boyer cf2cfbaf2e
ui: make metrics work again (#9072)
Fixes regression from #9040
2020-10-30 10:21:57 -05:00
Mike Morris 1d6961248c
ui: Update node_modules deps path in GNUMakefile (#9066)
Updates `node_modules` path/makefile target to fix top-level `make ui` command.
2020-10-29 13:28:55 -05:00
John Cowen f4208b5fba
ui: Metrics - Don't swallow metrics errors (#9044)
* ui: Make eventsources use http-like errors for stopping

* ui: Don't swallow errors from prometheus, pass them to the ui to handle
2020-10-27 14:51:15 +00:00
John Cowen 30da884d55
ui: Delete old yarn lock file (#9046)
* Update the make file to look for node_modules in the workspace

* Delete old travis file
2020-10-27 14:26:42 +00:00
Kenia cdf5ba703f
ui: Remove downstream dc filter (#9040)
* Remove datacenter filter and update props passed down

* Merging changes fixed

* Fixup tests for metrics link
2020-10-27 10:25:23 -04:00
Kenia ed6a2c150f
ui: Topology limited access banner (#9041)
* Add limited access banner to Topology tab based on ACLs

* Update to folder structure
2020-10-27 10:04:22 -04:00
John Cowen 827e53694c
ui: Upgrade consul-api-double to fix datacenter mocks (#9045) 2020-10-27 13:31:57 +00:00
Paul Banks 52d7283cd6
UI metrics provider dc (#9001)
* Plumb Datacenter and Namespace to metrics provider in preparation for them being usable.

* Move metrics loader/status to a new component and show reason for being disabled.

* Remove stray console.log

* Rebuild AssetFS to resolve conflicts

* Yarn upgrade

* mend
2020-10-26 19:48:23 +00:00
John Cowen c4f027fa0d
ui: Upgrade the rest of the UI to use the new Notice component (#9035) 2020-10-26 16:51:53 +00:00
John Cowen 948917c6b0
ui: Intention Custom Resource Banners (#9018) 2020-10-26 09:30:07 +00:00
John Cowen eedee07e7c
ui: Initial Intention Permission Integration and acceptance testing (#9003) 2020-10-23 17:26:06 +01:00
John Cowen 7559f64d01
ui: Fixup CSS for create pages (#9019) 2020-10-23 15:41:36 +01:00
Kenia 2a8a80638a
ui: Fix the pointer events to view the tooltips when hovering over the icons (#9014)
* Fix the pointer events to view the tooltips when hovering over the icons

* Update to use class instead of id
2020-10-23 09:45:39 -04:00
Kenia 92abbbacc1
ui: Prevent redirect to topology url and hide Topology tab if service has no services (#9008)
* Prevent redirect to topology url and hide Topology tab if service has no proxies

* Remove unused computed function from topology model

* Fix up tests

* Remove use of Exists computed function

* Add tests for hiding topology tab
2020-10-23 09:45:10 -04:00
Kenia 05411303b4
ui: Update Topology metrics dashboard and configuration links (#9002)
* Update Topology metrics dashboard and configuration links

* Fixup tests

* Remove Dashboard Link from settings page

* Removing use of settings Dashboard links
2020-10-23 09:44:38 -04:00
John Cowen 45554e4e9c
ui: Notice component (#9011)
Add simple Notice template only glimmer component
2020-10-23 09:26:32 +01:00
John Cowen 6589cbbd0d
ui: Move to Workspaced Structure (#8994)
* ui: Add the most basic workspace root in /ui

* We already have a LICENSE file in the repository root

* Change directory path in build scripts ui-v2 -> ui

* Make yarn install flags configurable from elsewhere

* Minimal workspace root makefile

* Call the new docker specific target

* Update yarn in the docker build image

* Reconfigure the netlify target and move to the higher makefile

* Move ui-v2 -> ui/packages/consul-ui

* Change repo root to refleect new folder structure

* Temporarily don't hoist consul-api-double

* Fixup CI configuration

* Fixup lint errors

* Fixup Netlify target
2020-10-21 15:23:16 +01:00
Freddy b2c12550d7
Remove old UI, option to use it, and its build processes 2019-04-12 09:02:27 -06:00
Hans Hasselberg ee36591242
update ffi to dodge CVE-2018-1000201 (#4670) 2018-09-14 11:22:48 +02:00
John Cowen bd0c9b32b9 Remove upgrade banner html from v1 ui 2018-06-22 17:51:43 +01:00
Paul Banks 863ac12811
v1.1.0 UI Build 2018-05-11 17:05:20 +01:00
John Cowen e5eeb0aa7c
UI V2 (#4086)
* Move settings to use the same service/route API as the rest of the app

* Put some ideas down for unit testing on adapters

* Favour `Model` over `Entity`

* Move away from using `reopen` to using Mixins

* Amend messages, comment/document some usage

* Make sure the returns are consistent in normalizePayload, also

Add some todo's in to remind me to think consider this further at a
later date. For example, is normalizePayload to be a hook or an
overridable method

* Start stripping back the HTML to semantics

* Use a variable rather than chaining

* Remove unused helpers

* Start picking through the new designs, start with listing pages

* First draft HTML for every page

* Making progress on the CSS

* Keep plugging away at the catalog css

* Looking at scrolling

* Wire up filtering

* Sort out filter counting, more or less done a few outstanding

* Start knocking the forms into shape

* Add in codemirror

* Keep moving forwards with the form like layouts

* Start looking at ACL editing page, add footer in

* Pull the filters back in, look at an autoresizer for scroll views

* First draft toggles

* 2nd draft healthcheck icons

* Tweak node healthcheck icons

* Looking at healthcheck detail icons

* Tweak the filter-bar and add selections to the in content tabs

* Add ACL create, pill-like acl type highlight

* Tweaking the main nav some more

* Working on the filter-bar and freetext-filter

* Masonry layout

* Stick with `checks` instead of healthy/unhealthy

* Fix up the filter numbers/counts

* Use the thead for a measure

* First draft tomography back in

* First draft DC dropdown

* Add a temporary create buttong to kv's

* Move KV and ACL to use a create page

* Move tags

* Run through old tests

* Injectable server

* Start adding test attributes

* Add some page objects

* More test attributes and pages

* Acl filter objects

* Add a page.. page object

* Clickable items in lists

* Add rest/spread babel plugin, remove mirage for now

* Add fix for ember-collection

* Keep track of acl filters

* ember-cli-page-object

* ember-test-selectors

* ui: update version of ui compile deps

* Update static assets

* Centralize radiogroup helper

* Rejig KV's and begin to clean it up

* Work around lack of Tags for the moment..

* Some little css tweaks and start to remove possibles

* Working on the dc page and incidentals

1. Sort the datacenter-picker list
2. Add a selected state to the datacenter-picker
3. Make dc an {Name: dc}
4. Add an env helper to get to 'env vars' from within templates

* Click outside stuff for the datacenter-picker, is-active on nav

* Make sure the dropdown CTA can be active

* Bump ember add pluralize helper

* Little try at sass based custom queries

* Rejig tablular collection so it deals with resizing, actions

1. WIP: start building actions dropdowns
2. Move tabular collection to deal with resizing to rule out differences

* First draft actions dropdowns

* Add ports, selectable IP's

* Flash messages, plus general cleanup/consistency

1. Add ember-cli-flash for flash messages
2. Move everything to get() instead of item.get
3. Spotted a few things that weren't consistent

* DOn't go lower than zero

* First draft vertical menu

* Missed a get, tweak dropmenu tick

* Big cleanup

1. this.get(), this.set() > get(), set()
2. assign > {...{}, ...{}}
3. Seperator > separator

* WIP: settings

* Moved things into a ui-v2 folder

* Decide on a way to do the settings page whilst maintaining the url + dc's

* Start some error pages

* Remove base64 polyfill

* Tie in settings, fix atob bug, tweak layout css

* Centralize confirmations into a component

* Allow switching between the old and new UI with the CONSUL_UI_BETA env var

Currently all the assets are packaged into a single AssetFS and a prefix is configured to switch between the two.

* Attempt at some updates to integrate the v2 ui build into the main infrastructure

* Add redirect to index.html for unknown paths

* Allow redictor to /index.html for new ui when using -ui-dir

* Take ACLs to the correct place on save

* First pass breadcrumbs

* Remove datacenter selector on the index page

* Tweak overall layout

* Make buttons 'resets'

* Tweak last DC stuff

* Validations plus kv keyname viewing tweaks

* Pull sessions back in

* Tweak the env vars to be more reusable

* Move isAnon to the view

* No items and disabled acl css

* ACL and KV details

1. Unauthorized page
2. Make sure the ACL is always selected when it needs it
3. Check record deletion with a changeset

* Few more acl tweaks/corrections

* Add no items view to node > services

* Tags for node > services

* Make sure we have tags

* Fix up the labels on the tomography graph

* Add node link (agent) to kv sessions

* Duplicate up `create` for KV 'root creation'

* Safety check for health checks

* Fix up the grids

* Truncate td a's, fix kv columns

* Watch for spaces in KV id's

* Move actions to their own mixins for now at least

* Link reset to settings incase I want to type it in

* Tweak error page

* Cleanup healthcheck icons in service listing

* Centralize errors and make getting back easier

* Nice numbers

* Compact buttons

* Some incidental css cleanups

* Use 'Key / Value' for root

* Tweak tomography layout

* Fix single healthcheck unhealthy resource

* Get loading screen ready

* Fix healthy healthcheck tick

* Everything in header starts white

* First draft loader

* Refactor the entire backend to use proper unique keys, plus..

1. Make unique keys form dc + slug (uid)
2. Fun with errors...

* Tweak header colors

* Add noopener noreferrer to external links

* Add supers to setupController

* Implement cloning, using ember-data...

* Move the more expensive down the switch order

* First draft empty record cleanup..

* Add the cusomt store test

* Temporarily use the htmlSafe prototype to remove the console warning

* Encode hashes in urls

* Go back to using title for errors for now

* Start removing unused bulma

* Lint

* WIP: Start looking at failing tests

* Remove single redirect test

* Finish off error message styling

* Add full ember-data cache invalidation to avoid stale data...

* Add uncolorable warning icons

* More info icon

* Rearrange single service, plus tag printing

* Logo

* No quotes

* Add a simple startup logo

* Tweak healthcheck statuses

* Fix border-color for healthchecks

* Tweak node tabs

* Catch 401 ACL errors and rethrow with the provided error message

* Remove old acl unauth and error routes

* Missed a super

* Make 'All' refer to number of checks, not services

* Remove ember-resizer, add autoprefixer

* Don't show tomography if its not worth it, viewify it more also

* Little model cleanup

* Chevrons

* Find a way to reliably set the class of html from the view

* Consistent html

* Make sure session id's are visible as long as possible

* Fix single service check count

* Add filters and searchs to the query string

* Don't remember the selected tab

* Change text

* Eror tweaking

* Use chevrons on all breadcrumbs even in kv's

* Clean up a file

* Tweak some messaging

* Makesure the footer overlays whats in the page

* Tweak KV errors

* Move json toggle over to the right

* feedback-dialog along with copy buttons

* Better confirmation dialogs

* Add git sha comment

* Same title as old UI

* Allow defaults

* Make sure value is a string

* WIP: Scrolling dropdowns/confirmations

* Add to kv's

* Remove set

* First pass trace

* Better table rows

* Pull over the hashi code editor styles

* Editor tweaks

* Responsive tabs

* Add number formatting to tomography

* Review whats left todo

* Lint

* Add a coordinate ember data triplet

* Bump in a v2.0.0

* Update old tests

* Get coverage working again

* Make sure query keys are also encoded

* Don't test console.error

* Unit test some more utils

* Tweak the size of the tabular collections

* Clean up gitignore

* Fix copy button rollovers

* Get healthcheck 'icon icons' onto the text baseline

* Tweak healthcheck padding and alignment

* Make sure commas kick in in rtt, probably never get to that

* Improve vertical menu

* Tweak dropdown active state to not have a bg

* Tweak paddings

* Search entire string not just 'startsWith'

* Button states

* Most buttons have 1px border

* More button tweaks

* You can only view kv folders

* CSS cleanup reduction

* Form input states and little cleanup

* More CSS reduction

* Sort checks by importance

* Fix click outside on datacenter picker

* Make sure table th's also auto calculate properly

* Make sure `json` isn't remembered in KV editing

* Fix recursive deletion in KV's

* Centralize size

* Catch updateRecord

* Don't double envode

* model > item consistency

* Action loading and ACL tweaks

* Add settings dependencies to acl tests

* Better loading

* utf-8 base64 encode/decode

* Don't hang off a prototype for htmlSafe

* Missing base64 files...

* Get atob/btoa polyfill right

* Shadowy rollovers

* Disabled button styling for primaries

* autofocuses only onload for now

* Fix footer centering

* Beginning of 'notices'

* Remove the isLocked disabling as we are letting you do what the API does

* Don't forget the documentation link for sessions

* Updates are more likely

* Use exported constant

* Dont export redirectFS and a few other PR updates

* Remove the old bootstrap config which was used for the old UI skin

* Use curlies for multiple properties
2018-05-10 19:52:53 +01:00
John Cowen 4b4ae97d94 Fix typo ot > to 2018-05-10 18:51:13 +01:00
John Cowen 296552d67d Add v2 notification banner at the top of the page 2018-05-10 17:17:12 +01:00
Kyle Havlovitz 2a636275ad
Update static assets 2018-04-13 10:05:30 -07:00
Jack Pearkes 58da0bc7dc ui: update version of ui compile deps 2018-04-13 09:40:46 -07:00
Josh Soref 94835a2715 Spelling (#3958)
* spelling: another

* spelling: autopilot

* spelling: beginning

* spelling: circonus

* spelling: default

* spelling: definition

* spelling: distance

* spelling: encountered

* spelling: enterprise

* spelling: expands

* spelling: exits

* spelling: formatting

* spelling: health

* spelling: hierarchy

* spelling: imposed

* spelling: independence

* spelling: inspect

* spelling: last

* spelling: latest

* spelling: client

* spelling: message

* spelling: minimum

* spelling: notify

* spelling: nonexistent

* spelling: operator

* spelling: payload

* spelling: preceded

* spelling: prepared

* spelling: programmatically

* spelling: required

* spelling: reconcile

* spelling: responses

* spelling: request

* spelling: response

* spelling: results

* spelling: retrieve

* spelling: service

* spelling: significantly

* spelling: specifies

* spelling: supported

* spelling: synchronization

* spelling: synchronous

* spelling: themselves

* spelling: unexpected

* spelling: validations

* spelling: value
2018-03-19 16:56:00 +00:00
John Cowen b3fc258315 Fixes erroneous closed <p> tag 2018-01-16 11:29:55 +00:00
James Phillips 410b9fcce9
Manually patches handlebars JS to escape = to prevent XSS. 2017-12-20 19:49:06 -08:00
James Phillips b81b078463
Fixes a JS error that came in as part of #3760. 2017-12-20 17:40:47 -08:00
James Phillips 7ee0e750a4
Wraps the key in a property that URL encodes it. 2017-12-20 10:19:50 -08:00
James Phillips a373c7357a
Delete development_config.json 2017-11-08 23:43:40 -08:00
James Phillips f25c66dfd9 Fixes an XSS issue with unescaped node names. (#3578)
* Fixes an XSS issue with node names in the tomography graph.

* Updates built-in static web assets.

* Updates the change log.
2017-10-16 09:12:36 -07:00
James Phillips b34d576193
Updates checked in web assets to pick up CSS change.
Closes #3521
2017-10-04 09:52:15 -07:00
Cyril Gaudin b523a01ac1 ui: Use monospace font for textarea controls. 2017-10-02 15:49:20 +02:00
Kyle Havlovitz 21513b0393
Update coord display in ui to account for segments 2017-08-30 11:58:29 -07:00
James Phillips 7200b8cda8 UI cleanup follow up from #3245. (#3251)
* Removes unnecessary set for model component which will be null.

* Returns a 404 for a missing node, not a 200 with an empty response.

* Updates built-in web assets.
2017-07-10 09:40:00 -07:00
James Phillips aa11956d63 Changes the default ACL token type to "client" in web UI. (#3246)
* Changes the default ACL token type to "client".

* Updates built-in web assets.
2017-07-08 17:28:04 -07:00
James Phillips 86b1e64a33 Cleans up web UI and fixes ACL token "stuckness" issue. (#3245)
* Removes GitHub reference.

* Doesn't display ACL token on the unauthorized page.

* Removes useless fetch for nodes and cleans up comments.

* Provides a path to reset the ACL token when it's invalid.

This included making the settings page global so it's reachable, and adding
some more information about an error on the error page.

* Updates built-in web assets.
2017-07-08 17:16:05 -07:00
James Phillips fa8a26ad54
Updates static assets to latest. 2017-06-07 21:16:59 -07:00
James Phillips 9843c2e872 Merge pull request #2812 from naaaargle/master
UI Improvement: Add sticky scroll to side panel
2017-05-18 10:28:28 -04:00
Brian Shumate 51ead36100
Use updated ACL guide URL instead 2017-05-05 11:43:06 -04:00
Brian Shumate 4944bb66be
UI: open docs links in new tab
- set `target="_blank"` on all docs URLs
2017-05-05 11:19:53 -04:00
James Phillips c5cc1fdba6 Revert "UI: remove ACL ID from the left list" 2017-05-02 14:28:56 -07:00
Seth Vargo 0639e7c018 Merge pull request #2517 from bhuisgen/feature/ui-remove-acl-id-from-list
UI: remove ACL ID from the left list
2017-05-02 13:12:57 -07:00
James Phillips 6382f95898
Updates static assets to pick up #2712. 2017-05-02 10:52:06 -07:00
Jack efb905c707 Add JSON validation to update view
JSON validation has now been added to the update view following the same format
as create. Since 'valueDecoded' does not have the ability to check if the value
is base64 before decoding then this must be checked first; if it is base64 then
use the decoded one, if not just get the value.

Change incorrect trailing span close to label.
2017-05-02 17:20:36 +09:00
Jack a7d65fd3a2 Add JSON validation to UI
JSON validation added to UI. This has been implemented through the use of a flag
to enable/disable the functionality with a watcher on the value to set the
success/error class on the textarea itself.

No hard validation added to the field.
2017-05-02 17:20:35 +09:00
Brian Shumate f97051e269
ui: Add favicon.png for Chrome
- This completes all favicon related additions and
  completely resolves error in Chrome
2017-04-25 16:11:19 -04:00
Brian Shumate b5eadeb942 ui: Update index to fix #2945 (#2956) 2017-04-25 10:00:19 -07:00
Brian Shumate 2fc6541fd3 ui: Add and update favicons (#2948)
ui: Add and update favicons

* Add most popular device/size favicon combinations
* Update existing favicons
* Change permissions to 0644 on static assets

Fixes #2945
2017-04-25 09:23:34 -07:00
James Phillips 4de270326e
Updates static assets to pick up #2899. 2017-04-13 14:40:16 -07:00
Brian Shumate 6716a5b286
Everything is pink now 2017-04-13 09:27:32 -04:00
Brian Shumate c0b3e99c46
Pink cylon image! 2017-04-12 20:21:51 -04:00
Brian Shumate e9f97375bf
UI: use new pink hues for active/primary btns 2017-04-12 19:32:10 -04:00
Brian Shumate 6ab19b9f84
UI updates for new Consul logo
- Update consul-logo.png
- Update all favicons
- Update UI README
2017-04-12 18:58:06 -04:00
Terror e3c2c6ae08 Update index.html
Correct link to the ACL guide.
2017-04-10 13:32:33 +12:00
Seth Vargo 7779c5942c
Link to new api 2017-04-04 12:52:00 -04:00
Mary Nagle 8cd7fb54ed Add sticky scroll to side panel 2017-03-21 14:39:57 -04:00
Brian Shumate 256372b8b4
UI: add notification for disabled JavaScript 2017-01-05 09:10:58 -05:00
Brian Shumate f333392a3d
Remove Deregister from UI for #2541
- Remove Deregister button
- Remove Deregister functionality
2016-11-30 11:07:04 -05:00
Brian Shumate 967b777d2a
Bootstrap w/o Glyphicons (resolves #2485)
- Remove reference to Glyphicon Halflings @fontface
- Remove unused Glphyicon related classes
2016-11-21 18:08:17 -05:00
Boris HUISGEN 3036726ea1 Remove ACL ID from the left list 2016-11-18 03:18:37 +01:00
James Phillips c798e32d20 Merge pull request #2340 from kushniro/b-ui-tags-commas
UI: remove redundant commas in tags list (services view)
2016-11-17 16:36:15 -08:00
Blake Walters c3109072f5 properly escape session and acl data in UI (#2456)
* update libv8 gem to something that compiles

* properly escape session and acl data in UI

fixes an XSS vulnerability caused by having the sessionName, sessionMeta, and aclName blindly returning data as Handlebars.SafeStrings
2016-10-31 18:16:43 -07:00
Omer Kushnir 1bc030ecba UI: remove redundant commas in tags list (services view)
When some services had no tags(Tags is null) and some did have tags redundant commas were added to the tags list.
2016-09-15 11:37:45 +03:00
James Phillips 3f50b9599a
Updates built-in UI static assets to latest. 2016-08-12 18:01:59 -07:00
James Phillips ecd24b4171 Merge pull request #2055 from patrickbaber/master
Removes fixed height of node/service boxes.
2016-08-10 16:03:18 -07:00
James Phillips f23786cd5a
Fixes JS exception when there are no coordinates present. 2016-08-08 17:38:22 -07:00
James Phillips 518e122053 Updates web assets to pull in RTT viz. 2016-06-07 09:32:44 -07:00
Ross McFarland 5d564acfa3 Implement a first-pass of tomography node hover
Not at all using Emeber's facilities and no clue how to do so with this.
2016-05-18 10:05:16 -07:00
Ross McFarland 773db64ffc Rework sampling to avoid 0 case and always include min and max 2016-05-18 09:50:30 -07:00
Ross McFarland 73ac76bfe5 Sample tomography distances to cap number around 360 2016-05-17 12:57:02 -07:00
Ross McFarland 4062920969 Switch tomography to median rather than avg 2016-05-17 10:43:50 -07:00
Patrick Baber 9960b996cf remove fixed height 2016-05-16 11:29:40 +02:00
Ross McFarland 811c77c1b2 Handle no peers in tomography graph 2016-05-15 06:30:37 -07:00
Ross McFarland 885dd87fec Don't include self in tomography 2016-05-15 06:13:52 -07:00
Ross McFarland ba6d402e85 Implementation of a per-node tomography graph
Adds a new section to the node information, Network Tomography. There's a radar
plot of the distances (in ms) between the current node and its peers as well as
min, avg, and max.
2016-05-14 18:35:09 -07:00
James Phillips 043c031ad1 Merge pull request #1702 from far-blue/ui-configurable-api-url
Configurable consul host address
2016-03-18 21:05:00 -07:00
James Phillips 98784c6416 Updates to latest compiled ui assets. 2016-03-07 13:49:08 -08:00
captainill 293aba329f add announcement banner for Consul Enterprise launch 2016-03-03 12:23:30 -08:00
Robert Goldsmith 795554e7a4 Included support to override the assumed location of the consul so you can run the UI on a normal web server potentially on a different host to your consul servers. 2016-02-09 13:26:48 +00:00
Sean Chittenden 71d02d2a32 Acknowledge that we're using GNU make's dialect and rename appropriate
Makefiles to GNUmakefiles so that non-GNU make(1) will error out.  This
should be a transparent change to the universe of people using GNU make.
2016-02-05 14:24:26 -08:00
James Phillips f24a044755 Fixes the static asset generator for new pkg path, updates assets. 2016-01-15 10:21:42 -08:00
Seth Vargo cae0ff354a Use HTTPS + www. where appropriate 2016-01-13 17:44:01 -05:00
James Phillips 4a9a074f83 Fixes a bad merge in the UI. 2016-01-02 06:58:21 -08:00
James Phillips 4248e7659c Merge pull request #1422 from railsguru/master
Propagate token in UI
2016-01-02 06:55:14 -08:00
Ryan Uber c3e7c98da2 agent: compile web assets into consul binary 2015-12-24 22:21:34 -05:00
Mike Oswell c1803c5a48 Add the token to /v1/internal/ui/nodes. (issue #1071) 2015-12-16 12:32:56 -08:00
Matthew Irish fba54c3f7f ui: swap unicode glyph with inline svg for the settings icon 2015-12-04 10:36:55 -06:00
Andy Lo-A-Foe 85d0f4b9ef Propagate token in UI 2015-11-18 08:29:01 +01:00
James Phillips be4d2ff659 Moves the static assets into a subfolder where index.html expects them. 2015-10-27 18:19:17 -07:00
Matthew Irish 2aca5a94e2 Merge pull request #1338 from hashicorp/js-cleaning
Clean up the JS a bit and make Ember code more idiomatic
2015-10-26 13:24:06 -05:00
Matthew Irish 657b5b4a04 Show node status as failing if a service on the node is failing 2015-10-26 10:26:16 -05:00
Matthew Irish dd1796b99a Clean up the JS a bit and make Ember code more idiomatic 2015-10-26 09:39:18 -05:00
Seth Vargo 6c528f0ff2 Use gox for building 2015-10-22 14:16:01 -04:00
David Adams 75ded76e44 UI formatURL: render null token correctly
If the token argument to formatURL is null, it should be rendered as the
empty string and not the string 'null'.

Should fix #1316 in which Safari gets a 403 error when visiting the
key/value page in the web UI.
2015-10-19 22:18:19 -05:00
Ryan Uber 4adc0b5c66 website: document precedence of Atlas endpoint inputs 2015-08-27 17:54:56 -07:00
Jack Pearkes 00e35cdc41 revert 8bf8871, fc2aad3, 503d338.
some misplaced UI development changes
2015-08-07 16:40:49 -07:00
Jack Pearkes 8bf88712a1 ui: update development config to not use ACLs to simplify life 2015-08-07 16:36:39 -07:00
Jack Pearkes fc2aad3cf8 ui: update gems for development 2015-08-07 16:36:29 -07:00
Jack Pearkes 503d3384d4 ui: add 'map' route and button, tighten up the nav to give space 2015-08-07 16:36:02 -07:00
孔晨 6b4cdc3c4d fix base64 issue 2015-07-23 15:56:23 +08:00
孔晨 9e1106dda2 fix 中文乱码问题 2015-07-23 14:47:32 +08:00
Rafik Salama d3cf967977 UI: Fix restoring state for service names containing slashes 2015-05-29 18:35:39 -04:00
Blake Walters 02232c3aae make sure button text overflow is set to ellipsis
fixes #549
2015-03-10 10:48:02 -07:00
Ryan Breen b78eb40ef4 s/data center/datacenter/g 2015-02-19 17:45:47 -05:00
Jack Pearkes 2b7297c81d ui: fix listener on dc controller content
fixes #694
2015-02-19 11:48:03 -08:00
Armon Dadgar ee5153067a Change tabs to spaces 2015-02-18 15:09:48 -08:00
Armon Dadgar 39013bbe6a ui: Only set blank token if none set 2015-02-18 14:44:52 -08:00
Jack Pearkes a82bbb6561 ui: add session behavior and ttl to UI
fixes #649
2015-02-11 18:51:30 -08:00
Jack Pearkes 2f541b5ef7 ui: update gemfile 2015-02-11 18:41:40 -08:00
Jack Pearkes 255d358643 ui: add service address
fixes #686
2015-02-11 18:18:31 -08:00
Armon Dadgar f86d7c3a09 Merge pull request #558 from ceh/http-api-response-headers
add ability to specify response headers on the HTTP API
2015-01-05 11:36:08 -08:00
Seth Vargo 49d29bc937 Update titles to be consistent with other sites 2014-12-30 13:18:25 -05:00
Emil Hessman cb764c35e5 add ability to specify response headers on the HTTP API
Add an config object that allows adding HTTP header response fields to every
HTTP API response.

Each specified header is added to every response from all HTTP API endpoints.
Each individual endpoint may overwrite the specified header, which makes sure
that Consul headers such as 'X-Consul-Index' is enforced by the API.
2014-12-28 19:17:08 +01:00
Marin d0994d2fce ui: confirm dialog only when deleting key directories #521 2014-12-06 12:00:51 -08:00
Marin 99e572cffb ui: ask for confirmation before deleting keys #520 2014-12-05 17:14:11 -08:00
Veres Lajos 3b1068387a typofixes - https://github.com/vlajos/misspell_fixer 2014-12-04 23:25:06 +00:00
Jack Pearkes d24764dd83 ui: fix session name overflow
fixes #353
2014-10-15 16:19:14 -07:00
Jack Pearkes cc8c3bbd98 ui: reload acls after creating
fixes #323
2014-10-15 15:55:53 -07:00
William Tisäter 509820be45 Remove node from node list after deregristration 2014-10-04 18:14:36 +02:00
William Tisäter 68bf19dcdb Drop debug `console.log` 2014-10-04 11:52:27 +02:00
William Tisäter ce149be9a9 Fix leaking `objs` variables 2014-10-04 11:45:09 +02:00
William Tisäter d9d5e03188 Add deregister node button 2014-10-04 11:44:50 +02:00
William Tisäter e87504dbca Hide vertical scrollbar in Safari 2014-09-19 11:07:15 +02:00
William Tisäter 1856ee3104 UI fix for OS X when having scrollbars `always on`
Resolves #343.
2014-09-19 10:52:31 +02:00
lalyos 05cb20f829 Change default token to empty string instead of undefined
fixes #329
2014-09-08 15:21:54 +02:00
Jack Pearkes a4de2ef2ac ui: add footer 2014-09-05 15:56:50 -04:00
Armon Dadgar e47fbd34a8 website: implicit -> explicit 2014-09-02 20:48:25 -07:00
Jack Pearkes e6f9edffed ui: ambient dc failing checks 2014-08-25 12:40:53 -07:00
Jack Pearkes 29762e80bc ui: use ACLs everywhere 2014-08-25 11:48:42 -07:00
Jack Pearkes 62a5c89820 ui: don't uppercase acl id 2014-08-25 11:27:46 -07:00
Jack Pearkes 48ad11d599 ui: remove stray debugging 2014-08-22 17:31:07 -07:00
Jack Pearkes cfb11f7a6a ui: small acl mobile fix 2014-08-22 17:30:25 -07:00
Jack Pearkes 1d34ede602 ui: mobile fixes for acl 2014-08-22 17:22:21 -07:00
Jack Pearkes 2e088af833 ui: more touches on create acl 2014-08-22 17:22:14 -07:00
Jack Pearkes 9eedf3b001 ui: acl edit and creation 2014-08-22 17:22:10 -07:00
Jack Pearkes bc0339bd13 ui: add notification system 2014-08-22 17:22:06 -07:00
Jack Pearkes f581c94b39 ui: initial settings ui 2014-08-22 17:22:02 -07:00
Jack Pearkes e970ea8ddf ui: more acl integration, condensing top bar 2014-08-22 17:21:57 -07:00
Jack Pearkes a133d9ecba ui: use ember object to wrap localstorag 2014-08-22 17:21:48 -07:00
Jack Pearkes c2830c0f74 ui: update readme for dev confi 2014-08-22 17:21:27 -07:00
Jack Pearkes 2f9f1afa10 ui: add a development config 2014-08-22 17:21:20 -07:00
Jack Pearkes 70f7073e01 ui: remove useless file 2014-08-22 17:21:16 -07:00
Jack Pearkes 420af735d6 ui/acls: compact nav, add ACL and url helpers 2014-08-22 17:21:06 -07:00
Jack Pearkes 1080cb398a ui/acls: initial commit 2014-08-22 17:21:00 -07:00
Jack Pearkes d9802428f7 ui/views: jshint 2014-08-21 12:31:39 -07:00
Jack Pearkes 2e6a585843 ui/routes: jshint 2014-08-21 12:14:33 -07:00
Jack Pearkes bcff0c6700 ui/models: jshint 2014-08-21 11:32:14 -07:00
Jack Pearkes ab0c397439 ui/controllers: jshint 2014-08-20 16:51:40 -07:00
Jack Pearkes 436cd144a5 ui: add tests param to readme 2014-07-22 13:32:05 -04:00
Gavin M. Roy 615792c1b8 Add the logo favicon to the webui 2014-07-22 12:42:24 -04:00
Jack Pearkes be215e6717 ui: scroll extra items on nodes/services
fixes #232
2014-07-17 09:48:38 -04:00
Jack Pearkes 26a9edff4c ui: display session name on list of sessions under locked key 2014-06-19 17:00:16 -04:00
Jack Pearkes 1c9275f37e ui: show service level tags, remove Node.nodeTags 2014-06-11 17:14:20 -04:00
Jack Pearkes 25db24ef75 ui: show tags inline in list of services in node view 2014-06-11 16:54:03 -04:00
Jack Pearkes 22ed633825 ui: add nodeShow test 2014-06-10 16:36:06 -04:00
Jack Pearkes de24b2a91e ui: add some basic tests 2014-06-10 16:36:06 -04:00
Jack Pearkes 0f7792bc27 ui: show session name if there is one 2014-06-09 14:59:06 -04:00
Jack Pearkes 71a654a81e ui: fix padding on panel bodies to align 2014-06-09 12:01:17 -04:00
Jack Pearkes 142db4a9e1 ui: bump padding on double line list 2014-06-09 11:28:35 -04:00
Jack Pearkes 3efe6201b5 ui: add checks for sessions and a double line list 2014-06-09 11:12:41 -04:00
Jack Pearkes 9c07ea5adc ui: properly close h4 panel title 2014-06-06 15:14:33 -04:00
Jack Pearkes a881adf0e9 ui: list sessions on the nodes and allow invalidation 2014-06-06 15:11:26 -04:00
Jack Pearkes ace41460e3 ui: add locking session below lock 2014-06-06 14:26:30 -04:00
Jack Pearkes 2226255832 ui: show isLocked for key 2014-06-06 12:21:36 -04:00
Jack Pearkes e54026cebc ui: remove components from index 2014-06-05 16:29:08 -04:00
Jack Pearkes 937274657b ui: remove components from compile 2014-06-05 16:28:28 -04:00
Jack Pearkes b18d05353c ui: clean up comments and old file 2014-06-05 15:55:04 -04:00
Jack Pearkes b1ce4f8c9a ui: remove debugging statement 2014-06-05 15:46:46 -04:00
Jack Pearkes 3a25b1796e ui: improve kv mobile view 2014-06-05 15:44:36 -04:00
Jack Pearkes 13ccbbdb2e ui: improve mobile scaling 2014-06-05 15:38:22 -04:00
Jack Pearkes 237b3c5d0b ui: condense and improve UI for check display under services 2014-06-05 14:28:40 -04:00
Jack Pearkes c3cbe998fa ui: show and hide list view on mobile 2014-06-05 13:24:03 -04:00
Jack Pearkes d8d79fbe1a ui: don't record characters for search filter in browser histroy 2014-06-04 17:15:10 -04:00
Jack Pearkes 7370026c19 ui: make 2nd pane scrollable 2014-06-04 17:15:00 -04:00
Jack Pearkes df949c4d06 ui: kv layout improvements 2014-06-04 16:57:37 -04:00
Jack Pearkes de6aac89fb ui: further compression of the nav 2014-06-04 16:37:18 -04:00
Jack Pearkes 5a036bb47c ui: pad service view in the middle 2014-06-04 16:26:37 -04:00
Jack Pearkes b46b2ea76b ui: expanded view collection height for services 2014-06-04 16:22:25 -04:00
Jack Pearkes 317f827ad7 ui: remove nodes debugging 2014-06-04 16:20:32 -04:00
Jack Pearkes 406fc3a157 ui: scrub out scrollable classes 2014-06-04 16:08:54 -04:00
Jack Pearkes 766212b181 ui: upgrade handlebars and use query params 2014-06-04 16:04:45 -04:00
Jack Pearkes 5174cbfff9 ui: add version tags to ember files 2014-06-04 15:57:09 -04:00
Jack Pearkes 3795fd77e7 ui: ember to canary for query params, add query params 2014-06-04 15:56:00 -04:00
Jack Pearkes 6c4c2b3761 ui: change ember to debug build, add list-view 2014-06-04 15:44:17 -04:00
Jack Pearkes c2b014a608 ui: compile in list view 2014-06-04 15:42:59 -04:00
Jack Pearkes 86c9022ce9 ui: upgrade to ember 1.6.0 beta5, add list-view 2014-06-04 15:39:09 -04:00
Jack Pearkes 7090c9b9b9 ui: fix missing div in healthchecks 2014-06-04 14:13:31 -04:00
Jack Pearkes 487b0dc39b ui: can't check if notes/output on run loop 2014-06-04 13:18:39 -04:00
Jack Pearkes 1f447b4a41 ui: improve health check formatting 2014-06-03 14:45:49 -04:00
Jack Pearkes 3092e81eaa ui: call tags "service tags" 2014-06-03 14:36:37 -04:00
Jack Pearkes 5908b675b7 ui: show tags on node view 2014-06-03 13:53:22 -04:00
Jack Pearkes 1df877a634 ui: condense entire layout, remove middle gap, kv condense 2014-06-03 11:32:22 -04:00
Jack Pearkes b112db8f65 ui: action bar layout adjustments, "no results" text 2014-06-02 12:40:52 -04:00
Jack Pearkes d6ca0b12e9 ui: filter nodes/services by passing/failing statuses 2014-06-02 12:05:13 -04:00
Jack Pearkes 2ed76d0a27 ui: default to condensed view, add secondary actions 2014-06-02 11:49:01 -04:00
Jack Pearkes 851b210487 ui: fix list border radi 2014-06-02 10:50:24 -04:00
Jack Pearkes a0c07c5e3d ui: initial pass at filtering and condensed view for nodes/services 2014-06-02 10:35:46 -04:00
Jack Pearkes 92f4a3f466 ui: add condensed node view 2014-05-30 14:26:11 -04:00
Andrew Watson 2552706acf Minor Typo 2014-05-29 15:15:13 -04:00
Jack Pearkes 9832cce4c5 ui: add a create key shortcut into breadcrumbs
this fixes #100
2014-05-16 13:38:45 -07:00
William Tisäter 25d092e592 Fix parentKey transitions to root
Previously, deleting a key in `/dc1/kv/` would transition to
`/dc1/kv//` on success. A refresh at this stage would lead to `404`,
this commit will fix this and generate the correct route key in a
helper function.
2014-05-05 21:32:39 +02:00
Jack Pearkes b0c7fa7749 ui: actually render an error message, hide delete on root
cc/ @tiwilliam
2014-05-05 10:20:57 -04:00
William Tisäter 0a1c719bcb Rename `KvHelpController` to `KvBaseController` 2014-05-05 16:09:18 +02:00
William Tisäter 60f1d74012 Drop duplicate isLoading set to false 2014-05-05 16:09:18 +02:00
William Tisäter 941a1e3910 Transition to nearest parent on key delete 2014-05-05 16:09:18 +02:00
William Tisäter e587297ed2 Clean up root check 2014-05-05 16:09:18 +02:00
William Tisäter 17e3756200 Redirect to correct root path when deleting keys 2014-05-05 16:09:18 +02:00
William Tisäter d40b3ae6a6 Revert modifications to `getParentAndGrandparent` 2014-05-05 16:09:18 +02:00
William Tisäter 5089be1af0 Add delete folder button to web UI 2014-05-05 16:09:18 +02:00
William Tisäter 255ec7b803 Add cancel button to key edit 2014-05-05 01:03:47 +02:00
Jack Pearkes 34d5c94e5f Merge pull request #119 from tiwilliam/dash-in-keys
Allow keys with dashes in web UI
2014-05-04 17:37:17 -04:00
William Tisäter b5c29e103b Rename root variable 2014-05-04 23:07:41 +02:00
William Tisäter bf3b65e907 Allow using dashes in keys 2014-05-04 23:05:00 +02:00
William Tisäter ae083d7e16 Fix broken paths to vendor minified JS 2014-05-04 12:29:22 +02:00
Jack Pearkes 127d89faf0 ui: pre-minify JS libs 2014-05-02 14:08:47 -04:00
darron froese 45fb056790 Fix typo. 2014-05-02 06:41:02 -06:00
Jack Pearkes 97541402be ui: fix responsiveness for medium-sm screens 2014-05-01 17:22:16 -04:00
Mitchell Hashimoto 1ee4726073 ui: delete backup files 2014-05-01 12:45:15 -07:00
Mitchell Hashimoto 085b26410c ui: slight typo in makefile 2014-05-01 12:44:18 -07:00
Mitchell Hashimoto b16ba9da0a ui: README 2014-05-01 12:43:49 -07:00
Mitchell Hashimoto b26b774689 ui: Automatically replace assets 2014-05-01 12:43:16 -07:00
Jack Pearkes 48cdc8c586 ui: improve build instructions 2014-05-01 15:34:25 -04:00
Jack Pearkes 309f5b3cf6 ui: fix dc # of failing checks 2014-05-01 13:19:43 -04:00
Jack Pearkes c0372ddf18 ui: add panelbar helper 2014-05-01 13:15:33 -04:00
Jack Pearkes a40a845f91 ui: see warning as failing 2014-05-01 12:52:03 -04:00
Jack Pearkes 17423ea654 ui: fix index page to show sleect 2014-05-01 12:48:29 -04:00
Jack Pearkes f57b490975 ui: show services and then checks 2014-05-01 12:35:01 -04:00
Jack Pearkes ad53ca1315 ui: hide dropdown when activating route 2014-05-01 12:25:12 -04:00
Jack Pearkes 35675c53eb ui: hide dropdown after switching dc 2014-05-01 12:21:59 -04:00
Jack Pearkes 1697f5f2b3 ui: fix link to services in header nav 2014-05-01 12:17:06 -04:00
Jack Pearkes 15dfd502d8 ui: more loading indicators 2014-05-01 12:17:06 -04:00
Jack Pearkes 2d4d77f486 ui: loading 2014-05-01 12:17:06 -04:00
Jack Pearkes 0c77661285 ui: fix datacenter route typo 2014-05-01 12:17:05 -04:00
Jack Pearkes dcdc4e7d68 ui: better error handling 2014-05-01 11:40:14 -04:00
Jack Pearkes f0d66ceed5 ui: clean with makefile 2014-05-01 11:39:56 -04:00
Jack Pearkes a952631a2f ui: add default js path for dist 2014-05-01 11:32:40 -04:00
Jack Pearkes f0e3619666 ui: pre fixes, dist build changes 2014-05-01 11:31:56 -04:00
Jack Pearkes 437fe2ffb1 ui: ignore compiled js, dist 2014-05-01 11:22:30 -04:00
Jack Pearkes 936fa026a6 ui: update ember, dist steps 2014-05-01 11:21:55 -04:00
Jack Pearkes f820c5eda4 ui: mobile improvements 2014-05-01 10:40:31 -04:00
Jack Pearkes 05d7c22fd8 ui: better error handling 2014-05-01 10:25:38 -04:00
Jack Pearkes 96919f0da2 ui: refactor kv controllers, finish multi-dc support 2014-05-01 10:00:36 -04:00
Jack Pearkes f829065436 ui: improve mobile view 2014-04-30 23:44:32 -04:00
Jack Pearkes f7d04c3124 ui: more fixes around the readme 2014-04-30 23:44:31 -04:00
Jack Pearkes fe71cd62df ui: update readme 2014-04-30 23:44:31 -04:00
Jack Pearkes 67df23c2b9 ui: button default focus states 2014-04-30 23:44:31 -04:00
Jack Pearkes b58a247714 ui: bump down the size on the health check name under service 2014-04-30 23:44:31 -04:00
Jack Pearkes cc24433dcb ui: error pages, help text 2014-04-30 23:44:31 -04:00
Jack Pearkes ec86d0fdc3 ui: refresh node list after create 2014-04-30 23:44:31 -04:00
Jack Pearkes 32d0374a5a ui: fix edit view breadcrumbs 2014-04-30 23:44:31 -04:00
Jack Pearkes 8d36cf39dd ui: handle "folders", directory browsing with parents 2014-04-30 23:44:31 -04:00
Jack Pearkes 0d4ea0eda0 ui: fix nesting KV 2014-04-30 23:44:30 -04:00
Jack Pearkes d15dc21766 ui: datacenter support, kv fixes 2014-04-30 23:44:30 -04:00
Jack Pearkes f76d4acb45 ui: fix makefile 2014-04-30 23:44:30 -04:00
Jack Pearkes 70147ec8dd ui: use parent/grandparent keys for key creation 2014-04-30 23:44:30 -04:00
Jack Pearkes 375febc3b0 ui: handle empty kv index 2014-04-30 23:44:30 -04:00
Jack Pearkes 11acb28c1f ui: refactor controllers, routes to use promise hash, comments 2014-04-30 23:44:30 -04:00
Jack Pearkes b84b090a5d ui: kv wire to API 2014-04-30 23:44:30 -04:00
Jack Pearkes 4520cff49d ui: use a promise hash for nodes 2014-04-30 23:44:30 -04:00
Jack Pearkes b2ea2bd96e ui: wire up kv 2014-04-30 23:44:30 -04:00
Jack Pearkes 50060c9df9 ui: wire up services, nodes, checks 2014-04-30 23:44:29 -04:00
Jack Pearkes 8b2dc6dc4f ui: more ui / focus / animation states 2014-04-30 23:44:29 -04:00
Jack Pearkes 676d582171 ui: more animations, fix container layout for kv 2014-04-30 23:44:29 -04:00
Jack Pearkes 333146d590 ui: experiment with the vertical line 2014-04-30 23:44:29 -04:00
Jack Pearkes b650892899 ui: add delete key functionality 2014-04-30 23:44:29 -04:00
Jack Pearkes be2675815f ui: new key for padding 2014-04-30 23:44:29 -04:00
Jack Pearkes e2ce4179df ui: add support for creating/validating keys 2014-04-30 23:44:29 -04:00
Jack Pearkes 7df7c41d0c ui: kv styling and active states 2014-04-30 23:44:29 -04:00
Jack Pearkes 52dfc8fde3 ui: lighten button border primary 2014-04-30 23:44:28 -04:00
Jack Pearkes cb61acda06 ui: kv updates and improved active list view 2014-04-30 23:44:28 -04:00
Jack Pearkes 3e8f823a0b ui: show address and properly depend on Checks 2014-04-30 23:44:28 -04:00
Jack Pearkes 452cad725a ui: better kv parent navigation 2014-04-30 23:44:28 -04:00
Jack Pearkes b8a13ac721 ui: kv load from url 2014-04-30 23:44:28 -04:00
Jack Pearkes 2c22cb833c ui: properly nest kv resources 2014-04-30 23:44:28 -04:00
Jack Pearkes f8ffdee2bd ui: further k/v improvements 2014-04-30 23:44:28 -04:00
Jack Pearkes 52d9b3638e ui: basic k/v layout 2014-04-30 23:43:59 -04:00
Jack Pearkes a8c1268802 ui: more mobile work 2014-04-30 23:43:58 -04:00
Jack Pearkes 71ae55f665 ui: add dcs to index 2014-04-30 23:43:58 -04:00
Jack Pearkes 4ac11b219d ui: light up the nav, aggregate checks 2014-04-30 23:43:58 -04:00
Jack Pearkes 23f29dc3be ui: styles, simpler active state 2014-04-30 23:43:58 -04:00
Jack Pearkes 81c1f3a313 ui: link to panels, drop actions 2014-04-30 23:43:58 -04:00
Jack Pearkes 4cbdc94e29 ui: refactor file structure 2014-04-30 23:43:58 -04:00
Jack Pearkes 9018d34383 ui: add kv to nav, embed 2014-04-30 23:43:58 -04:00
Jack Pearkes bc5c768c41 ui: more refactoring for nested resources 2014-04-30 23:43:58 -04:00
Jack Pearkes 1a89a673a2 ui: refactor nodes as embedded resource 2014-04-30 23:43:58 -04:00
Jack Pearkes 9a1150f327 ui: refactor services, dc to be nested resources 2014-04-30 23:43:58 -04:00
Jack Pearkes 69ffb5e83a ui: link-to for list items, active state 2014-04-30 23:43:57 -04:00
Jack Pearkes 05591e025a ui: clickable nodes in list 2014-04-30 23:43:57 -04:00
Jack Pearkes cbaf65d9c0 ui: improved fixtures 2014-04-30 23:43:57 -04:00
Jack Pearkes b6ef75d58d ui: improve comments 2014-04-30 23:43:57 -04:00
Jack Pearkes 1556ac6781 ui: nodes fixtures revision 2014-04-30 23:43:57 -04:00
Jack Pearkes ada5135522 ui: add nodes 2014-04-30 23:43:57 -04:00
Jack Pearkes b7591880dd ui: tags, service fixture changes 2014-04-30 23:43:57 -04:00
Jack Pearkes 03138104b9 ui: basic styles for check list 2014-04-30 23:43:57 -04:00
Jack Pearkes 3e4029c010 ui: more work on loading data for /services 2014-04-30 23:43:57 -04:00
Jack Pearkes cc8c6020af ui: add comments to application so far 2014-04-30 23:43:57 -04:00
Jack Pearkes d669e78e3b ui: initial ember application 2014-04-30 23:43:57 -04:00
Jack Pearkes 83ebad5491 ui: smaller font in list list's 2014-04-30 23:43:56 -04:00
Armon Dadgar 4acd720056 ui: Use relative import paths 2014-04-30 23:43:56 -04:00
Jack Pearkes 10fb856dad ui: lead-in info for style guide 2014-04-30 23:43:56 -04:00
Jack Pearkes eb19151fd7 ui: more improvements to the style guide 2014-04-30 23:43:56 -04:00
Jack Pearkes 9576830144 ui: progress on style guide 2014-04-30 23:43:56 -04:00
Jack Pearkes 62e5ea1941 ui: add base ember 2014-04-30 23:43:55 -04:00
Jack Pearkes 63854075d8 ui: use a /static directory 2014-04-30 23:43:55 -04:00
Jack Pearkes 28ac20cb78 ui: initial commit 2014-04-30 23:43:55 -04:00