Commit Graph
70 Commits
Author SHA1 Message Date
Michael Li 72efe74f24 test(e2e): Add worker health check when setting up infra (#3708)
* test(e2e): Add worker health check when setting up infra

* test(e2e): Set limits on postgres container

This was done to potentially reduce some load on runners
2023-09-13 10:20:57 -04:00
Michael Li e552b12f22 test(e2e): Add missing proxy listener to config file (#3715) 2023-09-12 18:44:53 -04:00
Michael Li ff34cb629e test(e2e): Add a test for a single-hop worker (#3690)
* refact(e2e): Add env for workers

* test(e2e): Add test for single-hop worker

* fixup! refact(e2e): Add env for workers

* fixup! test(e2e): Add test for single-hop worker

* fixup! test(e2e): Add test for single-hop worker

* fixup! test(e2e): Add test for single-hop worker

* fixup! test(e2e): Add test for single-hop worker
2023-09-11 14:25:32 -04:00
Michael Li 9a6b0d26cb test(e2e): Add test for boundary connect postgres (#3671)
* refact(e2e): Rename env

* test(e2e): Add test for `connect postgres`

* fixup! test(e2e): Add test for `connect postgres`
2023-09-06 17:29:35 -04:00
Michael Li 9687535ab0 test(e2e): Add an enos module for docker-based workers (#3603)
* test(e2e): Add an enos module for a worker in docker

* fixup! test(e2e): Add an enos module for a worker in docker
2023-08-18 09:19:48 -04:00
Michael Li 067a42c715 test(e2e): Build docker image based on host architecture (#3584) 2023-08-15 11:18:33 -04:00
hashicorp-copywrite[bot]andJohan Brandhorst-Satzkorn 29da0bcb92 [COMPLIANCE] License changes (#3567)
* Adding explicit MPL license for sub-package.

This directory and its subdirectories (packages) contain files licensed with the MPLv2 `LICENSE` file in this directory and are intentionally licensed separately from the BSL `LICENSE` file at the root of this repository.

* Adding explicit MPL license for sub-package

This directory and its subdirectories (packages) contain files licensed with the MPLv2 `LICENSE` file in this directory and are intentionally licensed separately from the BSL `LICENSE` file at the root of this repository.

* Updating the license from MPL to Business Source License

Going forward, this project will be licensed under the Business Source License v1.1. Please see our blog post for more details at https://hashi.co/bsl-blog, FAQ at www.hashicorp.com/licensing-faq, and details of the license at www.hashicorp.com/bsl.

* Update copyright file headers to BUS-1.1

* Rerun make gen

This will pick up the last of the license changes

* Revert "Rerun make gen"

This reverts commit dbe0968bffd92745d8663c6940debae098395a6b.

* Remove copywrite from generation script

The current version of copywrite is not sophisticated enough
to only apply the copywrite changes to certain subdirectories,
so to avoid accidentally relicensing our api and sdk modules,
we will stop running the copywrite script until such time
that it can do the right thing.

* License protobuf API as MPL

The protobuf API files are used to generate the SDK,
since we want the SDK to be MPL, the protobuf files
must also be MPL. This extends to all protobuf files
whose sources end up in the SDK directory, including:

- internal/proto/controller/api
- internal/proto/controller/custom_options
- internal/proto/plugin

It also includes the generated service directory in
internal/gen/controller/api/services, since they are
generated from the protobuf sources used for the SDK.

* Change website license file name

This makes the naming scheme consistent with the rest
of the repository.

* Add note on licensing to README

* Set copywrite license to BUSL

* Revert "Add note on licensing to README"

This reverts commit 4d865a91a7a4f11605f0dc4609355d7e3c3cfffe.

---------

Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
2023-08-11 10:31:53 -07:00
Michael Li 6c57aa7fda test(e2e): Add pieces necessary for enterprise migration test (#3555) 2023-08-09 14:43:41 -04:00
Michael Li f88d3892cb test(e2e): Add infra for ssh certificate injection test (#3532) 2023-08-04 12:56:24 -04:00
Michael Li ef3954c561 test(e2e): Add a docker test runner (#3499)
* test(e2e): Add a docker test runner

* !fixup: Self-review

* !fixup: Make vault address compatible with local runs

* !fixup: Remove unnecessary modification

* !fixup: Remove arm64 requirement

* !fixup: extend timeout
2023-07-31 09:10:21 -04:00
Michael Li 0d4ef933c3 test(e2e): Build UI when running docker scenarios locally (#3463)
* test(e2e): Add session id to logs for debug purposes

* test(e2e): Build UI when building docker resources
2023-07-19 08:32:02 -04:00
Ryan Cragun 96d2531fbb chore: [QT-587] Update service and demo user IAM policies (#3398)
* Update the service user IAM policies to allow for managing S3 buckets.
* Update the demo user to allow for managing S3 objects.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2023-07-07 12:12:17 -06:00
Michael Li e39f0406f3 test(e2e): Update worker module to create recordings directory if defined (#3340) 2023-06-29 11:20:12 -04:00
Michael Li bfc3babd20 chore(e2e): Change port used by vault docker container (#3355)
* chore: Update scenario reference name

* chore: Use different port for vault

This avoids any conflicts with other uses of vault
2023-06-22 16:12:00 -04:00
Stan Ryzhov dbad3eee56 test(e2e): Update env variables and target creation (#3339) 2023-06-21 15:45:22 -04:00
Michael Li d920676112 chore: Update some e2e test scenarios to use docker-based infra (#3345)
* chore: Update docker scenario to check edition

* chore: Use large runner to resolve flakiness issues

* chore: Migrate enos scenarios to use docker
2023-06-21 11:36:47 -04:00
Michael Li 401493d225 test(e2e): Rename test packages (#3334) 2023-06-15 11:51:14 -04:00
Michael Li 5f2f6ca6ca test: Set worker config to a variable (#3324) 2023-06-14 13:44:08 -04:00
Michael Anthony 1a5b9cf5d9 Add enos bucket module (#3225) 2023-05-16 11:49:23 -06:00
Josh Brand 5ac29eb2e5 feat(e2e): Add configurable timeout for go test execution within scenarios (#3213) 2023-05-09 14:55:19 -04:00
Josh Brand 603c3c8c9c fix(e2e): Fix path to echo in connect_test & update scenarios for local builds (#3208) 2023-05-08 15:04:26 -04:00
Josh Brand 8b8b665483 chore(e2e): Update CI user for testing (#3203) 2023-05-04 18:16:00 -04:00
Josh Brand 9a050ec15a chore(e2e): Update test attributes for new builds (#3189) 2023-04-27 14:59:46 -04:00
Michael Li 33f3a5ff9c test(e2e): Add test that uses new worker resource (#3177) 2023-04-24 16:58:39 -04:00
Michael Li d25f4493d3 test(e2e): Improve reliability of enos docker scenario (#3167) 2023-04-19 17:03:38 -04:00
Michael AnthonyandJosh Brand 073f8fe98e [QT-405] Create solo worker module (#3148)
* Create solo worker module

---------

Co-authored-by: Josh Brand <jbrand@hashicorp.com>
2023-04-12 14:21:23 -06:00
Michael Li 8c796d0fc9 chore(enos): Use docker image generated from code (#3100) 2023-03-22 10:47:17 -04:00
Michael LiandJohan Brandhorst-Satzkorn acda0c3892 chore(enos): Add scenario that uses docker containers for infrastructure (#3073)
Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
2023-03-15 10:07:36 -04:00
Josh Brand 4100d26826 Add extra IAM permissions for demo user creation during e2e tests (#3059)
These statements got nixed in the account migration, this policy should be applied to OSS (non-doormat) projects that need IAM access for testing
2023-03-07 17:22:55 -05:00
Michael Li 420952f6b8 chore(enos): Add scenario for e2e UI tests (#2813) 2023-03-02 14:32:53 -05:00
Michael Li 54aad4d292 chore(enos): Add debug variable (#3037) 2023-03-02 12:37:12 -05:00
Michael Li 713c121143 chore(enos): Default to use OSS edition (#3035)
There was an update to the build scripts to detect what edition of boundary is being built so that it knows which version of the UI to grab. However, this affected instances when building boundary on an architecture that is not the same as the host (in this case, we're building a linux/amd64 version on a mac). When the scripts try to use the built CLI to get the edition, it threw an `exec format error`.
2023-02-27 18:35:01 -05:00
Michael Li 604c701395 chore(enos): Define explicit dependencies between steps (#3031) 2023-02-27 12:27:18 -05:00
Michael Li 559c7aab24 chore(enos): Fix local creation of IAM (#3021) 2023-02-27 12:26:39 -05:00
Michael Li 5ec75924df refact(e2e): Set up variables to prepare for docker implementation (#2992)
* refact(e2e): Explicitly define port used for targets

To maintain consistency for how we define ports, this change explicitly defines the port used in the enos
scenario as opposed to relying on a "default" value. This change is in support of work that attempts to
spin up test infrastructure using docker. The openssh-server image uses Port 2222, which needs to be
passed to the test suite.

* refact(e2e): Add optional "Internal" Vault Address parameter

This change enables scenarios that need two different Vault addresses, one used by the Vault CLI and
one by the Boundary server instance. In the case when using a Docker container, the Boundary server
needs the Vault address "internal" to the Docker network, whereas the Vault CLI running outside of the
network needs a different address.
2023-02-23 12:05:06 -05:00
Mike Baum e1d078fa9f [QT-444] Use repo isolated AWS account for enos CI tests (#2727)
* [QT-444] Use repo isolated AWS account for enos CI tests
2023-02-16 17:07:30 -05:00
Mike Baum 0dc140045a [QT-400] Fix doormat hc-service-uri for ci bootstrap ci doormat role (#2944) 2023-02-09 11:23:52 -05:00
Michael Li d1429a40df chore(enos): Remove bats test from running in enos (#2929)
* chore(enos): Remove bats tests from enos

* chore(enos): Update cache name to match vault version
2023-02-07 16:30:38 -05:00
Mike Baum 9116755a9c [QT-400] Update ci boundary-enterprise hc-service-uri to include the schedule workflow trigger (#2925) 2023-02-07 14:00:51 -05:00
Michael Li 8ad861f426 test(e2e): Update migration test to use vault docker container (#2909)
* fix(enos): Make sure enos reports test as failure

After updating this command to save off the output from running `go test`, enos would not report when tests failed. This was due to the extra pipe hiding the exit status of the prior commands. Adding this option should return the status of the last command to exit with a non-zero status.

* doc(e2e): Fix comments

* refact(e2e): Update AuthenticateCli to accept auth method id

* refact(e2e/migration): Use docker to set up vault instead of enos

* refact(e2e/migration): Adjust where environment variables are set
2023-02-07 14:00:05 -05:00
Johan Brandhorst-Satzkorn 3c29308673 chore: Add license headers to all files 2023-02-03 15:54:27 -08:00
Michael Li 2f9727e8cf chore(enos): Upload e2e test output (#2863)
* chore(enos): Upload e2e go test output

* chore(enos): Add retention period
2023-01-31 17:28:54 -05:00
Josh Brand 7d49a3a06b Add automated cleanup for CI resources (#2814)
* Add automated cleanup for CI resources
2023-01-31 16:43:45 -05:00
Michael Li 5fd66b8d88 chore(enos): Remove unused skip_failing_bats_tests variable (#2844) 2023-01-25 12:44:04 -05:00
Ryan Cragun 23f1cdea27 enos: make the local build target configurable (#2313)
This makes the `make` build target that is used for local builder
variant configurable. This will allow us to utilize the local builder
variant in downstreams that might use different targets for their build.

* Make the local build target configurable
* Allow cross compiling `linux/amd64` on different platforms.
2022-12-19 14:35:10 -05:00
Michael Li 74f7ce93bc chore(e2e): Update to use Vault 1.12.2 (#2726) 2022-12-19 14:29:25 -05:00
Michael Li 26a85ef61b chore(e2e): Better output formatting (#2719)
Updating the `go test` command to include a table summary of test results at the end. This is the same command used by unit tests.
2022-12-15 14:57:24 -05:00
Michael Li 1596b02e53 test(e2e): Add database migration test (#2627)
* test(e2e): Add database migration test

* chore(enos): Add enos scenario for migration test

* chore(enos): Update go test command to use count option

* doc(e2e): Update readme with migration test details

* Fix: Typo

* CR: Use different library

* CR: Add additional context in comment

* CR: Move some code from test into functions

* doc(e2e): Add instructions to more easily retrieve environment variables

* refact(e2e): Create some more methods to increase test readability
2022-12-13 17:00:50 -05:00
Mike Baum 24c3d6824d [QT-396] Add Enos CI bootstrapping scenarios (#2621)
* Add Enos CI bootstrapping scenarios
* Add GitHub Actions workflow for CI bootstrapping
* Add service quotas limit increase request to Enos CI bootstrapping
2022-12-12 13:48:10 -05:00
Michael LiandJohan Brandhorst-Satzkorn 45171a3f56 refact(e2e): Changes to support an automated migration test (#2676)
* refact(e2e): Move cleanup steps into each test

The migration test needed to create some resources, but doesn't care about cleaning up because the test would take care of spinning down the docker container that it's using. To maintain flexibility going forward, we'll establish that tests are responsible for cleaning up (rather than the methods they use)

* refact(e2e): Use new env var for skip check

Currently, the e2e tests use the E2E_PASSWORD_AUTH_METHOD_ID environment variable to determine if the test should be skipped. However, the new migration test does not require a pre-existing boundary cluster and would not have this environment variable. As a result, we needed an alternative way to check if an e2e test should be skipped when running tests in ci.

* refact(e2e): Create more common boundary methods

* fix(e2e): Set to string value

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
2022-12-06 15:59:17 -05:00