NOTE: Bare Metal Event Relay
was renamed from Hardware Event Proxy
.
The Bare Metal Event Relay Operator, runs in a single namespace, manages bare metal hardware event framework.
It offers HardwareEvent
CRDs and deploys Bare Metal Event Relay container along with Cloud Event Proxy framework.
![LICENSE](https://img.shields.io/github/license/redhat-cne/hw-event-proxy-operator.svg)
HardwareEvent
To start using Bare Metal Event Relay, install the operator and then create the following HardwareEvent CR.
You can only create one instance of HardwareEvent in this release. Examples:
With HTTP Transport
apiVersion: "event.redhat-cne.org/v1alpha1"
kind: "HardwareEvent"
metadata:
name: "hardware-event"
spec:
nodeSelector: {}
transportHost: "http://hw-event-publisher-service.openshift-bare-metal-events.svc.cluster.local:9043"
Here the transport is set to hw-event-publisher-service
service in the openshift-bare-metal-events
namespace.
The storageType
is for HTTP transport only. HTTP transport requires persistent storage for storing subscription data. The storageType
when not specified is set to emptyDir
.
The storageType
is no longer used and is overridden in cloud-event-proxy by configMap.
If transportHost
is missing or empty, the default transportHost "http://hw-event-publisher-service.openshift-bare-metal-events.svc.cluster.local:9043"
is used.
With AMQP Transport
apiVersion: "event.redhat-cne.org/v1alpha1"
kind: "HardwareEvent"
metadata:
name: "hardware-event"
spec:
nodeSelector: {}
transportHost: "amqp://<amq-router-service-name>.<amq-namespace>.svc.cluster.local"
The AMQP service <amq-router-service-name>
should be available in <amq-namespace>
namespace prior to deploying HardwareEvent.
Select Node
Below is an example of updating nodeSelector
to select a specific node:
apiVersion: "event.redhat-cne.org/v1alpha1"
kind: "HardwareEvent"
metadata:
name: "hardware-event"
spec:
nodeSelector:
node-role.kubernetes.io/worker: ""
transportHost: "http://hw-event-publisher-service.openshift-bare-metal-events.svc.cluster.local:9043"
Create Secret for Redfish Authentication
This operator needs a secret to be created to access Redfish Message Registry.
oc -n openshift-bare-metal-events create secret generic redfish-basic-auth \
--from-literal=username=${BMC_USER} \
--from-literal=password=${BMC_PASSWORD} \
--from-literal=hostaddr=${BMC_HOST}
The secret is created under the same namespace as the operator. For example:
apiVersion: v1
kind: Secret
metadata:
name: redfish-basic-auth
type: Opaque
stringData:
username: <bmc_username>
password: <bmc_password>
# BMC host DNS or IP address
hostaddr: <bmc_host_ip_address>
Quick Start
To install the Bare Metal Event Relay Operator:
export IMG=quay.io/openshift/origin-baremetal-hardware-event-proxy-operator:4.13
$ make deploy
To un-install:
$ make undeploy
Refer to Developer Guide for more details.