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

feat: Misc Dev Portal updates from previous feedback #7638

Merged
merged 9 commits into from
Aug 14, 2024

Conversation

cloudjumpercat
Copy link
Contributor

@cloudjumpercat cloudjumpercat commented Jul 12, 2024

Description

  • Enable or Disable Application Registration for an API Product Version - Kong Konnect | Kong Docs “Not really related to your changes, but the section above this ( Support for any control plane ) seems a bit out of place.”
  • The original comment has been lost to the ether, but Angel mentioned moving the section about developer app analytics that was on this page to the Dev Portal overview (which I did in the multi-portal PR) and then removing this page (which I didn’t do).
  • From Amy: “what do you think about using "authentication strategy" rather than "auth strategy", except when referring to UI use of that term?” :check_mark: (where applicable, I renamed the first instance to “auth strategy” since I think customers would be familiar with the shortened version)
  • Revisit Dev Portal Overview diagram (tried to find in old commits, but this is also lost to the ether) (made a new Dev Portal config prep page)

DOCU-3951

Testing instructions

Preview links:

Checklist

…istrations one page and cut down on the CRUD tasks

Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
@cloudjumpercat cloudjumpercat added do not merge Issues/ PRs whose changes should not be merged at this time review:sme Request for SME review, external to the docs team. labels Jul 12, 2024
Copy link

netlify bot commented Jul 12, 2024

Deploy Preview for kongdocs ready!

Name Link
🔨 Latest commit a0dd644
🔍 Latest deploy log https://app.netlify.com/sites/kongdocs/deploys/66bcffcfb85265000865edcf
😎 Deploy Preview https://deploy-preview-7638--kongdocs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
9 paths audited
Performance: 94 (🟢 up 3 from production)
Accessibility: 92 (no change from production)
Best Practices: 98 (🟢 up 8 from production)
SEO: 91 (no change from production)
PWA: -
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify site configuration.

Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lmilan Here's the Dev Portal diagram doc we were talking about in ticket review. If you have the time, I'd love a very general/high level review of this page:

  • Does the page seem helpful? Were you able to understand the information (some of the text is rough because I was just trying to get the idea out)
  • Would this info be better on a different page rather than a separate page?
  • Do the diagrams make sense and do they cover most of the configuration situations?
  • Are the diagrams needed or could the info be presented in another way better?

cc @Guaris and @lena-larionova if you wanted to review this as well

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For "Who will be using your Dev Portal or Dev Portals?", why do we need three diagrams? It seems like the third diagram, the mix, covers all three scenarios in one diagram. I think you could use just the third one with a couple of minor tweaks.

Copy link
Contributor

@lena-larionova lena-larionova Jul 16, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking at this from another step back, I think you can condense the whole page to one or two diagrams. The section "What will my Dev Portal be used for?" looks like it contains the diagram for "Who will be using your Dev Portal or Dev Portals?". So you could lead the user down the page this way:

  1. What is the dev portal for and who is using it?
  2. What do I do with their apps, if any?

…d redirect for auto approve doc, clean up config diagram so it's just one and the page has less text

Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
app/_redirects Outdated Show resolved Hide resolved
@cloudjumpercat
Copy link
Contributor Author

@Mierenga @c3pko Hi! I made a bunch of misc Dev Portal doc revisions, most came out of feedback that I didn't have enough time to act on for multi-portal (see the PR description for more info). If you have the time, could you do a PR review for technical accuracy? Specifically, I'd love some eyes on the new Dev Portal config prep page (is it helpful? did I cover the common config scenarios? Is anything technically wrong?). Here's a list of all the changes:

@cloudjumpercat cloudjumpercat marked this pull request as ready for review July 18, 2024 21:07
@cloudjumpercat cloudjumpercat requested a review from a team as a code owner July 18, 2024 21:07
@cloudjumpercat cloudjumpercat added review:copyedit Request for writer review. and removed do not merge Issues/ PRs whose changes should not be merged at this time labels Jul 18, 2024
app/konnect/dev-portal/index.md Outdated Show resolved Hide resolved
app/konnect/dev-portal/create-dev-portal.md Outdated Show resolved Hide resolved
@@ -150,6 +142,7 @@ In the `default` control plane group, **Credential claim** is used as a **Consum


## Enable app registration with multiple IdPs
<!-- what does DCR have to do with application auth? This is confusing to me and I'm not sure I see the connection here -->
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DCR is one type of strategy for application auth, where Konnect is integrated directly with the Identity Provider to be able to outsource, link, and automate the credential management via that IDP. Other cases are

  • using an Identity Provider, but having to manually provide and manage your own credentials outside of Konnect Dev Portal (this is OIDC with DCR)
  • using Key Auth, where no IDP is involved and credentials are managed by Konnect and Kong Gateway

### Support for any control plane

App registration is fully supported in the `default` control plane when using the application `consumers` and the `acl` plugin. The `default` control plane is the one that is first created in each geo when you create an organization.
For non-`default` control planes, app registration is supported using the `konnect-application-auth` plugin available as of {{site.base_gateway}} 3.0. <!-- We mention using the different plugins, what do we need to do in those plugins to support app registration? Why do default CP and non-default CPs use different plugins and why those particular plugins? -->
Copy link
Contributor

@Mierenga Mierenga Jul 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is indeed a complicated part or the product to explain. Here is some context and explanation:

Initially app registration in Konnect was implemented using a combination of acl, key-auth, and openid-connect plugins which are included in every version of Kong Gateway that is supported by Konnect. Using these plugins gives the benefits that they are compatible with Gateway consumers which can be mapped to portal applications, providing further plugin functionality like applying rate-limiting plugins based on the application consumer, etc.

This feature was developed when Konnect had only a single Control Plane per organization.

However, at the time that Konnect rolled out support for multiple Control Planes, the application registration feature was re-imagined so that it could scale to support APIs that might live in different control planes. As part of this, the plugins, keys, and consumers previously used were dropped from the design and replaced with a new plugin konnect-application-auth, credential management system, and access control system.

Migrating existing customers who were using the "legacy" (consumer-based) app registration design was not fully possible, however, because:

  • Some customers were relying on the use of application consumers which are no longer supported
  • The new design (and konnect-application-auth plugin) is only available on Kong Gateway versions 3.0+, and some customers were unable to upgrade from a 2.x version

This left the system in the following state:

  • the (first) control plane in all existing orgs became known as the default control plane which would continue to support certain legacy behaviors (including consumer-based app reg) that would not be supported in newly created control planes
  • new orgs would still have their first control plane be considered default and use the legacy consumer-based app registration
  • additional control planes created in any org would be considered "non-default"/non-legacy and use the new design centered around the konnect-application-auth plugin. These control planes are not compatible with Kong Gateway versions < 3.0 when using app reg

This has been the case up until recently, where an update was made so that new orgs will no longer receive a control plane that is considered "default" or legacy, and there is no longer support for using Kong Gateway < 3.0 with app registration in new orgs. The exception is "legacy mode" for app registration can still be turned on for any control plane if requested via support.

I hope that helps to clarify some of the context and I would be happy to discuss this more if needed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Mierenga Thanks for the info! This is really helpful. Just to make sure I understand, the content I currently had would only apply to legacy users (whether they got Konnect before 3.0 or because they requested legacy through support), this wouldn't apply to new orgs? I wanted to delete this section about control planes, but I figured I should keep it with a note about "If you started using Konnect pre 3.0 gateway, keep the following in mind:" or something like that. What do you think?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I think it would make the most sense to have the part about the legacy plugins be a secondary note. I would highlight two version requirements for compatibility with app reg. Perhaps something like this:


App registration is supported using the `konnect-application-auth` plugin available as of {{site.base_gateway}} 3.0. 
For compatibility with app registration features, ensure all gateway nodes in relevant control planes are using the following minimum versions:

| Feature    | {{site.base_gateway}} version |
| -------- | ------- |
| App registration with a single auth strategy  | 3.0    |
| App registration with different auth strategies across multiple portals | 3.6     |

{:.note}
> **Note:** {{site.konnect_saas}} organizations created before July 2024 include a legacy-mode control plane by default, which uses a different app registration setup, including the `acl`, `key-auth`, and `openid-connect` plugins and `consumers`. These control planes are compatible with all {{site.konnect_saas}} supported versions {{site.base_gateway}}, including 2.x.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I'll make those edits

cloudjumpercat and others added 3 commits July 25, 2024 10:13
Co-authored-by: Mike Swierenga <mike.swierenga@konghq.com>
Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
Comment on lines 56 to 58
## Next steps

Now that you know what your use cases are and which settings you'll need to configure, you can [create your Dev Portal or Dev Portals](/konnect/dev-portal/create-dev-portal).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this next steps section necessary? Technically they should be following the steps via links in the diagram.

Co-authored-by: lena-larionova <54370747+lena-larionova@users.noreply.github.com>
@cloudjumpercat cloudjumpercat merged commit 098f2bb into main Aug 14, 2024
15 checks passed
@cloudjumpercat cloudjumpercat deleted the feat/misc-dev-portal-updates branch August 14, 2024 20:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
review:copyedit Request for writer review. review:sme Request for SME review, external to the docs team.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants