Posts

6/19/2021 - Share

I have not been blogging as frequently as I wanted to. I may never be able to do something regularly :D  Here are some things that I read this week that are worth sharing.   Monolithic Transformation -  Using DevOps, Agile, and Cloud   Platforms   to Execute a Digital   Transformation   Strategy   This is a good book that primarily deals with the non-technical challenges that happen to organizations of any size in transformation programs and projects. No Linux for Anti-Vax folks :)  Linus Torvalds on mRNA to an anti-vax propagandist in Linux Kernel threads Hedgehogs vs Foxes - Don't Feed Thought Leaders Kafka for Kids - https://www.gentlydownthe.stream/ 

Processing Email using Microsoft Flow + Webhooks

Image
One of the application development team had a requirement to read emails sent to a specific email address so that they can parse the same and act on them. We use Office365 and app team wanted to open up IMAP ports and the Security team and Email Admin teams had said "NO". I didn't want to travel back in time. The easier way would be to use Microsoft Flow with HTTP. We use TYK API Gateway on our production network which is accessible on the internet and it is being used, but you can also any of your internet accessible endpoints like the app by itself or AWS API Gateway, etc. Also, keep in mind the licensing requirements imposed by Microsoft for using Flow. From what I read, one should be able to do this from a shared mailbox as well. Here are the high-level steps that I recommended the app team 1) Login into the Flow . 2) Create a new Flow ( Automated Flow from Blank ) 3) Provide a name for the flow and select when a new email arrives as the trigger. ...

TYK API Gateway to AWS API Execute Gateway + Lambda

Image
TYK API Gateway  does not provide a simple integration for invoking Lambda and I remember reading Kong does.  In any case, this is about how to securely integrate TYK with Lambda - Or in general, consuming internal/private AWS Api gateway in your application. Here are the high-level steps  1) Create a VPC Endpoint for API Gateway - with a security group that allows 443 from the TYK Node/application nodes ( Security-group in the source is the best choice). Note the Endpoint ID (used  for API Gateway Resource Policy) and DNS Name (not the individual AZ but the generic one - to be used for API definition on TYK API Gateway ) 2) Create a Private AWS API gateway - with a nicely tied security group and the resource policy would look something like this ( replace highlighted place holders with your configurations)  {     "Version": "2012-10-17",     "Statement": [         {             "...

Deploying Multiple wars to AWS Beanstalk

Image
After few trial and error, I was able to get this done for a Tomcat 8 Java 8  Below is my folder structure where the main war is unzipped and other wars are placed on the same folder. This folder is configured using AWSEBCLI to my EB environment. Using ebetensions, I have placed a script file that will copy the additional wars to webapps folder in the post deploy hook folder “/opt/elasticbeanstalk/hooks/appdeploy/post/” Tomcat 8 automatically deploys these wars and all works fine J Here is the the config file content. files:   "/opt/elasticbeanstalk/hooks/appdeploy/post/99_copy_other_wars.sh":     mode: "000755"     owner: root     group: root     content: |       cp /var/lib/tomcat8/webapps/ROOT/*.war /var/lib/tomcat8/webapps/.

Installing MongoDB or other packages with Node JS using "ebextensions"

Recently wanted to install a NodeJS application on Elastic Beanstalk. That was easy :). One can use AWS EB Console to upload a zipped nodejs application and be done with it. However wanted to install and run MongoDB in the beanstalk image that gets created when the application get deployed. So the easiest way to get this done is to use CLI for AWS EB. Using Elastic Beanstalk  CLI ( Command Line Interface ) simplifies so many things http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install.html describes the steps to install the same. In short you would need, Python 2.7 with PIP and once you have pip EB CLI can be installed with "pip install awsebcli" One would have to either create a new EB environment or configure an existing nodeJs application source code folder to an EB environment. On my AWS environment, I have few glitches that can be avoided ( network configurations are slightly restrictive) only when the EB applications is creat...

WLAN Auto Config Failed to Start

All of a sudden my machine stopped connecting to any wireless network. Wireless indicator application suggested that wireless radio switch is turned off    –   WTH – mine was a software switch. WLAN Auto Config Service was not getting started stating “The WLAN AutoConfig service terminated with the following error: The system cannot find the path specified.” Removing and reinstalling drivers did not help. Processmon / process explorer did not help to find which path is missing. Finally with some help from a forum I figured out that it was L2Schemas folder missing from C:\Windows\. Just creating the folder did not help. So I copied that folder contents from another machine (Could not copy the entire folder but only the files). I have attached the link where you can download my L2Schemas folder and its contents - a zip compressed file with 7 XSD schema files. Hope this helps someone. Leave your comment.

Digital certificate installation on samsung galaxy tab

I struggled a bit to find how to install a digital certificate on Samsung Galaxy Tab P1000 & google helped a little. 1) Save your .p12 or .cer certificate to external SD card in root directoy. 2) Navigate "Home" --> "Applications" --> "Settings" 3) Select "Location and Security" 4) Under "Credential storage" have the first item "Use secure credentials" selected / checked 5) Select "Install encrypted certificates from SD card" and it would pop up the name of the certificate file found in the SD card 6) Provide the certificate import password if any. You are all set. You can use this certificate for WEP wireless settings or VPN or what ever your need is. However, I love my iPAD :)