Commit graph

11541 commits

Author SHA1 Message Date
Freddy 7e71b4d70d
Use proxy-id in gateway auto-registration (#7845) 2020-05-13 11:56:53 -06:00
Jono Sosulska e41fbd4b49
Update FAQ with Compat Matrix information (#7861) 2020-05-13 13:46:39 -04:00
John Cowen c53c7a4ed3
Update CHANGELOG.md 2020-05-13 18:46:32 +01:00
Kenia c3082ea4df
Merge pull request #7870 from hashicorp/ui-staging
UI Release Merge (1.8: ui-staging merge)
2020-05-13 13:36:35 -04:00
Kenia c07ef3f36a ui: Add namespaces to gateway services (#7868)
* Add namespace info to gateway Linked Services and Upstreams tabs

* Upgrade consul-api-double to version 2.15.1
2020-05-13 13:12:56 -04:00
Kenia 600dea8631 ui: Create Upstreams tab for Ingress Gateways (#7865) 2020-05-13 13:12:56 -04:00
Kenia c548d94450 ui: Create Linked Services Tab for Terminating Gateways (#7858)
* Fix to bottom border not applying to the correct <li>

* Create Linked Services tab with styling and tests

* Add internal endpoint gateway-services-nodes to the codebase with tests

* Upgrade consul-api-double to version 2.15.0
2020-05-13 13:12:55 -04:00
Matt Keeler 849eedd142
Fix identity resolution on clients and in secondary dcs (#7862)
Previously this happened to be using the method on the Server/Client that was meant to allow the ACLResolver to locally resolve tokens. On Servers that had tokens (primary or secondary dc + token replication) this function would lookup the token from raft and return the ACLIdentity. On clients this was always a noop. We inadvertently used this function instead of creating a new one when we added logging accessor ids for permission denied RPC requests. 

With this commit, a new method is used for resolving the identity properly via the ACLResolver which may still resolve locally in the case of being on a server with tokens but also supports remote token resolution.
2020-05-13 13:00:08 -04:00
jsosulska 5928bbd319 Update FAQ with Compat Matrix information 2020-05-12 19:43:56 -04:00
Jono Sosulska 38ba851993
Update FAQ + formatting (#7816)
* Update FAQ + formatting

* Fix 80 chars lines in FAQ
2020-05-12 19:36:49 -04:00
Chris Piraino 3eb4e4012a
Make new gateway tests compatible with enterprise (#7856) 2020-05-12 13:48:20 -05:00
Daniel Nephin 4b8a21d6f5 Update CHANGELOG 2020-05-12 14:36:12 -04:00
Daniel Nephin 0469f35535
Merge pull request #7469 from djmgit/log_dir
Fix #7468 : Out log error for invalid log directory
2020-05-12 14:26:52 -04:00
John Cowen 874b585438
Merge pull request #7857 from hashicorp/ui-staging-1-8
UI Release Merge (1.8: ui-staging merge)
2020-05-12 19:24:11 +01:00
Daniel Nephin 5b348c2107
Merge pull request #7654 from hashicorp/dnephin/add-linter-unconvert
Add unconvert linter
2020-05-12 14:13:04 -04:00
Daniel Nephin 2e0f750f1a Add unconvert linter
To find unnecessary type convertions
2020-05-12 13:47:25 -04:00
John Cowen 7577f6bfca ui: Test Improvements (#7854)
* ui: Combine all "see/don't see" steps into one step

* Fix up broken tests

* Add some test meta data/titles

* Test out proxies in the service listing

* Remove comments
2020-05-12 17:14:57 +00:00
John Cowen 1ddffb4162 ui: Renames CopyButtonFeedback to CopyButton and use it everywhere (#7834)
* ui: Renames CopyButtonFeedback to CopyButton and use it everywhere

* Uncapitalize output

* Remove the ability to set the contents via an attr, and..

..change the attribute for the string that gets copied to be called
'value' so it feels like HTML
2020-05-12 17:14:56 +00:00
John Cowen df1ae18a41 ui: Restrict %secondary-button to only form buttons in the main content (#7836) 2020-05-12 17:14:56 +00:00
Kenia ed201c3f17 ui: Add and use ProxyFor to get the connected with proxy boolean (#7820)
* Add and use ProxyFor to get the `connected with proxy` boolean

* Fix up page-navigation test

* Upgrade to @hashicorp/consul-api-double@2.14.7
2020-05-12 17:14:55 +00:00
John Cowen 7d6f5ef92a ui: refactor out the taglist component to use a recursive pattern (#7837)
* ui: refactor out the taglist component to use a recursive pattern

* Make sure simple rendering tests pass
2020-05-12 17:14:54 +00:00
John Cowen 4c46d2ed6f ui: Remove debugging pause from our acceptance tests (#7852) 2020-05-12 17:14:53 +00:00
John Cowen c96fd3778e ui: Misc SSO w/Namespace amends (#7851)
* ui: If an auth-method is in another namespace than default, make that clear

* Pass through the namespace of the auth method rather than use the current

* Make sure we refresh the application route, before redirecting

This ensure that the nspaces and are refreshed in the main nav menu
2020-05-12 17:14:53 +00:00
Kenia b56ac73327 ui: Update copy button icon margin (#7835) 2020-05-12 17:14:52 +00:00
John Cowen 412eec7f5d UI: Improved Login/Logout flow inc SSO support (#7790)
* 6 new components for new login/logout flow, plus SSO support

UI Components:

1. AuthDialog: Wraps/orchestrates AuthForm and AuthProfile
2. AuthForm: Authorization form shown when logged out.
3. AuthProfile: Simple presentational component to show the users
'Profile'
4. OidcSelect: A 'select' component for selecting an OIDC provider,
dynamically uses either a single select menu or multiple buttons
depending on the amount of providers

Data Components:

1. JwtSource: Given an OIDC provider URL this component will request a
token from the provider and fire an donchange event when it has been
retrieved. Used by TokenSource.
2. TokenSource: Given a oidc provider name or a Consul SecretID,
TokenSource will use whichever method/API requests required to retrieve
Consul ACL Token, which is emitted to the onchange event handler.

Very basic README documentation included here, which is likely to be
refined somewhat.

* CSS required for new auth/SSO UI components

* Remaining app code required to tie the new auth/SSO work together

* CSS code required to help tie the auth/SSO work together

* Test code in order to get current tests passing with new auth/SSO flow

..plus extremely basics/skipped rendering tests for the new components

* Treat the secret received from the server as the truth

Previously we've always treated what the user typed as the truth, this
breaks down when using SSO as the user doesn't type anything to retrieve
a token. Therefore we change this so that we use the secret in the API
response as the truth.

* Make sure removing an dom tree from a buffer only removes its own tree
2020-05-12 17:14:51 +00:00
John Cowen e4d27bc134 ui: Change wording used in the intention forms (#7831)
1. When choosing Services/Nsmapces for intentions you can either choose
a service from autocomplete menus, or write any service name, existing
or not. We previous said this would be a 'Future' service, but it could
also be a service in another datacenter, or a 'virtual service'.

2. Reword the hints underneath the autocomplete menus to reflect point 1
2020-05-12 17:14:50 +00:00
John Cowen 5d9d325966 ui: Improve language surrounding marking a token as local/global (#7830)
This commit moved the checkbox used for marking a token as
local/global to use a more traditional UX, i.e.:

[ ] Question?

Clicking the radiobutton toggles true/false:

true = yes
false = no

instead of:

false=yes
true=no
2020-05-12 17:14:50 +00:00
John Cowen 5ad139d220 ui: Moves/loads policy datacenters info into the detail panel (#7828) 2020-05-12 17:14:49 +00:00
Kenia 7c203a9220 ui: Create PopoverSelect, CatalogToolbar, and update tests (#7489)
* Create PopoverSelect component and styling

* Create CatalogToolbar component and Styling

* ui: Adds `selectable-key-values` helper (#7472)

Preferably we want all copy/text to live in the template. Whilst you can
achieve what we've done here with a combination of different helpers, as
we will be using this approach in various places it's probably best to
make a helper.

We also hit an ember bug related to using the `let` helper and trying to
access `thingThatWasLet.firstObject` (which can also be worked around
using `object-at`).

Moving everything to a helper 'sorted' everything.

Probably worthwhile noting that if the sort option themselves become
dynamic, I'm not sure if the helper here would actually react as you
would expect (I'm aware that ember helpers on react on the root
arguments, not necesarily sub properties of those arguments). If we get
to that point this helper could take the same approach as what I believe
ember-composable-helpers does to get around this, or move them to the
view controller. If we do ever moved this to the view controller, we
can still use the exported function from the new helper here to keep
using the same functionality and tests we have here.

* Create tests for sorting services with CatalogToolbar

* Add rule to print 'ember/no-global-jquery' as a warning

Co-authored-by: John Cowen <johncowen@users.noreply.github.com>
2020-05-12 17:14:48 +00:00
John Cowen 2eb34e07ea ui: Small CSS tweaks (#7808)
1. Reinstate top border on in page tabs
2. Keep overflow:hidden just for dom-recycling-tables
2020-05-12 17:14:47 +00:00
Kenia 15ff639b83 ui: Update Gateway headers to include Service Kind (#7805) 2020-05-12 17:14:46 +00:00
Kenia 093c353c4b ui: Redesign - Instance Detail Proxy Info tab (#7745)
* Fix clickFirstAnchor bug

* Create Proxy Info Tab for Instance Detail Page

* Create tests for ProxyInfo and update other scenarios with Proxy data

* ui: Refactors our app-view/%app-view component (#7752)

Co-authored-by: John Cowen <johncowen@users.noreply.github.com>
2020-05-12 17:14:46 +00:00
Kenia 697f1f56cf ui: Redesign - Gateway Instances List page (#7796)
* Hide Nav in Instances page for Gateway services

* Fix up tests to have mocked Services with no Kind attribute

* Upgrade consul-api-double to 2.14.4
2020-05-12 17:14:45 +00:00
John Cowen eedd062977 ui: Remove last instances of 'meta data', replace with 'metadata' (#7793) 2020-05-12 17:14:44 +00:00
John Cowen 0680525a8b ui: Fix CSS typo (#7791) 2020-05-12 17:14:43 +00:00
John Cowen d1cbc3f032 ui: Tab Improvements (animations/branding) (#7772)
* ui: Adds a tab selection animation to our app tabs

1. Replace all mentions of `magenta` with a themeable CSS property.
2. Add an easy way to inline style DOM nodes
3. Use CSS properties to add tab animation

* Fix up rendering test

* Avoid DOM noodling as much as possible
2020-05-12 17:14:43 +00:00
Kenia 3e6e16d54f ui: Redesign - Service List page with Gateways (#7781)
* Return all services except Proxies

* Add Gateway icon to the codebase

* Create and implement ConsulExternalSource component

* Fix tests to work with new mock data and add a Gateway test

* Update consul-api-double to 2.14.3
2020-05-12 17:14:42 +00:00
John Cowen 1d65f9e41a ui: Model Layer for SSO Support (#7771)
* ui: Adds model layer required for SSO

1. oidc-provider ember-data triplet plus repo, plus addition of torii
addon
2. Make blocking queries support a Cache-Control: no-cache header
3. Tweaks to the token model layer in preparation for SSO work

* Fix up meta related Cache-Control tests

* Add tests adapter tests for URL shapes

* Reset Cache-Control to the original value, return something from logout
2020-05-12 17:14:41 +00:00
John Cowen 4370e6a346 ui: Metadata cleanup (#7767)
* Use new ConsulMetadataList for service > instance > metadata tab

* Meta Data vs Metadata everywhere (Metadata is correct)

* Fix up wording in tests
2020-05-12 17:14:40 +00:00
Kenia f7de8dc665 ui: Remove headers from the Healthchecks tab (#7751) 2020-05-12 17:14:39 +00:00
John Cowen a9bc935391 ui: Misc CSS amends, mainly changes to empty-state (#7743)
1. empty-state amends to bring it closer to what is in Structure and
optionally support icons.
2. You may have a button that semantically should be a button (it
performs and action not a link), but you want it to look like an anchor,
this means it shouldn't have an outline when :active.
3. Adds `label.type-password` as a `%form-element`
4. Adds an error state to our `%notice` CSS component
2020-05-12 17:14:39 +00:00
John Cowen ac3b257ff4 ui: Adds <StateChart /> component for wiring together Ember+XState (#7742) 2020-05-12 17:14:38 +00:00
John Cowen 02a2d0a0be ui: Amends to the data-sink service/component (#7740)
1. Fix conditional typo
2. Code style changes
3. Don't use URL for parsing, Safari only likes http like URLs
2020-05-12 17:14:37 +00:00
John Cowen c8ecb8db3b ui: Add background-color: currentColor to all our icon masks (#7729)
We currently define our 'decorational' iconography in our CSS via
background images and or psuedo content. For coloring these we use
`mask-image` and a background color.

This commit adds a background-color: currentColor to our %with-mask
placeholder that makes the color of these icons default to the `color`
of the current element, meaning the icons now inherit from things like
`:hover`.

This can easily be overwritten as before by just setting the
background-color on the icon manually as before.
2020-05-12 17:14:36 +00:00
John Cowen 30d7f90425 ui: Add a way to reliably figure out where the UI is running (#7722)
* ui: Add a way to reliably figure out where the UI is running

The main javascript that we use is at </where/the/ui/is>/ui/assets/consul-ui.js

This uses this fact to provide and base path 'environment' variable to
be used within the app. This is also overwritable via various methods
(testing/development) if we ever need to do that.

* Remove BASE_API_URL, the logic here isn't exactly correct

Right now the API always _has_ to be at http://domain/v1/ i.e. the root
of your domain /v1. If the URL of the ui is set differently to
http://root.com/somewhere/else/ui/ then the API is still at http://root.com/v1

There is definitely a plan to add this env var back in at some stage so
we can potentially allow this to be configured in other ways, but there
isn't a need to do it just yet so we don't need to worry about _how_ to do
this right now.
2020-05-12 17:14:36 +00:00
John Cowen 27a220216f ui: ConsulLoader component (#7719)
Moves the `consul-loader` partial to a template-only component
2020-05-12 17:14:35 +00:00
Mike Morris 500af75bbc ui: replace Makefile sed directive for coverage
Use .istanbul.yml config file instead.
2020-05-12 17:14:34 +00:00
Kenia 525c09a806 ui: Fix up the padding for FilterBar (#7705) 2020-05-12 17:14:33 +00:00
John Cowen 930718a2d7 ui: Reuse repo.reconcile and restartWhenAvailable (#7703) 2020-05-12 17:14:32 +00:00
John Cowen 056a5d3090 ui: Fixup intention notifications and add SyncTime (#7702)
* ui: Specifically check for error rather than anything but success

* ui: Add SyncTime to intentions for reconciliation
2020-05-12 17:14:32 +00:00