Getting Started with the Mobile CLI

The Mobile CLI allows developers work with Mobile Services from the command line, for example using the following commands:

$ mobile get services
$ mobile create serviceinstance <serviceName> --namespace=<namespace>
$ mobile get clients --namespace=<namespace>
$ mobile get clientconfig <mobileClientID> --namespace=<namespace>
$ mobile create integration <consumingServiceInstanceID> <providingServiceInstanceID> --namespace=<namespace>

Installing Mobile CLI

  1. Clone the following repo:

  2. Change to the scripts directory and run the following command:

    $ ./install.sh

Resources

The following resources are available:

  • MobileClient: The mobile client is a resource that represents your mobile client application as part of the OpenShift UI and is also called the Mobile App. It gives us the context and information needed to show you relevant information around your particular mobile runtime as well as allowing us to setup the different kind of client builds required.

  • ClientConfig The client config, is a resource created by aggregating together all of the available service configs. This resource is the configuration required in order to consume your mobile aware services from your mobile client. It is used by the client SDKs for the various mobile services.

  • ServiceConfig: The service config contains the services' information that is used to configure the Mobile SDK. For more information see here.

  • ClientBuild The client build is backed by a regular BuildConfig, however the CLI will help you create this BuildConfig with as little effort as possible. This allows you to focus on just the mobile parts rather than needing to understand how to setup and manage a buildconfig and builds. For example, it will help you manage build credentials, and keys and ensure the build integrates seamlessly with the aereogear mobile build farm.

  • Binding The binding is backed by a binding resource in the service catalog. Once again we try to remove the need to understand how to create the native objects so that you can focus on being productive and building your mobile app. When doing a binding, you will be able to integrate different mobile services together. For example when using sync and keycloak you can bind them together and have your sync service protected by keycloak. This is as simple as mobile create integration <consuming_service_instance_id> <providing_service_instance_id>

Command Structure

get

  client           gets a single mobile client in the namespace
  clients          gets a list of mobile clients represented in the namespace
  clientconfig     get clientconfig returns a client ready filtered configuration of the available services.
  integration      get a single integration
  integrations     get a list of the current integrations between services
  serviceconfig    get a mobile aware service definition
  serviceconfigs   get a list of deployed mobile enabled services
  serviceinstances get a list of provisioned service instances based on the service name.
  services         get mobile aware services that can be provisioned to your namespace

create

  client          create a mobile client representation in your namespace
  integration     integrate certain mobile services together. mobile get services will show you what can be integrated.
  serviceconfig   create a new service config
  serviceinstance create a running instance of the given service

delete

  client          deletes a single mobile client in the namespace
  integration     delete the integration between mobile services.
  serviceconfig   delete a service config
  serviceinstance deletes a service instance and other objects created when provisioning the services instance, such as pod presets