Skip to content

Proposed documentation #10983

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

Closed
Tracked by #10725
mrsimonemms opened this issue Jun 28, 2022 · 3 comments
Closed
Tracked by #10725

Proposed documentation #10983

mrsimonemms opened this issue Jun 28, 2022 · 3 comments

Comments

@mrsimonemms
Copy link
Contributor

mrsimonemms commented Jun 28, 2022

Proposed changes

Support for proxy service types is required for enterprise client

  1. Remove experimental.webapp.proxy.serviceType from the config object
  2. Add:
components:
  proxy:
    service:
      serviceType: ClusterIP # allowed values are "ClusterIP", "LoadBalancer", "NodePort", "ExternalName" consistent with https://pkg.go.dev/k8s.io/api/core/v1#ServiceType

KOTS

This will be a select_one under the "advanced" section.

Rationale

We don't want to be supporting the same thing from multiple configuration parameters. That would require checks between the two and/or a hierarchy of importance - we should have a single source of truth.

Having a components section makes this extensible for the future. Unlike the experimental section which lives under our conventions, this new convention is ordered as per the resources - again, this is done with future extensibility in mind.

Documentation

This is written from the KOTS-only perspective

All web traffic enters the application through the Proxy component. By default, this is a LoadBalancer type which will expose the application through the cloud provider's load balancer.

Under certain circumstances, this may be undesirable. Under the "Advanced" section, you may select a different service type - all Kubernetes service types are supported, except ExternalName. If you are using anything other than LoadBalancer, you are responsible for configuring your network to route traffic through to the proxy service.

@lucasvaltl
Copy link
Contributor

I like the documentation - only question I have is where in the documentation would this live. But that's is likely a question more for me than you. :)

@mrsimonemms
Copy link
Contributor Author

@lucasvaltl very good question. My thought is that this would be a new page under the "advanced" docs on the website. We can talk about the component customization - this will be the first of (presumably) many things

But, as you said, you're the one who's got more of a global ownership of the docs so I'll defer to your thoughts

@mrsimonemms
Copy link
Contributor Author

Update:

Added "except ExternalName" to the service types we support. Reason for this is that there's additional configuration required which will be awkward to add in and there's no driver for this yet.

This only removes it from KOTS - it's still a valid option in the Installer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants