* chore: update deps
* tests: update sqlmock tests for breaking chg
* tests (handlers): sort grants in checkEqualGrants(...)
sort the expected and got grants in
checkEqualGrants(...) to make the test more
deterministic.
* tests (asciicast): update backspace enc in TestEventMarshal(...)
* proto: correct classification of authz token
The target authorization token had the invalid classification
"private". Fortunately, classification is a fail-closed system,
so this won't have exposed users authorization tokens, but
we should still use the correct classification. Use "secret".
* scripts: add Go script to remove gotags comments
The new version of grpc-gateway includes our gotags
comments in the generate swagger documentation. This
script removes all mentions of these.
* Upgrade grpc-gateway dependency
Mainly we need this to fix generation of our docs side API docs,
but it also includes a nice fix for the new Download RPC, i.e. it
now contains the correct response schema (a binary stream).
* chore(deps): Update grpc-gateway dependency
This fixes an issue which would allow an attacker to trigger a
(recovered) panic in the gateway handler.
* fix(server): Use cmp.Diff instead of assert.Equal
Testify is not great at handling protobuf types, and
was for some reason returning a diff here when in
reality there is none. Switch to go-cmp for the
comparison to remove the error.
* Scopes inline version into update request body.
* Users inline version into update request body.
* Group inline version into update and add|set|remove member request body.
* Role inline version into update and add|set|remove grant|principal request body.
* Auth method inline version into update request body.
* Auth Account inline version into update request body.
* host catalog version is inlined for update.
* Gen after merge.
* Submitting template changes for version handling.
* carve out scope into a separate branch for a PR
* refactor getOpts to be private
* narrowed to just the scope proto
* wrap in a transaction
* remove user from scopes PR
* make scope type immutable
* refactored with more referential integrity (thanks mike)
* refactor based on pair programming with Mike
* better VetForWrite that supports db.Options but that requires GetOpts and Options to be exported.
* stop printing out all the db logs
* refactor withScope to be private
* refactor the VetForWrite a bit based on Todd's PR comment
* fix typo
Co-authored-by: Michael Gaffney <mgaffney@users.noreply.github.com>
* fix ctx propagation and Scope returns
* fix ctx propagation and use a const for std retry count
* change Std to Crud
* fix ctx propagation
* make sure update with field masks doesn't update a field not in the mask and force a read after update.
* add description
* remove comment about future
* clean error strings
* clean up enum string rep
* stdMeta
* fix return value to be just nil
* fix returns and errors
* update test to match new error string
* change len of domain to 24
* provide common function for new public ids
* use common db.NewPublicId() and provide the correct prefix
* move list out of CrudActions and provide a CrudlActions shortcut as well
* some comments about the purpose of VetForWrite()
* move to random 10
* Adding project API interface.
* Creation of Project handler and Tests
* Move to using the iam objects.
* Setting up testify framework for mocking and assertions.
* Fix iam options typo references.
* Adding tests for CreateProject and UpdateProject.
This also adds some additional argument validation.
* Merging in PR 40
* Renamed fakeRepo to mockRepo
* Changing around TODOs to capture current plans with the code.
* Remove the repo interface and use a real DB for tests.
* Fixed a few tests.
* Adding checks for properly formatted identifiers.
* Updating code to account for recent merges. Relaxing some restrictions on what an id can look like.
* Added small comment explaining why RegisterGrpcGatewayer interface exists.
* Move project service up a call level.
Long term I think it would make sense to define these services even higher up the call stack, potentially at the initialization of the controller server, near where the DB is initialized.
* Making these fields align with those in the resources under hosts/...
* Hard code the service initialization in the handler registration code.
* Regenerate project related code proto code.
* Removing type field for project.
* Adds basic project handling in CLI/SDK (#47)
* Adds SDK for creating and reading projects
* Reorganizes a bit
* Adds CLI for creating and reading projects
* Fixes some some generation bugs
* Adds redirect support for default org ID
* Fix protobuf import references being moved.
* Update client test to look for "orgs" and "projects" instead of "org" and "project"
* Update expected segments test
* Fix setAddr handling when default organization is in use
* Set client in target after create or read
* Adding functionality and tests for update masks.
* Additional tests for update. Disable update non existant project test.
* Make not providing an update mask be an invalid argument.
* Make empty update mask paths and no mutable fields in the path an InvalidArgument error.
* Fix get Project test.
* Adding back in the Update a non existant project test case.
* Adding seperate path structured tests.
* Attach an issue id to field mask validation TODO.
* Generate Project Update SDK code (#58)
* Created the UpdateFunction method.
* Regenerate protobuf derived code since pull #50 updated dependencies.
* Special case IDs to not be passed for updates.
* Updated the tools file since imports reordered it.
* Add spaces between each tools import/comment grouping.
Co-authored-by: Jim Lambert <jimlambrt@Jims-MBP-3.home>
Co-authored-by: Jim <jlambert@hashicorp.com>
Co-authored-by: Michael Gaffney <mgaffney@users.noreply.github.com>
Co-authored-by: Jeff Mitchell <jeffrey.mitchell@gmail.com>
This was generating fine before but it makes it explicit in the proto
and it avoids weirdness where the protobuf tag will say a name is
something like requestId where the json tag says it's request_id. This
way they line up.
One thing not honoring this properly is TraceId. I don't know why the
JSON tag being generated doesn't match even when explicitly set here.
For now I'm just manually fixing it.