Eclipse Che at EclipseCon Eurpose

EclipseCon Europe: Che sessions by Red Hatters

EclipseCon Europe is almost here, and many Red Hatters are working furiously to make the show as valuable as possible for attendees. (We’re partly doing it for ourselves as well, of course, because it’s a great opportunity to get the entire Che/Theia community together.)  If you aren’t familiar with Eclipse Che, it’s is a next-generation cloud IDE and developer workspace server for teams and organizations. Theia is an extensible open-source framework to develop multi-language IDEs for the cloud and desktop using state-of-the-art web technologies.

The conference will be held next week on October 22–25 in Ludwigsburg, Germany. Here’s a rundown of what will be offered.

Continue reading “EclipseCon Europe: Che sessions by Red Hatters”

CloudEvent Flow

EventFlow: Event-driven microservices on OpenShift (Part 1)

This post is the first in a series of three related posts that describes a lightweight cloud-native distributed microservices framework we have created called EventFlow. EventFlow can be used to develop streaming applications that can process CloudEvents, which are an effort to standardize upon a data format for exchanging information about events generated by cloud platforms.

The EventFlow platform was created to specifically target the Kubernetes/OpenShift platforms, and it models event-processing applications as a connected flow or stream of components. The development of these components can be facilitated through the use of a simple SDK library, or they can be created as Docker images that can be configured using environment variables to attach to Kafka topics and process event data directly.

Continue reading “EventFlow: Event-driven microservices on OpenShift (Part 1)”


Securing .NET Core on OpenShift using HTTPS

In an effort to improve security, browsers have become stricter in warning users about sites that aren’t properly secured with SSL/TLS. ASP.NET Core 2.1 has improved support for HTTPS. You can read more about these enhancements in Improvements to using HTTPS. In this blog post, we’ll look at how you can add HTTPS to your ASP.NET Core applications deployed on Red Hat OpenShift.

Before we get down to business, let’s recap some OpenShift vocabulary and HTTPS fundamentals. If you are familiar, you can skip over these sections.

OpenShift, pods, services, routes, and S2I

OpenShift is a Kubernetes-based open-source container application platform. A Kubernetes pod is a set of containers that must be deployed on the same host. In most cases, a pod consists of a single container. When we run the same application in several pods, a service does the load balancing across those pods. A route makes a service accessible externally via a hostname.

Continue reading “Securing .NET Core on OpenShift using HTTPS”

Groovy Logo

Use Groovy to customize the Maven build process

Apache Maven is a popular build automation tool used primarily for Java projects (although it can also be used to build and manage projects written in other languages). Maven uses a pom.xml file to centrally manage a project’s build and its dependencies. If you have worked anywhere near to the Java ecosystem chances are that, for the good or for the bad, you have come across the use of this tool.

Maven plugins are used to enhance and customize the Maven build process; while the list of existing plugins is quite extensive, it is common to need to implement some small changes or tweak the build just a bit, which makes writing a whole plugin feel like overkill.

This post describes a possible solution: the GMaven Plus plugin.

Continue reading “Use Groovy to customize the Maven build process”


Red Hat Container Development Kit 3.6 now available

We are pleased to announce the availability of Red Hat Container Development Kit (CDK) 3.6. CDK 3.6 is based on Minishift 1.24.0, a command-line tool to quickly provision an OpenShift and Kubernetes cluster on your local machine for developing cloud- and container-based applications. You can run CDK/Minishift on Windows, macOS, or Linux.

Today, we are also announcing the availability of Red Hat Developer Studio 12.9 and JBoss Tools 4.9 for Eclipse 2018-09. You can develop cloud/container-based applications with a familiar desktop IDE that has integrated tooling for CDK/Minishift.

Here’s a summary of the new features in CDK 3.6:

Continue reading “Red Hat Container Development Kit 3.6 now available”


Announcing Red Hat Developer Studio 12.9.0.GA and JBoss Tools 4.9.0.Final for Eclipse 2018-09

Attention desktop IDE users: Red Hat Developer Studio 12.9 and the community edition, JBoss Tools 4.9.0 for Eclipse 2018-09, are now available. You can download the Developer Studio bundled installer, which installs Eclipse 4.9 with all of the JBoss Tools already configured. Or, if you have an existing Eclipse 4.9 (2018-09) installation, you can download the JBoss Tools package.

This article highlights some of the new features in both JBoss Tools and Eclipse Photon, covering WildFly, Spring Boot, Camel, Maven, and many Java-related improvements—including full Java 11 support.

Developer Studio/JBoss Tools provides a desktop IDE with a broad set of tooling covering multiple programming models and frameworks. If you are doing container/cloud development, there is integrated functionality for working with Red Hat OpenShift, Kubernetes, Red Hat Container Development Kit, and Red Hat OpenShift Application Runtimes. For integration projects, there is tooling covering Camel and Red Hat Fuse that can be used in both local and cloud deployments.

Continue reading “Announcing Red Hat Developer Studio 12.9.0.GA and JBoss Tools 4.9.0.Final for Eclipse 2018-09”


Integrating third-party identity providers with Red Hat 3scale API Management

This post describes how to configure OpenID Connect (OIDC) authentication using an external Identity Provider (IdP). With the new release of Red Hat 3scale API Management, version 2.3, it is possible to use any OIDC-compliant IdP during the API authentication phase. This is a very important new feature because it makes it possible to integrate any IdP already present in your environment—without having to use an Identity Broker—thus reducing overall complexity.

Continue reading “Integrating third-party identity providers with Red Hat 3scale API Management”


Configuring NGINX for OAuth/OpenID Connect SSO with Keycloak/Red Hat SSO

In this article I cover configuring NGINX for OAuth-based Single Sign-On (SSO) using Keycloak/Red Hat SSO. This allows the use of OpenID Connect (OIDC) for federated identity. This configuration is helpful when NGINX is acting as a reverse-proxy server for a backend application server, for example, Tomcat or JBoss, where the authentication is to be performed by the web server.

In this setup, Keycloak will act as an authorization server in OAuth-based SSO and NGINX will be the relaying party.  We will be using lua-resty-openidc, which is a library for NGINX implementing the OpenID Connect relying party (RP) and/or the OAuth 2.0 resource server (RS) functionality.

Continue reading “Configuring NGINX for OAuth/OpenID Connect SSO with Keycloak/Red Hat SSO”

Red Hat OpenShift

Modern Web Applications on OpenShift: Part 1 – Web apps in two commands

In this multi-part series, we will take a look at how to deploy modern web applications, like React and Angular apps, to Red Hat OpenShift using a new source-to-image (S2I) builder image.

This first post will cover how to deploy modern web apps using the fewest steps.

The next post will show how to combine this new S2I image with a current HTTP server image, like NGINX, using an OpenShift chained build for a more production-ready deployment.

The last post will show how to run your app’s development server on OpenShift while syncing with your local file system.

Continue reading “Modern Web Applications on OpenShift: Part 1 – Web apps in two commands”

Kubernetes logo with text

Are App Servers Dead in the Age of Kubernetes? (Part 2)

Welcome to the second in a series of posts on Kubernetes, application servers, and the future. Part 1, Kubernetes is the new application operating environment, discussed Kubernetes and its place in application development. In this part, we explore application servers and their role in relation to Kubernetes.

You may recall from  that we were exploring the views put forth in Why Kubernetes is The New Application Server and thinking about what those views mean for Java EE, Jakarta EE, Eclipse MicroProfile, and application servers. Is it a curtain call for application servers? Are we seeing the start of an imminent decline in their favor and usage?

Before answering that, we need to discuss the use case for application servers. Then can we decide whether it’s still a valid use case.

Continue reading “Are App Servers Dead in the Age of Kubernetes? (Part 2)”