Skip to content
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

Unify versions into a single file #4

Closed
parkr opened this issue Jan 10, 2022 · 0 comments
Closed

Unify versions into a single file #4

parkr opened this issue Jan 10, 2022 · 0 comments

Comments

@parkr
Copy link
Collaborator

parkr commented Jan 10, 2022

octodns 1.0 will be made up of a core at octodns/octodns and first-party providers in separate repos, e.g. CloudflareProvider in octodns/octodns-cloudflare. This means that at 1.0, you will need to install octodns==1.0 and octodns-cloudflare with pip to successfully use Cloudflare as your DNS provider.

The octodns org has around 14 first-party plugins for providers, so we have 15 versions to consider: one for octodns and one for each of the 14 providers. We can generate 15 flavors: one octodns flavor which contains all of them, and then one for each provider which just includes that one provider. The current approach is to manually manage requirements.txt files. I don't think this is going to work long-term (e.g. updating the octodns core package means updating all 15 requirements.txt files).

I'd propose a single file in the root of the repo which stores the versions for all the components used. We'd automatically copy just the versions we need to the flavor we want. One possibility is to store the versions as requirements.txt in the base of the repo, then filter and copy that file into the relevant flavor. We already copy the Dockerfile into each flavor since it's the same across all the flavors, so we can easily do this. I'd vote using grep or awk to make it as simple as possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant