Skip to content

jmservera/legacyvb6ink8s

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
aks
 
 
app
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Legacy VB6 in Kubernetes - a PoC

This is a small PoC of a container that runs a VB6 code TCP server, to test how to move a legacy application to K8s and how to manage the raw TCP traffic into it.

The main Dockerfile that runs the application is in the root of the project, and the VB6 code is in the source folder. The app is a very simple TCP server, that can be stopped sending a SHUTDOWN command through telnet.

In the source folder there is a link.bat file that will compile the VB6 code and create a myapp.exe file inside the ../app folder. You need the VB6 compiler installed on your machine.

Inside the app folder you can find the compiled version of the code found in the source folder, along with some files needed to run a VB6 application, like the VBA6.dll, VB6.OLB, msvbvm60.dll and the MSWINSCK.OCX component, needed to run a simple TCP server in VB6.

There's also a Grok exporter configuration file, that contains the templates for scrapping the application log and publishing Prometheus metrics.

You will also find some example Dockerfiles for running a simple telnet server in Windows, and installing the sql tools on a container, to test different things that you may need in a VB6 app. Take a look at the extras folder.

Inside the aks folder there are some yaml examples to run this container and to create a tcp ingress with kong to provide access to the service from outside.

You can find extended information in the README.md files for each folder.

Remember that all this code is provided as is, without any warranty, and it is not intended to be used in production.