Skip to content

Spike: Operator changes for multi-arch #477

Closed
@Maleware

Description

@Maleware

As an Example, we will spike changes for all operators on the example of Kafka.

As long as the Image-Selection-ADR is not implemented (ISSUE TBD), we will show how we need to change the operator.

For the spike, we gonna change things hard-coded, for a more elaborated GH-Action, the ADR023 must be implemented.

Changes for image dependencies:

  • rust/operator/src/kafka_contoller.rs
    • stackable/kafka:{} -> stackable-experimental/kafka:{}
    • stackable/tools: -> stackable-experimental/tools: 2x
    • stackable/edenhill/kcat:1.7.0" -> stackable-experimental/edenhill/kcat:1.7.0"
      For this to work, a multi-arch-image of those dependencies has to present. Therefore we change those paths

Changes in Cargo.toml:

  • rust/crd/Cargo.toml
    • OpenSSL: openssl = { version = "0.10.41", features = ["vendored"] }

Makefile:

  • Enable buildx in makefile, proposed option:
    docker-build-multi:
    docker buildx create --name builder --use
    docker buildx build --force-rm --build-arg VERSION=${VERSION} -t "docker.stackable.tech/stackable-experimental/kafka-operator:${VERSION}" -f docker/Dockerfile --platform linux/arm64,linux/amd64 --push .
    docker buildx rm builder

Dockerfile:

  • stackable/ubi8-rust-builder -> stackable-experimental/ubi8-rust-builder
    For this to work a updated Rust-builder which is already prepared for multi-arch is necessary. At the stackable-experimental repository, there is already the correct one present. This is build as a multi-arch-image and was made from the multi-arch-branch

Working-Branches:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions