Hello, everybody. My name is Nils Buer from Stonebranch. In the following video, I will demonstrate how to transfer data from an on premise server to web application running in OpenShift bot using the Red Hat certified Universal Agent. I created a very simple web application OpenShift called Newsflash. I will demonstrate now how to update the news web page of this application by transferring the updated HTML files and related pictures from the on-premises server to the Newsflash application running in OpenShift. To transfer a file from an on-premises server to an application running in OpenShift, the Stonebranch Universal Data Mover will be used. The Universal Data Mover allows to securely transfer data between Stonebranch Universal Agents. In this demo, I transferred the Newsflash web page data from a Universal Agent installed on a Linux server to a Universal Agent installed in the OpenShift pod where the Newsflash application is running. The deployment of the Universal Agent to a pod is done as a sidecar container. The following picture provides an overview of the demo scenario. We have a sample web application called Newsflash, which runs in a pod. Each pod, we have an OpenShift Universal Agent deployed as sidecar container. In the sample picture, two instances of the application have been started. As soon as a pod is started, the related universal OpenShift agent connects to the Universal Controller in the cloud. Once the agents are connected to the Universal Controller, files can be transferred from the on-premises agent to the agent running in OpenShift pod as sidecar container. All transferred data is encrypted, and no incoming pods needed to be opened for the transfer to the OpenShift pods. The data is sent from the on-premises Universal Agents to the two started pods in OpenShift. All pods belonging to one OpenShift application are grouped in Universal Automation Center using a Universal Controller agent cluster. As a result, you can send data from the on-premises agent to all started parts of the application. Let's have a look how the setup is done. The setup consists of three steps. First, we need to create an agent cluster in Universal Controller for the Newsflash application. Second, we need to add the Universal Sidecar container to the application deployment script. And third, we need to configure the file transfer task using the Universal Controller web GUI. Let me first create the agent cluster in Universal Controller. I'm now logged into the Universal Controller to create a new agent cluster for my Newsflash application. So I go to Linux agent clusters, press the new button. I just provide the name of my application as cluster name. In the next step, you will see how the universal agents in OpenShift will automatically register to this cluster if they belong to the Newsflash application. Now let's switch to OpenShift to configure the Newsflash application. I'm now logged into the OpenShift container platform version four. What you see here is the deployment file from a new Flash web application. The application is based on the Vietnamese NGIX image. This image is well-suited for OpenShift as it does not require a root user to run. I'm also mounting a shared folder in the pod, which can be accessed by the Newsflash container and later the Universal Agent Sidecar container. If I would deploy now, I would deploy three pods with the Newsflash application. Now I want to add the Sidecar container to each started Newsflash container. To add the Sidecar container, I just need to add this small piece to all my deployment scripts. In this case, my sidecar container is called Universal Agent. It's based on the Stonebranch Universal Agent image deployed in the Docker Hub. I'm also using the shared mount because I want to transfer the files to the shared file system accessible by the NGINX container. I need to set also some environment variables for the universal agent image to run. So first of all, I need to define the universal agent cluster. Remember, this is the agent cluster we've been setting up in the step before. And this is the name I think you maybe remember it agent cluster app news flash. All pods will register to this agent cluster. Then I need to define to which Universal Agent, sorry, to which Universal Controller I want to connect. In this case, I want to connect to the Universal Controller with the address 192.1688840 on port 7878. Last, I need to add the UDM license key. So that's the license key to transfer data between the agents. If I press now create, I will create X-ray three pods with the news flash application and the universal container inside. Now I need to wait until the pods are generated. It will only take some seconds until all pods are generated. And you see the pods are up and running. Let's have a look at the pods. So as you can see, three pods are running. That means, actually, I would also have three sidecar containers running. Let's have a look at one of the pods. If I look at the log files, you see I have a log file for the NGINX web server, and I have also a log file for the second container, which is the universal agent. So all the log files are streamed directly to the console. If I now look into Universal Automation Center, I should see my three pods, these three here, I should see the related sidecar container, agent, and the Universal Agent cluster. So let's have a look at the universal agent cluster. So if I go to my agent cluster, I see in the agents, there are now three agents assigned. And these are actually the three pods which have been starting. So now I could transfer data to all of these three pods. If I look in the agent overview screen, you see actually I have here four agents. One is my local agent on my Linux machine and the three agents in the pods. If I now want to transfer data to all pods simultaneously, I need to create a file transfer task. This is what I'm going to do now. So go to file transfer task and say, I want to create a new file transfer task. This is my file transfer task. So it's already created, but I don't need to want to do it now. So basically, file transfer task just contains a name. It contains, in this case, the agent cluster where I want to send the files to. I'm using the broadcast functionality. That means I'm transferring a file to all assigned agents in the broadcast cluster. I could only also send it to one of them. In this case, want to send it to all pods because each pod represents the whole application. And I have my file transfer script. I can also use a form, but I prefer using the script. So let's have a look at the file transfer script that you understand what's going on. For the file transfer, it's very simple. So first of all, I will open the source. The source has this IP address. That's my server. And these are the credentials of my Linux machine. Of course, you cannot see them. And then actually, want to do a replace. That meaning on the where on the destination, I want to replace the files if they exist. I want to copy the following files. I want to copy from my source, from the home news demo out directory, the index HTML file, and I want to transfer it to the destination, which in this case is my shared file system in the pot, And I want to call it also index HTML, the file that I've transferred. Then I want to transfer also a picture, a red hat picture, basically the certification picture. I want to also transfer to the destination, to the shared file system. Yeah, when I run this now, this file transfer task, it should automatically generate three file transfers because I have three agents in the cluster. So I started it, and you see it took just seconds. And you see three file transfers has been started. One file transfer for each agent in the cluster. If I look at the file transfer and the output, you can see here the complete lock from the file transferred from the local agent to the OpenShift pod agent. And you can even see here the IP address, the internal IP address of the pod where the file was sent to. So that worked all fine. Now let's have a look at the newsflash application if it really worked. So I go to my Newsflash application, and you can see it has already updated the breaking news page with the new date and the picture that we have transferred, so this red hat picture and basically the index HTML file. One last thing which I want to show you that you really see that nothing has been faked. So I go to my Red Hat application. I click, for example, on one of the containers. And now I go into the terminal and have a look. If these files, these are files are really there. And you can see today is the 31st of August, and here is a file that I transferred from the local server to the container. In these files, you will find now in every pod which is assigned to the agent cluster. Let me summarize what you've seen. In this video, you learned how to transfer data to your application running in OpenShift by three simple configuration steps. First of all, you need to create an agent cluster and universal controller for each OpenShift application. Then you add the Universal Sidecar container to the application deployment script. And the last step is you configure the file transfer workflow using the Universal Controller web GUI, and then you can start the file transfer. A file transfer, I did not show it to you, but can be started in many different ways in Universal Automation Center by an event, by a file arrival, you can schedule it with calendars, etcetera. So this ensures that the business data is always up to date on the application where it's needed. Yeah. Thanks a lot for watching this video.