Skip to content

application

Contents

ApplicationService

Application service provides APIs to interact with the Application entity

ListApplications

rpc ListApplications(ListApplicationsRequest) ListApplicationsResponse

ListApplications API lists the applications installed on the target cluster.

GetApplication

rpc GetApplication(GetApplicationRequest) Application

GetApplication API returns the info about application with given id.

InstallApplication

rpc InstallApplication(InstallApplicationRequest) Application

InstallApplication API installs specified application on the target cluster.

UpdateApplication

rpc UpdateApplication(UpdateApplicationRequest) Application

UpdateApplication API updates specified application on the target cluster.

UninstallApplication

rpc UninstallApplication(UninstallApplicationRequest) .google.protobuf.Empty

(-- api-linter: core::0136::http-method=disabled aip.dev/not-precedent: We need to do this because delete method is required for deleting resource. --) UninstallApplication API uninstalls the specified application on the target cluster.

Messages

Application

Application is a high level entity for the application resource. for e.g. PXE, BaaS, etc.

Field Type Description
meta public.portworx.common.v1.Meta Metadata of the application(Resource Meta).
config Config Desired configuration of the Application.
status Status Current status of the Application.

ApplicationHealth

ApplicationHealth represents the health of an application in target cluster.

ApplicationPhase

ApplicationPhase represents the phase of an application in target cluster.

Config

Desired configuration of the Application.

Field Type Description
namespace string namespace in target cluster where application will be installed.
version string desired application chart version.
oneof properties.pds PDSProperties pds app properties.

GetApplicationRequest

GetApplicationRequest is the request to the GetApplication API.

Field Type Description
cluster_id string Unique identifier of the cluster whose details needs to be fetched.
id string Unique identifier of the application whose details needs to be fetched.

InstallApplicationRequest

InstallApplicationRequest is the request to the InstallApplication API.

Field Type Description
cluster_id string unique identifier of the cluster where application needs to be installed (-- api-linter: core::0133::request-unknown-fields=disabled aip.dev/not-precedent: We really need this field because application needs to be associated with cluster id. --)
application Application application to be installed.

ListApplicationsRequest

ListApplicationsRequest is the request to the ListApplications API.

Field Type Description
cluster_id string Unique identifier of the cluster whose details needs to be fetched.
pagination public.portworx.common.v1.PageBasedPaginationRequest Pagination parameters for listing applications.
field_selector public.portworx.common.v1.Selector Field selector is used to filter applications based on the fields in application proto message.

ListApplicationsResponse

ListApplicationsResponse is the response to the ListApplications API.

Field Type Description
applications repeated Application list of applications visible to the caller.
pagination public.portworx.common.v1.PageBasedPaginationResponse Pagination metadata for this response. (-- api-linter: core::0132::response-unknown-fields=disabled aip.dev/not-precedent: We need this field for pagination. --)

PDSProperties

PDSProperties are the properties available for PDS.

Field Type Description
global PDSProperties.Global global properties for PDS. (-- api-linter: core::0140::reserved-words=disabled aip.dev/not-precedent: We need to do this to be similar to helm config values. --).

PDSProperties.Global

Global is the global property block for PDS.

Field Type Description
data_service_tls_enabled bool data_service_tls_enabled enables TLS for dataservices. This requires cert-manager to be pre-installed.

Status

Status of the Application.

Field Type Description
version string current application chart version.
phase ApplicationPhase.Phase current phase of the application.
health ApplicationHealth.Health current health of the application.
conditions map Status.ConditionsEntry conditions of the application.

Status.ConditionsEntry

Field Type Description
key string none
value string none

UninstallApplicationRequest

UninstallApplicationRequest is the request to the UninstallApplication API.

Field Type Description
cluster_id string Unique identifier of the cluster whose details needs to be fetched.
id string unique identifier of the application.

UpdateApplicationRequest

UpdateApplicationRequest is the request to the update application.

Field Type Description
application Application application to be updated.

Enums

ApplicationHealth.Health

Health determines health of an application.

Name Number Description
HEALTH_UNSPECIFIED 0 Must be set in the proto file; ignore.
UNKNOWN 1 Application health is unknown.
HEALTHY 2 Application is healthy.
UNHEALTHY 3 Application is unhealthy.

ApplicationPhase.Phase

AppStatus determines status of an application.

Name Number Description
PHASE_UNSPECIFIED 0 Must be set in the proto file; ignore.
PENDING 1 Application yet to be installed.
DEPLOYING 2 Application deployment on the target cluster in progress.
SUCCEEDED 3 Installed successfully.
FAILED 4 Application failed to install.
DELETING 5 Application is being deleted.

Scalar Value Types

.proto Type Notes C++ Type Java Type Python Type

double
double double float

float
float float float

int32
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int

int64
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long

uint32
Uses variable-length encoding. uint32 int int/long

uint64
Uses variable-length encoding. uint64 long int/long

sint32
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int

sint64
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long

fixed32
Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int

fixed64
Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long

sfixed32
Always four bytes. int32 int int

sfixed64
Always eight bytes. int64 long int/long

bool
bool boolean boolean

string
A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode

bytes
May contain any arbitrary sequence of bytes. string ByteString str