Skip to content

kubernetes storage: allow option to disable CRD creation #1513

Open

Description

@venezia

Right now the kubernetes storage provider for dex, generally speaking, will:

  • look to see if custom resources are used (as opposed to TPR, which is another story)
  • If CRs are to be used, iterate across the list of CRs attempting to list them
  • if a list fails, ask the api server to accept a CRD for said resource

This is generally safe logic - it will not try to update the custom resource definition if it already exists, but at the same time, it is somewhat presumptive that it would have access to submit custom resource definitions.

I think that this is a reasonable default, but there may be some users who would prefer that dex does not try to create the custom service definitions. Perhaps we should offer a setting like skipCRDCreation in the configuration, which is sort of alluded to in #598

Its not hard to add, we can keep the default behavior, but still allow users this ability.

Also, TPRs were removed starting with Kubernetes 1.7, which was released just over two years ago. While that isn't a decade ago, do we have a plan on when to extinguish support for TPRs? Its just additional code to maintain/test that is likely not being used.

Thoughts?

Activity

  1. bonifaido commented on Aug 8, 2019

    @bonifaido
    Member
    1. Creating custom resource definitions is quite a broad RBAC scope so I vote for the skipCRDCreation configuration option. 👍

    2. TBH I would remove the TPR code entirely, since as you mentioned event the version which dropped it is unsupported now. 👍

  2. venezia commented on Aug 13, 2019

    @venezia
    ContributorAuthor

    OK, So just to track this:

  3. andytson-inviqa commented on May 24, 2022

    @andytson-inviqa

    also, the CRDs should be able to be installed from the Helm chart regardless of the reason helm/charts#21703 gave for closing it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions