Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Components API #280

Merged
merged 1 commit into from
Aug 17, 2020
Merged

Components API #280

merged 1 commit into from
Aug 17, 2020

Conversation

alecmerdler
Copy link
Contributor

Description

Changes API to use spec.components versus spec.managedComponents. This field allows you to specify the component name, and whether its lifecycle is managed externally or by the Operator.

This API has a UX advantage of being able to create a full batteries-included install of Quay without specifying each individual component. If an upgrade to the Operator adds a new component, it will be enabled by default without the user needing to modify the QuayRegistry instance. Making components unmanaged is as simple as changing managed: false.

The Operator will populate spec.components with any components not specified on create/update, defaulting to managed: true. This gives the user visibility into what components are being deployed.

The new API looks like this:

spec:
  components:
    - kind: clair
      managed: false

Testing

Unit tests:

$ go test -v ./...

Screenshots

Create QuayRegistry UI form (driven by specDescriptor and OpenAPI):

Screenshot_20200723_125224

Needed for https://issues.redhat.com/browse/PROJQUAY-827

@alecmerdler alecmerdler merged commit 23c673f into quay:master Aug 17, 2020
@alecmerdler alecmerdler deleted the components branch August 17, 2020 17:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.

1 participant