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

10 Hours of Live Recordings, which are built on Experience, about Application Security

It’s awesome we just created 10 hours of live recordings, which are built on experience, about application security. That learning journey was made by the IBM Developer Hybrid Cloud Build Team from IBM and I am a part of that team. We put together great content for you. By the way, I was responsible for the content ;-). I also have been the moderator for most of the sessions and I also gave sessions by myself. The learning journey is called #ApplicationSecurityLearningJourney.

So just take something to drink and grep some snacks and then enjoy all of the knowledge or just select your point of interest.

Here are the links to the various topics and related recordings on Crowdcast.io.

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

Use environment variables to make a containerized Vue.js frontend application more flexible and deploy it to Code Engine

This blog post addresses the topic, how to use environment variables to make a containerized Vue.js frontend application more flexible. We will touch following technologies Vue.jsNGINXJavaScriptDockerfile and Code Engine.

When you run a containerized application on a container orchestration platform like KubernetesOpen Shift or on a serverless frameworks like Knative or Code Engine or other platforms, it’s helpful to pass endpoints to other applications to the containerized application by using environment variables. When the container will be restarted, these variables can be provided to the container and no adjustment in the source code is necessary. You can use configmaps or in Code Engine simply the environment variable itself.

The example source code you find in this workshop.

In addition, it’s useful when you take a look into this awesome blog post: Externalise and Configure Frontend Environment Variables on Kubernetes which was used for the starting point for the configuration.

Continue reading