Serge Bazanski | d7d6e02 | 2021-09-01 15:03:06 +0200 | [diff] [blame] | 1 | package rpc |
Serge Bazanski | 9ffa1f9 | 2021-09-01 15:42:23 +0200 | [diff] [blame] | 2 | |
| 3 | import ( |
Serge Bazanski | d7d6e02 | 2021-09-01 15:03:06 +0200 | [diff] [blame] | 4 | cpb "source.monogon.dev/metropolis/node/core/curator/proto/api" |
Serge Bazanski | 9ffa1f9 | 2021-09-01 15:42:23 +0200 | [diff] [blame] | 5 | apb "source.monogon.dev/metropolis/proto/api" |
| 6 | epb "source.monogon.dev/metropolis/proto/ext" |
| 7 | ) |
| 8 | |
Serge Bazanski | 3379a5d | 2021-09-09 12:56:40 +0200 | [diff] [blame^] | 9 | var ( |
| 10 | // nodePermissions are the set of metropolis.common.ext.authorization |
| 11 | // permissions automatically given to nodes when connecting to curator gRPC |
| 12 | // services, either locally or remotely. |
| 13 | nodePermissions = Permissions{ |
| 14 | epb.Permission_PERMISSION_READ_CLUSTER_STATUS: true, |
| 15 | } |
| 16 | ) |
| 17 | |
| 18 | // ClusterExternalServices is the interface containing all gRPC services that a |
| 19 | // Metropolis Cluster implements on its external interface. With the current |
| 20 | // implementation of Metropolis, this is all implemented by the Curator. |
| 21 | type ClusterExternalServices interface { |
Serge Bazanski | d7d6e02 | 2021-09-01 15:03:06 +0200 | [diff] [blame] | 22 | cpb.CuratorServer |
| 23 | apb.AAAServer |
| 24 | apb.ManagementServer |
Serge Bazanski | 9ffa1f9 | 2021-09-01 15:42:23 +0200 | [diff] [blame] | 25 | } |
| 26 | |
Serge Bazanski | 3379a5d | 2021-09-09 12:56:40 +0200 | [diff] [blame^] | 27 | // ClusterInternalServices is the interface containing all gRPC services that a |
| 28 | // Metropolis Cluster implements on its internal interface. Currently this is |
| 29 | // just the Curator service. |
| 30 | type ClusterInternalServices interface { |
| 31 | cpb.CuratorServer |
Serge Bazanski | d7d6e02 | 2021-09-01 15:03:06 +0200 | [diff] [blame] | 32 | } |
| 33 | |
Serge Bazanski | 3379a5d | 2021-09-09 12:56:40 +0200 | [diff] [blame^] | 34 | type ClusterServices interface { |
| 35 | ClusterExternalServices |
| 36 | ClusterInternalServices |
Serge Bazanski | 9ffa1f9 | 2021-09-01 15:42:23 +0200 | [diff] [blame] | 37 | } |