Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Leso_KN
@leso-kn

<Location /kanban>
  ProxyPass http://127.0.0.1:<your-kanban-port>
  ProxyPassReverse http://127.0.0.1:<your-kanban-port>

  SetOutputFilter proxy-html
  ProxyHTMLExtended On
  ProxyHTMLInterp On
  ProxyHTMLURLMap /1.7.0/assets/js/loading-bar.js PLACEHOLDER_LOADING_BAR
  ProxyHTMLURLMap // https://
  ProxyHTMLURLMap ^(.*).js https://<external-webspace>.com/modify-kanban-js.php?q=http://127.0.0.1:<your-kanban-port>$1.js R
  ProxyHTMLURLMap /script PLACEHOLDER_END_OF_SCRIPT
  ProxyHTMLURLMap / /kanban/ c
  ProxyHTMLURLMap PLACEHOLDER_END_OF_SCRIPT /script
  ProxyHTMLURLMap PLACEHOLDER_LOADING_BAR https://<external-webspace>.com/modify-kanban-js.php?q=http://127.0.0.1:5559/1.7.0/assets/js/loading-bar.js
</Location>

<Location /kanban/ws>
  ProxyPass ws://127.0.0.1:5559/ws
</Location>

<your-apache-ssl-configuration>

modify-kanban-js.php is basically a php script on some external web server, that replaces all common occurrences of paths with your extra path (in this case /kanban) and makes all paths absolute.

You can use this template:

<?php
    $jscode = file_get_contents(str_replace("9//","9/",str_replace("http://127.0.0.1:<your-kanban-port>///", "http://",$_GET['q'])));
    header('Content-Type: application/javascript');

    $jscode = str_replace('"/api', '"/kanban/api', $pwned);
    $jscode = str_replace('"/ws/', '"/kanban/ws/', $pwned);

    echo $jscode;
?>

The configuration as well as this script was not initially provided by kanban. I've developed them initially for my local installation. I hope to share them helps some people having a good experience with the software.

Therefor: Enjoy!

*forgot to replace two occurrences of 5559 with <your-kanban-port>
Leso_KN
@leso-kn
**and 127.0.0.1 in the php script is of cause your kanban host. So if it's not running on the same physical machine as your kanban is running on, you'll probably want to change that too
ev8yoni
@ev8yoni

Hi, I know this question doesn't have anything to do with the kanban board for GitLab issues, but maybe someone here got a quick answer for me.

I'm busy setting up Kanban for my organisation and one thing I can't figure out or find anywhere is when user stories are split up in tasks. I know the development team should do this since the tasks can be technical. My question is; is the task splitting done before moving tasks from the backlog to the to-do list (by the project coordinator) or after?

Hopefully anyone here can tell me.

Leso_KN
@leso-kn
Hi @ev8yoni! I think that depends on your organizations preference. For example at my prevous company, we created user stories first and then assigned them to the programmers during the meetings. The programmers would then split the tasks by themselves and put estimates for those sub tasks
But i guess you can also split the tasks right away. It depends on how you integrate scrum as your workflow
(for example that other company had some very strange opportunities on how to do that in some areas. So just decide for what works best for you)
ev8yoni
@ev8yoni
@leso-kn, if there isn't any standard I will discuss with my team what we will do with this. Especially when we will do this. Thanks for your reply and example!
stone.212
@stone212
@leso-kn Is this Kanban board for using on GitLab.com or is there a version I can use for my organization on self-hosted GitLab?
@leso-kn Oh I see you replied to me some time ago about this and there is a way with your fork. But I don't understand because this fork still installs into one user's profile yes? But how do you install for the whole organization to have shared boards?
Leso_KN
@leso-kn
Hi @stone212! Kanban is server specific, not user specific. You need to set some environment variables according to your gitlab installation and it will serve the interface for all users
Have a look at the official documentation over here http://kanban.leanlabs.io/docs/installation/docker.html
there look for GITLAB_URL
Alternatively, have a look at my / their guide on github https://github.com/leso-kn/kanban
Leso_KN
@leso-kn
Once set up you can create shared boards by creating a group on gitlab. Repositories of that group will be accessible via kanban just like the ones of single users
stone.212
@stone212
Ah! also:
  1. What access boxes should I check for this application? I only checked "api".
stone.212
@stone212
I triple check the Application and Secret.
@leso-kn Are you certain that for the binary I should use https://kanban.mykanban.com/assets/html/user/views/oauth.html? I am using port 443. On the console I see it trying to work so I know it is (probably) not a problem with the reverse proxy.
stone.212
@stone212
@leso-kn Please know I am using Gitlab Omnibus so I do not have much control over GitLab web server (well, I do but I do not want to change it every time I upgrade).
stone.212
@stone212
I verify that it is not Reverse Proxy problem.
stone.212
@stone212

@leso-kn Can you please help debug this? It is the correct Application, Secret, and Reverse Proxy is not the problem.

[Macaron] Started GET /api/oauth?provider=gitlab for <ip>
[Macaron] Completed /api/oauth?provider=gitlab 302 Found in 661.044µs
[Macaron] Started POST /api/oauth for <ip>
2019/03/15 09:26:10 oauth2: cannot fetch token: 401 Unauthorized
Response: {"error":"invalid_grant","error_description":"The provided authorization grant is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client."}
[Macaron] Completed /api/oauth 400 Bad Request in 60.313013ms

I am using the command line parameters like this:

/kanban_x86_64_linux server --redis-addr 127.0.0.1:6379 --seer-listen="127.0.0.1:8080" --gitlab-client="[Application ID] --gitlab-secret="[Secret ]" --server-hostname="https://kanban.theserverirunthiskanbanon.com/" --gitlab-url="https://gitlab.myotherserverforgitlab.com"

I triple check the Application and Secret.

Leso_KN
@leso-kn
@stone212 You can check kanban by running sudo docker logs kb_dev
stone.212
@stone212
@leso-kn I am not using docker.
Leso_KN
@leso-kn
For the checkboxes, i just checked all three, but api should be sufficient
stone.212
@stone212
There are seven actually and I have them all checked. But still it isn't authorizing.
Leso_KN
@leso-kn
I only tested the setup using docker. Using the standalone version, i would run into problems. Did you face any issues using docker at your company? For the standalone version you should be able to check the logs by typing sudo tail -f /proc$(pgrep kanban)/fd/1
Though I'm not sure about the pgrep part, as i don't know what binary kanban is running on the non-docker setup
stone.212
@stone212

@leso-kn
tail: cannot open '/proc1828/fd/1' for reading: No such file or directory

But the "log" is the console output. That is all of the information I think we will get.

Did you face any issues using docker at your company?

I don't know what you mean? But if docker is required then I think I will look for another application. I don't like docker.

Docker makes everything 10x more complicated.
Leso_KN
@leso-kn
Sorry, i was missing a slash between proc and the dollar sign
stone.212
@stone212
Oh of course. :) One moment
Leso_KN
@leso-kn

Docker makes everything 10x more complicated.

Hrm.. maybe from developers' side. Using docker is usually just running one command and everything works

stone.212
@stone212

Using docker is usually just running one command and everything works

That's why it's more complicated. I am a systems admin. I don't just let things run that I don't control. And Docker hides everything and makes it 10x more difficult.

I am not getting any output from this. yet.
Leso_KN
@leso-kn
Well, from my point of view docker makes a lot of things easier. But i also used to be a sys admin, so just do the stuff that works for you ':D
@stone212 Hrm. What command do you use to run kanban?
stone.212
@stone212
kanban_x86_64_linux but the process has a shorter name I think. kanban_x86_64_l maybe.
Leso_KN
@leso-kn
Does it output anything or will it just launch and keep silent?
stone.212
@stone212
The binary? Yes that is where I get the console output I shared above. the tail is not outputting anything
Binary gives me things like:
[Macaron] Started GET /1.4.2/assets/js/dropdownToggle.js for <ip>
[Macaron] [Static] Serving /assets/js/dropdownToggle.js
[Macaron] Completed /1.4.2/assets/js/dropdownToggle.js 200 OK in 285.058µs
[Macaron] Started GET /1.4.2/assets/js/topbar.js for <ip>
[Macaron] [Static] Serving /assets/js/topbar.js
[Macaron] Completed /1.4.2/assets/js/topbar.js 200 OK in 427.692µs
Leso_KN
@leso-kn
Ah yes, that's the log you want. Did you fetch and compile my fork from github? A 400 error from gitlabs side usually indicates something is wrong with the way kanban tries to authorize, so your gitlab configuration is probably okay
stone.212
@stone212

Did you fetch and compile my fork from gitlab?

No because the fork requires docker right? And I am not using docker.

Leso_KN
@leso-kn
Not exactly. The instructions are for docker, yes. But the code contains important change(s) cough for the new versions of gitlab. You can fetch the code and still use the instructions for standalone. They're below the instruction set i added
stone.212
@stone212
Okay cloning now. One question. For the custom script, do I really type redit:6379 or is redis supposed to be the IP of the redis server so I should put 127.0.0.1?
Leso_KN
@leso-kn
okay my mistake, apparently leanlabs didn't provide build instructions for non-docker in the first place. Just try running make dev and see if it produces a binary
stone.212
@stone212
Okay but about that question above re: Redit?
Redis?
Leso_KN
@leso-kn
@stone212 It's [redis-server-ip]:[redis-server-port]
Which is usually 6379