Skip to content

Commit

Permalink
[issues-133] - Kubernetes provisioning: documentation updates
Browse files Browse the repository at this point in the history
  • Loading branch information
fabiobrz committed Nov 13, 2024
1 parent 955a563 commit 788a78c
Show file tree
Hide file tree
Showing 5 changed files with 129 additions and 101 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ Feel free to submit an issue in such a case, Intersmash welcomes community contr
| Red Hat JBoss EAP 8 | JBoss EAP 8.0.x (and XP 5.x) | |
| Red Hat JBoss EAP 7 | JBoss EAP 7.4.z (and XP 4.z) | |
| | | |
| Hyperfoil | 0.24.2 | |
| Hyperfoil | 0.24.2 | Supports provisioning via the Operator, both on **Kubernetes** and **OpenShift** |

Since multiple deliverables can be bound to a given service version, e.g.: container images, operator CRs, or Helm Charts,
more information can be found in [the provisioners' documentation](./provisioners/README.md), or in the resources there linked.
Expand All @@ -175,8 +175,8 @@ We welcome community contributions to other Kubernetes implementations.


## Future goals
* K8s support and Quarkus provisioning
* documentation and examples enhancements
* OpenShift AI provisioning
* Documentation and examples enhancements

see the [current milestone](https://github.com/Intersmash/intersmash/milestone/2) for a complete list of issues.

Expand Down
20 changes: 14 additions & 6 deletions docs/CLOUD_TARGET.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,22 @@
Each test that is annotated by the `@Intersmash` annotation will be managed by the `Intersmash` extension,
which relies on JUnit5 Jupiter.

The `Intersmash` will load the provisioner dynamically, based on the _Application descriptor_ type.
The `Intersmash` will load the provisioner dynamically, based on the
_[Application](../core/src/main/java/org/jboss/intersmash/application/Application.java) descriptor_ type.
Specifically, the application descriptor type can be configured in order to either target an OpenShift cluster or a
Kubernetes one, when a concrete implementation of OperatorApplication is used, i.e. when leveraging an
Operator based provisioner. The allowed values are: `OpenShift`, `Kubernetes` (_default_: `OpenShift`).
Kubernetes one, when a concrete implementation of
[OperatorApplication](../core/src/main/java/org/jboss/intersmash/application/operator/OperatorApplication.java) is used,
i.e. when leveraging an Operator based provisioner, like for instance:
[HyperfoilOperatorProvisioner](../provisioners/src/main/java/org/jboss/intersmash/provision/operator/HyperfoilOperatorProvisioner.java).
The allowed values are: `OpenShift`, `Kubernetes` (_default_: `OpenShift`).

The test execution engine will try to connect to an existing OpenShift cluster by default, set up the
test scenario, and finally run tests on it.
Conversely, assigning the `Kubernetes` value to an _application descriptor_ instance `target`, will cause the test
**IMPORTANT**: _Intersmash support for provisioning on Kubernetes is currently limited to the following provisioners_:

- Hyperfoil

By default, the test execution engine will try to connect to an existing OpenShift cluster, set up the test scenario,
and finally run tests on it.
Conversely, making an _application descriptor_ instance return `Kubernetes` as the target environment, will cause the test
execution engine to deal with an existing Kubernetes cluster.

Intersmash tests should be executed conditionally, (e.g.: via the Maven Surefire plugin exclusions) in order to
Expand Down
28 changes: 14 additions & 14 deletions docs/Operator-Based-Provisioning.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,20 @@ a given service on cloud environments via APIs that leverage the
Intersmash makes this feature available for currently supported products (see the table below), but that can be
extended easily, since Intersmash _provisioners_ are pluggable components.

| Service | Supported Operator version | Channel name | Repository | Notes |
|:---------------------------------|:---------------------------|:-------------|:----------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ActiveMQ Artemis | 1.0.11 | upstream | https://github.com/artemiscloud/activemq-artemis-operator | We are using a custom index image, i.e. quay.io/jbossqe-eap/intersmash-activemq-operator-catalog:v1.0.11, built as described in https://github.com/Intersmash/intersmash/issues/32 |
| Red Hat AMQ Broker | 7.11.6-opr-2 | 7.11.x | https://github.com/rh-messaging/activemq-artemis-operator | As available on the OpenShift OperatorHub |
| Infinispan | 2.4.5 | stable | https://github.com/infinispan/infinispan-operator | As available on the OpenShift OperatorHub (community-operators) |
| Red Hat DataGrid | 8.5.2 | stable | https://github.com/infinispan/infinispan-operator | As available on the OpenShift OperatorHub |
| Kafka provided by Strimzi | 0.44.0 | stable | https://github.com/strimzi/strimzi-kafka-operator | |
| Red Hat AMQ Streams | 2.7.0-3 | stable | https://github.com/strimzi/strimzi-kafka-operator | As available on the OpenShift OperatorHub |
| Keycloak | 24.0.3 | fast | https://github.com/keycloak/keycloak/tree/main/operator | Latest Keycloak, based on Quarkus. Supports a limited number of CR (Keycloak and KeycloakRealmImport): more to come in upcoming versions |
| Red Hat Build of keycloak (RHBK) | 24.0.3-opr.1 | stable-v24 | https://github.com/keycloak/keycloak/tree/main/operator | Latest Keycloak, based on Quarkus. |
| Red Hat SSO - **DEPRECATED** | 7.6.8-opr-001 | stable | https://github.com/keycloak/keycloak-operator | Latest Red Hat SSO Operator, based on legacy Keycloak |
| WildFly | 1.0.0 | alpha | https://github.com/wildfly/wildfly-operator | As available on https://operatorhub.io/operator/wildfly |
| Red Hat JBoss EAP | 3.0.0 | stable | https://github.com/wildfly/wildfly-operator | As available on the OpenShift OperatorHub |
| Hyperfoil | 0.24.2 | alpha | https://github.com/Hyperfoil/hyperfoil-operator | We force the CRs version for the used Hyperfoil runtime to be 0.24.2, see https://github.com/Hyperfoil/hyperfoil-operator/issues/18 |
| Service | Supported Operator version | Channel name | Repository | Notes |
|:---------------------------------|:---------------------------|:-------------|:----------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ActiveMQ Artemis | 1.0.11 | upstream | https://github.com/artemiscloud/activemq-artemis-operator | We are using a custom index image, i.e. quay.io/jbossqe-eap/intersmash-activemq-operator-catalog:v1.0.11, built as described in https://github.com/Intersmash/intersmash/issues/32 |
| Red Hat AMQ Broker | 7.11.6-opr-2 | 7.11.x | https://github.com/rh-messaging/activemq-artemis-operator | As available on the OpenShift OperatorHub |
| Infinispan | 2.4.5 | stable | https://github.com/infinispan/infinispan-operator | As available on the OpenShift OperatorHub (community-operators) |
| Red Hat DataGrid | 8.5.2 | stable | https://github.com/infinispan/infinispan-operator | As available on the OpenShift OperatorHub |
| Kafka provided by Strimzi | 0.44.0 | stable | https://github.com/strimzi/strimzi-kafka-operator | |
| Red Hat AMQ Streams | 2.7.0-3 | stable | https://github.com/strimzi/strimzi-kafka-operator | As available on the OpenShift OperatorHub |
| Keycloak | 24.0.3 | fast | https://github.com/keycloak/keycloak/tree/main/operator | Latest Keycloak, based on Quarkus. Supports a limited number of CR (Keycloak and KeycloakRealmImport): more to come in upcoming versions |
| Red Hat Build of keycloak (RHBK) | 24.0.3-opr.1 | stable-v24 | https://github.com/keycloak/keycloak/tree/main/operator | Latest Keycloak, based on Quarkus. |
| Red Hat SSO - **DEPRECATED** | 7.6.8-opr-001 | stable | https://github.com/keycloak/keycloak-operator | Latest Red Hat SSO Operator, based on legacy Keycloak |
| WildFly | 1.0.0 | alpha | https://github.com/wildfly/wildfly-operator | As available on https://operatorhub.io/operator/wildfly |
| Red Hat JBoss EAP | 3.0.0 | stable | https://github.com/wildfly/wildfly-operator | As available on the OpenShift OperatorHub |
| Hyperfoil | 0.24.2 | alpha | https://github.com/Hyperfoil/hyperfoil-operator | Available for both **Kubernetes** and **OpenShift**. We force the CRs version for the used Hyperfoil runtime to be 0.24.2, see https://github.com/Hyperfoil/hyperfoil-operator/issues/18 |

Intersmash operator-based provisioners implement a common contract and high level behavior which is defined by the
[OperatorProvisioner](../core/src/main/java/org/jboss/intersmash/provision/openshift/operator/OperatorProvisioner.java)
Expand Down
3 changes: 2 additions & 1 deletion docs/Provisioner-by-Product.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ The provisioner is selected by a factory, based on the _Application class_ type
| **PostgreSQL Image** (see PostgreSQLImageOpenShiftApplication) | PostgreSQLImageOpenShiftProvisioner | :heavy_check_mark: | :x: |
| **Operator based services** | | | |
| **ActiveMQ Artemis & Red Hat AMQ Broker Operator** (see ActiveMQOperatorApplication) | ActiveMQOperatorProvisioner | :heavy_check_mark: | :heavy_check_mark: |
| **Hyperfoil Operator** (see HyperfoilOperatorApplication) | HyperfoilOperatorProvisioner | :heavy_check_mark: | :x: |
| **Hyperfoil Operator** - Kubernetes (see HyperfoilOperatorApplication) | HyperfoilKubernetesOperatorProvisioner | :heavy_check_mark: | :x: |
| **Hyperfoil Operator** - OpenShift (see HyperfoilOperatorApplication) | HyperfoilOpenShiftOperatorProvisioner | :heavy_check_mark: | :x: |
| **Infinispan & Red Hat DataGrid Operator** (see InfinispanOperatorApplication) | InfinispanOperatorProvisioner | :heavy_check_mark: | :heavy_check_mark: |
| **Kafka/Red Hat AMQ Streams Operator** (see KafkaOperatorApplication) | KafkaOperatorProvisioner | :heavy_check_mark: | :heavy_check_mark: |
| **Keycloak & Red Hat Build of Keycloak Operator** (see KeycloakOperatorApplication) | KeycloakOperatorProvisioner | :heavy_check_mark: | :heavy_check_mark: |
Expand Down
Loading

0 comments on commit 788a78c

Please sign in to comment.