RHEL

Deploying projects to Apache Felix, Tomcat, and Karaf in VS Code

Deploying projects to Apache Felix, Tomcat, and Karaf in VS Code

We’re expanding tooling support for containers and servers in different development environments. Our existing VS Code extension, Red Hat Server Connector, only provides functionality for Red Hat servers and runtimes like WildFly, Minishift, Red Hat JBoss Enterprise Application Platform (JBoss EAP), and Red Hat Container Development Kit. In this article, we introduce Red Hat Community Server Connector, the newest addition to our Visual Studio Code (VS Code) extensions.

Community Server Connector makes it easier than ever to deploy, run, debug, and test Open Service Gateway initiative (OSGi), Java EE and Jakarta EE, and other projects targeting diverse servers and runtimes. This new VS Code extension allows you to control Apache Felix, Apache Karaf, and Apache Tomcat with the same user interface (UI) and flexibility that you have in Server Connector. And don’t worry, we’ll continue to enhance Red Hat Server Connector as well.

This article offers a general introduction to Red Hat Server Connector. For a more detailed introduction, see my video demonstration, which includes use cases for Apache Felix, Apache Karaf, and Apache Tomcat.

Continue reading “Deploying projects to Apache Felix, Tomcat, and Karaf in VS Code”

Share
What’s new with tzdata: The time zone database for Red Hat Enterprise Linux

What’s new with tzdata: The time zone database for Red Hat Enterprise Linux

The Time Zone Database (tzdata) provides Red Hat Enterprise Linux (RHEL) with data that is specific to the local time zone. Applications in the Linux operating system use this data for various purposes. For instance, the GNU C Library (glibc) uses tzdata to ensure APIs such as strftime() work correctly, while applications such as /usr/bin/date use it to print the local date.

The tzdata package contains data files documenting both current and historic transitions for various time zones around the world. This data represents changes required by local government bodies or by time zone boundary changes, as well as changes to coordinated universal time (UTC) offsets and daylight saving time (DST).

This article is a quick update about changes to the tzdata package in 2019, as well as possible time zone changes that we are monitoring for package updates in 2020.

Continue reading “What’s new with tzdata: The time zone database for Red Hat Enterprise Linux”

Share
Red Hat Universal Base Images for Docker users

Red Hat Universal Base Images for Docker users

Red Hat Universal Base Images (UBIs) allow developers using Docker on Windows and Mac platforms to tap into the benefits of the large Red Hat ecosystem. This article demonstrates how to use Red Hat Universal Base Images with Docker from a non-Red Hat system, such as a Windows or Mac workstation.

Red Hat Enterprise Linux and Docker

When Red Hat Enterprise Linux (RHEL) 8 was released almost a year ago, and it came with lots of new features related to containers. The biggest ones were the new container tools (Podman, Buildah, and skopeo) and the new Red Hat Universal Base Images. There was also confusion because RHEL 8 dropped support for the Docker toolset. Some developers thought that they could not work with Docker anymore, and had to either migrate to a Red Hat-ecosystem Linux system such as CentOS or stay away from Red Hat customers.

Continue reading “Red Hat Universal Base Images for Docker users”

Share
Cross-language link-time optimization using Red Hat Developer Tools

Cross-language link-time optimization using Red Hat Developer Tools

Several months ago, the LLVM project blog published an article, Closing the gap: cross-language LTO between Rust and C/C++. In it, they explained that link-time optimization can improve performance by optimizing throughout the whole program, such as inlining function calls between different objects. Since Rust and Clang both use LLVM for code generation, we can even achieve this benefit across different programming languages.

In Red Hat Developer Tools, we have the Rust and LLVM Toolsets, which can easily be used together for cross-language link-time optimization (LTO), so let’s try it out.

Continue reading “Cross-language link-time optimization using Red Hat Developer Tools”

Share
C# 8 nullable reference types

C# 8 nullable reference types

In the previous article, we discussed C# 8 default interface methods. In this article, we’ll look at C# 8 nullable reference types. Reference types refer to an object that is on the heap. When there is no object to refer to, the value is null. Sometimes null is an acceptable value, but often it is an illegal value that leads to ArgumentNullExceptions and NullReferenceExceptions.

C# 8 finally gives us the ability to express whether a variable shouldn’t be null, and when it can be null. Based on these annotations, the compiler will warn you when you are potentially using a null reference, or passing a null reference to a function that won’t accept it.

Continue reading “C# 8 nullable reference types”

Share
Red Hat simplifies container development and redistribution of Red Hat Enterprise Linux packages

Red Hat simplifies container development and redistribution of Red Hat Enterprise Linux packages

Application developers in the Red Hat Partner Connect program can now build their container apps and redistribute them from the full set of Red Hat Enterprise Linux (RHEL) user space packages (non-kernel). This nearly triples the number of packages over UBI only.

When we introduced Red Hat Universal Base Images (UBI) in May 2019, we provided Red Hat partners the ability to freely use and redistribute a substantial number of RHEL packages that can be deployed on both Red Hat and non-Red Hat platforms. This gave developers the ability to build safe, secure, and portable container-based software that could then be deployed anywhere. The feedback on this has been overwhelmingly positive and we thank you for it, but we learned that you needed more, so we’re sharing this advanced preview with Red Hat Partner Connect members to help you with your planning. 

Expanded and exclusive redistribution rights for Red Hat Technology Partners

We are pleased to announce expanded partner terms and conditions that grant Red Hat Technology Partners free use and redistribution rights to all Red Hat Enterprise Linux user space packages when you build upon UBI-based images. With more than triple the number of RHEL packages now available, you can simplify your container and Operator development and freely re-distribute your container-based software through both Red Hat and non-Red Hat registries. This is only available to Red Hat partners who participate in and complete Red Hat Container Certification.

Continue reading “Red Hat simplifies container development and redistribution of Red Hat Enterprise Linux packages”

Share
Red Hat OpenShift 4.2 IPI on OpenStack 13: All-in-one setup

Red Hat OpenShift 4.2 IPI on OpenStack 13: All-in-one setup

Months ago, a customer asked me about Red Hat OpenShift on OpenStack, especially regarding the network configuration options available in OpenShift at the node level. In order to give them an answer and increase my confidence on $topic, I’ve considered how to test this scenario.

At the same time, the Italian solution architect “Top Gun Team” was in charge of preparing speeches and demos for the Italian Red Hat Forum (also known as Open Source Day) for the Rome and Milan dates. Brainstorming led me to start my journey toward testing OpenShift 4.2 setup on OpenStack 13 in order to reply to the customer and leverage this effort to build a demo video for Red Hat Forum.

Continue reading “Red Hat OpenShift 4.2 IPI on OpenStack 13: All-in-one setup”

Share
Python wheels, AI/ML, and ABI compatibility

Python wheels, AI/ML, and ABI compatibility

Python has become a popular programming language in the AI/ML world. Projects like TensorFlow and PyTorch have Python bindings as the primary interface used by data scientists to write machine learning code. However, distributing AI/ML-related Python packages and ensuring application binary interface (ABI) compatibility between various Python packages and system libraries presents a unique set of challenges.

The manylinux standard (e.g., manylinux2014) for Python wheels provides a practical solution to these challenges, but it also introduces new challenges that the Python community and developers need to consider. Before we delve into these additional challenges, we’ll briefly look at the Python ecosystem for packaging and distribution.

Continue reading “Python wheels, AI/ML, and ABI compatibility”

Share
Develop with Node.js in a container on Red Hat Enterprise Linux

Develop with Node.js in a container on Red Hat Enterprise Linux

In my previous article, Run Red Hat Enterprise Linux 8 in a container on RHEL 7, I showed how to start developing with the latest versions of languages, databases, and web servers available with Red Hat Enterprise Linux 8, even if you are still running RHEL 7. In this article, I’ll build on that base to show how to get started with Node using the current RHEL 8 application stream versions of Node.js and Redis 5.

Continue reading “Develop with Node.js in a container on Red Hat Enterprise Linux”

Share