Commit Graph

15436 Commits

Author SHA1 Message Date
John Cowen 6e396e4456
ui: Gracefully recover from non-existent DC errors (#11077)
* ui: Gracefully recover from non-existent DC errors

This PR fixes what happens in the UI if you try to navigate to a non-existing DC.

When we received a 500 error from an API response due to a non-existent DC, previously we would show a 404 error, which is what we were trying to convey. But in the spirit of the UI being a 'thin client', its probably best to just show the 500 error from the API response, which may help folks to debug any issues better.

* Automatically set the CONSUL_DATACENTER_LOCAL env var for testing
2021-09-22 18:26:36 +01:00
John Cowen cf638ee551
ui: Always show main navigation Key/Value link (#10916)
* ui: Ignore response from API for KV permissions

Currently there is no way for us to use our HTTP authorization API
endpoint to tell us whether a user has access to any KVs (including the
case where a user may not have access to the root KV store, but do have
access to a sub item)

This is a little weird still as in the above case the user would click
on this link and still get a 403 for the root, and then have to manually
type in the URL for the KV they do have access to.

Despite this we think this change makes sense as at least something about KV is
visible in the main navigation.

Once we have the ability to know if any KVs are accessible, we can add
this guard back in.

We'd initially just removed the logic around the button, but then
noticed there may be further related KV issues due to the nested nature
of KVs so we finally decided on simply ignoring the responses from the
HTTP API, essentially reverting the KV area back to being a thin client.
This means when things are revisited in the backend we can undo this
easily change in one place.

* Move acceptance tests to use ACLs perms instead of KV ones
2021-09-22 18:23:59 +01:00
Daniel Nephin 54256fb751 config: Move two more fields to DeprecatedConfig
And add a test for deprecated config fields.
2021-09-22 13:23:03 -04:00
Daniel Nephin 8ed14296ea config: Introduce DeprecatedConfig
This struct allows us to move all the deprecated config options off of
the main config struct, and keeps all the deprecation logic in a single
place, instead of spread across 3+ places.
2021-09-22 13:22:16 -04:00
Daniel Nephin d2274df53f lib/decode: fix hook to work with embedded squash struct
The decode hook is not call for the embedded squashed struct, so we need to recurse when we
find squash tags.

See https://github.com/mitchellh/mapstructure/issues/226
2021-09-22 13:22:16 -04:00
Evan Culver 2d23f92b35
add 1.19.x versions to test config 2021-09-22 09:30:45 -07:00
Evan Culver 1709309cc7
regenerate more envoy golden files 2021-09-22 09:30:23 -07:00
Connor 1e3ba26223
Merge pull request #11090 from hashicorp/clly/kv-usage-metrics
Add KVUsage to consul state usage metrics
2021-09-22 11:26:56 -05:00
Ashwin Venkatesh fd7f670f12
Update docs (#11111) 2021-09-22 12:26:08 -04:00
Connor Kelly ba706501e1
Strip out go 1.17 bits 2021-09-22 11:04:48 -05:00
R.B. Boyer 5253c78be7
Merge pull request #11108 from hashicorp/sync-1.11.0-alpha-tag
Sync 1.11.0 alpha tag
2021-09-22 10:57:12 -05:00
hc-github-team-consul-core 9cbd27dbbd Putting source back into Dev Mode 2021-09-22 10:09:18 -05:00
R.B. Boyer a1e8564b92 Version 1.11.0-alpha
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEs2y6kaLAcwxDX8KAsLRBCXaFtnYFAmFDyoMACgkQsLRBCXaF
 tna8nQ//bVAd6nKI0Xgotmf2Loce0yobD6PH8IyzllO24jPSGwHFXQsx0d8a5QkV
 H1wx6KrXysXKCojrICX3/88T4KNypYpIXIBZoTBQ0rEXaTMoqACcT4y58/UcjFg2
 bN8T/wjvD8BV2e0xcZb2C6SgXx8m64UtZKePN1fobKBEpSCszJz8EeWPtPzXdWps
 f9axbgV81qy9DTyO7MvbOvco/QaEgzjK+o/57bcLBXZmfWpI1DIARkgIY8XB7pC3
 Gq59OegjqjiCliJcnLfIpvemLZg/7BhnLOO5ccvctdgoxFUnzsWk+mKTL0tPyy+d
 ZNa1kVgIQKWUoSRje7rHUSu+270PifLegp3zrHLrwKpa2UQGldck13hSMTyBqz1n
 5TywpdMJoXZSj5tml2lvaskUh91zvO9v6sX4zJJkES/Kt2KXdHBAGkmzPuiXl5YW
 1eScGz5990CwULinV+Cb32HYEojSSD4FWs9KC5NpJmI2kIOiybgiUKIG5uKdz0wh
 971BDjCNTC+x+pivtyEy0HAWOUlqROYRpCc40e7Xx0LmJvQ0nqCK2rCWC+0Bi1jK
 QCeesSK7vm6Hnw3/OnlIu7fu71+KZs1qGJBtBcqCoxTsgONd5+woWL5ziUZd7Bh2
 JloGlOrUFk2Ci2XeD0EO5lboLwsaMVDHXXx1beee5u7b2nORKDA=
 =tXEa
 -----END PGP SIGNATURE-----

Merge tag 'v1.11.0-alpha' into main

Version 1.11.0-alpha
2021-09-22 10:05:57 -05:00
Matt Keeler c04d5c4238 Add changelog entry for audit logging header extraction improvement 2021-09-22 10:23:01 -04:00
Matt Keeler a6a359cc80 Add a mock Agent delegate to ease/improve some types of testing 2021-09-22 10:23:01 -04:00
hc-github-team-consul-core 47b99d0b78 auto-updated agent/uiserver/bindata_assetfs.go from commit 9c0233cf5 2021-09-22 13:05:38 +00:00
John Cowen 9c0233cf59 Revert "ui: Add partition parameter when clearing child-selector forms in ACLs"
This reverts commit a670bde57d.
2021-09-22 14:00:34 +01:00
John Cowen a670bde57d ui: Add partition parameter when clearing child-selector forms in ACLs 2021-09-22 13:57:33 +01:00
hc-github-team-consul-core 7efb015ca9 auto-updated agent/uiserver/bindata_assetfs.go from commit cfbd1bb84 2021-09-22 09:26:14 +00:00
John Cowen cfbd1bb84e
ui: [BUGFIX] Re-enable namespace menus whilst editing intentions (#11095)
This PR supersedes #10706 and fixes #10686 whilst making sure that saving intentions continues to work.

The original fix in #10706 ignored the change action configured for the change event on the menus, meaning that the selected source/destination namespace could not be set by the user when editing/creating intentions. This, coupled with the fact that using the later intention exact endpoint for API requests endpoint means that you could not use wildcard namespaces for saving intentions.

All in all this meant that intentions could no longer be saved using the UI (whilst using ENT)

This PR reverts #10706 to fix the intention saving issue, and adds a fix for the original visual issue of nspaces doubling up in the menu once clicked. This meant repeating the existing functionality for nspaces aswell as services. It did seem strange to me that the original issue was only apparent for the nspace menus and not the service menus which should all function exactly the same way.

There is potentially more to come here partly related to what the exact functionality should be, but I'm working with other folks to figure out what the best way forwards is longer term. In the meantime this brings us back to the original functionality with the visual issue fixed.

Squashed commits:

* Revert "ui: Fix dropdown option duplications (#10706)"

This reverts commit eb5512fb74.

* ui: Ensure additional nspaces are added to the unique list of nspaces

* Add some acceptance tests
2021-09-22 10:21:20 +01:00
Daniel Nephin 72f2199ea1 acl: remove remaining tests that use ACL.Apply
In preparation for removing ACL.Apply.

Tests for ACL.Apply, ACL.GetPolicy, and ACL upgrades were removed
because all 3 of those will be removed shortly.

The forth test appears to be for the ACLResolver cache, so the test was moved to the correct
test file, and the name was updated to make it obvious what is being tested.
2021-09-21 19:35:26 -04:00
Evan Culver 2798383dbc
regenerate envoy golden files 2021-09-21 16:21:00 -07:00
Evan Culver 7605dff46e
add envoy 1.19.1 2021-09-21 15:39:36 -07:00
Daniel Nephin eb991c18c2 fsm: restore the legacy commands
and emit a helpful error message.
2021-09-21 18:35:12 -04:00
Daniel Nephin fa4b33ab8f Convert tests to the new ACL system
In preparation for removing ACL.Apply
2021-09-21 18:35:12 -04:00
Daniel Nephin 5779af1f62 config: use the new ACL system in tests
In preparation for removing ACL.Apply
2021-09-21 17:57:29 -04:00
Daniel Nephin d64409f66f catalog: use the new ACL system in tests
In preparation for removing ACL.Apply
2021-09-21 17:57:29 -04:00
Daniel Nephin 3b9578d7eb Update 4 non-acl tests that used the legacy ACL.Apply
These tests don't really care about the endpoint, they just need some way to create an ACL token.
2021-09-21 17:57:29 -04:00
Daniel Nephin 746f67b3a1 acl: remove two commented out tests for legacy ACL replication
They were commented out in 2018.
2021-09-21 17:57:29 -04:00
Daniel Nephin abd9cd0e15 acl: replace legacy Get and List RPCs with an error impl
These endpoints are being removed as part of the legacy ACL system.
2021-09-21 17:57:29 -04:00
Daniel Nephin e7c63004a8 acl: remove a couple legacy ACL operation constants
structs.ACLForceSet was deprecated 4 years ago, it should be safe to remove now.
ACLBootstrapNow was removed in a recent commit. While it is technically possible that a cluster with mixed version
could still attempt a legacy boostrap, we documented that the legacy system was deprecated in 1.4, so no
clusters that are being upgraded should be attempting a legacy boostrap.
2021-09-21 17:57:29 -04:00
Daniel Nephin 868bfc7a0a acl: Remove unused ACLPolicyIDType 2021-09-21 17:57:29 -04:00
Daniel Nephin aee8a9511d
Merge pull request #10985 from hashicorp/dnephin/acl-legacy-remove-replication
acl: remove legacy ACL replication
2021-09-21 17:56:54 -04:00
Connor 1ddee0680c
Apply suggestions from code review
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
2021-09-21 10:52:46 -05:00
R.B. Boyer b2d17ac448
xds: fix representation of incremental xDS subscriptions (#10987)
Fixes #10563

The `resourceVersion` map was doing two jobs prior to this PR. The first job was
to track what version of every resource we know envoy currently has. The
second was to track subscriptions to those resources (by way of the empty
string for a version). This mostly works out fine, but occasionally leads to
consul removing a resource and accidentally (effectively) unsubscribing at the
same time.

The fix separates these two jobs. When all of the resources for a subscription
are removed we continue to track the subscription until envoy explicitly
unsubscribes
2021-09-21 09:58:56 -05:00
trujillo-adam f0815f9cc2 removed extra codeblock ticks, again 2021-09-20 14:44:38 -07:00
trujillo-adam 1700dab2e6 Merge branch 'docs-k8s-cli-alpha' of github.com:hashicorp/consul into docs-k8s-cli-alpha
implementing feedback
2021-09-20 14:42:09 -07:00
trujillo-adam bf72046737 fixed formatting 2021-09-20 14:40:36 -07:00
trujillo-adam 4aa40ccbe1
Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
2021-09-20 14:38:51 -07:00
FFMMM 377c3a9b0b
add StatusError to api package (#11054)
* add require http codes in api and use in operator_autopilot health check

* add StatusError type in api package

Signed-off-by: FFMMM <FFMMM@users.noreply.github.com>
2021-09-20 14:04:13 -07:00
Dhia Ayachi 9592990773
Rerun go-test and go-test-32bits tests up to 3 times before failing (#11059)
* Rerun go-test and go-test-32bits tests up to 3 times before failing

* do not run rerun fail report in oss

* set back rerun fail report but print to stdin instead of comment
2021-09-20 16:04:59 -04:00
Connor Kelly ae3457b96a
Fix test 2021-09-20 13:44:43 -05:00
trujillo-adam 9863054362 removed extra codeblock ticks 2021-09-20 11:04:04 -07:00
Connor Kelly ea9c4f5822
Add changelog entry 2021-09-20 12:52:19 -05:00
Connor Kelly 59f9f67cc2
Add new telemetry to website
This will add information about the new kv_usage metric to the website
2021-09-20 12:43:40 -05:00
Connor Kelly 052f224ee5
Add KVUsage to consul state usage metrics
This change will add the number of entries in the consul KV store to the
already existing usage metrics.
2021-09-20 12:41:54 -05:00
trujillo-adam c6eae6858c fixed indentation on install page 2021-09-20 10:25:06 -07:00
trujillo-adam faee67e35b removed extra codeblock tic 2021-09-20 10:19:27 -07:00
R.B. Boyer 5fe613dd05
xds: ensure the active streams counters are 64 bit aligned on 32 bit systems (#11085) 2021-09-20 11:07:11 -05:00
Krastin Krastev f7b0938633
Update autopilot.go
Fixing a minuscule typo in logging
2021-09-20 14:40:58 +02:00