{"action":"created","issue":{"url":"https://api.github.com/repos/galaxyproject/galaxy-kubernetes/issues/1","repository_url":"https://api.github.com/repos/galaxyproject/galaxy-kubernetes","labels_url":"https://api.github.com/repos/galaxyproject/galaxy-kubernetes/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/galaxyproject/galaxy-kubernetes/issues/1/comments","events_url":"https://api.github.com/repos/galaxyproject/galaxy-kubernetes/issues/1/events","html_url":"https://github.com/galaxyproject/galaxy-kubernetes/issues/1","id":181123009,"number":1,"title":"Initial proposal","user":{"login":"pcm32","id":368478,"avatar_url":"https://avatars.githubusercontent.com/u/368478?v=3","gravatar_id":"","url":"https://api.github.com/users/pcm32","html_url":"https://github.com/pcm32","followers_url":"https://api.github.com/users/pcm32/followers","following_url":"https://api.github.com/users/pcm32/following{/other_user}","gists_url":"https://api.github.com/users/pcm32/gists{/gist_id}","starred_url":"https://api.github.com/users/pcm32/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pcm32/subscriptions","organizations_url":"https://api.github.com/users/pcm32/orgs","repos_url":"https://api.github.com/users/pcm32/repos","events_url":"https://api.github.com/users/pcm32/events{/privacy}","received_events_url":"https://api.github.com/users/pcm32/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"afgane","id":338642,"avatar_url":"https://avatars.githubusercontent.com/u/338642?v=3","gravatar_id":"","url":"https://api.github.com/users/afgane","html_url":"https://github.com/afgane","followers_url":"https://api.github.com/users/afgane/followers","following_url":"https://api.github.com/users/afgane/following{/other_user}","gists_url":"https://api.github.com/users/afgane/gists{/gist_id}","starred_url":"https://api.github.com/users/afgane/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/afgane/subscriptions","organizations_url":"https://api.github.com/users/afgane/orgs","repos_url":"https://api.github.com/users/afgane/repos","events_url":"https://api.github.com/users/afgane/events{/privacy}","received_events_url":"https://api.github.com/users/afgane/received_events","type":"User","site_admin":false},"assignees":[{"login":"afgane","id":338642,"avatar_url":"https://avatars.githubusercontent.com/u/338642?v=3","gravatar_id":"","url":"https://api.github.com/users/afgane","html_url":"https://github.com/afgane","followers_url":"https://api.github.com/users/afgane/followers","following_url":"https://api.github.com/users/afgane/following{/other_user}","gists_url":"https://api.github.com/users/afgane/gists{/gist_id}","starred_url":"https://api.github.com/users/afgane/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/afgane/subscriptions","organizations_url":"https://api.github.com/users/afgane/orgs","repos_url":"https://api.github.com/users/afgane/repos","events_url":"https://api.github.com/users/afgane/events{/privacy}","received_events_url":"https://api.github.com/users/afgane/received_events","type":"User","site_admin":false},{"login":"pcm32","id":368478,"avatar_url":"https://avatars.githubusercontent.com/u/368478?v=3","gravatar_id":"","url":"https://api.github.com/users/pcm32","html_url":"https://github.com/pcm32","followers_url":"https://api.github.com/users/pcm32/followers","following_url":"https://api.github.com/users/pcm32/following{/other_user}","gists_url":"https://api.github.com/users/pcm32/gists{/gist_id}","starred_url":"https://api.github.com/users/pcm32/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pcm32/subscriptions","organizations_url":"https://api.github.com/users/pcm32/orgs","repos_url":"https://api.github.com/users/pcm32/repos","events_url":"https://api.github.com/users/pcm32/events{/privacy}","received_events_url":"https://api.github.com/users/pcm32/received_events","type":"User","site_admin":false},{"login":"bgruening","id":469983,"avatar_url":"https://avatars.githubusercontent.com/u/469983?v=3","gravatar_id":"","url":"https://api.github.com/users/bgruening","html_url":"https://github.com/bgruening","followers_url":"https://api.github.com/users/bgruening/followers","following_url":"https://api.github.com/users/bgruening/following{/other_user}","gists_url":"https://api.github.com/users/bgruening/gists{/gist_id}","starred_url":"https://api.github.com/users/bgruening/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bgruening/subscriptions","organizations_url":"https://api.github.com/users/bgruening/orgs","repos_url":"https://api.github.com/users/bgruening/repos","events_url":"https://api.github.com/users/bgruening/events{/privacy}","received_events_url":"https://api.github.com/users/bgruening/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2016-10-05T10:59:11Z","updated_at":"2016-10-18T23:21:12Z","closed_at":null,"body":"We should create the community maintained Galaxy deployment on Kubernetes based on:\r\n\r\n- [x] A Helm Chart for Galaxy. \r\n- [ ] A minimal Galaxy docker image\r\n  - [ ] Which relies on ansible-galaxy-extras for installation of Galaxy\r\n  - [ ] That can accept injection of settings on the galaxy.ini file at runtime through environment  variables (the image needs to have a way of enacting this into the ini file).\r\n  - [ ] From ubuntu:~~16.04?~~ Apparently has issues with nginx Galaxy plugin according to @bgruening, might need to be 14.04.\r\n- [x] Uses Postgresql in a separate Pod.\r\n  - [x] Users authentication and database connection details are injected at runtime through Kubernetes Secret/Config Maps.\r\n  - [x] Galaxy Communicates to Postgresql through Service.\r\n  - [x] Uses a standard Postgresql docker image (9.3 tested at PhenoMeNal)\r\n- [ ] Uses nginx on the same pod as galaxy, separate container\r\n  - [ ] Uses standard nginx container\r\n  - [ ] Config injected at runtime through config maps.\r\n- [ ] Guide on how to make your own flavour of the Galaxy container, based on the minimal one, and following the paradigm that bgruening/docker-galaxy-stable has.\r\n  - [ ] Can change settings on runtime as well.\r\n  - [ ] Tools XML wrappers are part of the flavours.\r\n- [x] Galaxy ReplicationController accesible through Service.\r\n\r\nHelm is a package manager for Kubernetes which allows parametrised deployments, with sensible defaults. That means that other people can use the same Helm setup, but changing through parameters whatever we decide it can be changed, like the docker container used for Galaxy.\r\n\r\nThat for now. Will add more soon."},"comment":{"url":"https://api.github.com/repos/galaxyproject/galaxy-kubernetes/issues/comments/254667375","html_url":"https://github.com/galaxyproject/galaxy-kubernetes/issues/1#issuecomment-254667375","issue_url":"https://api.github.com/repos/galaxyproject/galaxy-kubernetes/issues/1","id":254667375,"user":{"login":"pcm32","id":368478,"avatar_url":"https://avatars.githubusercontent.com/u/368478?v=3","gravatar_id":"","url":"https://api.github.com/users/pcm32","html_url":"https://github.com/pcm32","followers_url":"https://api.github.com/users/pcm32/followers","following_url":"https://api.github.com/users/pcm32/following{/other_user}","gists_url":"https://api.github.com/users/pcm32/gists{/gist_id}","starred_url":"https://api.github.com/users/pcm32/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pcm32/subscriptions","organizations_url":"https://api.github.com/users/pcm32/orgs","repos_url":"https://api.github.com/users/pcm32/repos","events_url":"https://api.github.com/users/pcm32/events{/privacy}","received_events_url":"https://api.github.com/users/pcm32/received_events","type":"User","site_admin":false},"created_at":"2016-10-18T23:21:11Z","updated_at":"2016-10-18T23:21:11Z","body":"I have been working on helm-based deployments for Kubernetes for some days now. I have made some progress in setting a galaxy simple deployment (just galaxy, for tool development/testing purposes) and an initial galaxy with postgresql, which should grow into a galaxy production deployment. The beauty of helm is that deployments can be left with parameters, so you can do things like:\r\n\r\n```\r\nhelm install galaxy-helm-repo/galaxy-simple --set image.name=<my_preferred_docker_image>,my.other.variable=<other_var_value,db.database.pass=<my-password>\r\n```\r\n\r\nYou can see the Helm charts here:\r\nhttps://github.com/pcm32/galaxy-helm-charts/tree/develop\r\n\r\nCurrently the helm charts are using my phenomenal docker image of galaxy as we (participants of the original email thread) don’t have yet a slim one to use as we discussed, but I hope that someone can start that at some point, so that I can add the Kubernetes necessary bits there.\r\n\r\nIf you have a Kubernetes cluster, you need to install helm on your client machine:\r\nhttps://github.com/kubernetes/helm#install\r\n\r\nand then set up the cluster by running `helm init` on the machine that has kubectl configure to talk to your cluster. After that you can run:\r\n\r\n```\r\n# only needed once per client:\r\nhelm repo add galaxy-helm-repo https://pcm32.github.io/galaxy-helm-charts/ \r\n\r\n# for each new deployment (normally you don’t include the Persistent Volume definition on the Helm chart \r\n# as it is site specific: some will use NFS, some GlusterFS, some s3, etc).\r\nkubectl create -f your_favourite_persistent_volume.yaml\r\n# then either:\r\nhelm install galaxy-helm-repo/galaxy-simple\r\n# or instead\r\nhelm install galaxy-helm-repo/galaxy-postgres-chart\r\n```\r\n\r\nThat will lift galaxy with a ReplicationController and expose it on all IPs of the cluster on port 30700. \r\n\r\nWe could share this approach and everyone uses whatever base docker image they want (these docker images just need to provide some minimal capabilities) for their deployment.\r\n\r\nLet me know if you are happy with this to push as well to this repo that Enis started (currently just pushing to a different remote as some of you had some reservations)."}}
{"actor":{"display_login":"pcm32"}}