diff --git a/README.md b/README.md index f12fbb8..e5e221f 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,6 @@ ## Table of Contents -- [options/v1/options_v1.proto](#options_v1_options_v1-proto) - - [AuthOptions](#options-v1-AuthOptions) - - - [File-level Extensions](#options_v1_options_v1-proto-extensions) - - [accounts/v1/accounts_v1.proto](#accounts_v1_accounts_v1-proto) - [AccountData](#accounts-v1-AccountData) - [AccountPassword](#accounts-v1-AccountPassword) @@ -19,49 +14,8 @@ - [SignInRequest](#accounts-v1-SignInRequest) - [SignUpRequest](#accounts-v1-SignUpRequest) - - [AccountManagementService](#accounts-v1-AccountManagementService) - -- [applications/v1/applications_v1.proto](#applications_v1_applications_v1-proto) - - [ApplicationFull](#applications-ApplicationFull) - - [ApplicationId](#applications-ApplicationId) - - [ApplicationMetadata](#applications-ApplicationMetadata) - - [ApplicationSpec](#applications-ApplicationSpec) - - [ApplicationSpec.ConfigEntry](#applications-ApplicationSpec-ConfigEntry) - - [CreateOptions](#applications-CreateOptions) - - [DeleteOptions](#applications-DeleteOptions) - - [GetOptions](#applications-GetOptions) - - [ListOptions](#applications-ListOptions) - - [OwnerId](#applications-OwnerId) - - [Token](#applications-Token) - - [UpdateOptions](#applications-UpdateOptions) - - - [Applications](#applications-Applications) - -- [email/v1/email_v1.proto](#email_v1_email_v1-proto) - - [ConfirmValidation](#email-ConfirmValidation) - - [RequestValidation](#email-RequestValidation) - - - [EmailValidation](#email-EmailValidation) - -- [environments/v1/environments_v1.proto](#environments_v1_environments_v1-proto) - - [CreateOptions](#environments-CreateOptions) - - [DeleteOptions](#environments-DeleteOptions) - - [EnvironmentFull](#environments-EnvironmentFull) - - [EnvironmentId](#environments-EnvironmentId) - - [EnvironmentMetadata](#environments-EnvironmentMetadata) - - [EnvironmentSpec](#environments-EnvironmentSpec) - - [GetOptions](#environments-GetOptions) - - [ListOptions](#environments-ListOptions) - - [OwnerId](#environments-OwnerId) - - [Token](#environments-Token) - - [UpdateOptions](#environments-UpdateOptions) - - - [Kubernetes](#environments-Kubernetes) - - [Location](#environments-Location) - - [Provider](#environments-Provider) - - [ServerType](#environments-ServerType) - - - [Environments](#environments-Environments) + - [AccountsService](#accounts-v1-AccountsService) + - [PublicAccountsService](#accounts-v1-PublicAccountsService) - [test/v1/test_v1.proto](#test_v1_test_v1-proto) - [PingRequest](#test-v1-PingRequest) @@ -72,49 +26,28 @@ - [TestAuthService](#test-v1-TestAuthService) - [TestNoAuthService](#test-v1-TestNoAuthService) +- [tokens/v1/tokens_v1.proto](#tokens_v1_tokens_v1-proto) + - [CreateTokenRequest](#tokens-v1-CreateTokenRequest) + - [CreateTokenResponse](#tokens-v1-CreateTokenResponse) + - [ForceTokenExpirationRequest](#tokens-v1-ForceTokenExpirationRequest) + - [GetTokenRequest](#tokens-v1-GetTokenRequest) + - [GetTokenResponse](#tokens-v1-GetTokenResponse) + - [ListTokensResponse](#tokens-v1-ListTokensResponse) + - [RegenerateTokenRequest](#tokens-v1-RegenerateTokenRequest) + - [RegenerateTokenResponse](#tokens-v1-RegenerateTokenResponse) + - [TokenMetadata](#tokens-v1-TokenMetadata) + - [TokenPermissions](#tokens-v1-TokenPermissions) + - [TokenUUID](#tokens-v1-TokenUUID) + - [TokenValue](#tokens-v1-TokenValue) + - [UpdateTokenRequest](#tokens-v1-UpdateTokenRequest) + - [UpdateTokenResponse](#tokens-v1-UpdateTokenResponse) + + - [TokensService](#tokens-v1-TokensService) + - [Scalar Value Types](#scalar-value-types) - -
- -## options/v1/options_v1.proto - - - - - -### AuthOptions - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| auth | [bool](#bool) | | When set to false, the auth interceptor will be skiped on the backend | - - - - - - - - - - - - -### File-level Extensions -| Extension | Type | Base | Number | Description | -| --------- | ---- | ---- | ------ | ----------- | -| auth_options | AuthOptions | .google.protobuf.MethodOptions | 50001 | | - - - - - - - @@ -268,582 +201,27 @@ Protobuf definitions for the accounts service. - + -### AccountManagementService +### AccountsService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| IsEmailVerified | [IsEmailVerifiedRequest](#accounts-v1-IsEmailVerifiedRequest) | [IsEmailVerifiedResponse](#accounts-v1-IsEmailVerifiedResponse) | Is email for the current account verified | +| RefreshSession | [.google.protobuf.Empty](#google-protobuf-Empty) | [.google.protobuf.Empty](#google-protobuf-Empty) | | +| TokenAuthorization | [.google.protobuf.Empty](#google-protobuf-Empty) | [.google.protobuf.Empty](#google-protobuf-Empty) | Authorize using long living tokens | + + + + +### PublicAccountsService Service for handling accounts that do not require authentication | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | SignIn | [SignInRequest](#accounts-v1-SignInRequest) | [.google.protobuf.Empty](#google-protobuf-Empty) | Sing in into an existing account | | SignUp | [SignUpRequest](#accounts-v1-SignUpRequest) | [.google.protobuf.Empty](#google-protobuf-Empty) | Create a new account | -| IsEmailVerified | [IsEmailVerifiedRequest](#accounts-v1-IsEmailVerifiedRequest) | [IsEmailVerifiedResponse](#accounts-v1-IsEmailVerifiedResponse) | Is email for the current account verified | -| RefreshSession | [.google.protobuf.Empty](#google-protobuf-Empty) | [.google.protobuf.Empty](#google-protobuf-Empty) | | - - - - - - - - -## applications/v1/applications_v1.proto -This file has messages for describing applications - - - - -### ApplicationFull - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| metadata | [ApplicationMetadata](#applications-ApplicationMetadata) | | | -| spec | [ApplicationSpec](#applications-ApplicationSpec) | | | -| id | [ApplicationId](#applications-ApplicationId) | | | - - - - - - - - -### ApplicationId - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| uuid | [string](#string) | | | - - - - - - - - -### ApplicationMetadata - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | | -| description | [string](#string) | | | - - - - - - - - -### ApplicationSpec - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| application | [string](#string) | | | -| version | [string](#string) | | | -| environemnt_id | [string](#string) | | | -| config | [ApplicationSpec.ConfigEntry](#applications-ApplicationSpec-ConfigEntry) | repeated | | -| raw_config | [string](#string) | | | - - - - - - - - -### ApplicationSpec.ConfigEntry - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| key | [string](#string) | | | -| value | [string](#string) | | | - - - - - - - - -### CreateOptions - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| metadata | [ApplicationMetadata](#applications-ApplicationMetadata) | | | -| spec | [ApplicationSpec](#applications-ApplicationSpec) | | | -| owner_id | [OwnerId](#applications-OwnerId) | | | -| token | [Token](#applications-Token) | | | - - - - - - - - -### DeleteOptions - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [ApplicationId](#applications-ApplicationId) | | | -| metadata | [ApplicationMetadata](#applications-ApplicationMetadata) | | | -| owner_id | [OwnerId](#applications-OwnerId) | | | -| token | [Token](#applications-Token) | | | - - - - - - - - -### GetOptions - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [ApplicationId](#applications-ApplicationId) | | | -| metadata | [ApplicationMetadata](#applications-ApplicationMetadata) | | | -| owner_id | [OwnerId](#applications-OwnerId) | | | -| token | [Token](#applications-Token) | | | - - - - - - - - -### ListOptions - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| metadata | [ApplicationMetadata](#applications-ApplicationMetadata) | | | -| owner_id | [OwnerId](#applications-OwnerId) | | | -| token | [Token](#applications-Token) | | | - - - - - - - - -### OwnerId - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| uuid | [string](#string) | | UUID of a user that is creating an environemnt | - - - - - - - - -### Token - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| token | [string](#string) | | Token that should be used to create an environment | - - - - - - - - -### UpdateOptions - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [ApplicationId](#applications-ApplicationId) | | | -| metadata | [ApplicationMetadata](#applications-ApplicationMetadata) | | | -| spec | [ApplicationSpec](#applications-ApplicationSpec) | | | -| owner_id | [OwnerId](#applications-OwnerId) | | | -| token | [Token](#applications-Token) | | | - - - - - - - - - - - - - - -### Applications -Service for handling applications - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| Create | [CreateOptions](#applications-CreateOptions) | [ApplicationFull](#applications-ApplicationFull) | | -| Update | [UpdateOptions](#applications-UpdateOptions) | [ApplicationFull](#applications-ApplicationFull) | | -| Delete | [DeleteOptions](#applications-DeleteOptions) | [.google.protobuf.Empty](#google-protobuf-Empty) | | -| Get | [GetOptions](#applications-GetOptions) | [ApplicationFull](#applications-ApplicationFull) | | -| List | [ListOptions](#applications-ListOptions) | [ApplicationFull](#applications-ApplicationFull) stream | | - - - - - - - - -## email/v1/email_v1.proto - - - - - -### ConfirmValidation - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| user_id | [string](#string) | | | -| code | [int32](#int32) | | | - - - - - - - - -### RequestValidation - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| user_id | [string](#string) | | | - - - - - - - - - - - - - - -### EmailValidation -A service that should handle email validation - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| SendRequest | [RequestValidation](#email-RequestValidation) | [.google.protobuf.Empty](#google-protobuf-Empty) | | -| ValidateEmail | [ConfirmValidation](#email-ConfirmValidation) | [.google.protobuf.Empty](#google-protobuf-Empty) | | - - - - - - - - -## environments/v1/environments_v1.proto -This file has messages for describing environments - - - - -### CreateOptions - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| metadata | [EnvironmentMetadata](#environments-EnvironmentMetadata) | | | -| spec | [EnvironmentSpec](#environments-EnvironmentSpec) | | | -| owner_id | [OwnerId](#environments-OwnerId) | | | -| token | [Token](#environments-Token) | | | - - - - - - - - -### DeleteOptions - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [EnvironmentId](#environments-EnvironmentId) | | | -| metadata | [EnvironmentMetadata](#environments-EnvironmentMetadata) | | | -| owner_id | [OwnerId](#environments-OwnerId) | | | -| token | [Token](#environments-Token) | | | - - - - - - - - -### EnvironmentFull - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| metadata | [EnvironmentMetadata](#environments-EnvironmentMetadata) | | | -| spec | [EnvironmentSpec](#environments-EnvironmentSpec) | | | -| id | [EnvironmentId](#environments-EnvironmentId) | | | - - - - - - - - -### EnvironmentId - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| uuid | [string](#string) | | | - - - - - - - - -### EnvironmentMetadata - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | A name of the environment | -| description | [string](#string) | | | - - - - - - - - -### EnvironmentSpec - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| provider | [Provider](#environments-Provider) | | Provide | -| kubernetes | [Kubernetes](#environments-Kubernetes) | | | -| server_type | [ServerType](#environments-ServerType) | | | -| server_location | [Location](#environments-Location) | | | -| disk_size | [int32](#int32) | | | - - - - - - - - -### GetOptions - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [EnvironmentId](#environments-EnvironmentId) | | | -| metadata | [EnvironmentMetadata](#environments-EnvironmentMetadata) | | | -| owner_id | [OwnerId](#environments-OwnerId) | | | -| token | [Token](#environments-Token) | | | - - - - - - - - -### ListOptions - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| metadata | [EnvironmentMetadata](#environments-EnvironmentMetadata) | | | -| search_string | [string](#string) | | | -| owner_id | [OwnerId](#environments-OwnerId) | | | -| token | [Token](#environments-Token) | | | - - - - - - - - -### OwnerId - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| uuid | [string](#string) | | UUID of a user that is creating an environemnt | - - - - - - - - -### Token - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| token | [string](#string) | | Token that should be used to create an environment | - - - - - - - - -### UpdateOptions - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [EnvironmentId](#environments-EnvironmentId) | | | -| metadata | [EnvironmentMetadata](#environments-EnvironmentMetadata) | | | -| spec | [EnvironmentSpec](#environments-EnvironmentSpec) | | | -| owner_id | [OwnerId](#environments-OwnerId) | | | -| token | [Token](#environments-Token) | | | - - - - - - - - - - -### Kubernetes - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| KUBERNETES_UNSPECIFIED | 0 | | -| KUBERNETES_K3S | 1 | | - - - - - -### Location - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| LOCATION_UNSPECIFIED | 0 | | -| LOCATION_HETZNER_NUREMBERG | 1 | | -| LOCATION_HETZNER_FALKENSTEIN | 2 | | -| LOCATION_HETZNER_HELSINKI | 3 | | -| LOCATION_HETZNER_HILLSBORO | 4 | | -| LOCATION_HETZNER_ASHBURN | 5 | | - - - - - -### Provider -Helpers and other messages - -| Name | Number | Description | -| ---- | ------ | ----------- | -| PROVIDER_UNSPECIFIED | 0 | | -| PROVIDER_HETZNER | 1 | | - - - - - -### ServerType - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| SERVER_TYPE_UNSPECIFIED | 0 | | -| SERVER_TYPE_STARTER | 1 | | -| SERVER_TYPE_REGULAR | 2 | | -| SERVER_TYPE_PLUS | 3 | | -| SERVER_TYPE_PRO | 4 | | -| SERVER_TYPE_CUSTOM | 5 | | - - - - - - - - - -### Environments -Service for handling environments - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| Create | [CreateOptions](#environments-CreateOptions) | [EnvironmentFull](#environments-EnvironmentFull) | | -| Update | [UpdateOptions](#environments-UpdateOptions) | [EnvironmentFull](#environments-EnvironmentFull) | | -| Delete | [DeleteOptions](#environments-DeleteOptions) | [.google.protobuf.Empty](#google-protobuf-Empty) | | -| Get | [GetOptions](#environments-GetOptions) | [EnvironmentFull](#environments-EnvironmentFull) | | -| List | [ListOptions](#environments-ListOptions) | [EnvironmentFull](#environments-EnvironmentFull) stream | | @@ -925,6 +303,256 @@ Service for handling environments + + + +## tokens/v1/tokens_v1.proto +Protobuf definitions for the accounts service. + + + + +### CreateTokenRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token_metadata | [TokenMetadata](#tokens-v1-TokenMetadata) | | | +| token_permissions | [TokenPermissions](#tokens-v1-TokenPermissions) | | | + + + + + + + + +### CreateTokenResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token_uuid | [TokenUUID](#tokens-v1-TokenUUID) | | | +| token_metadata | [TokenMetadata](#tokens-v1-TokenMetadata) | | | +| token_permissions | [TokenPermissions](#tokens-v1-TokenPermissions) | | | +| token_value | [TokenValue](#tokens-v1-TokenValue) | | | + + + + + + + + +### ForceTokenExpirationRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token_uuid | [TokenUUID](#tokens-v1-TokenUUID) | | | + + + + + + + + +### GetTokenRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token_uuid | [TokenUUID](#tokens-v1-TokenUUID) | | | + + + + + + + + +### GetTokenResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token_uuid | [TokenUUID](#tokens-v1-TokenUUID) | | | +| token_metadata | [TokenMetadata](#tokens-v1-TokenMetadata) | | | +| token_permissions | [TokenPermissions](#tokens-v1-TokenPermissions) | | | + + + + + + + + +### ListTokensResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token_uuid | [TokenUUID](#tokens-v1-TokenUUID) | | | +| token_metadata | [TokenMetadata](#tokens-v1-TokenMetadata) | | | +| token_permissions | [TokenPermissions](#tokens-v1-TokenPermissions) | | | + + + + + + + + +### RegenerateTokenRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token_uuid | [TokenUUID](#tokens-v1-TokenUUID) | | | + + + + + + + + +### RegenerateTokenResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token_value | [TokenValue](#tokens-v1-TokenValue) | | | + + + + + + + + +### TokenMetadata + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| name | [string](#string) | | A token name | +| expires_at | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | Token expiration timestamp | + + + + + + + + +### TokenPermissions + + + + + + + + + +### TokenUUID + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| uuid | [string](#string) | | An ID of a token | + + + + + + + + +### TokenValue + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token | [string](#string) | | Token value Can be only retrieved once after the generation | + + + + + + + + +### UpdateTokenRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token_uuid | [TokenUUID](#tokens-v1-TokenUUID) | | | +| token_metadata | [TokenMetadata](#tokens-v1-TokenMetadata) | | | +| token_permissions | [TokenPermissions](#tokens-v1-TokenPermissions) | | | + + + + + + + + +### UpdateTokenResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token_uuid | [TokenUUID](#tokens-v1-TokenUUID) | | | +| token_metadata | [TokenMetadata](#tokens-v1-TokenMetadata) | | | +| token_permissions | [TokenPermissions](#tokens-v1-TokenPermissions) | | | + + + + + + + + + + + + + + +### TokensService +Tokens should be used for programmatic access +For example CLI or terraform modules + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| CreateToken | [CreateTokenRequest](#tokens-v1-CreateTokenRequest) | [CreateTokenResponse](#tokens-v1-CreateTokenResponse) | Create a new token | +| UpdateToken | [UpdateTokenRequest](#tokens-v1-UpdateTokenRequest) | [UpdateTokenResponse](#tokens-v1-UpdateTokenResponse) | Update an existing token | +| ForceTokenExpiration | [ForceTokenExpirationRequest](#tokens-v1-ForceTokenExpirationRequest) | [.google.protobuf.Empty](#google-protobuf-Empty) | Expire an existing token | +| RegenerateToken | [RegenerateTokenRequest](#tokens-v1-RegenerateTokenRequest) | [RegenerateTokenResponse](#tokens-v1-RegenerateTokenResponse) | Create a new token with the same UUID | +| GetToken | [GetTokenRequest](#tokens-v1-GetTokenRequest) | [GetTokenResponse](#tokens-v1-GetTokenResponse) | Get an existing token | +| ListTokens | [.google.protobuf.Empty](#google-protobuf-Empty) | [ListTokensResponse](#tokens-v1-ListTokensResponse) stream | List all existing tokens | + + + + + ## Scalar Value Types | .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |