Automated setup of an IBM Cloud App ID instance using a Bash script

This blog post contains some of the implementation details of an example Bash script to automate the setup for an IBM Cloud App ID service instance. For details, visit this GitHub project.

What is App ID?

“IBM Cloud App ID allows you to easily add authentication to web and mobile apps. You no longer have to worry about setting up infrastructure for identity, ensuring geo-availability, and confirming compliance regulations. Instead, you can enhance your apps with advanced security capabilities like multifactor authentication and single sign-on.” Resource from the IBM Cloud App ID website (2021/10/06). For more details please visit the website.

The Bash script utilises following APIs and CLIs:

The script creates one instance of the IBM Cloud App ID service and does the configuration.

This automation example uses the IBM Cloud Shell and a PayAsYouGo IBM Cloud Account, but for the App ID service instance we will use the lite plan which is for free.

Please see the official documentation for each IBM Cloud Service and IBM Cloud Account type definition, before you start.

Continue reading

How to setup a virtual machine or virtual appliance in an IBM Cloud virtual private cloud (vpc) environment on a virtual server instance (vsi)? (nested Hypervisor)

As fas as I notice from the official IBM Cloud documentation “VPC responsibilities“, there is no official support for a nested Hypervisor listed in the official IBM Cloud documentation (Date 14.09.2021). IBM provides in the official IBM Cloud documentation: How to manually enable nested virtualization on a virtual server instance?, but you can do this on your own risk, as far as I understand for now. For me the nested Hypervisor worked for several times, but it’s not official supported.


This is a cheat sheet about, how to setup a virtual machine or virtual appliance in an IBM Cloud virtual private cloud (vpc) on a virtual server instance (vsi) with Red Hat Enterprise Linux 8 minimal install (RHEL8) as host operating system and a Ubuntu Linux operating system for the virtual machine or virtual appliance. I reuse different blog posts and references to documentations on IBM Cloud or Red Hat and I use the information from an exchange with Stefan Trimborn and Marc Haecker. (Thanks and greetings Stefan and Marc ;-))

This blog post covers the setup until the network configuration for the virtual machine (vm) or virtual appliance (va) to access for example a web application from the internet, which runs in the vm or va.

The image below shows a simplified diagram of the setup on IBM Cloud:

Continue reading

Create a Virtual Private Cloud (VPC), Virtual Server Instance (VSI) on IBM Cloud with Terraform

This is a “simple” cheat sheet, how to create a single virtual server instance (VSI) in the virtual private cloud (VPC) infrastructure on IBM Cloud using Terraform.

Terraform is to write infrastructure as code using declarative configuration files. HashiCorp Configuration Language (HCL) allows for concise descriptions of resources using blocks, arguments, and expressions.” resource Terraform

There is an awesome documentation on IBM Cloud to do this:

That blog post reuses a lot of the content in the IBM Cloud documentation. You need to install Terraform and and clone the example GitHub project as your example terraform project folder.

Continue reading

How to create a single virtual server instance (VSI) in a virtual private cloud (VPC) infrastructure on IBM Cloud

This is a “simple” cheat sheet, how to create a single virtual server instance (VSI) in the virtual private cloud (VPC) infrastructure on IBM Cloud.

The blog post has four major sections:

  1. Example architecture
  2. Setup of a VPC network
  3. Setup and configure the virtual server instance inside the VPC network
  4. Access the virtual server instance from a local machine

For more information, please visit the VPC IBM Cloud documentation.

Keep in mind: The objective is not to show all awesome additional capabilities the virtual private cloud on IBM Cloud has. The objective is just to provide a simple cheat sheet to create one simple virtual server instance.

Continue reading

(outdated) Get started with IBM Cloud – a student perspective

In this new blog post I want to address a common situation I see students facing: there are several cloud providers and you want to check out the different platforms. The reason is you want to be prepared; for example working with cloud resources related to courses at your university or for a hackathon. One of these cloud providers is IBM Cloud and this blog post is about how to get started with IBM Cloud. This is a tailored version of my blog post: How to prepare for a Hackathon with IBM Cloud for you as a student.

IBM Cloud provides a wide range and huge amount of different services, runtimes, and more. It covers both virtual and hardware –based servers on one demand cloud-platform, which means you have complete infrastructure control. One of the great things about IBM Cloud is that you can register for an account and try before you buy without needing a credit card.

From my point of view, one of the most important objectives for student is to have a running application instance live.

To do this you need a runtime 😉

Continue reading

Getting started with continuous integration and delivery (CI/CD) using Tekton and an Open Toolchain on IBM Cloud (Part 3/3)

This blog post is about the last 14 min video for my YouTube playlist related to the hands-on tutorial “Develop a Kubernetes app by using Tekton delivery pipelines“. In this video we do the final setup of the toolchain and then we execute a Tekton pipeline. For more background please visit my first blog post “Getting started with continuous integration and delivery (CI/CD) using Tekton and an Open Toolchain on IBM Cloud (Part 1/3)“.

Note: The video was live recorded and it would take 30 min for the entire session, but I did reduce the time of the video to only 14 min ;-).

But now the video could be sometimes a little bit (too) fast.

Continue reading

Getting started with continuous integration and delivery (CI/CD) using Tekton and an Open Toolchain on IBM Cloud (Part 2/3)

This blog post is about my newly created 9 min YouTube video about the setup of the prerequisites for the hands-on tutorial “Develop a Kubernetes app by using Tekton delivery pipelines“. That video is a part of the video series for the tutorial. For more details please visit my last blog post “Getting started with continuous integration and delivery (CI/CD) using Tekton and an Open Toolchain on IBM Cloud (Part 1/3)

Continue reading

Getting started with continuous integration and delivery (CI/CD) using Tekton and an Open Toolchain on IBM Cloud (Part 1/3)

In this blog post I want to highlight that I created a 10 min detailed overview YouTube video, which is the first video of a video series related to the hands-on tutorial “Develop a Kubernetes app by using Tekton delivery pipelines“. In that tutorial video series, we setup an easy consumable Tekton pipeline in a toolchain using developer tools for think, code and deploy in context of continuous delivery. We deploy a containerized web application to a free Kubernetes Cluster on IBM Cloud.

Continue reading

Run a PostgreSQL container as a non-root user in OpenShift

In this blog post I want to point out a simple topic: How to run a simple PostgreSQL Docker image as a non-productive container in OpenShift? As you maybe know, OpenShift doesn’t allow by default to run container images as root.

The image below shows the result of the simply deployed postgreSQL image from dockerhub.

postgres openshift root user ibmcloud

It’s possible to enable images to run as root on OpenShift, that’s documented in the OpenShift documentation here, by adding a service account.

But, in this blog post we choose an alternative way, where we don’t change the security in OpenShift, here we will customize the postgreSQL Docker image a bit. We will follow the steps to create a postgreSQL database on OpenShift, along the creation of the database called postgreSQL database-articles for the Cloud Native Starter reactive example .

These are the major steps:

  1. Write the specifications and configurations  for:
    1. … the Dockerfile
    2. … the  yaml with a Kubernetes Deployment and a Kubernetes Service specification
  2. Execute the oc CLI commands to:
    1. … create a OpenShift project
    2. … create a OpenShift build configuration
    3. … start the build
    4. … apply the Deployment and Service specification
    5. … expose the Service

Continue reading