diff --git a/Makefile b/Makefile index de3d7e959..a1482627b 100644 --- a/Makefile +++ b/Makefile @@ -10,13 +10,9 @@ ifeq (, $(shell which protoc)) endif all: protos - ./tools/GENERATE-APG.sh + ./tools/GENERATE-CLI.sh go install ./... -apg: protoc - ./tools/GENERATE-APG.sh - go install ./cmd/apg - protos: protoc ./tools/GENERATE-RPC.sh ./tools/GENERATE-GRPC.sh diff --git a/cmd/apg/README.md b/cmd/apg/README.md deleted file mode 100644 index fb258793e..000000000 --- a/cmd/apg/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# apg - -`apg` is a command-line interface for the Registry API that is automatically -generated by [tools/GENERATE-APG.sh](/tools/GENERATE-APG.sh) using -[protoc-gen-go_cli](https://github.com/googleapis/gapic-generator-go/tree/main/cmd/protoc-gen-go_cli). -Every method of the Registry API is supported. Higher-level abstractions and -utilities are in the handwritten [registry](/cmd/registry) tool. - -## Usage - -Run `apg help` for general information and `apg registry help` for a list of -supported API operations. - -## Configuration - -`apg` is configured with environment variables that are set by authorization -scripts in the [auth](/auth) directory of this project. This includes the -address of the Registry API server and authentication tokens. diff --git a/cmd/registry/cmd/root.go b/cmd/registry/cmd/root.go index 476807a7d..a3fbccd44 100644 --- a/cmd/registry/cmd/root.go +++ b/cmd/registry/cmd/root.go @@ -29,6 +29,9 @@ import ( "github.com/apigee/registry/cmd/registry/cmd/resolve" "github.com/apigee/registry/cmd/registry/cmd/upload" "github.com/apigee/registry/cmd/registry/cmd/vocabulary" + + "github.com/apigee/registry/cmd/registry/cmd/rpc" + "github.com/spf13/cobra" ) @@ -57,6 +60,23 @@ func Command() *cobra.Command { cmd.AddCommand(list.Command()) cmd.AddCommand(upload.Command()) cmd.AddCommand(vocabulary.Command()) + cmd.AddCommand(RPCCommand()) + return cmd +} + +func RPCCommand() *cobra.Command { + cmd := rpc.RegistryServiceCmd + cmd.Use = "rpc" + cmd.Short = "Make direct calls to RPC methods" + cmd.Long = cmd.Short + cmd.PersistentFlags().BoolVarP(&rpc.Verbose, "verbose", "v", false, "Print verbose output") + cmd.PersistentFlags().BoolVarP(&rpc.OutputJSON, "json", "j", false, "Print JSON output") + + rpc.AdminServiceCmd.Use = "admin" + rpc.AdminServiceCmd.Short = "Make direct calls to Admin RPC methods (self-hosted installations only)" + rpc.AdminServiceCmd.Long = rpc.AdminServiceCmd.Short + rpc.AdminServiceCmd.Hidden = true + cmd.AddCommand(rpc.AdminServiceCmd) return cmd } diff --git a/cmd/registry/cmd/rpc/README.md b/cmd/registry/cmd/rpc/README.md new file mode 100644 index 000000000..9c6be8186 --- /dev/null +++ b/cmd/registry/cmd/rpc/README.md @@ -0,0 +1,2 @@ +The files in this directory are automatically generated by +[tools/GENERATE-CLI](/tools/GENERATE-CLI.sh). diff --git a/cmd/apg/admin_service.go b/cmd/registry/cmd/rpc/admin_service.go similarity index 64% rename from cmd/apg/admin_service.go rename to cmd/registry/cmd/rpc/admin_service.go index c29e0eb0d..0223658da 100644 --- a/cmd/apg/admin_service.go +++ b/cmd/registry/cmd/rpc/admin_service.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "fmt" @@ -34,21 +34,6 @@ func init() { AdminConfig.SetEnvPrefix("APG_REGISTRY") AdminConfig.AutomaticEnv() - AdminServiceCmd.PersistentFlags().Bool("insecure", false, "Make insecure client connection. Or use APG_REGISTRY_INSECURE. Must be used with \"address\" option") - AdminConfig.BindPFlag("insecure", AdminServiceCmd.PersistentFlags().Lookup("insecure")) - AdminConfig.BindEnv("insecure") - - AdminServiceCmd.PersistentFlags().String("address", "", "Set API address used by client. Or use APG_REGISTRY_ADDRESS.") - AdminConfig.BindPFlag("address", AdminServiceCmd.PersistentFlags().Lookup("address")) - AdminConfig.BindEnv("address") - - AdminServiceCmd.PersistentFlags().String("token", "", "Set Bearer token used by the client. Or use APG_REGISTRY_TOKEN.") - AdminConfig.BindPFlag("token", AdminServiceCmd.PersistentFlags().Lookup("token")) - AdminConfig.BindEnv("token") - - AdminServiceCmd.PersistentFlags().String("api_key", "", "Set API Key used by the client. Or use APG_REGISTRY_API_KEY.") - AdminConfig.BindPFlag("api_key", AdminServiceCmd.PersistentFlags().Lookup("api_key")) - AdminConfig.BindEnv("api_key") } var AdminServiceCmd = &cobra.Command{ diff --git a/cmd/apg/apg.go b/cmd/registry/cmd/rpc/apg.go similarity index 98% rename from cmd/apg/apg.go rename to cmd/registry/cmd/rpc/apg.go index abad73668..dedc98322 100644 --- a/cmd/apg/apg.go +++ b/cmd/registry/cmd/rpc/apg.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "bytes" diff --git a/cmd/apg/completion.go b/cmd/registry/cmd/rpc/completion.go similarity index 97% rename from cmd/apg/completion.go rename to cmd/registry/cmd/rpc/completion.go index 0065a9f00..7a7f5520a 100644 --- a/cmd/apg/completion.go +++ b/cmd/registry/cmd/rpc/completion.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "os" diff --git a/cmd/apg/create-api-deployment.go b/cmd/registry/cmd/rpc/create-api-deployment.go similarity index 99% rename from cmd/apg/create-api-deployment.go rename to cmd/registry/cmd/rpc/create-api-deployment.go index 56e15d9b0..a989dc0b6 100644 --- a/cmd/apg/create-api-deployment.go +++ b/cmd/registry/cmd/rpc/create-api-deployment.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/create-api-spec.go b/cmd/registry/cmd/rpc/create-api-spec.go similarity index 99% rename from cmd/apg/create-api-spec.go rename to cmd/registry/cmd/rpc/create-api-spec.go index 061153b82..f89a74c90 100644 --- a/cmd/apg/create-api-spec.go +++ b/cmd/registry/cmd/rpc/create-api-spec.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/create-api-version.go b/cmd/registry/cmd/rpc/create-api-version.go similarity index 99% rename from cmd/apg/create-api-version.go rename to cmd/registry/cmd/rpc/create-api-version.go index 4dfa682d1..f5e00e105 100644 --- a/cmd/apg/create-api-version.go +++ b/cmd/registry/cmd/rpc/create-api-version.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/create-api.go b/cmd/registry/cmd/rpc/create-api.go similarity index 99% rename from cmd/apg/create-api.go rename to cmd/registry/cmd/rpc/create-api.go index 389497e36..256ebdd53 100644 --- a/cmd/apg/create-api.go +++ b/cmd/registry/cmd/rpc/create-api.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/create-artifact.go b/cmd/registry/cmd/rpc/create-artifact.go similarity index 99% rename from cmd/apg/create-artifact.go rename to cmd/registry/cmd/rpc/create-artifact.go index 547fa6eb1..09360b935 100644 --- a/cmd/apg/create-artifact.go +++ b/cmd/registry/cmd/rpc/create-artifact.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/create-project.go b/cmd/registry/cmd/rpc/create-project.go similarity index 99% rename from cmd/apg/create-project.go rename to cmd/registry/cmd/rpc/create-project.go index 058e9b219..fc9199d52 100644 --- a/cmd/apg/create-project.go +++ b/cmd/registry/cmd/rpc/create-project.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/delete-api-deployment-revision.go b/cmd/registry/cmd/rpc/delete-api-deployment-revision.go similarity index 99% rename from cmd/apg/delete-api-deployment-revision.go rename to cmd/registry/cmd/rpc/delete-api-deployment-revision.go index 1ec096f26..7f1ec672a 100644 --- a/cmd/apg/delete-api-deployment-revision.go +++ b/cmd/registry/cmd/rpc/delete-api-deployment-revision.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/delete-api-deployment.go b/cmd/registry/cmd/rpc/delete-api-deployment.go similarity index 99% rename from cmd/apg/delete-api-deployment.go rename to cmd/registry/cmd/rpc/delete-api-deployment.go index 0c56ff607..edd354763 100644 --- a/cmd/apg/delete-api-deployment.go +++ b/cmd/registry/cmd/rpc/delete-api-deployment.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/delete-api-spec-revision.go b/cmd/registry/cmd/rpc/delete-api-spec-revision.go similarity index 99% rename from cmd/apg/delete-api-spec-revision.go rename to cmd/registry/cmd/rpc/delete-api-spec-revision.go index e1e156f87..0e5f08b3b 100644 --- a/cmd/apg/delete-api-spec-revision.go +++ b/cmd/registry/cmd/rpc/delete-api-spec-revision.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/delete-api-spec.go b/cmd/registry/cmd/rpc/delete-api-spec.go similarity index 99% rename from cmd/apg/delete-api-spec.go rename to cmd/registry/cmd/rpc/delete-api-spec.go index a22056e11..91d414a2f 100644 --- a/cmd/apg/delete-api-spec.go +++ b/cmd/registry/cmd/rpc/delete-api-spec.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/delete-api-version.go b/cmd/registry/cmd/rpc/delete-api-version.go similarity index 99% rename from cmd/apg/delete-api-version.go rename to cmd/registry/cmd/rpc/delete-api-version.go index 9ede10950..07898e9ff 100644 --- a/cmd/apg/delete-api-version.go +++ b/cmd/registry/cmd/rpc/delete-api-version.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/delete-api.go b/cmd/registry/cmd/rpc/delete-api.go similarity index 99% rename from cmd/apg/delete-api.go rename to cmd/registry/cmd/rpc/delete-api.go index 93612c692..a7283a252 100644 --- a/cmd/apg/delete-api.go +++ b/cmd/registry/cmd/rpc/delete-api.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/delete-artifact.go b/cmd/registry/cmd/rpc/delete-artifact.go similarity index 99% rename from cmd/apg/delete-artifact.go rename to cmd/registry/cmd/rpc/delete-artifact.go index 6212394cf..468d6d480 100644 --- a/cmd/apg/delete-artifact.go +++ b/cmd/registry/cmd/rpc/delete-artifact.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/delete-project.go b/cmd/registry/cmd/rpc/delete-project.go similarity index 99% rename from cmd/apg/delete-project.go rename to cmd/registry/cmd/rpc/delete-project.go index 9537e7529..308261768 100644 --- a/cmd/apg/delete-project.go +++ b/cmd/registry/cmd/rpc/delete-project.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/get-api-deployment.go b/cmd/registry/cmd/rpc/get-api-deployment.go similarity index 99% rename from cmd/apg/get-api-deployment.go rename to cmd/registry/cmd/rpc/get-api-deployment.go index e4d4dc62c..614f22ca3 100644 --- a/cmd/apg/get-api-deployment.go +++ b/cmd/registry/cmd/rpc/get-api-deployment.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/get-api-spec-contents.go b/cmd/registry/cmd/rpc/get-api-spec-contents.go similarity index 99% rename from cmd/apg/get-api-spec-contents.go rename to cmd/registry/cmd/rpc/get-api-spec-contents.go index 033dac777..d614fa5ad 100644 --- a/cmd/apg/get-api-spec-contents.go +++ b/cmd/registry/cmd/rpc/get-api-spec-contents.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/get-api-spec.go b/cmd/registry/cmd/rpc/get-api-spec.go similarity index 99% rename from cmd/apg/get-api-spec.go rename to cmd/registry/cmd/rpc/get-api-spec.go index 13b6f9cc3..a8cd40150 100644 --- a/cmd/apg/get-api-spec.go +++ b/cmd/registry/cmd/rpc/get-api-spec.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/get-api-version.go b/cmd/registry/cmd/rpc/get-api-version.go similarity index 99% rename from cmd/apg/get-api-version.go rename to cmd/registry/cmd/rpc/get-api-version.go index 12b2e92b8..65399beeb 100644 --- a/cmd/apg/get-api-version.go +++ b/cmd/registry/cmd/rpc/get-api-version.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/get-api.go b/cmd/registry/cmd/rpc/get-api.go similarity index 99% rename from cmd/apg/get-api.go rename to cmd/registry/cmd/rpc/get-api.go index bf5ac5061..fc7131f9c 100644 --- a/cmd/apg/get-api.go +++ b/cmd/registry/cmd/rpc/get-api.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/get-artifact-contents.go b/cmd/registry/cmd/rpc/get-artifact-contents.go similarity index 99% rename from cmd/apg/get-artifact-contents.go rename to cmd/registry/cmd/rpc/get-artifact-contents.go index 175fce0c1..8f6ab9563 100644 --- a/cmd/apg/get-artifact-contents.go +++ b/cmd/registry/cmd/rpc/get-artifact-contents.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/get-artifact.go b/cmd/registry/cmd/rpc/get-artifact.go similarity index 99% rename from cmd/apg/get-artifact.go rename to cmd/registry/cmd/rpc/get-artifact.go index 3e8c43ba0..d687af496 100644 --- a/cmd/apg/get-artifact.go +++ b/cmd/registry/cmd/rpc/get-artifact.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/get-project.go b/cmd/registry/cmd/rpc/get-project.go similarity index 99% rename from cmd/apg/get-project.go rename to cmd/registry/cmd/rpc/get-project.go index 08e98897e..a9dee62dd 100644 --- a/cmd/apg/get-project.go +++ b/cmd/registry/cmd/rpc/get-project.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/get-status.go b/cmd/registry/cmd/rpc/get-status.go similarity index 98% rename from cmd/apg/get-status.go rename to cmd/registry/cmd/rpc/get-status.go index f5096d80f..36d8d23a4 100644 --- a/cmd/apg/get-status.go +++ b/cmd/registry/cmd/rpc/get-status.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/get-storage.go b/cmd/registry/cmd/rpc/get-storage.go similarity index 98% rename from cmd/apg/get-storage.go rename to cmd/registry/cmd/rpc/get-storage.go index b7b16f9a4..30d65a868 100644 --- a/cmd/apg/get-storage.go +++ b/cmd/registry/cmd/rpc/get-storage.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/list-api-deployment-revisions.go b/cmd/registry/cmd/rpc/list-api-deployment-revisions.go similarity index 99% rename from cmd/apg/list-api-deployment-revisions.go rename to cmd/registry/cmd/rpc/list-api-deployment-revisions.go index e04870a5b..05ef4b255 100644 --- a/cmd/apg/list-api-deployment-revisions.go +++ b/cmd/registry/cmd/rpc/list-api-deployment-revisions.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/list-api-deployments.go b/cmd/registry/cmd/rpc/list-api-deployments.go similarity index 99% rename from cmd/apg/list-api-deployments.go rename to cmd/registry/cmd/rpc/list-api-deployments.go index eb6461155..3620df921 100644 --- a/cmd/apg/list-api-deployments.go +++ b/cmd/registry/cmd/rpc/list-api-deployments.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/list-api-spec-revisions.go b/cmd/registry/cmd/rpc/list-api-spec-revisions.go similarity index 99% rename from cmd/apg/list-api-spec-revisions.go rename to cmd/registry/cmd/rpc/list-api-spec-revisions.go index 461596459..655818e9c 100644 --- a/cmd/apg/list-api-spec-revisions.go +++ b/cmd/registry/cmd/rpc/list-api-spec-revisions.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/list-api-specs.go b/cmd/registry/cmd/rpc/list-api-specs.go similarity index 99% rename from cmd/apg/list-api-specs.go rename to cmd/registry/cmd/rpc/list-api-specs.go index 72f0be40d..5d5d097ab 100644 --- a/cmd/apg/list-api-specs.go +++ b/cmd/registry/cmd/rpc/list-api-specs.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/list-api-versions.go b/cmd/registry/cmd/rpc/list-api-versions.go similarity index 99% rename from cmd/apg/list-api-versions.go rename to cmd/registry/cmd/rpc/list-api-versions.go index 7bd49fa4b..b51877419 100644 --- a/cmd/apg/list-api-versions.go +++ b/cmd/registry/cmd/rpc/list-api-versions.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/list-apis.go b/cmd/registry/cmd/rpc/list-apis.go similarity index 99% rename from cmd/apg/list-apis.go rename to cmd/registry/cmd/rpc/list-apis.go index 1df735ad1..b0dc21443 100644 --- a/cmd/apg/list-apis.go +++ b/cmd/registry/cmd/rpc/list-apis.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/list-artifacts.go b/cmd/registry/cmd/rpc/list-artifacts.go similarity index 99% rename from cmd/apg/list-artifacts.go rename to cmd/registry/cmd/rpc/list-artifacts.go index 0ec368263..9ef09aada 100644 --- a/cmd/apg/list-artifacts.go +++ b/cmd/registry/cmd/rpc/list-artifacts.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/list-projects.go b/cmd/registry/cmd/rpc/list-projects.go similarity index 99% rename from cmd/apg/list-projects.go rename to cmd/registry/cmd/rpc/list-projects.go index d94ca5491..ac8378d8e 100644 --- a/cmd/apg/list-projects.go +++ b/cmd/registry/cmd/rpc/list-projects.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/migrate-database.go b/cmd/registry/cmd/rpc/migrate-database.go similarity index 99% rename from cmd/apg/migrate-database.go rename to cmd/registry/cmd/rpc/migrate-database.go index 4013ba6f1..3fbe78312 100644 --- a/cmd/apg/migrate-database.go +++ b/cmd/registry/cmd/rpc/migrate-database.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/registry_service.go b/cmd/registry/cmd/rpc/registry_service.go similarity index 70% rename from cmd/apg/registry_service.go rename to cmd/registry/cmd/rpc/registry_service.go index 2a0fe034a..5c8a2e1e1 100644 --- a/cmd/apg/registry_service.go +++ b/cmd/registry/cmd/rpc/registry_service.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "fmt" @@ -61,21 +61,6 @@ func init() { RegistryConfig.SetEnvPrefix("APG_REGISTRY") RegistryConfig.AutomaticEnv() - RegistryServiceCmd.PersistentFlags().Bool("insecure", false, "Make insecure client connection. Or use APG_REGISTRY_INSECURE. Must be used with \"address\" option") - RegistryConfig.BindPFlag("insecure", RegistryServiceCmd.PersistentFlags().Lookup("insecure")) - RegistryConfig.BindEnv("insecure") - - RegistryServiceCmd.PersistentFlags().String("address", "", "Set API address used by client. Or use APG_REGISTRY_ADDRESS.") - RegistryConfig.BindPFlag("address", RegistryServiceCmd.PersistentFlags().Lookup("address")) - RegistryConfig.BindEnv("address") - - RegistryServiceCmd.PersistentFlags().String("token", "", "Set Bearer token used by the client. Or use APG_REGISTRY_TOKEN.") - RegistryConfig.BindPFlag("token", RegistryServiceCmd.PersistentFlags().Lookup("token")) - RegistryConfig.BindEnv("token") - - RegistryServiceCmd.PersistentFlags().String("api_key", "", "Set API Key used by the client. Or use APG_REGISTRY_API_KEY.") - RegistryConfig.BindPFlag("api_key", RegistryServiceCmd.PersistentFlags().Lookup("api_key")) - RegistryConfig.BindEnv("api_key") } var RegistryServiceCmd = &cobra.Command{ diff --git a/cmd/apg/replace-artifact.go b/cmd/registry/cmd/rpc/replace-artifact.go similarity index 99% rename from cmd/apg/replace-artifact.go rename to cmd/registry/cmd/rpc/replace-artifact.go index eeedcfe31..ad7fb5a56 100644 --- a/cmd/apg/replace-artifact.go +++ b/cmd/registry/cmd/rpc/replace-artifact.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/rollback-api-deployment.go b/cmd/registry/cmd/rpc/rollback-api-deployment.go similarity index 99% rename from cmd/apg/rollback-api-deployment.go rename to cmd/registry/cmd/rpc/rollback-api-deployment.go index 91f5f4eee..470721f7f 100644 --- a/cmd/apg/rollback-api-deployment.go +++ b/cmd/registry/cmd/rpc/rollback-api-deployment.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/rollback-api-spec.go b/cmd/registry/cmd/rpc/rollback-api-spec.go similarity index 99% rename from cmd/apg/rollback-api-spec.go rename to cmd/registry/cmd/rpc/rollback-api-spec.go index 66921a31b..1f181d67d 100644 --- a/cmd/apg/rollback-api-spec.go +++ b/cmd/registry/cmd/rpc/rollback-api-spec.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/tag-api-deployment-revision.go b/cmd/registry/cmd/rpc/tag-api-deployment-revision.go similarity index 99% rename from cmd/apg/tag-api-deployment-revision.go rename to cmd/registry/cmd/rpc/tag-api-deployment-revision.go index 99ec39ba5..ef72263b0 100644 --- a/cmd/apg/tag-api-deployment-revision.go +++ b/cmd/registry/cmd/rpc/tag-api-deployment-revision.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/tag-api-spec-revision.go b/cmd/registry/cmd/rpc/tag-api-spec-revision.go similarity index 99% rename from cmd/apg/tag-api-spec-revision.go rename to cmd/registry/cmd/rpc/tag-api-spec-revision.go index 3ecc622ed..2ce5e4a74 100644 --- a/cmd/apg/tag-api-spec-revision.go +++ b/cmd/registry/cmd/rpc/tag-api-spec-revision.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/update-api-deployment.go b/cmd/registry/cmd/rpc/update-api-deployment.go similarity index 99% rename from cmd/apg/update-api-deployment.go rename to cmd/registry/cmd/rpc/update-api-deployment.go index 5ad5974aa..c863898cb 100644 --- a/cmd/apg/update-api-deployment.go +++ b/cmd/registry/cmd/rpc/update-api-deployment.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/update-api-spec.go b/cmd/registry/cmd/rpc/update-api-spec.go similarity index 99% rename from cmd/apg/update-api-spec.go rename to cmd/registry/cmd/rpc/update-api-spec.go index 429e30554..5ed076ddc 100644 --- a/cmd/apg/update-api-spec.go +++ b/cmd/registry/cmd/rpc/update-api-spec.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/update-api-version.go b/cmd/registry/cmd/rpc/update-api-version.go similarity index 99% rename from cmd/apg/update-api-version.go rename to cmd/registry/cmd/rpc/update-api-version.go index 07d1427b9..e52844fc7 100644 --- a/cmd/apg/update-api-version.go +++ b/cmd/registry/cmd/rpc/update-api-version.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/update-api.go b/cmd/registry/cmd/rpc/update-api.go similarity index 99% rename from cmd/apg/update-api.go rename to cmd/registry/cmd/rpc/update-api.go index 4c7f13466..0ed9d148a 100644 --- a/cmd/apg/update-api.go +++ b/cmd/registry/cmd/rpc/update-api.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/cmd/apg/update-project.go b/cmd/registry/cmd/rpc/update-project.go similarity index 99% rename from cmd/apg/update-project.go rename to cmd/registry/cmd/rpc/update-project.go index 9a80590e0..97bbe1ae8 100644 --- a/cmd/apg/update-project.go +++ b/cmd/registry/cmd/rpc/update-project.go @@ -1,6 +1,6 @@ // Code generated. DO NOT EDIT. -package main +package rpc import ( "github.com/spf13/cobra" diff --git a/containers/README.md b/containers/README.md index 9af3b8626..302cbe0dd 100644 --- a/containers/README.md +++ b/containers/README.md @@ -6,5 +6,5 @@ containers containing `registry-server` and related tools. Use `registry-server/Dockerfile` to build a container with `registry-server` only. -Use `registry-tools/Dockerfile` to build a container with `apg` and the -`registry` tool. +Use `registry-tools/Dockerfile` to build a container with and the `registry` +tool. diff --git a/containers/registry-tools/Dockerfile b/containers/registry-tools/Dockerfile index 3cedc5d74..a7759af53 100644 --- a/containers/registry-tools/Dockerfile +++ b/containers/registry-tools/Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# This Dockerfile builds an image that contains the registry tool and the apg CLI. +# This Dockerfile builds an image that contains the registry tool. # Use the official Golang image to create a build artifact. # This is based on Debian and sets the GOPATH to /go. @@ -35,11 +35,6 @@ COPY . ./ # Build registry. RUN CGO_ENABLED=0 GOOS=linux go build -v -o registry ./cmd/registry -# Build apg. -RUN ./tools/FETCH-PROTOC.sh -RUN make apg -RUN CGO_ENABLED=0 GOOS=linux go build -v -o apg ./cmd/apg - # Use the official Alpine image for a lean production container. # https://hub.docker.com/_/alpine # https://docs.docker.com/develop/develop-images/multistage-build/#use-multi-stage-builds @@ -52,4 +47,3 @@ RUN apk add --no-cache bash git curl jq # Copy binaries to the production image from the builder stage. COPY --from=builder /app/registry /bin/registry -COPY --from=builder /app/apg /bin/apg diff --git a/tools/GENERATE-APG.sh b/tools/GENERATE-CLI.sh similarity index 52% rename from tools/GENERATE-APG.sh rename to tools/GENERATE-CLI.sh index bffa1a3a9..3c27ef54c 100755 --- a/tools/GENERATE-APG.sh +++ b/tools/GENERATE-CLI.sh @@ -29,17 +29,35 @@ protoc ${SERVICE_PROTOS[*]} \ --proto_path=$COMMON_PROTOS_PATH \ --go_cli_opt='root=apg' \ --go_cli_opt='gapic=github.com/apigee/registry/gapic' \ - --go_cli_out='cmd/apg' + --go_cli_out='cmd/registry/cmd/rpc' + +# Patch the generated CLI to be importable as a module. +find cmd/registry/cmd/rpc -name "*.go" -type f -exec sed -i.bak "s/package main/package rpc/g" {} \; + +# Remove local connection configuration flags from the generated Registry service CLI +# to avoid confusion. These flags are not supported by the non-generated subcommands +# of the main tool. +REGISTRY_SERVICE=cmd/registry/cmd/rpc/registry_service.go +sed -i.bak "/RegistryServiceCmd\.PersistentFlags/d" "${REGISTRY_SERVICE}" +sed -i.bak "/RegistryConfig\.Bind/d" "${REGISTRY_SERVICE}" + +# Remove local connection configuration flags from the generated Admin service CLI. +ADMIN_SERVICE=cmd/registry/cmd/rpc/admin_service.go +sed -i.bak "/AdminServiceCmd\.PersistentFlags/d" "${ADMIN_SERVICE}" +sed -i.bak "/AdminConfig\.Bind/d" "${ADMIN_SERVICE}" # Patch the generated CLI to use "APG_REGISTRY" as the prefix for # Admin service configuration variables. This causes the Admin service # client to be configured with the same variables that configure the # Registry service client. -FILE=cmd/apg/admin_service.go -sed -i.bak "s/APG_ADMIN/APG_REGISTRY/" "${FILE}" -rm "${FILE}.bak" -gofmt -w "${FILE}" -if grep --quiet APG_ADMIN "${FILE}"; then - echo "Patching APG tool failed." +sed -i.bak "s/APG_ADMIN/APG_REGISTRY/" "${ADMIN_SERVICE}" +if grep --quiet APG_ADMIN "${ADMIN_SERVICE}"; then + echo "Patching CLI failed." exit 1 fi + +# Format the files with significant patches. +gofmt -w ${REGISTRY_SERVICE} ${ADMIN_SERVICE} + +# Remove all the sed-generated backup files. +rm cmd/registry/cmd/rpc/*.bak \ No newline at end of file