Upgrade Rallly #187

Open
opened 2023-12-19 10:15:52 +00:00 by benjaoming · 6 comments
Owner

We're currently running version: "2".

9164b39906/roles/docker/defaults/main.yml (L184-L190)

Latest version is 3.4+. Maybe we should target lukevella/rallly:3.4?

https://github.com/lukevella/rallly/releases

New things...

  • SSO with OpenID
  • Added a new option to make the email field required for participants.
  • Duplication
  • Finalization
  • Nicer UI

Upgrade notes:

Upgrading from v2

The startup script will automatically perform a schema migration so that you can retain your existing data. It may not be possible to downgrade to v2 after upgrading due to the changes in the schema. Please take note of the following breaking changes before upgrading.
Breaking changes

  1. Removed AUTH_REQUIRED

The AUTH_REQUIRED parameter has been removed. As of version 3, users must be logged in to create and manage polls. To further avoid use of your instance by unauthorized users, you are encouraged to use the ALLOWED_EMAILS parameter to limit who can register and login on your instance.

  1. SMTP config is now required

Due to authentication being required, it's not longer possible to use the system without logging in. Since Rallly only supports passwordless login, you will need to configure SMTP so that you can receive your passwordless login email.

New self-hosting docs:

We're currently running `version: "2"`. https://git.data.coop/data.coop/ansible/src/commit/9164b399063c709b79b94c930ebaa76578a0d9ce/roles/docker/defaults/main.yml#L184-L190 Latest version is 3.4+. Maybe we should target `lukevella/rallly:3.4`? https://github.com/lukevella/rallly/releases New things... * SSO with OpenID * Added a new option to make the email field required for participants. * Duplication * Finalization * Nicer UI Upgrade notes: > Upgrading from v2 > > The startup script will automatically perform a schema migration so that you can retain your existing data. It may not be possible to downgrade to v2 after upgrading due to the changes in the schema. Please take note of the following breaking changes before upgrading. > Breaking changes > 1. Removed AUTH_REQUIRED > > The AUTH_REQUIRED parameter has been removed. As of version 3, users must be logged in to create and manage polls. To further avoid use of your instance by unauthorized users, you are encouraged to use the ALLOWED_EMAILS parameter to limit who can register and login on your instance. > > 2. SMTP config is now required > > Due to authentication being required, it's not longer possible to use the system without logging in. Since Rallly only supports passwordless login, you will need to configure SMTP so that you can receive your passwordless login email. New self-hosting docs: * https://support.rallly.co/self-hosting/docker-compose#update-instructions * https://github.com/lukevella/rallly-selfhosted
Owner

The AUTH_REQUIRED parameter has been removed. As of version 3, users must be logged in to create and manage polls. To further avoid use of your instance by unauthorized users, you are encouraged to use the ALLOWED_EMAILS parameter to limit who can register and login on your instance.

This would mean that we can no longer offer this as a service for non-members, or that we would need to allow anyone to register.

Due to authentication being required, it's not longer possible to use the system without logging in. Since Rallly only supports passwordless login, you will need to configure SMTP so that you can receive your passwordless login email.

I'm not sure how I feel about needing to collect people's email addresses in order for them to be able to use our service, it doesn't really align with our vision about privacy, especially for non-members who we don't have an actual need for collecting email addresses from.

SSO with OpenID

It doesn't work with Keycloak currently.

Another note about emails:

We need to fix our outgoing email setup first. Some providers, at least mine (mailbox.org) greylists emails from *.data.coop, so sometimes emails are delayed by 5-10 minutes. Other providers directly block our emails (looking at you, Microsoft).

> The AUTH_REQUIRED parameter has been removed. As of version 3, users must be logged in to create and manage polls. To further avoid use of your instance by unauthorized users, you are encouraged to use the ALLOWED_EMAILS parameter to limit who can register and login on your instance. This would mean that we can no longer offer this as a service for non-members, or that we would need to allow anyone to register. > Due to authentication being required, it's not longer possible to use the system without logging in. Since Rallly only supports passwordless login, you will need to configure SMTP so that you can receive your passwordless login email. I'm not sure how I feel about needing to collect people's email addresses in order for them to be able to use our service, it doesn't really align with our vision about privacy, especially for non-members who we don't have an actual need for collecting email addresses from. > SSO with OpenID [It doesn't work with Keycloak currently.](https://github.com/lukevella/rallly/issues/949) Another note about emails: We need to fix our outgoing email setup first. Some providers, at least mine (mailbox.org) greylists emails from `*.data.coop`, so sometimes emails are delayed by 5-10 minutes. Other providers directly block our emails (looking at you, Microsoft).
samsapti added the
Existing Service
label 2023-12-23 13:28:43 +00:00
Author
Owner

@samsapti let's wait with the upgrade until that Keycloak issue is fixed 👍

As for the anonymity, I agree that it's a regression. It's weird that the maintainer hasn't stated a reason. Maybe they wanted to focus on designing the system for logged in users -- I can understand that the cookie-based management of polls will be different. Or maybe it's really because of some kind of abuse.

Anyways.... I'd be a bit pragmatic about it and maybe say that if we can design our SSO-provider to somehow hand out single-use accounts <random-string>@anonymous.data.coop, then we can grant anonymous access for people across many SSO-enabled services?

@samsapti let's wait with the upgrade until that Keycloak issue is fixed 👍 As for the anonymity, I agree that it's a regression. It's weird that the maintainer hasn't stated a reason. Maybe they wanted to focus on designing the system for logged in users -- I can understand that the cookie-based management of polls will be different. Or maybe it's really because of some kind of abuse. Anyways.... I'd be a bit pragmatic about it and maybe say that if we can design our SSO-provider to somehow hand out single-use accounts `<random-string>@anonymous.data.coop`, then we can grant anonymous access for people across many SSO-enabled services?
Author
Owner

@samsapti I was just trying the demo here, and it still supports "continue as guest"

https://app.rallly.co/

Need to figure out how that works...

Also, the sole-owner and maintainer of the project wants to start earning money pretty soon:

I plan to release a docker image for self-hosters after the official release of the new version. My plan is to make all Pro features available for free to self-hosted instances but perhaps limit these instances to single-users. For self-hosted instances with multiple users (presumably used by companies), it would make sense to turn this into a revenue stream so I'd like to offer multi-user licenses that will unlock this functionality. That said, I currently don't have any insight on whether there is enough demand to justify the work needed to do this. If you or your company uses Rallly, I'd love to hear from you.

https://github.com/lukevella/rallly/discussions/702

@samsapti I was just trying the demo here, and it still supports "continue as guest" https://app.rallly.co/ Need to figure out how that works... Also, the sole-owner and maintainer of the project wants to start earning money pretty soon: > I plan to release a docker image for self-hosters after the official release of the new version. My plan is to make all Pro features available for free to self-hosted instances but perhaps limit these instances to single-users. For self-hosted instances with multiple users (presumably used by companies), it would make sense to turn this into a revenue stream so I'd like to offer multi-user licenses that will unlock this functionality. That said, I currently don't have any insight on whether there is enough demand to justify the work needed to do this. If you or your company uses Rallly, I'd love to hear from you. https://github.com/lukevella/rallly/discussions/702
Owner

I've added a reply to the thread you linked 🙂

I've added a reply to the [thread you linked](https://github.com/lukevella/rallly/discussions/702#discussioncomment-7958214) 🙂
samsapti added the
Blocked
label 2023-12-27 16:41:58 +00:00
Author
Owner

It seems lke there is an (undocumented?) feature flag in the new version that we can play with: https://github.com/lukevella/rallly/discussions/970#discussioncomment-8043421

It seems lke there is an (undocumented?) feature flag in the new version that we can play with: https://github.com/lukevella/rallly/discussions/970#discussioncomment-8043421
samsapti removed the
Blocked
label 2024-01-28 20:14:49 +00:00
Owner

The Keycloak issue has been fixed, and the registration requirement seems to have been removed. Should we go ahead with the upgrade perhaps?

The Keycloak issue has been fixed, and the registration requirement seems to have been removed. Should we go ahead with the upgrade perhaps?
valberg added this to the Devops work project 2024-02-09 07:50:59 +00:00
Sign in to join this conversation.
No description provided.