During a recent presentation of Richard Garsthagen (Director Cloud Business Development at Oracle EMEA) the existence of a mobile app was mentioned: the OCI Manager. Moreover, Richard appeared to be the creator of this app. With the app, you should be able to manage some basic functionalities in your Oracle Cloud environment. I downloaded the app and I must admit, the login screen was not very inviting or appealing. But… You only fill that in once, so let’s see what else the app has to offer.

The app is only available for iPhone, and is maintained by Richard Garsthagen. That’s a bit peculiar. You would expect Oracle to invest more in mobile apps and user-friendly interfaces. 

Richard created a YouTube video and a blog post to get you going, but during my first attempt I got stuck on a value I needed to fill in. I decided to write a blog post about my experiences with this app.

To get the app, search for OCI manager in the Apple store. After downloading, you can start right away.

First, you’ll have to create an account profile.

clip_image002clip_image004

What do I need:

1. Tenant OCID

2. User OCID

3. Fingerprint

4. Region

5. Private PEM Key (SHA256)

All the information has to be filled in on my iPhone, and I can’t copy/paste it from my desktop into the app. What I can do, is mail the information to an email I can read on my iPhone and copy/paste this to the app. So you need two mails for convenience’s sake: one for the first 4 fields, and one for the private PEM key. Let’s start.

1. Tenant OCID

To get your tenant OCID, first click on your region at the top right of your screen and choose ‘Manage Regions’.

clip_image006

Go to the ‘details’ page.

clip_image008

On the details page is the OCID of the tenant. Click copy, then paste this in the first email you are about to send.

clip_image010

2. User OCID

For the User OCID you have to choose your profile in the top-right corner of your screen.

clip_image011

And then you can copy your OCID, and paste this in your first e-mail, together with the tenant OCI.

clip_image013

3. Fingerprint

This Fingerprint is the one which comes with the public key, when generated. When choosing ‘Add Public Key’, you will have to fill in a generated public – PEM key.

clip_image015

Plan A. I followed the tutorial for generating keys for Oracle Cloud services, with Putty-Gen.

And converted this key in a pem-key.

ssh-keygen -f rsa-key-20191216.pub -m PEM -e > rsa-key-20191216.pem

Unfortunately, I didn’t succeed in getting the job done with these tools. I tried out a few different things, but I still got the following message: InvalidKey – Invalid RSA public key. I’m sure it’s a valid PEM key, though…

clip_image016

Over to plan B. An attempt with OpenSSL, documented here:

Installed Git Bash and followed the document:

$ mkdir ~/.oci

$ openssl genrsa -out ~/.oci/oci_api_key.pem 2048

Generating RSA private key, 2048 bit long modulus (2 primes)

……………………………+++++….+++++

e is 65537 (0x010001)

$ chmod go-rwx ~/.oci/oci_api_key.pem

$ openssl rsa -pubout -in ~/.oci/oci_api_key.pem -out ~/.oci/oci_api_key_public.pem

writing RSA key

$ cat ~/.oci/oci_api_key_public.pem

—–BEGIN PUBLIC KEY—–

MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAth5E6pmBPSM+vaGsCRvx

r1UoXFRoEf97pAbfd57gwzk3hJBW8wCe/wJXAi81bkk8TYCAa2YX/VUdOpR1YNd

U499aVT//78AF2hIb8NVWrmd+6yYwYC9vXXXXXXXXzOIr0wUrv3vwt7MbwfowZCO

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7rKgmy9rhclUTg9ikh8smT2wmzXdSkJ

sip+OHBxSiZaElVHKI5jD33DgogcFH8MgdxU64Zs+fgjjmwUDpRuqUrHWSApUUEe

AevmPM3Mck0RiiCVSHOJLS43F/n+3OBTE92TgOePPp/f15MV+BhEy7wghZzYQfHf

ZwIDAQAB

—–END PUBLIC KEY—–

And this worked !! Filled in the private key and got the Fingerprint.

clip_image018

You also can get the fingerprint by using this command

openssl rsa -pubout -outform DER -in ~/.oci/oci_api_key.pem | openssl md5 -c

4. Region

Filled in ‘eu-frankfurt-1’

Now I mailed the first 4 values to myself to read it on my Iphone. Need just one.

5. Private PEM-key

Put the private key, generated before, in a mail:

$ cat ~/.oci/oci_api_key.pem

—–BEGIN RSA PRIVATE KEY—–

MIIEoQIBAAKCAQEAth5E6pmBPSM+vaGsCRvxr1UoXFRoEf97npAbfd57gwzk3hJB

W8wCe/wJXAi81bkk8TYCAa2YX/VUdOpR1YNdU499aVT//78u0XS7bgNAF2hIb8NV

Wrmd+6yYwYC9vzOIr0wUrv3vwt7MbwfowZCO1Xju8T1XPMLUfC67V0R2ZDr8Htwg

Czk1+7rKgmy9rhclUTg9ikh8smT2wmzXdSkJsip+OHBxSiZaElVHKI5jD33Dgogc

……

—–END RSA PRIVATE KEY—–

I sent this last e-mail to myself and filled in all the fields of the account profile.

clip_image020

And… I got in!

First thing to notice is a list of the compartments I got.

clip_image022

The autonomous databases I got in this compartment (free tier):

clip_image024

What’s in eminfra. Ah, another Autonomous Database, this used to be an Enterprise Manager Repository.

clip_image026

What can I do with this database in this app: Start, Stop, Reset, Scale.

Very limited, but could be sufficient for a start.

clip_image028

How does scaling look like:

clip_image030

Wrap up

In my opinion, a mobile app for Oracle Cloud Infrastructure doesn’t have to be equipped with extensive functionality. I was called numerous times for starting up a VM for developers or testers, so I can imagine that starting and stopping is the very basic functionality, and a must-have in the Cloud, where you’re saving money when VM’s are down.

Speaking of which, insight in your account balance is also a desired functionality in an app. As I understood, that will be in a next release.

However, it remains a bit odd that this app (or similar app) is not fully supported and equipped with resources by Oracle. Microsoft Azure has a quite professional, user-friendly app too!

Sources

Youtube: https://www.youtube.com/watch?v=YJAfz7p18Kc&t=262s

Blog: https://www.oc-blog.com/iphone/

Tutorial generating keys for Oracle Cloud: https://www.oracle.com/webfolder/technetwork/tutorials/obe/cloud/javaservice/JCS/JCS_SSH/create_sshkey.html

Generating keys with OpenSSL: https://docs.cloud.oracle.com/iaas/Content/API/Concepts/apisigningkey.htm