Commit Graph
85 Commits
Author SHA1 Message Date
Johan Brandhorst-SatzkornandMichael Li 6198fe279e Target pagination e2e test (#4010)
* testing/e2e: Use a separate config file for database init

The other config file contains templated parameters, which was causing
errors when loading the config file, even though the values were never
used.

* testing/e2e: add target pagination test

Exercises target pagination both over the CLI and the API. These tests
run in <10s on my machine, though they each involve creating 1000
targets (with current defaults).

---------

Co-authored-by: Michael Li <michael.li@hashicorp.com>
2024-01-05 07:43:20 -08:00
Michael Li ec8902ec68 test(e2e): Add docker-based infra scenario for Admin UI tests (#4166)
* chore(e2e): Add docker-based scenario for Admin UI tests

* test(e2e): Trim space in worker_led_token output
2023-12-22 10:10:29 -05:00
Michael Li b696f1653d test(e2e): Add worker ip to aws tests (#4153) 2023-12-14 13:48:29 -05:00
Michael Li 600a2dff24 test(e2e): Add rate limit test (#4135) (#4143)
* test(e2e): Add rate limit test (#4135)

(cherry picked from commit 9bf350d622a14ea39feaca29861c738a5deff9bb)

* test(e2e): Modify rate limit test due to timing issues (#4145)

The rate limit test was running into failures due to some hard-coded assumptions (waiting for a command to last longer than 3 seconds to determine if the CLI auto-retried). This change makes it more resilient.

(cherry picked from commit 3535f15922c37fda5457f02cf8ae894203359042)
2023-12-13 10:17:04 -05:00
Michael Li 093f889333 test(e2e): Add test for LDAP (#4061)
* test(e2e): Add test for LDAP

This adds the infrastructure and a test for an LDAP workflow

* test(e2e): Refactor test packages

This reduces the number of scenarios needed

* CR

* fixup! test(e2e): Add test for LDAP
2023-11-28 16:25:26 -05:00
Michael Li b0127116f3 test(e2e): Add test for worker-led worker registration (#4014)
* refact(e2e): Create module to run boundary commands

* test(e2e): Add worker-led registration test
2023-11-09 09:55:47 -05:00
Michael Li 466b5e20ea test(e2e): Add support for -additional-valid-principals test (#3966)
* test(e2e): Remove unnecessary error checks

* test(e2e): Install docker cli in test runner
2023-10-31 17:06:14 -04:00
Michael Li f0a4bce17c test(e2e): Add test for controller-led worker registration (#3882)
* test(e2e): Add test for controller led worker registration

* chore(e2e): Rename log files to ensure uniqueness

This updates the log files to be based on the scenario name instead of just the test package in case some scenarios run the same test package
2023-10-30 09:48:08 -04:00
Michael Li 752f20fa27 test(e2e): Wait until target ec2 instance is ready to be used (#3910) 2023-10-24 18:20:02 -04:00
Michael Li 82b3f202c0 chore(e2e): Add GetUserPolicy permission to service user (#3877) 2023-10-20 15:12:01 -04:00
Michael Li 29a4d8c4d9 test(e2e): Change deadlock timeout to default (#3874)
This was occasionally causing some flaky behavior in tests. Removing this setting to use the default timeout value.
2023-10-20 14:03:11 -04:00
Michael Li 578d87081a test(e2e): Add test with scp operations (#3812)
* chore(e2e): Allow ssh to targets to assist with debugging

* test(e2e): Add test with scp operations

* CR: Use io.CopyN to optimize memory allocation

This mitigates the need to allocate a 256K string
2023-10-10 14:55:51 -04:00
Michael Li 9c9e033271 chore(enos): Move terraform-enos-aws-boundary to boundary (#3773)
* chore(enos): Move `terraform-enos-aws-boundary` to `boundary`

* chore(enos): Rename module tag

* chore(enos): Refactor module names

* fixup! chore(enos): Move `terraform-enos-aws-boundary` to `boundary`

* fixup! chore(enos): Move `terraform-enos-aws-boundary` to `boundary`

* chore(enos): Refactored hard-coded module tag
2023-10-10 09:28:04 -04:00
Michael Li 16a29ae9ab chore(enos): Provide boundary edition when building UI (#3781) 2023-09-27 17:40:45 -04:00
Michael Li 12c12f378a chore(enos): Move terraform-enos-aws-infra to boundary (#3745)
* chore(enos): Move terraform-enos-aws-infra to boundary

The terraform-enos-aws-infra repo was a terraform module to set up the base aws infrastructure. Vault made some local updates that might mitigate flakiness we've been seeing ("can't delete due to dependencies" error). We are replacing our usage of that module Vault's local copy.

* chore(enos): Modify service user to allow DeleteRoute

* fixup! chore(enos): Move terraform-enos-aws-infra to boundary

* chore(enos): Rename variable for clarity
2023-09-20 11:07:50 -04:00
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