Skip to content

Path Forward for grpc s390x architecture support

Overview

The gRPC project currently supports Cryptography via BoringSSL.

Upstream BoringSSL will not add compatibility for the s390x architecture, thus GitLab and other open source projects that depend on BoringSSL, such as gRPC, lack sustainable support for the platform.

Proposal

To gain broad support for the s390x architecture, we propose helping upstream gRPC support building against OpenSSL. Building gRPC with OpenSSL means that all Cloud Native Foundation projects using gRPC now have access to s390x architecture by default.

The most beneficial outcome would be a drop in replacement for BoringSSL that enables other projects to easily support s390x and have a sustained upstream project designed for production usage by other parties1.

Resources needed

Allocation to gRPC project

  1. Initial spike group of engineers with experience in Go, gRPC, and cryptography that can add build support to upstream gRPC including both functionality and tests to prevent regressions
  2. Access to s390x build systems in support of continuous integration testing
  3. Long-term engineering commitment to help with s390x support in future releases and updates

Allocation to GitLab

  1. Access to s390x systems that allow Enterprise Edition builds for customers requiring features not present in Community Edition
  2. Established line of communication via issues and live chat for engineering resources to collaborate on the technical issues as they arise

Nice to have

  1. BoringSSL is a known blocker to s390x support for upstream Go projects, so an easy drop in is a win for the Open Source community.
    • Identify any existing projects that can be adapted for this usage or allocate engineering resources to create one
    • Community advocates and help building support across multiple communities for adoption
    • Engineering support to help projects adopt the BoringSSL drop in replacement

Footnotes

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

  1. BoringSSL explicitly states that is is not intended for general use

Edited by 🤖 GitLab Bot 🤖