Migrate binary and default configuration locations away from conduwuit and over to continuwuity #1536
Labels
No labels
Blocked
Bug
Cherry-picking
Database
Dependencies
Dependencies/Renovate
Difficulty
Easy
Difficulty
Hard
Difficulty
Medium
Documentation
Enhancement
Good first issue
Help wanted
Inherited
Matrix/Administration
Matrix/Appservices
Matrix/Auth
Matrix/Client
Matrix/Core
Matrix/E2EE
Matrix/Federation
Matrix/Hydra
Matrix/MSC
Matrix/Media
Matrix/T&S
Meta
Meta/CI
Meta/Packaging
Priority
Blocking
Priority
High
Priority
Low
Security
Status
Confirmed
Status
Duplicate
Status
Invalid
Status
Needs Investigation
Support
To-Merge
Wont fix
old/ci/cd
old/rust
No milestone
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
continuwuation/continuwuity#1536
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
At the moment, executables and config files both follow the
conduwuitnaming scheme. While this does make migrating easier and doesn't have any downsides apart from tech debt, I think it should be considered to migrate everything to the new name.This was lightly suggested first in the dev channel: https://matrix.to/#/!ksTlboXVgcyWjv5GrlEeKyQuJ8ZCprnwQx2b6-BQ44Q/%24OvLOP1y3SASYrHyESa7NEko4u7kePT_vL57nNZgHuHA?via=wolfgirl.pet&via=gingershaped.computer&via=matrix.org
The easiest way to start is likely to rename the example config file as well as documentation. The code already accounts for the old and new filenames, so is unlikely to have breaking changes.
Second change would be to rename the compiled executables. This could pose more of a challenge (e.g. for debian/fedora/etc), as scripts and whatnot might point to the old executable. My suggestion would be to do this in a two-step process:
This would give users time to migrate, and this along with a warning in the admin channel would likely be enough for most users to migrate.
Docker would likely follow a similar path, though implementing this after !1485 could significantly ease the load (as users would no longer have to specify which binary to use).
we need to think about
c10yprefixes/abbreviations in places, since this is otherwise a good amount of extra typing...My primary concern is that changing service names may break existing setups of which depends on service overrides.
For binary we can just install a symlink
Systemd allows you to have unit aliases, and aliases also load dropins in the same way as the canonical name: https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html
I.e. we would be able to rename the service to
continuwuity.servicewith anAlias=conduwuit.serviceand have dropins inconduwuit.service.dstill load correctly.I really think the executable should be abbreviated. c10y or uwu are fine for things that will be often typed
I can't think of another CLI tool whose name is 10 letters long. And continuwuity is 12.
I can agree with that, though I'd rather name it c10y than uwu in that case
The service is called
matrix-continuwuityin NixOS, which is exceedingly long, but in my experience you don't interact with the service enough after you've set it up, much less the binary, for it to matter. That's worth considering. I also don't think most people would expectc10yto be the name; how many commands do you know with numbers in them? I can't think of any. You could havec10yas an alias, but personally I would not expect people unfamiliar with the community to be aware it gets abbreviated asc10yeither. You may as well call itcyat that point if brevity is valuable.Otherwise, this is a solid plan. It'd be nice to have the name consistent everywhere at last.
Hm.. I do actually tend to agree more with you there, yeah. Service executables aren't something that's usually touched, so long names aren't an issue.
On a more relevant note to the issue, it should probably log a deprecation notice if you start the program as
conduwuit, alongside the admin channel notice. If you miss one, you should see the other. Redundancy is worthwhile here, since we do not want people to be surprised by the change when the time comes to remove theconduwuitalias.Agreed, that part can likely be implemented before anything else once we move over to the new name. Can draft up a PR once we get things settled properly.
The service name I don't type it as often. Sounds like it supports aliases anyway.
No idea if abbreviating the executable is even a great idea... but as a dev, I definitely don't want to test my spelling/typing abilities that often lol
Can't you just run
cargo run? Optionally we can just make a script for it or something.I use
cargo run --package conduwuit --bin conduwuit -- --config conduwuit.tomlwhen testing and developing at least, ran through my IDE (so i never actually type the command).There's nothing stopping you from using c10y as an alias while you're developing, I just don't think that should be a thing for the actual release.
Yeah. Though I would still prefer a separate legacy service along with the new service and not having Alias to avoid confusion for existing users. If we are going to merge the service then packages should implement some sort of warning to inform users.