Skip to content

Commit

Permalink
allow url scheme to be configurable (kubeflow#2202)
Browse files Browse the repository at this point in the history
Signed-off-by: Mark Winter <mark.winter@navercorp.com>
  • Loading branch information
markwinter committed Jun 4, 2022
1 parent 6154ffd commit 020c147
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 7 deletions.
3 changes: 2 additions & 1 deletion config/configmap/inferenceservice.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,8 @@ data:
"localGatewayService" : "knative-local-gateway.istio-system.svc.cluster.local",
"ingressDomain" : "example.com",
"ingressClassName" : "istio",
"domainTemplate": "{{ .Name }}-{{ .Namespace }}.{{ .IngressDomain }}"
"domainTemplate": "{{ .Name }}-{{ .Namespace }}.{{ .IngressDomain }}",
"urlScheme": "http"
}
logger: |-
{
Expand Down
7 changes: 7 additions & 0 deletions pkg/apis/serving/v1beta1/configmap.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ const (

DefaultDomainTemplate = "{{ .Name }}-{{ .Namespace }}.{{ .IngressDomain }}"
DefaultIngressDomain = "example.com"

DefaultUrlScheme = "http"
)

// +kubebuilder:object:generate=false
Expand Down Expand Up @@ -124,6 +126,7 @@ type IngressConfig struct {
IngressDomain string `json:"ingressDomain,omitempty"`
IngressClassName *string `json:"ingressClassName,omitempty"`
DomainTemplate string `json:"domainTemplate,omitempty"`
UrlScheme string `json:"urlScheme,omitempty"`
}

// +kubebuilder:object:generate=false
Expand Down Expand Up @@ -176,6 +179,10 @@ func NewIngressConfig(cli client.Client) (*IngressConfig, error) {
ingressConfig.IngressDomain = DefaultIngressDomain
}

if ingressConfig.UrlScheme == "" {
ingressConfig.UrlScheme = DefaultUrlScheme
}

return ingressConfig, nil
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ func getServiceHost(isvc *v1beta1.InferenceService) string {
}
}

func getServiceUrl(isvc *v1beta1.InferenceService) string {
func getServiceUrl(isvc *v1beta1.InferenceService, urlScheme string) string {
if isvc.Status.Components == nil {
return ""
}
Expand All @@ -100,7 +100,9 @@ func getServiceUrl(isvc *v1beta1.InferenceService) string {
} else if transformerStatus.URL == nil {
return ""
} else {
return strings.Replace(transformerStatus.URL.String(), fmt.Sprintf("-%s-default", string(constants.Transformer)), "", 1)
url := transformerStatus.URL
url.Scheme = urlScheme
return strings.Replace(url.String(), fmt.Sprintf("-%s-default", string(constants.Transformer)), "", 1)
}
}

Expand All @@ -109,7 +111,9 @@ func getServiceUrl(isvc *v1beta1.InferenceService) string {
} else if predictorStatus.URL == nil {
return ""
} else {
return strings.Replace(predictorStatus.URL.String(), fmt.Sprintf("-%s-default", string(constants.Predictor)), "", 1)
url := predictorStatus.URL
url.Scheme = urlScheme
return strings.Replace(url.String(), fmt.Sprintf("-%s-default", string(constants.Predictor)), "", 1)
}
}

Expand Down Expand Up @@ -321,7 +325,7 @@ func createIngress(isvc *v1beta1.InferenceService, config *v1beta1.IngressConfig

func (ir *IngressReconciler) Reconcile(isvc *v1beta1.InferenceService) error {
serviceHost := getServiceHost(isvc)
serviceUrl := getServiceUrl(isvc)
serviceUrl := getServiceUrl(isvc, ir.ingressConfig.UrlScheme)
if serviceHost == "" || serviceUrl == "" {
return nil
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ func createRawURL(isvc *v1beta1api.InferenceService,
ingressConfig *v1beta1api.IngressConfig) (*knapis.URL, error) {
var err error
url := &knapis.URL{}
url.Scheme = "http"
url.Scheme = ingressConfig.UrlScheme
url.Host, err = GenerateDomainName(isvc.Name, isvc.ObjectMeta, ingressConfig)
if err != nil {
return nil, err
Expand Down Expand Up @@ -266,7 +266,7 @@ func (r *RawIngressReconciler) Reconcile(isvc *v1beta1api.InferenceService) erro
isvc.Status.Address = &duckv1.Addressable{
URL: &apis.URL{
Host: network.GetServiceHostname(isvc.Name, isvc.Namespace),
Scheme: "http",
Scheme: r.ingressConfig.UrlScheme,
Path: "",
},
}
Expand Down

0 comments on commit 020c147

Please sign in to comment.