Our connected world is full of events that are triggered or received by different software services. One of the big issues is that event publishers tend to describe events differently and in ways that are mostly incompatible with each other.
To address this, the Serverless Working Group from the Cloud Native Computing Foundation (CNCF) recently announced version 0.2 of the CloudEvents specification. The specification aims to describe event data in a common, standardized way. To some degree, a CloudEvent is an abstract envelope with some specified attributes that describe a concrete event and its data.
Working with CloudEvents is simple. This article shows how to use the powerful JVM toolkit provided by Vert.x to either generate or receive and process CloudEvents.
Continue reading “Processing CloudEvents with Eclipse Vert.x”
On the heels of our recently announcement, General Availability of Clang/LLVM 6.0, Go 1.10, and Rust 1.29, I want to share how we’ll be supporting them going forward. Previously, these packages had been in “Technology Preview” status, which means that they were provided for “you to test functionality and provide feedback during the development process”, and were “not fully supported under Red Hat Subscription Level Agreements, may not be functionally complete, and are not intended for production use”.
So now that we’ve promoted them to fully supported status, what does that mean? In the simplest terms, General Availability (GA) means that these packages have officially entered the “Full Support Phase” of their lifecycle:
Continue reading “Support Lifecycle for Clang/LLVM, Go, and Rust”
We are pleased to announce the immediate availability of these three compiler toolsets now in beta for Red Hat Enterprise Linux 7. Upon the GA release, these versions will become officially supported Red Hat offerings:
- Clang/LLVM 6.0
- Go 1.10
- Rust 1.29
These toolsets can be installed from the Red Hat Enterprise Linux 7 Devtools channel. See the “New compiler details” below to learn about the new features.
Continue reading “Clang/LLVM 6.0, Go 1.10, and Rust 1.29 now in beta for Red Hat Enterprise Linux”
Twice a year, Red Hat distributes new versions of compiler toolsets, scripting languages, open source databases, and/or web tools, etc. so that application developers will have access to the latest, stable versions. These Red Hat supported offerings are packaged as Red Hat Software Collections (scripting languages, open source databases, web tools, etc.), Red Hat Developer Toolset (GCC), and the recently added compiler toolsets Clang/LLVM, Go, and Rust. All are yum installable, and are included in most Red Hat Enterprise Linux subscriptions and all Red Hat Enterprise Linux Developer Subscriptions. Most Red Hat Software Collections and Red Hat Developer Toolset components are also available as Linux container images for hybrid cloud development across Red Hat Enterprise Linux, Red Hat OpenShift Container Platform, etc.
The new/updated compiler toolsets are:
Continue reading “New Red Hat compilers toolsets in beta: Clang and LLVM, GCC, Go, Rust”
One of the new software collections we’ve introduced this fall is for Go, the programming language that aims to make it easy to build simple, reliable, and efficient software. Go is a compiled, statically typed language in the C/C++ tradition with garbage collection, concurrent programming support, and memory safety features.
In go-toolset-7, we’re including everything you need to start programming in Go on Red Hat Enterprise Linux 7, in the familiar format of software collections. In this release, we’re shipping golang as a Tech Preview. (NOTE: The “-7” in our toolset name is to sync with the other collections now being released, devtoolset-7, rust-toolset-7, and llvm-toolset-7.)
Continue reading “Getting started with go-toolset”
I am pleased to announce the general availability of numerous Red Hat curated collections of the latest, stable application development tools, languages, compilers, databases, and more. Created for Red Hat Enterprise Linux, developers can access these via the following open source offerings:
- Red Hat Software Collections
- Red Hat Developer Toolset
- New RHEL Compilers: Clang/LLVM, Go, and Rust
Components delivered as Linux Containers can also be used on Red Hat OpenShift Container Platform.
Continue reading “Announcing release of Software Collections, Developer Toolset, new compilers”
I am pleased to announce immediate availability of Red Hat Developer Toolset 7.0 Beta and three new compiler toolsets for Red Hat Enterprise Linux 7. Delivered on a separate lifecycle from Red Hat Enterprise Linux with a more frequent release cadence, Red Hat Developer Toolset and compilers bridge development agility and production stability by helping you create performant applications that can be confidently deployed into production.
This beta release brings these exciting new compilers to our Red Hat Enterprise Linux offerings:
- Developer Toolset 7 beta adds a major update of GCC 7.2 and supporting toolchain
- Addition of Clang/LLVM 4.0.1 compiler set – Technology Preview*
- Addition of Go 1.8.3 compiler – Technology Preview*
- Addition of Rust 1.20 compiler – Technology Preview*
Install the new additions via yum install from the new Devtools channel.
Continue reading “Red Hat adds Go, Clang/LLVM, Rust compiler toolsets; updates GCC”
I’m working on the upstream fabric8-wit project of openshift.io. In this Go project, we embrace testing as best as we can in order to deliver a stable component. Testing acts as our safety net to allow for fast-paced feature development. This blog post is about our recent change in our testing strategy. It is not as boring as it might sound at first. 😉
Continue reading “Manage test dependencies with Go”
Why use RPMs (distribution packages in general) at all ?!
Distribution RPMs enables you to get signed curated content, with security updates, bug fixes, general updates, some level of testing, and known ways of reproducing the build locally. Of course, it has its cost mostly in the package size overhead and packaging infrastructure overhead (yum, dnf, apt….).
Continue reading “Basics of Go in Fedora”
The Kubernetes client package for Go provides developers with a vast range of functions to access data and resources in a cluster. Taking advantage of its capabilities can allow the opportunity to build powerful controllers, monitoring and managing your cluster, beyond the scope of what is offered by stock OpenShift or Kubernetes setups.
For example, the PodInterface allows you to list, update, delete, or get specific pods either by namespace or across all namespaces. This interface is complemented by similar implementations for many other cluster resource types such as ReplicationControllers and ResourceQuotas.
Continue reading “Using the Kubernetes Client for Go”