-
Notifications
You must be signed in to change notification settings - Fork 8
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
How to connect Taiga to Events server? #38
Comments
Hi, the events are handled by a separate server. The Taiga docs is saying that this step is optional, so currently we skipped implementing this in the container. I suggest to create a second container in second repository to provide the events container as a separate docker container. I can start this and we can cooperate in next weeks if you want. If you need it now, then I suggest to set up the events server without docker and set the environment variables to point at it. |
PS Changing title, so we will know what's it is about 😉 |
Hey, any progress on creating a container? Probably I should finish my gitlab setup, but haven't gotten there yet! |
Hi, I'm thinking about it. Possibly in this week I can try to do something
working.
…On Thu, May 21, 2020 at 8:43 AM marshalleq ***@***.***> wrote:
Hey, any progress on creating a container? Probably I should finish my
gitlab setup, but haven't gotten there yet!
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<#38 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFOAJBQZTC7ZEGWGQMKMYZDRSTESTANCNFSM4MYKFJYQ>
.
|
I started a image+CI project there https://github.com/riotkit-org/docker-taiga-events |
I see you need to set up |
Wow thanks, so you're saying it's ready to test? Edit - I see the docker image is live. Giving it a go. :) Thanks. |
Please try, and as a contribution at least please if you could do some
instruction :)
The server is getting up and responding to requests, but I didn't do any
integration testing between Taiga and Taiga Events server yet.
*Please note:* *The Taiga Events server is a less frequently maintained
project, it is even not versioned properly (notice the commit id in docker
tag), so we can only hope that it is stable :)*
…On Sat, May 23, 2020 at 2:46 AM marshalleq ***@***.***> wrote:
Wow thanks, so you're saying it's ready to test?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<#38 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFOAJBWBDMSQZUE7LUXYEXTRS4MGBANCNFSM4MYKFJYQ>
.
|
I made a good start on it yesterday. I quickly realised it has it's own dependencies, namely RabbitMQ, Celery and Redis. To add to the complexity, the celery container is now deprecated and they say to manually install it with python. The taiga architecture is a little bit confusing in this regard, but we'll get it going I'm sure. In the long run if we can figure out how to get this running separately I assume we'll be able to combine it all into a single container for simplicity? I am a little concerned about how I'll get celery working at this point, but will try pushing forward with the deprecated container for now. Thanks. |
Hi, in my understanding of
https://taigaio.github.io/taiga-doc/dist/setup-production.html#taiga-events ,
the Taiga Events + RabbitMQ is for hot-reload functionality.
The Celery + Redis is for asynchronous processing of background tasks.
That's two different things.
…On Sun, May 24, 2020 at 12:21 AM marshalleq ***@***.***> wrote:
I made a good start on it yesterday. I quickly realised it has it's own
dependencies, namely RabbitMQ, Celery and Redis. To add to the complexity,
the celery container is now deprecated and they say to manually install it
with python.
The taiga architecture is a little bit confusing in this regard, but we'll
get it going I'm sure. In the long run if we can figure out how to get this
running separately I assume we'll be able to combine it all into a single
container for simplicity?
I am a little concerned about how I'll get celery working at this point,
but will try pushing forward with the deprecated container for now.
Thanks.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<#38 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFOAJBVI7QMM6KPNF2AHLMTRTBD6VANCNFSM4MYKFJYQ>
.
|
Hi, So I played a bit with the events too, and taiga didn't crash when I enable events. However, in my understanding, "hot reload" means that the user doesn't need to reload the webpage to see changes, right? Although I don't get any errors, that part doesn't seem to work. I redirected the events container to 443, and the webpage told me, "upgrade required." Maybe a bug? Here is my docker-compose file:
|
@Sawrz that's also my observation. I'm in managed 2 week isolation so it's hard to work on this at present, however I did notice some hard coded things inside the taiga container the other day that I suspect may be causing issues. e.g. redis, celery, rabbit. Maybe check there. Mines not working yet either and I'd love to get it working as it's really hard working in remote teams without it. |
@marshalleq You can still enter container via |
@Sawrz Did you maybe check how this works on Taiga Cloud version? I mean if you click something from other browser is it reloading? I guess they should be using events and all of the stuff they made. By the way I would be cautious with the events - it looks like an abadonned part of Taiga, it may work or not work, they even do not version the events server correctly - it's all the time a DEV version 😉 |
I see you are using Traefik, I don't know if you are using it properly actually. Please consider the fact that we mix-up the routes on single port, and on single domain for Taiga Backend & Taiga Events. That could be cause of your problem now - events are now visible for browser. EDIT: Ok, my bad. The NGINX is actually in Taiga's container. So the used gateway does not matter. Please check if the /events endpoint is responding. |
Do you have any progress on it? :) |
I don't, we are finally home and have had a lot to sort out. But I did give it a decent go before, my problem is still that I don't know properly how it's meant to be set up from an architectural perspective. I've done what I think should work, checked logs and such, but it still doesn't work. I will give it another go today because I really want this, it's so painful working remotely and having to refresh the browser in case somebody might have changed something. |
My mental notes and thoughts below, while trying to get this going, hopefully someone can help answer the questions! OK, so from what you say above, I don't need celery and redis, so I'll skip those and only focus on taiga-events and rabbitmq. TAIGA EVENTS CONTAINER CONFIGURATION
RABBITMQ CONTAINER CONFIGURATION
TAIGA CONTAINER CONFIGURATION
QUESTIONS TO ANSWER I don't know what to put for an erlang cookie (is this the shared secret?) unclear documentation from taiga, rabbitmq says it is a secret, but I don't have high confidence it's the same shared secret. Taiga documentation - hard when there's not architecture explanation. Perhaps it's not required in this config? As far as I know websocket is required for http via nginx and somehow that points at one of the docker images on port 8888 and seemingly is required for events as per the documentation. I guess I need to look at the dockers internal nginx config to see if this is right. Anyone else know? From the documentation here, it states taiga events depends upon Rabbitmq as it's message broker which requires a rabbitmq url and a private key. The secret key is shared between taiga and taiga events and that it's default port is 8888. So I've done that as per above docker configs. But here is the mystery port 8888 again. ERRORS
What is on 6379? And why is it looking for redis when I haven't enabled it as per advice above. OTHER NOTES From what I can read and know, webhooks (which I think is port 9001) is not required for this, webhooks is for external integrations only. So I've not enabled like @Sawrz has above. I also assume your commentary above about nginx.conf.j2 is not required to enable events, that this nginx configuration is enabled simply via the docker variable EVENTS_ENABLED=True. I have not changed my reverse proxy nginx config, nor anything to do with nginx inside these dockers. I think you can see why this is hard to fault find right? :) |
Hi,
This error looks simple - there are no permissions for current container user to listn on a port. I don't know why it is trying to listen on it, but we may try to allow it - possibly a setcap is required there. setcap CAP_NET_BIND_SERVICE=+eip ??? Where |
Yeah, I already said it somewhere - Taiga Events looks like an abaddon project, it is in bad state - no versioning, alpha release, no responding to issues on github. It is risky. If you will setup this you will be a hero for some people hehe 😉 |
I think it might be easier just to set up redis and make sure it points to a real instance than do whatever you're mentioning above. Or find where it's calling it and remove it. I don't know what setcap does, will have to look that up. |
setcap allows a single binary to increase permissions to allow eg.
listening on lower ports or listening at all
…On Mon, Jun 8, 2020 at 2:27 AM marshalleq ***@***.***> wrote:
I think it might be easier just to set up redis and make sure it points to
a real instance than do whatever you're mentioning above. Or find where
it's calling it and remove it. I don't know what setcap does, will have to
look that up.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<#38 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFOAJBSGKSVBT2CNFVNH6S3RVQV67ANCNFSM4MYKFJYQ>
.
|
OK so I've actually made some good progress with this this morning. I can't say it's working yet, but there are now no errors and I can see the various components are accepting connections when an event (such as moving a task) occurs. Bear in mind that I tried a few different things in a different order so some of these may be unnecessary until we pin this down. Issue 1 The article that explains this is here, but for the quick attempt you need to do the following:
Issue 2
Below I also noted celery was enabled, so even though I'm being safe by editing the above celery.py to be correct, I understand it's not needed for events, so have disabled it below in docker.py. In addition I note it's an acceptable variable in local.py so have also disabled it there.
The taiga events container appears to set things correctly, but for completeness the config for that is located in: Through this process I've seen errors from Redis, which are now gone, errors from rabbit which are now gone and errors in taiga, which are now gone. I've actually gone as far as to create a new vhost and a new rabbit user:pass and when doing that, I can still see something is trying to call via guest:guest so there's still undoubtedly another localhost setting to find and change somewhere. So things are looking much better, but unfortunately I still don't know why events is not moving. Perhaps someone else can use what I've found above to complete this, or perhaps I will find it in the mean time. Interestingly, I see that my rabbitmq instance is somehow getting communicated from my celery container, even after disabling it where I can. I can see it coming from the IP address in the log. The Celery container is called taiga-celery and I assume something must be calling it by that name in the isolated network I've got as no ports are mapped. Perhaps I need to enable celery on everything then! So confusing. |
Nice see the progress, I will read this in the evening and reply.
…On Mon, Jun 15, 2020 at 10:56 PM marshalleq ***@***.***> wrote:
Note to check these ports out:
https://stackoverflow.com/questions/25101354/how-may-celery-be-configured-for-port-55672-instead-of-15672-celery-3-1-vs-rab#25101355
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#38 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFOAJBVUQEDVIRTLRHQ3O4LRW2DHJANCNFSM4MYKFJYQ>
.
|
|
Yeah, I began to wonder if I could add localhost to a hosts file (fully knowing that wouldn't actually solve anything permanently), but then quickly realising it's a very bad idea! BTW I had CELERY_ENABLED=False in my container already - but it obviously wasn't working. |
I added changes to the container, a SNAPSHOT version will be built on quay.io in a minute where you can test it. My time is over for today, tommorow I can test it too. |
|
So, from the changes above, the CELERY_ENABLED=False should work, if it applies in all the right places. When you say CELERY is also configurable from the container, is that documented anywhere? Sorry, just not sure what that means. Thanks for doing this - baby steps! |
Sorry, no docs until we will have it clear how it works. Currently I attempt to help you and I add what you need, when you will reach a point that it works, then we can write docs I think. |
Yeah, I wasn't expect those kind of docs, was just looking for any record of what making celery configurable meant as that could be read in many ways. I'm trying to read your commits, but not being a developer, I'm not going to understand the change as quickly as the person whom made it. :) |
Sorry, I didn't update README 😉 Those are new environment variables: # Enables Celery support
- CELERY_ENABLED # (default: false)
# Serializer type supported by Taiga at Celery
- CELERY_SERIALIZER_TYPE # (default: pickle) |
I see this issue is still open. So, there was a recently change in this area: And also the Taiga Events project is recently alive, I will take a look what changed in the Taiga Events recently. |
It seems that taiga-front and taiga-events was replaced by https://github.com/taigaio/taiga-front-next |
Would be good if it did - I do see their development has come back to life for a bit. Is this what 5.5.0-D1.4 is? I'm running the 5.0 version. Tried updating straight to it but it doesn't like it. |
So Taiga 6 is out with an official docker. I've been trying to get it going to understand what we can do about this, so far no dice. |
This new documentation is actually quite insightful: https://taigaio.github.io/taiga-doc/dist/setup-production.html#setup-prod-with-docker |
@marshalleq Hi, I think we can move to a separate issue, and consider if a separate container needs still to be maintained. In this month I will be probably upgrading privately to Taiga 5 (not 6, there is no Taiga 6 😁). |
Ah, ok, it's 6'th version 👍 |
Back now from a hiatus from needing Taiga. We're going to be having a larger team this time, so this is going to get super annoying if it's not working. I suspect I'm going to have to go to the official docker, but it's so unneccessarily complicated I feel like I'm wasting precious time on the wrong thing. What would be better would be to just get it running here. |
Thanks so much for building this, I've spent about 4 days going round in circles before finding this starting at ben Hutchins repo but not liking that it was out of date, ended up building a whole vm which worked perfectly but refused to use our reverse proxy properly, then found this when looking at the issues section at benhutchins repo. :). It's amazing!
Can you give me any hints on how to set up the events server?
I don't mind writing up a doc in return or something, I'm just a bit confused about which bits are needed for this docker vs what would normally be needed for a typical setup e.g. VM.
I assume I need to:
1 Install a redis container
2 Install rabbitmq container
3 Install the official events server from taiga
4Configure TAIGA_ENABLE_EVENTS, TAIGA_EVENTS_HOST, TAIGA_REDIS_URL, TAIGA_BROKER_URL
5 Configure whatever needs to be configured in the above containers
That's my thought anyway. Any help would be appreciated!
Marshalleq
The text was updated successfully, but these errors were encountered: