Commit Graph

15437 Commits

Author SHA1 Message Date
John Cowen 51149cdae2
ui: Remove legacy ACLs (#11096) 2021-09-22 18:32:51 +01:00
John Cowen 5da06645b0
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 f8afe3e9db
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 66453d2de9 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 23f070e0a1 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 7ffd1560aa 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 4d222cfcd0
add 1.19.x versions to test config 2021-09-22 09:30:45 -07:00
Evan Culver 080e8d2c90
regenerate more envoy golden files 2021-09-22 09:30:23 -07:00
Connor bc04a155fb
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 d92a2478e6
Update docs (#11111) 2021-09-22 12:26:08 -04:00
Connor Kelly bfe6b64ca7
Strip out go 1.17 bits 2021-09-22 11:04:48 -05:00
R.B. Boyer c23500f156
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 0ca9b96757 Putting source back into Dev Mode 2021-09-22 10:09:18 -05:00
R.B. Boyer b227d2514b 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 4078ca63eb Add changelog entry for audit logging header extraction improvement 2021-09-22 10:23:01 -04:00
Matt Keeler 7c1ef8f515 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 320b20c708 auto-updated agent/uiserver/bindata_assetfs.go from commit 9c0233cf5 2021-09-22 13:05:38 +00:00
John Cowen 71bdb08170 Revert "ui: Add partition parameter when clearing child-selector forms in ACLs"
This reverts commit a670bde57d913cc27410fec2d62be19491c2bf66.
2021-09-22 14:00:34 +01:00
John Cowen 4ca04766cc ui: Add partition parameter when clearing child-selector forms in ACLs 2021-09-22 13:57:33 +01:00
hc-github-team-consul-core 949416c071 auto-updated agent/uiserver/bindata_assetfs.go from commit cfbd1bb84 2021-09-22 09:26:14 +00:00
John Cowen 45e43adb63
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 eb5512fb74781ea49be743e2f0f16b3f1863ef61.

* 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 b40bdc9e98 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 69f4cc7532
regenerate envoy golden files 2021-09-21 16:21:00 -07:00
Evan Culver b104b7719c
add envoy 1.19.1 2021-09-21 15:39:36 -07:00
Daniel Nephin ab91d254a3 fsm: restore the legacy commands
and emit a helpful error message.
2021-09-21 18:35:12 -04:00
Daniel Nephin 0180dd67ff Convert tests to the new ACL system
In preparation for removing ACL.Apply
2021-09-21 18:35:12 -04:00
Daniel Nephin b639f47e3c config: use the new ACL system in tests
In preparation for removing ACL.Apply
2021-09-21 17:57:29 -04:00
Daniel Nephin 2702aecc27 catalog: use the new ACL system in tests
In preparation for removing ACL.Apply
2021-09-21 17:57:29 -04:00
Daniel Nephin b6218b75d9 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 ad9748adc3 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 5a31a2e167 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 26f3380688 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 af8c10afc4 acl: Remove unused ACLPolicyIDType 2021-09-21 17:57:29 -04:00
Daniel Nephin 5493ff06cc
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 64852cd3e5
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 2773bd94d7
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 7b49bdb882 removed extra codeblock ticks, again 2021-09-20 14:44:38 -07:00
trujillo-adam 09166dd000 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 426ea5a742 fixed formatting 2021-09-20 14:40:36 -07:00
trujillo-adam ad6f46ba53
Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
2021-09-20 14:38:51 -07:00
FFMMM ae9e167096
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 9528a3bf1f
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 973b7b5c78
Fix test 2021-09-20 13:44:43 -05:00
trujillo-adam c1ec3399c0 removed extra codeblock ticks 2021-09-20 11:04:04 -07:00
Connor Kelly 9fb8656915
Add changelog entry 2021-09-20 12:52:19 -05:00
Connor Kelly 5e6828a117
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 698fc291a9
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 2209a3b075 fixed indentation on install page 2021-09-20 10:25:06 -07:00
trujillo-adam 4c427b5d9d removed extra codeblock tic 2021-09-20 10:19:27 -07:00
R.B. Boyer 55b36dd056
xds: ensure the active streams counters are 64 bit aligned on 32 bit systems (#11085) 2021-09-20 11:07:11 -05:00