tellerops / teller

Cloud native secrets management for developers - never leave your command line for secrets.
https://github.com/tellerops/teller
Apache License 2.0
2.83k stars 186 forks source link

Announcing Teller 2.0 #216

Open jondot opened 7 months ago

jondot commented 7 months ago

Hi all, I wanted to announce a project we've been working on for quite a while (which might explain our focus shift) -- which is Teller 2.0 πŸŽŠπŸŽ‰πŸ˜ƒ.

What's the goals of Teller 2.0

Teller 2.0 will be written in RustπŸ¦€, and as a "second time around" will incorporate all of the feedback from production into a new, fresh design. Our best design to come.

Why Rust?

Moving to Rust πŸ¦€ as the primary language reduces changes of bugs, increases safety massively, and opens up a world of security tools and memory manipulation (e.g. we want to be resetting sensitive data in memory after access), as well as a better language for the model of what we're doing (we have had a lot of limitations imposed on us from Go, which we had to hack the design to work around).

In addition we will be "subscribing into" a community of security, safety, and high quality production values. We'll be enjoying a super stable platform and standard library, with super stable libraries. The name of the game for Teller 2.0 is: robustness and security by design!

What's going to happen to v1

As we start incorporating Teller 2.0 into the repo, Teller 1.0 is going to stay there with no change in order for us to be able to take care of existing PRs and last minute ties. Then, Teller 1.0, AKA "Teller Go" is going to migrate into a branch for those still needing the Go codebase. We will merge additions into that branch but the mainline Teller will be Teller 2.0, and it will have the same feature set and quickly will also have added features that would be never possible with Teller 1.0.

When is v2.0 be out?

We will be merging in a preview of 2.0 in a few days, into the current codebase so everyone can take a sneak peak. Once it is merged in, we will incrementally bring 2.0 into release-ready (setting up CI, etc.) and then we will be able to take in PRs into the 2.0 version

We thank everyone that has been part of this amazing journeyπŸš€ , Teller is being used in small companies, startups, F500 and even F100 companies. Clearly, we solve something people really needed.

With Teller 2.0 we aim to ship better quality, better safety, better security and many more features to all of those users.

Stay tuned for 2.0!! πŸš€πŸŽŠ

polarathene commented 7 months ago

Might be better to have 2.0 as a fresh repo? teller-rs?

I don't think the repo name will matter too much to anyone and this one can clearly direct users to the new repo, especially if you have no plans to further maintain/support 1.0 beyond keeping the original source available.

That avoids the existing history with issues, PRs and discussions from the past adding any noise (since quite a bit of it won't contribute much value to the rewrite), while those landing on the issues / discussions from search queries can avoid any confusion.

Or are all open issues and discussions being closed / tagged at this transition point to minimize that issue? If you do provide one final 1.x release, please do so with the newer Go release, the last release from Oct 2022 was some time ago and a new release was requested Aug 2023, but ignored.


jondot commented 7 months ago

Fantastic recommendation for 2.0! We will definitely cover those. Regarding repo -- we discussed this internally a lot, the conclusion was to perform an "evolution" rather than "revolution" meaning, to say, we will keep supporting 1.0 for critical things, but moving forward to encourage to move to 2.0, for many reasons (primary one - security). The way to achieve most motivation and encouragement is through using the very same repo. We want to avoid a "split brain" mode where the two versions never converge, so that's why we want to keep all things closely located.

darach commented 7 months ago

When in the depths of a src hierarchy it would be nice if teller searched up through the parent file system for a .teller.yml and resolved it rather than requiring the -c <config-path> option. It would make the following just work:

cd pkg/beep/boop
teller run -- go test -v ./...

For folk using go or cargo this removes friction as it would follow the same conventions and become more intuitive

MarkusSagen commented 7 months ago

For version 2.0, would it also be possible to read secrets from plaintext from AWS secret manager? https://github.com/tellerops/teller/issues/133

EnturWilhelm commented 6 months ago

Other food for thought for Teller 2.0:

The aforementioned issues are preventing us from adopting Teller in any official capacity. I can also see that you mention Teller already being used in companies of various sizes "Teller is being used in small companies, startups, F500 and even F100 companies". An official list with some of these companies would give extra trust to the project (see zerolog users list).

itai-gendler commented 6 months ago

hey there. thanks for these amazing efforts. any updated on 2.0 and when we can test it out?

dbowling commented 4 months ago

Looks like the teller Homebrew formula is pointing to 2.x now. I'm suddenly getting errors that my config isn't named correctly and has the wrong format.

Is there an upgrade guide? I don't any notes in the changelog, and the readme in the repository goes back and forth between calling the config .teller.yml and teller.yml.

jondot commented 4 months ago

Yes we should write one For now you can of course use 1.0 2.0.0 is a major change

fordneild commented 1 month ago

Is there new documentation for 2.0? I noticed tlr.dev was down. The current situtation was pretty confusing for a new teller user like myself. May i suggest a readme update to provide clarity on the timeline?

fordneild commented 3 weeks ago

I couldnt help but notice there havent been updates in some time, is this project still being maintained? It seems like folks really like it.

jondot commented 3 weeks ago

The project is definitely being maintained. We finished the major milestone which is the rebuild of Teller. We’re getting great feedback both external and internal, and it takes time to process to prioritize features requests at the moment