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

add support for kompose update #822

Closed
surajnarwade opened this issue Sep 22, 2017 · 11 comments
Closed

add support for kompose update #822

surajnarwade opened this issue Sep 22, 2017 · 11 comments
Labels
kind/discuss lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed.

Comments

@surajnarwade
Copy link
Contributor

surajnarwade commented Sep 22, 2017

inspired from minikube,
To update to latest version, we should have something like,

kompose update
@cdrage
Copy link
Member

cdrage commented Sep 22, 2017

@surajnarwade

Do you think we should also update our installation instructions so it's a one-liner? Another person requested this and I think it's much easier..

Example:
https://github.com/kubernetes/minikube/releases

@cdrage
Copy link
Member

cdrage commented Sep 22, 2017

@surajnarwade Minikube has no minikube update command...

▶ minikube --help
Minikube is a CLI tool that provisions and manages single-node Kubernetes clusters optimized for development workflows.

Usage:
  minikube [command]

Available Commands:
  addons           Modify minikube's kubernetes addons
  completion       Outputs minikube shell completion for the given shell (bash)
  config           Modify minikube config
  dashboard        Opens/displays the kubernetes dashboard URL for your local cluster
  delete           Deletes a local kubernetes cluster
  docker-env       Sets up docker env variables; similar to '$(docker-machine env)'
  get-k8s-versions Gets the list of available kubernetes versions available for minikube
  ip               Retrieves the IP address of the running cluster
  logs             Gets the logs of the running localkube instance, used for debugging minikube, not user code
  mount            Mounts the specified directory into minikube
  profile          Profile sets the current minikube profile
  service          Gets the kubernetes URL(s) for the specified service in your local cluster
  ssh              Log into or run a command on a machine with SSH; similar to 'docker-machine ssh'
  ssh-key          Retrieve the ssh identity key path of the specified cluster
  start            Starts a local kubernetes cluster
  status           Gets the status of a local kubernetes cluster
  stop             Stops a running local kubernetes cluster
  update-context   Verify the IP address of the running cluster in kubeconfig.
  version          Print the version of minikube

Flags:
      --alsologtostderr                  log to standard error as well as files
  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the kubernetes cluster. (default "localkube")
      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
      --log_dir string                   If non-empty, write log files in this directory
      --loglevel int                     Log level (0 = DEBUG, 5 = FATAL) (default 1)
      --logtostderr                      log to standard error instead of files
  -p, --profile string                   The name of the minikube VM being used.  
        This can be modified to allow for multiple minikube instances to be run independently (default "minikube")
      --stderrthreshold severity         logs at or above this threshold go to stderr (default 2)
  -v, --v Level                          log level for V logs
      --vmodule moduleSpec               comma-separated list of pattern=N settings for file-filtered logging

Use "minikube [command] --help" for more information about a command.

@surajnarwade
Copy link
Contributor Author

@cdrage my bad, sorry about that, it's in minishift and gofabric8 as well

for example,

minishift update -h
Checks for the latest version of Minishift, prompts the user, and updates the binary if the user answers 'y'.

Usage:
  minishift update [flags]

or

gofabric8 upgrade -h
Upgrades the packages if there is a newer version available

Usage:
  gofabric8 upgrade [name] [flags]

@cdrage
Copy link
Member

cdrage commented Sep 25, 2017

IMO, I don't believe our updates add major changes to how we convert objects, I'd vote no to adding kompose update. I could elaborate as to why, but in general, I don't see this feature added often to tools to warrant an inclusion of update to Kompose.

@surajnarwade
Copy link
Contributor Author

@cdrage , I have seen people who are using very old kompose versions, so for them it might be useful

@cdrage
Copy link
Member

cdrage commented Sep 26, 2017

@surajnarwade Yes, but this is another command to be added to Kompose that wouldn't exactly be used much, does major changes to the underlying system (replaces binaries) and no other project within the Kubernetes ecosystem employs this update command. I see it useful for things such as minikube and minishift where major changes happen (updates to ISO files, virtualization, etc.) but not for Kompose. I'd advise for this feature to not be added. This command will also confuse users who use kubectl update.

Thoughts @kadel @containscafeine @surajssd ?

Cons:

  • I have effectively not seen any other tool use this functionality other than minishift, nor any other tool within the kubernetes ecosystem.
  • This command will confuse users who are used to the kubectl update command
  • Requires sudo privileges / it replaces binaries
  • Could introduce a host of security issues (man-in-the-middle attacks, URL spoofing for binaries)
  • We have not gathered any outside feedback, nor has this feature been requested by the community

I'm voting a hard no.

@kadel
Copy link
Member

kadel commented Oct 10, 2017

I agree with @cdrage.
I don't like it either. I'm a big fan of managing software using package managers. And this breaks it in a big way. It can't be used if you install Kedge from rpm or deb package (only with sudo, and then it totally breaks packaging and further updates via dnf/yum or apt)

Rather than implementing kompose update I would invest into automating packaging for various distributions and systems. So we don't have to do it manually.

We should have always update packages for all major systems (packages are AUTOMATICALY build for every new release)

We should modify our docs, and guide users to install it from those packages. Downloading binary or doing go get should be only last resort for unsupported systems.

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

Prevent issues from auto-closing with an /lifecycle frozen comment.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or @fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 8, 2018
@fejta-bot
Copy link

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten
/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Feb 10, 2018
@cdrage cdrage closed this as completed Feb 13, 2018
@hangyan hangyan reopened this Aug 11, 2021
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Reopen this issue or PR with /reopen
  • Mark this issue or PR as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/close

@k8s-ci-robot
Copy link
Contributor

@k8s-triage-robot: Closing this issue.

In response to this:

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Reopen this issue or PR with /reopen
  • Mark this issue or PR as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/discuss lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed.
Projects
None yet
Development

No branches or pull requests

7 participants