Odo: Add option to create Route instead of Ingress

Created on 17 Mar 2020  路  14Comments  路  Source: openshift/odo

/kind user-story

User Story

As an OpenShift and odo user, I want to create Route instead of k8s Ingress So that benefit from some of the Route's additional features, because my organization is using only Routes.

Acceptance Criteria

  • [ ] odo push should detect the cluster type and create a route instead of ingress for devfile components on openshift clusters.
  • [ ] odo push should create ingress instead of route if this was requested by the user by using --ingress flag.

/kind user-story
/area devfile
/area openshift
/priority high

aredevfile areopenshift kinuser-story point3 prioritHigh

All 14 comments

  • [ ] It should be possible to specify that Route should be used instead of Ingress when the url is created. (odo url create --ingress, or maybe odo url create --openshift?)
    *

This information should be saved in env.yaml as whatever to use Route or Ingress is environment-specific setting.

What happens if someone specifies odo url create --openshift but their target context is not OpenShift, should it fail when doing odo push?

What happens if someone specifies odo url create --openshift but their target context is not OpenShift, should it fail when doing odo push?

Yes, it should fail

@girishramnani > girishramnani added the status/blocked label 22 hours ago

blocked on what?

blocked on #2762

odo url create --openshift sounds better to me as we are planning to move towards devfile completely later on.

I feel that many users won't have detailed idea about kubernetes using ingress and OpenShift using routes. I understand that a few users use OpenShift only as a Kubernetes and would like to use ingress instead of routes. But does that comprise majority of the odo users that use OpenShift? I doubt that.

I think we should do something like this:

  • odo should automagically create ingress if working on kubernetes cluster
  • odo should automagically create route if working on OpenShift cluster
  • If user wants to create ingress on OpenShift cluster, they have to specify that with a flag

Besides that --ingress sounds better than --openshift since it's ingress that the user's intending to create when they do odo url create.

I feel that many users won't have detailed idea about kubernetes using ingress and OpenShift using routes. I understand that a few users use OpenShift only as a Kubernetes and would like to use ingress instead of routes. But does that comprise majority of the odo users that use OpenShift? I doubt that.

I think we should do something like this:

  • odo should automagically create ingress if working on kubernetes cluster
  • odo should automagically create route if working on OpenShift cluster
  • If user wants to create ingress on OpenShift cluster, they have to specify that with a flag

Besides that --ingress sounds better than --openshift since it's ingress that the user's intending to create when they do odo url create.

I agree with dharmit, odo url create --openshit does not sounds good to me :), for the third point, if there are users requesting Ingress on Openshift or we get request in future then only we should support ingress on openshift.

IMHO, if autodetection of openshift/k8s cluster is complicated, then this information could be set as configuration by user, either locally or globally. I think we should refrain from passing any flag(openshift/Ingress) to odo url create unless we explicitly receive user request.

I think we should do something like this:

odo should automagically create ingress if working on kubernetes cluster
odo should automagically create route if working on OpenShift cluster
If user wants to create ingress on OpenShift cluster, they have to specify that with a flag

I agree with this part :+1: But I will leave the decision up to what majority of our customers want.

odo should automagically create ingress if working on kubernetes cluster
odo should automagically create route if working on OpenShift cluster
If user wants to create ingress on OpenShift cluster, they have to specify that with a flag

This makes sense. Let's do this.

This makes sense. Let's do this.

@kadel @girishramnani Should we use something like using the version output to check if it's a kubernetes or openshift cluster?

/remove-status blocked
/remove-triage needs-information

@mik-dass Can you please summarize our discussion here in the issue?

We will be using the server version of the cluster to detect if the cluster is openshift or kubernetes.

@kadel @girishramnani Where will we put the details in case the component is created from a devfile but the cluster is a openshift one? LocalConfig or Env.yaml? I would like to put it in env.yaml file

@kadel @girishramnani Where will be put the details in case the component is created from a devfile but the cluster is a openshift one? LocalConfig or Env.yaml? I would like to put it in env.yaml file

LocalConfig should never be involved with devfile components. LocalConfig should not even exist.

LocalConfig should never be involved with devfile components. LocalConfig should not even exist.

Sounds good to me :+1:

Was this page helpful?
0 / 5 - 0 ratings