Commit Graph
40 Commits
Author SHA1 Message Date
dependabot[bot] 21340fdf79 chore(deps): bump go.opentelemetry.io/otel from 1.39.0 to 1.41.0 (#37)
Bumps [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go) from 1.39.0 to 1.41.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.39.0...v1.41.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel
  dependency-version: 1.41.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-11 22:39:58 -07:00
dependabot[bot] fbdec31a30 chore(deps): bump google.golang.org/grpc from 1.66.0 to 1.79.3 (#35)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.66.0 to 1.79.3.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.66.0...v1.79.3)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.79.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-22 21:11:53 -07:00
adityawalvekar 6acda262d2 Fix: handle failure of key deletion and rollback (#36)
* Fix: handle failure of key deletion and rollback

* Address review comments

* Fix error messages

* Review comments - Add info in error messages

* Change error code as per review comment
2026-04-14 12:09:17 +05:30
dependabot[bot] 5677905e16 chore(deps): bump golang.org/x/crypto from 0.36.0 to 0.45.0 (#33)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.36.0 to 0.45.0.
- [Commits](https://github.com/golang/crypto/compare/v0.36.0...v0.45.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.45.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-25 22:07:59 -08:00
oss-core-libraries-dashboard[bot]andhashicorp-copywrite[bot] 92a5d6424a [COMPLIANCE] Update Copyright and License Headers (#34)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2026-01-16 15:54:58 -08:00
compliance-pr-automation-bot[bot]andcompliance-pr-automation[bot] 4e5cd298d6 [Compliance] - PR Template Changes Required (#32)
Co-authored-by: compliance-pr-automation[bot] <1425255+compliance-pr-automation-bot[bot]@users.noreply.github.com>
2025-09-10 14:01:57 -04:00
dependabot[bot] b5332e277b chore(deps): bump golang.org/x/oauth2 from 0.22.0 to 0.27.0 (#31)
Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.22.0 to 0.27.0.
- [Commits](https://github.com/golang/oauth2/compare/v0.22.0...v0.27.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-version: 0.27.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-18 14:51:53 -04:00
dependabot[bot] 317e51b73c chore(deps): bump golang.org/x/net from 0.36.0 to 0.38.0 (#30)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.36.0 to 0.38.0.
- [Commits](https://github.com/golang/net/compare/v0.36.0...v0.38.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.38.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-16 16:25:14 -07:00
dependabot[bot] 5c04b8a21e chore(deps): bump golang.org/x/net from 0.33.0 to 0.36.0 (#29)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.33.0 to 0.36.0.
- [Commits](https://github.com/golang/net/compare/v0.33.0...v0.36.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-18 09:37:00 -07:00
Elim Tsiagbey bcb928e4f9 fix: remove filter validation when no filters are provided (#28)
the check currently prevents Boundary from unsetting filter
v0.1.0
2025-01-09 11:52:13 -05:00
Elim Tsiagbey 877d285eef feat: update retry logic for validation call (#26)
* feat: update retry logic for validation call

- update validation for service account validation call to use `select` instead of `sleep`
- add `validateServiceAccountKeyTimeout` to config. This makes it easier to control the timeout from tests so tests do not have to run for long with the default timeout
2025-01-07 23:23:46 -05:00
Irena Rindos e17cbdb140 chore: update deps (#27) 2025-01-07 12:37:31 -05:00
David Kanney 295eb7a018 fix: add default filter when there are no filters (#25) 2024-12-18 15:27:52 -05:00
Elim Tsiagbey c04cb367ab feat: enhance service account key rotation with validation callback (#24)
* feat: enhance service account key rotation with validation callback

- add validation callback will enable the host service to validate the newly created key before the deleting the old key

- wrapped both the call to validate permissions and validate callback in a retry because sometimes it takes some time for the newly created key to be active on GCP services. This throws an error and prevents host catalog creation
2024-12-17 14:22:46 -05:00
Elim Tsiagbey 5b6541491e feat: Validate cred rotation during creation (#23)
Throw an error when creating a host catalog with credentials that are not rotatable but credential rotation has been enabled
2024-12-17 11:23:23 -05:00
Elim Tsiagbey d3a155bd3f test: add e2e tests (#21)
* test: add e2e tests

Spin up GCP resources for testing dynamic host catalogs. The resources are tested with tests that focus on credential changes and rotation for host catalog and host set creation and updates using labels.

- The tests all depend on each other so they need to run in order. - The test can also only be executed locally for now.
- The resources are cleaned up after the test as part of the test.
2024-11-25 11:17:01 -05:00
Elim Tsiagbey baa2c7a2e7 fix: Cred rotation (#20)
* fix: Cred rotation

- fix bug where the rotated service account key was not read. The response needs to be unmarshalled to pull out the values from th fields
- fix bug where the time stamp was not getting updated after rotating credentials
- fix bug where updates without setting a new secret fails
2024-11-20 10:22:21 -05:00
Louis Ruch 9acd3acf59 Update CODEOWNERS (#22) 2024-11-18 16:36:43 -08:00
hashicorp-copywrite[bot] cf0a591dcb [COMPLIANCE] Add Copyright and License Headers (#19)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2024-11-13 13:59:59 -05:00
Elim Tsiagbey 7076cd0bad fix: filter building (#17)
- update filter building for `dryRunValidation` to append with `AND`
- Add test coverage for filter building and dryRunValidation
2024-11-06 12:43:06 -05:00
Elim Tsiagbey 0d5cc5d444 feat: add miss license header (#18) 2024-11-06 12:42:28 -05:00
Elim Tsiagbey 89c8ee2d6d feat: Set default GCP Scope (#16)
* feat: Set default GCP Scope

Update the GCP credential configuration to include a default scope for GCP access. The default scope is set to `https://www.googleapis.com/auth/cloud-platform` as recommended by [GCP's Best Practice](https://cloud.google.com/compute/docs/access/service-accounts#scopes_best_practice). This allows controlling the service account's access by granting it IAM roles.
2024-10-30 13:58:45 -04:00
Elim Tsiagbey a75b9bd310 feat: Docs (#15)
* feat: Docs

- Add docs for GCP Dynamic Host Plugin
- Remove references of instances group since we do not currently support this
2024-10-29 12:52:56 -04:00
Elim Tsiagbey 779d383a24 feat: OnUpdateSet (#13) & ListHosts (#14)
* feat: OnUpdateSet

Add support for OnUpdateSet with validation. OnUpdateSet will validate he attributes passed to it and run a dryRunValidation with the new set

* feat: ListHosts (#14)

- Update list hosts to only support listing instances
- Update host client to support Instances API
- Add reading IPV6 Address by `Ipv6AccessConfigs`
- Add internal DNS which is the hostname
2024-10-28 13:10:44 -04:00
Elim Tsiagbey e4099a5f64 feat: onCreateSet
Add support for onCreateSet with validation.
- If a filter is not provided or a status is not set, a default filter of `status = running` is used.
- update `filters` field to be a slice instead of a string
- add dryRunValidation call to validate fields
2024-10-28 13:09:23 -04:00
Elim Tsiagbey beaa93d3d8 feat: NormalizeSetData (#11)
* feat: NormalizeSetData & NormalizeCatalogData

- Add support for always normalizing host set filters as an array. This implementation follows exactly what we do for AWS as well for consistency
- No-op for NormalizeCatalogData
2024-10-28 11:02:12 -04:00
Elim Tsiagbey ba53ae16b2 feat: OnDeleteCatalog (#10)
* feat: OnDeleteCatalog

Delete managed creds (creds we rotated previously) when a host catalog is deleted
2024-10-28 11:00:14 -04:00
Elim Tsiagbey 08fd6e5b01 feat: OnUpdate Host Catalog (#9)
* feat: OnUpdate Host Catalog

Add support for onUpdate host catalog
2024-10-28 10:48:26 -04:00
Elim Tsiagbey 6b917b170d feat: OnCreateCatalog (#8)
* feat: OnCreateCatalog

- Update onCreateCatalog to support credential rotation. Service authentication type creds will be rotated since we will have the credentials for the base service account without sufficient permissions.
- `onCreateCatalog` will also do a dry run validation to validate the credentials.
- The secrets and last rotated time will be returned
2024-10-21 10:47:06 -04:00
Elim Tsiagbey 636432f2fb feat: Rotate Service Account Key (#7)
* feat: Rotate Service Account Key

- Add support for rotating service account key
- Add a check to validate the permissions for the newly created service account key
- Remove `GetClient` for GCP config since HTTPClient is not an accepted form of authentication for all clients. Switching to using Google Credentials instead for authentication
2024-10-18 11:11:10 -04:00
Elim Tsiagbey be892acbd9 feat: GCP authentication (#5)
* feat: GCP authentication

Add authentication support for:
- authentication with service account key
- authentication with impersonating service account key
- authentication with application default credentials which are read from the environment

A HTTP client with a token set will be returned and used for authentication with all clients. for example
```
gcpClient, err := gcpConfig.GetClient(ctx)
if err != nil {
	log.Fatalf("Failed to get client: %v", err)
}

client, err := computeCloud.NewInstancesRESTClient(ctx, option.WithHTTPClient(gcpClient))
if err != nil {
	log.Fatalf("Failed to create client: %v", err)
}
```
2024-09-22 23:21:58 -04:00
Elim Tsiagbey eec01f7d69 feat: add attributes (#6)
add support for google host attributes:
- project_id (Required): The project ID associated with the service account
- zone (Required): The deployment area within a region
disable_credential_rotation (Optional): Disables credential rotation by the plugin
- client_email (Optional): The email address associated with the service account. The email address used to uniquely identify the service account. It is required for authentication and authorization. If it is not set, authentication will fail.
- target_service_account_id (Optional): The unique identifier for the service account that will be impersonated.
- disable_credential_rotation (Optional): Disable the rotation of google service account key associated with the plugin
2024-09-17 10:50:10 -04:00
Elim Tsiagbey 6588e10934 feat: package structure (#2)
Update structure to match other Boundary plugins which groups packages by service
2024-09-16 14:28:54 -04:00
Elim Tsiagbey cd73a74e1e feat: rename repository (#4)
Rename repository from `boundary-plugin-google` to `boundary-plugin-gcp`
2024-09-16 12:20:08 -04:00
Elim Tsiagbey b09755d302 Merge pull request #1 from hashicorp/initial-review
Initial commit of Google Cloud dynamic host catalog plugin
2024-09-12 16:24:14 -04:00
Rosemary Wang 9e63aea3ec Add more tests and comments for Godoc 2024-08-06 11:51:00 -04:00
Louis Ruch 714c26721d test: Run unit tests on push
s
2024-07-23 19:37:46 -07:00
Rosemary Wang cb6a2b5350 Fix imports after moving repository 2024-07-22 09:51:42 -04:00
Rosemary Wang e3daac2ce8 Initial commit 2024-07-11 11:15:47 -04:00
Rosemary Wang 2a9356fc04 Initial commit 2024-07-11 11:09:06 -04:00