Uploaded image for project: 'Project Quay'
  1. Project Quay
  2. PROJQUAY-5850

Support the standardized STS configuration flow via OLM and CCO for Quay on OpenShift

XMLWordPrintable

    • Icon: Feature Feature
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • None
    • False
    • None
    • False
    • Not Selected
    • 0
    • 0% 0%
    • 0

      Goals

      Establish a common and simplified configuration experience for Red Hat Quay on STS-enabled OpenShift clusters using the new, standardized configuration flow described in OCPSTRAT-171. Users have a repeatable process to configure the Quay operator for STS with well-known inputs and behavior and can reuse the knowledge about that process with other operators. The support should be introduced in a release of the Quay operator in 2023.

      Non-Goals

      Support for any older version of OCP than 4.14.

      Motivation

      Today, the support for AWS STS authentication is well established in our core platform but fragmented at best among our layered products and OLM-managed operators. The configuration experience is also different between individual OLM-managed operators that support STS. OCPSTRAT-6 aims to solve this for all cloud providers using the CloudCredentialOperator (CCO) and its CredentialRequest API.

      Based on this, customers get a repeatable and simple experience of installing and configuring the Quay operator, or any OLM-managed operator that supports it, for tokenized authentication with their cloud provider.

      The Quay operator has been identified as an operators capable of integrating with AWS APIs and therefor should support that flow to act on customer feedback from ROSA and OSD customers.

      STS enabled AWS API communication is considered a security-relevant issue for a majority of the customers and increasingly becomes a hard requirement.

      Prework

      Feasibility investigation: https://docs.google.com/document/d/1b53-JaycqgRUkUwVXKXqSpzQnJWZj2cdXHgv-ErmcSs/edit

      Acceptance Criteria

      • the Quay operator implements the standardized configuration flow for STS-enabled clusters using CCO and CredentialRequests described here: https://docs.google.com/document/d/1iFNpyycby_rOY1wUew-yl3uPWlE00krTgr9XHDZOTNo/edit#
      • the Quay operator gracefully falls back to regular operations when no role ARN is provided
      • the Quay operator degrades when the role ARN is provided but CCO does not reconcile the CredentialRequest (either due to a bug or due to running on an older than OCP 4.14 release)
      • the Quay operator documents what specific IAM permissions are needed when integrating with AWS using STS and provides easy to consume instructions to create those
      • the Quay operator supports this workflow and provides the documentation from the appropriate release onwards
      • there are instructions how to supply the required role to RHEL-based Quay deployments so Quay picks it up for boto's assume_role() flow

      Risk and Assumptions

      • Assumption: you don't currently have an existing way to integrate with STS
      • Risk: if the above assumption is wrong, you need to deprecate this configuration flow in favor of the flow defined in OCPSTRAT-171

      Documentation Considerations

      • the Quay operator should rely on documentation the OLM portion of the OCP docs on how to carry out the configuration flow using either the OCP console or the CLI
      • the Quay operator in its own documentation section shall supply the required IAM credential instructions

            Unassigned Unassigned
            DanielMesser Daniel Messer
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: