Commit graph

294 commits

Author SHA1 Message Date
John Cowen 1e26c1fe11
ui: App-ify Lock Sessions (#12482)
This commit moves our in-app LockSessions code into an external 'app', which can theoretically be side-loaded but for now it just makes for good isolation/code hygiene.

Functionally, there is kind of one change here, and that is we only show the 'Lock Session' tab if you have permissions to see them. Currently as our UI authorization endpoint needs to be changed slightly to suit our usecase, you will always have permissions to see Lock Sessions as we hardcode the session:read to true (obvs this is a frontend thing, not a backend thing), so it doesn't really change anything from a user perspective.

Also added very bare docs while I was here.

Small note here, ideally we need to add the each individual tab depending on whether an 'app' is enabled or not instead of just permissions, ideally it would be done totally from The Outside rather than a can based conditional on the inside, just something else to be thinking about for the future.
2022-03-14 16:54:49 +00:00
Evan Culver 7889071385
connect: Update supported Envoy versions to include 1.19.3 and 1.18.6 2022-02-24 16:59:33 -08:00
Evan Culver 9f4d9f3f74
connect: Upgrade Envoy 1.20 to 1.20.2 (#12443) 2022-02-24 16:19:39 -08:00
Chris S. Kim 2a973028ae
ci: Fix merge conflicts cleanly (#12249) 2022-02-14 23:12:36 -05:00
Daniel Nephin f241dbe149 ci: fix arm64 build
'make dev' is not enough, we need to move it into PATH as well.
2022-02-07 17:11:21 -05:00
Daniel Nephin 0861ebb3dc ci: skip building the binary
The tests that require a Consul binary should be skipped by -short, so skip building
the binary in go-test-arm64 to save after 3 minutes.
2022-02-03 18:24:20 -05:00
Daniel Nephin 6616c04e89 ci: try to run only -short on PR branches 2022-02-03 17:58:59 -05:00
Daniel Nephin 0ae7aacd0e ci: share common go-test steps 2022-02-03 17:50:03 -05:00
odidev cf05d8837a Add test jobs for arm64 in CircleCI 2022-02-03 17:50:03 -05:00
Daniel Nephin 7080e26c83 Replace build script with 'go build' 2022-02-03 07:19:57 -08:00
Chris S. Kim f7285ed35b
ci: Update CI to stash changes before checkout (#12210) 2022-01-27 10:59:05 -05:00
Chris S. Kim d209de4230
Push bindata_assetfs.go to a non-protected branch (#12151) 2022-01-21 16:10:54 -05:00
Evan Culver ec65890f01
connect: Upgrade Envoy 1.20 to 1.20.1 (#11895) 2022-01-18 14:35:27 -05:00
Bryce Kalow 29c6570b70
website: fix algolia indexing (#11413) 2021-12-15 08:30:46 -06:00
Chris S. Kim db6c2663be
Update CI and release go versions to 1.17.5 (#11799) 2021-12-10 14:04:56 -05:00
John Cowen 91383269b9
ui: Move nspace CRUD to use the same approach as partitions (#11633)
This sounds a bit 'backwards' as the end goal here is to add an improved UX to partitions, not namespaces. The reason for doing it this way is that Namespaces already has a type of 'improved UX' CRUD in that it has one to many relationship in the form when saving your namespaces (the end goal for partitions). In moving Namespaces to use the same approach as partitions we:

- Ensure the new approach works with one-to-many forms.
- Test the new approach without writing a single test (we already have a bunch of tests for namespaces which are now testing the approach used by both namespaces and partitions)

Additionally:

- Fixes issue with missing default nspace in the nspace selector
- In doing when checking to see that things where consistent between the two, I found a few little minor problems with the Admin Partition CRUD so fixed those up here also.
- Removed the old style Nspace notifications
2021-12-01 11:04:02 +00:00
R.B. Boyer 573670e8f7
build: switch to 'go install' over 'go get' (#11582)
Also add lint-consul-retry to the 'make tools' set.
2021-11-16 12:04:49 -06:00
Evan Culver b0b6866179
ci: Loosen apt source verification (#11493) 2021-11-05 16:38:23 -04:00
Evan Culver b3c92f22b1
connect: Remove support for Envoy 1.16 (#11354) 2021-10-27 18:51:35 -07:00
Evan Culver 98acbfa79c
connect: Add support for Envoy 1.20 (#11277) 2021-10-27 18:38:10 -07:00
Daniel Nephin 49faed6efe ci: test against go1.17 2021-10-21 16:18:32 -04:00
John Cowen bfd1d7e2a3
ci: Only install UI dependencies for CI frontend-cache (#11313) 2021-10-14 15:14:26 +01:00
John Cowen f03d79c8b0
ci: Don't focus install JS deps (#11267) 2021-10-11 14:37:21 +01:00
John Cowen 93b78aee53
ui: Adds initial CRUD for partitions (#11188)
* Add `is` and `test` helpers in a similar vein to `can`

Adds 2 new helpers in a similar vein to ember-cans can:

- `is` allows you to use vocab/phrases such as (is "something model") which calls isSomething() on the models ability.
- `test` allows you to use vocab/phrases such as (test "is something model") or (test "can something model")which calls isSomething() / canSomething() on the models ability. Mostly using the is helper and the can helper. It's basically the is/can helper combined.

* Adds TextInput component + related modifiers/helpers/machines/services (#11189)

Adds a few new components/modifiers/helpers to aid building forms.

- state-chart helper, used in lieu of a more generic approach for requiring our statecharts.
- A few modifications to our existing disabled modifier.
- A new 'validation' modifier, a super small form validation approach built to make use of state charts (optionally). Eventually we should be able to replace our current validation approach (ember-changeset-validations + extra deps) with this.
- A new TextInput component, which is the first of our new components specifically to make it easy to build forms with validations. This is still a WIP, I left some comments in pointing out where this one would be progressed, but as we don't need the planned functionality yet, I left it where it was. All of this will be fleshed out more at a later date.

Documentation is included for all of ^

* ui: Adds initial CRUD for partitions (#11190)

Adds basic CRUD support for partitions. Engineering-wise probably the biggest takeaway here is that we needed to write very little javascript code to add this entire feature, and the little javascript we did need to write was very straightforwards. Everything is pretty much just HTML. Another note to make is that both ember-changeset and ember-data (model layer things) are now completely abstracted away from the view layer of the application.

New components:

- Consul::Partition::Form
- Consul::Partition::List
- Consul::Partition::Notifications
- Consul::Partition::SearchBar
- Consul::Partition::Selector

See additional documentation here for more details

New Route templates:

- index.hbs partition listing/searching/filtering
- edit.hbs partition editing and creation

Additionally:

There is some additional debug work here for better observability and to prevent any errors regarding our href-to usage when a dc is not available in our documentation site.

Our softDelete functionality has been DRYed out a little to be used across two repos.

isLinkable was removed from our ListCollection component for lists like upstream and service listing, and instead use our new is helper from within the ListCollection, meaning we've added a few more lighterweight templateOnly components.

* ui: Exclude all debug-like files from the build (#11211)

This PR adds **/*-debug.* to our test/prod excluded files (realised I needed to add test-support.js also so added that here as its more or less the same thing). Conditionally juggling ES6 static imports (specifically debug ones) for this was also getting a little hairy, so I moved it all to use the same approach as our conditional routes. All in all it brings the vendor build back down to ~430kb gzipped.
2021-10-08 16:29:30 +01:00
Evan Culver 88a899d06a
connect: remove support for Envoy 1.15 2021-09-22 11:48:50 -07:00
Evan Culver b104b7719c
add envoy 1.19.1 2021-09-21 15:39:36 -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
Freddy 11672defaf
connect: update envoy supported versions to latest patch release
(#10961)

Relevant advisory: 
https://github.com/envoyproxy/envoy/security/advisories/GHSA-6g4j-5vrw-2m8h
2021-08-31 10:39:18 -06:00
R.B. Boyer 4cad5b8a04
ci: upgrade to use Go 1.16.7 (#10856) 2021-08-16 12:21:16 -05:00
Daniel Nephin 8805b86890 ci: query for max number of possible labels
To fix a failure in our docs-cherrypick automation. This started to fail today, I suspect because
github silently changed the order the labels were being returned, and by default it only
returns 30 labels.

We currently have 68 labels, so using per_page=100 (the maximum allowed) we should be able to fix
this failure.
2021-07-29 13:51:05 -04:00
Daniel Nephin c7b09499a6 Update CI config and Makefile for vendor removal
Now that vendor is removed our CI can check that 'go mod tidy' makes no changes, instad of
checking vendor/modules.txt
2021-07-21 18:39:07 -04:00
Daniel Nephin 72ea979c39
Merge pull request #10515 from hashicorp/dnephin/fix-arm32-atomic-aligment
Fix panic on 32-bit platforms
2021-06-30 16:40:20 -04:00
Daniel Nephin c2cc9b6bda Update references to the main branch
The main branch is being renamed from master->main. This commit should
update all references to the main branch to the new name.

Co-Authored-By: Mike Morris <mikemorris@users.noreply.github.com>
2021-06-29 17:17:38 -04:00
Daniel Nephin 23a0757e34 ci: add go-test-32bit and lint-32bit to catch atomic misalignment panics 2021-06-29 16:10:21 -04:00
Daniel Nephin 6d57855b38 ci: test api/sdk against last 2 Go versions
So that we catch any incompatibilities with the preivous Go version.
2021-06-24 12:24:12 -04:00
Dhia Ayachi 6aa915db8d
upgrade golangci-lint to v1.40.1 (#10276)
Also: fix linter issue detected with newer version
2021-05-24 22:22:37 -04:00
Alvin Huang 36958af83d
ci: allow bash_env in load-test (#10278)
* setup bash shell usage for load-test

* add cluster_name tf var
2021-05-21 14:19:26 -04:00
Alvin Huang 4bbf39f129 update terraform provider versions to within constraints 2021-05-19 16:11:54 -04:00
John Cowen 750be34091
ui: Bump node to v14 (#10238) 2021-05-18 16:30:19 +01:00
Daniel Nephin 1a22454704
Merge pull request #10217 from hashicorp/dnephin/test-flakes
testing: attempt to fix some test flakes
2021-05-12 15:38:29 -04:00
R.B. Boyer 05b52a3d63
connect: update supported envoy versions to 1.18.3, 1.17.3, 1.16.4, and 1.15.5 (#10231) 2021-05-12 14:06:06 -05:00
Daniel Nephin fc4100ab4d ci: update gotestsum
To pickup this fix: e91cbd912a
2021-05-10 13:25:18 -04:00
Daniel Nephin 5c7b0e6339
ci: add a verify CI job to ensure CI checks are run (#10179)
This workflow will be added as a branch protection rule in github.
2021-05-06 12:26:10 -04:00
Daniel Nephin 1f2531a664 ci: allow cherry-picking a manual backport to other release branches
If an automatic backport fails to more than one release branch we need
to crate a PR to backport it. So far we've had to create a backport PR
for each target release branch.

With this change, we may be able to create only a single PR, and then
run the backport automation to cherry-pick it into other release
branches.

The idea is that if a change introduced in version n-1 caused a
conflict, and there are no other changes, then the backport automation
should be able to use the same commit for version n-2 and n-3.
2021-05-03 16:09:10 -04:00
R.B. Boyer 97e57aedfb
connect: update supported envoy versions to 1.18.2, 1.17.2, 1.16.3, and 1.15.4 (#10101)
The only thing that needed fixing up pertained to this section of the 1.18.x release notes:

> grpc_stats: the default value for stats_for_all_methods is switched from true to false, in order to avoid possible memory exhaustion due to an untrusted downstream sending a large number of unique method names. The previous default value was deprecated in version 1.14.0. This only changes the behavior when the value is not set. The previous behavior can be used by setting the value to true. This behavior change by be overridden by setting runtime feature envoy.deprecated_features.grpc_stats_filter_enable_stats_for_all_methods_by_default.

For now to maintain status-quo I'm explicitly setting `stats_for_all_methods=true` in all versions to avoid relying upon the default.

Additionally the naming of the emitted metrics for these gRPC requests changed slightly so the integration test assertions for `case-grpc` needed adjusting.
2021-04-29 15:22:03 -05:00
Jamie Finnigan 4a39d75a30
remove Codecov from CI runs (#10145) 2021-04-28 13:23:31 -07:00
John Cowen a389eab7b0
ui: Adds human formatting to nanosecond based session durations (#10062)
* ui: Adds human formatting to nanosecond based session durations
2021-04-28 12:12:56 +01:00
Sarah 5a36fe22fc
updating fingerprint 2021-04-22 15:08:55 +01:00
Sam Salisbury 1097008019 ci: rotate the read/write SSH key fingerprint 2021-04-19 18:04:34 +01:00
Daniel Nephin 6df4d60675 ci: test against Go1.16.3 2021-04-13 12:06:13 -04:00
Daniel Nephin 40ff553e85 ci: update config for nomad main branch rename 2021-03-09 14:44:44 -05:00
R.B. Boyer 503041f216
xds: default to speaking xDS v3, but allow for v2 to be spoken upon request (#9658)
- Also add support for envoy 1.17.0
2021-02-26 16:23:15 -06:00
R.B. Boyer cdc5e99184
xds: remove deprecated usages of xDS (#9602)
Note that this does NOT upgrade to xDS v3. That will come in a future PR.

Additionally:

- Ignored staticcheck warnings about how github.com/golang/protobuf is deprecated.
- Shuffled some agent/xds imports in advance of a later xDS v3 upgrade.
- Remove support for envoy 1.13.x but don't add in 1.17.x yet. We have to wait until the xDS v3 support is added in a follow-up PR.

Fixes #8425
2021-02-22 15:00:15 -06:00
R.B. Boyer 194fb0d144
connect: update supported envoy point releases to 1.16.2, 1.15.3, 1.14.6, 1.13.7 (#9737) 2021-02-10 13:11:15 -06:00
Alvin Huang a0842ce955
ci: add nightly load testing on master (#9693) 2021-02-03 15:59:37 -05:00
Alvin Huang ebfe7ce675
ci: fail cherrypick if git push fails (#9673) 2021-01-29 19:42:14 -05:00
Alvin Huang 5a4a6d10f1
ci: reset working directory between cherrypick labels (#9656) 2021-01-27 15:51:12 -05:00
Alvin Huang 3b4469d31d
ci: fix logic for check-vendor (#9619) 2021-01-22 11:36:35 -05:00
Alvin Huang 90cf562311
ci: change check-vendor to verify git status has no changes (#9615) 2021-01-21 18:29:26 -05:00
Alvin Huang aaed7897d5 modify envoy test job names to make circleci happy 2021-01-13 23:31:15 -05:00
Alvin Huang 5291d0551d add load test configuration 2021-01-13 23:30:00 -05:00
Alvin Huang 76f25d14fd upload zip instead of tar dev builds 2021-01-13 23:27:17 -05:00
Alvin Huang 656c934f98 modify aws assume role circleci command 2021-01-13 23:25:21 -05:00
Alvin Huang 18d4916900 add PR load test terraform config 2021-01-13 23:19:53 -05:00
Daniel Nephin bbf1a116f6 xds: Fix data race
TestEnvoy.Close used e.stream.recvCh == nil to indicate the channel had already
been closed, so that TestEnvoy.Close can be called multiple times. The recvCh
was not protected by a lock, so setting it to nil caused a data race with any
goroutine trying to read from the channel.

Instead set the stream to nil. The stream is guarded by a lock, so it does not race.

This change allows us to test the agent/xds package using -race.
2021-01-07 18:13:48 -05:00
John Cowen 54bad3852b
ui: Remove ui-staging from CI (#9508)
* Remove all mention of ui-staging as we don't use that branch name
2021-01-06 18:37:51 +00:00
John Cowen 2a5aa78548
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
Mike Morris b415e72688
ci: update to Go 1.15.6 (#9373) 2021-01-04 12:56:40 -05:00
Daniel Nephin d9af48afce
Merge pull request #9160 from hashicorp/dnephin/go-test-race-in-to-out-list
ci: change go-test-race package list to exclude list
2020-11-17 13:13:38 -05:00
Mike Morris 53a7f852fe
ci: reword cherry-picker comment (#9192) 2020-11-13 17:14:47 -05:00
R.B. Boyer 2ded9120c1
ci: update to go 1.15.5 (#9187) 2020-11-13 15:35:33 -06:00
Mike Morris a343365da7
ci: update to Go 1.15.4 and alpine:3.12 (#9036)
* ci: stop building darwin/386 binaries

Go 1.15 drops support for 32-bit binaries on Darwin https://golang.org/doc/go1.15#darwin

* tls: ConnectionState::NegotiatedProtocolIsMutual is deprecated in Go 1.15, this value is always true

* correct error messages that changed slightly

* Completely regenerate some TLS test data

Co-authored-by: R.B. Boyer <rb@hashicorp.com>
2020-11-13 13:02:59 -05:00
Daniel Nephin a7fec642fc ci: go-test-race switch to exclude list
Most packages should pass the race detector. An exclude list ensures
that new packages are automatically tested with -race.

Also fix a couple small test races to allow more packages to be tested.

Returning readyCh requires a lock because it can be set to nil, and
setting it to nil will race without the lock.

Move the TestServer.Listening calls around so that they properly guard
setting TestServer.l. Otherwise it races.

Remove t.Parallel in a small package. The entire package tests run in a
few seconds, so t.Parallel does very little.

In auto-config, wait for the AutoConfig.run goroutine to stop before
calling readPersistedAutoConfig. Without this change there was a data
race on reading ac.config.
2020-11-11 14:44:57 -05:00
Mike Morris ccbdde7e12
ci: publish bindata_assetfs.go for all release/.x branches (#9158) 2020-11-11 13:39:40 -05:00
Mike Morris 5fb49b7a76
ci: remove nonexistant autopilot directory from go-test-race (#9159) 2020-11-11 13:38:45 -05:00
Mike Morris 104547b62f chore: update to Go 1.14.11 2020-11-09 15:48:18 -05:00
Daniel Nephin 81e0596748 ci: cherry-pick port-merge comment 2020-11-06 18:06:52 -05:00
Alvin Huang d6652b0bc9
use hashicorp docker mirror to prevent rate limit (#9070) 2020-10-30 17:59:13 -04:00
John Cowen 77b97a4ae4
ui: Upgrade consul-api-double to fix datacenter mocks (#9045) 2020-10-27 13:31:57 +00:00
Daniel Nephin 6cda5319b2 ci: upgrade gotestsum
So that we are using the same version as enterprise
2020-10-26 15:19:08 -04:00
Alvin Huang 5f0f8baef9
ci: add parallelism to envoy tests (#9005)
add subtest output
2020-10-23 11:53:24 -04:00
Alvin Huang 6d2ceb603e
move static-assets dist to new path (#9015) 2020-10-22 21:04:39 -04:00
R.B. Boyer 2183842f0e
connect: add support for envoy 1.16.0, drop support for 1.12.x, and bump point releases as well (#8944)
Supported versions will be: "1.16.0", "1.15.2", "1.14.5", "1.13.6"
2020-10-22 13:46:19 -05:00
John Cowen c98130cc08
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
John Cowen 0d23c9f8cc
ui: Clean up and document environment.js file (#8966)
* Move various environment getting utils out of the main file and test/doc

* Clean up and document the entire environment file

* Tweak the environment tests to reflect what they should be

* Explicitly enable namespaces instead of defaulting

* Allow env fallback functions to be called lazily

Otherwise the executables used for finding out things would be required
during build, this way if env vars are set the executable aren't needed

* Infer booleans from the fallback and cast them as such
2020-10-19 17:29:43 +01:00
Mike Morris 69a05a3111 ci: bump to Go 1.14.9 2020-10-09 22:52:23 -04:00
Alvin Huang 097b47a741
[skip ci] ci: fix trigger-oss-merge yaml spacing (#8916) 2020-10-09 16:12:54 -04:00
Alvin Huang 804fef5c7c
add per commit oss->ent merge on master and release branches (#8740) 2020-10-09 15:49:04 -04:00
Daniel Nephin 2e9a52dfa9 ci: go-test-race more packages 2020-10-08 19:14:22 -04:00
Mike Morris 80aef1ca1d
test(vault): generate test coverage and upload to CodeCov (#8870) 2020-10-07 16:32:25 -04:00
Alvin Huang b2a66b7426
add ui test-node (#8820) 2020-10-06 15:58:12 -04:00
Alvin Huang 28c8ac91bc
ci: fix bindata autoupdate (#8801)
* update bindata on ui-v2/ changes

* Revert "Remove GIT_SHA environment variable"

This reverts commit f620f9aefd41362ce76c3a8e0f4addf402ee0ca2.

* Revert "Hardcode in an app version for ember-cli-app-version"

This reverts commit 5ae493d79b34ef2143d78a44c21a63623140bba8.

* revert modtime change in #8712
2020-10-02 15:23:38 -04:00
Paul Banks 35d249e38f
Merge pull request #8694 from hashicorp/ui-config-metrics
Add config changes for UI metrics
2020-10-01 17:38:03 +01:00
Paul Banks 4c4c7266e6
Update all the references in CI and makefile to the bindata file location 2020-10-01 16:19:10 +01:00
Alvin Huang 3bd129d445
ci: only add consul binary to dev tarball (#8785) 2020-09-30 16:49:50 -04:00
Daniel Nephin 24977886e7 Disable publish static assets
The contents are diff on every change, so it is publishing in a loop
2020-09-30 12:25:25 -04:00
Alvin Huang 84a711eba5
add git config for static assets (#8777)
* add git config for static assets

* add commit sha to static-asset auto commit
2020-09-30 11:12:36 -04:00
Alvin Huang 21b1163cd6 commit a new bindata file if there are changes 2020-09-29 18:10:05 -04:00
Alvin Huang a7353d925e
ci:add check for bindata_assetfs changes (#8712)
* add check for bindata_assetfs changes

* Remove GIT_SHA environment variable

* Hardcode in an app version for ember-cli-app-version

* change ' to " for CONSUL_UI_SETTINGS_PLACEHOLDER

Co-authored-by: John Cowen <jcowen@hashicorp.com>
Co-authored-by: hashicorp-ci <hashicorp-ci@users.noreply.github.com>
2020-09-29 17:03:45 -04:00
Alvin Huang 93645e7a2d
fix command in cherry-picker script (#8738) 2020-09-23 09:59:17 -04:00