Skip to content

Commit

Permalink
[infra-proxy-service] Implement gRPC & HTTP APIs
Browse files Browse the repository at this point in the history
 - Add GetDataBags & GetDataBagItem APIs.
 - Added GetEnvironments & GetEnvironment APIs.

Signed-off-by: Vivek Singh <[email protected]>
  • Loading branch information
Vivek Singh committed Dec 6, 2019
1 parent 3d4cfb8 commit 529f839
Show file tree
Hide file tree
Showing 31 changed files with 3,482 additions and 142 deletions.
324 changes: 241 additions & 83 deletions api/external/infra_proxy/infra_proxy.pb.go

Large diffs are not rendered by default.

572 changes: 570 additions & 2 deletions api/external/infra_proxy/infra_proxy.pb.gw.go

Large diffs are not rendered by default.

72 changes: 70 additions & 2 deletions api/external/infra_proxy/infra_proxy.pb.policy-v1.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

72 changes: 70 additions & 2 deletions api/external/infra_proxy/infra_proxy.pb.policy-v2.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

40 changes: 38 additions & 2 deletions api/external/infra_proxy/infra_proxy.proto
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,16 @@ import "api/external/infra_proxy/request/orgs.proto";
import "api/external/infra_proxy/request/servers.proto";
import "api/external/infra_proxy/request/cookbooks.proto";
import "api/external/infra_proxy/request/roles.proto";
import "api/external/infra_proxy/request/databags.proto";
import "api/external/infra_proxy/request/environments.proto";
import "api/external/infra_proxy/request/clients.proto";

import "api/external/infra_proxy/response/orgs.proto";
import "api/external/infra_proxy/response/servers.proto";
import "api/external/infra_proxy/response/cookbooks.proto";
import "api/external/infra_proxy/response/roles.proto";
import "api/external/infra_proxy/response/databags.proto";
import "api/external/infra_proxy/response/environments.proto";
import "api/external/infra_proxy/response/clients.proto";

import "api/external/common/version/version.proto";
Expand Down Expand Up @@ -156,13 +160,45 @@ service InfraProxy {
};

rpc GetRole (infra_proxy.request.Role) returns (infra_proxy.response.Role) {
option (google.api.http).get = "/infra_proxy/servers/{server_id}/orgs/{org_id}/role/{name}";
option (google.api.http).get = "/infra_proxy/servers/{server_id}/orgs/{org_id}/roles/{name}";
option (chef.automate.api.policy).resource = "infra_proxy:servers:{server_id}:orgs:{org_id}/roles";
option (chef.automate.api.policy).action = "read";
option (chef.automate.api.iam.policy).resource = "infraProxy:servers:{server_id}:orgs:{org_id}:roles";
option (chef.automate.api.iam.policy).action = "infraProxy:serverOrgRoles:get";
};

rpc GetDataBags (infra_proxy.request.DataBags) returns (infra_proxy.response.DataBags) {
option (google.api.http).get = "/infra_proxy/servers/{server_id}/orgs/{org_id}/data_bags/{name}";
option (chef.automate.api.policy).resource = "infra_proxy:servers:{server_id}:orgs:{org_id}/data_bags";
option (chef.automate.api.policy).action = "read";
option (chef.automate.api.iam.policy).resource = "infraProxy:servers:{server_id}:orgs:{org_id}:data_bags";
option (chef.automate.api.iam.policy).action = "infraProxy:serverOrgDataBags:list";
};

rpc GetDataBagItem (infra_proxy.request.DataBag) returns (infra_proxy.response.DataBag) {
option (google.api.http).get = "/infra_proxy/servers/{server_id}/orgs/{org_id}/data_bags/{name}/{item}";
option (chef.automate.api.policy).resource = "infra_proxy:servers:{server_id}:orgs:{org_id}/data_bags";
option (chef.automate.api.policy).action = "read";
option (chef.automate.api.iam.policy).resource = "infraProxy:servers:{server_id}:orgs:{org_id}:data_bags";
option (chef.automate.api.iam.policy).action = "infraProxy:serverOrgDataBags:get";
};

rpc GetEnvironments (infra_proxy.request.Environments) returns (infra_proxy.response.Environments) {
option (google.api.http).get = "/infra_proxy/servers/{server_id}/orgs/{org_id}/environments";
option (chef.automate.api.policy).resource = "infra_proxy:servers:{server_id}:orgs:{org_id}/environments";
option (chef.automate.api.policy).action = "read";
option (chef.automate.api.iam.policy).resource = "infraProxy:servers:{server_id}:orgs:{org_id}:environments";
option (chef.automate.api.iam.policy).action = "infraProxy:serverOrgEnvironments:list";
};

rpc GetEnvironment (infra_proxy.request.Environment) returns (infra_proxy.response.Environment) {
option (google.api.http).get = "/infra_proxy/servers/{server_id}/orgs/{org_id}/environment/{name}";
option (chef.automate.api.policy).resource = "infra_proxy:servers:{server_id}:orgs:{org_id}/environments";
option (chef.automate.api.policy).action = "read";
option (chef.automate.api.iam.policy).resource = "infraProxy:servers:{server_id}:orgs:{org_id}:environments";
option (chef.automate.api.iam.policy).action = "infraProxy:serverOrgEnvironments:get";
};

rpc GetClients (infra_proxy.request.Clients) returns (infra_proxy.response.Clients) {
option (google.api.http).get = "/infra_proxy/servers/{server_id}/orgs/{org_id}/clients";
option (chef.automate.api.policy).resource = "infra_proxy:servers:{server_id}:orgs:{org_id}/clients";
Expand All @@ -172,7 +208,7 @@ service InfraProxy {
};

rpc GetClient (infra_proxy.request.Client) returns (infra_proxy.response.Client) {
option (google.api.http).get = "/infra_proxy/servers/{server_id}/orgs/{org_id}/role/{name}";
option (google.api.http).get = "/infra_proxy/servers/{server_id}/orgs/{org_id}/clients/{name}";
option (chef.automate.api.policy).resource = "infra_proxy:servers:{server_id}:orgs:{org_id}/clients";
option (chef.automate.api.policy).action = "read";
option (chef.automate.api.iam.policy).resource = "infraProxy:servers:{server_id}:orgs:{org_id}:clients";
Expand Down
Loading

0 comments on commit 529f839

Please sign in to comment.