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

master should not use two top level directories in /srv #5542

Closed
karlp opened this issue Jun 14, 2013 · 5 comments
Closed

master should not use two top level directories in /srv #5542

karlp opened this issue Jun 14, 2013 · 5 comments
Assignees
Labels
Feature new functionality including changes to functionality and code refactors, etc.
Milestone

Comments

@karlp
Copy link

karlp commented Jun 14, 2013

Currently, by default, salt uses/expects two top level directories in /srv, /srv/salt and /srv/pillar. While the two directories are logically separate, and pillar's can contain sensitive data and so on, large portions of the documents refer to and recommend using pillar data for templating states. This makes it very appealing to have both the /srv/salt directory and the /srv/pillar directory under version control. To this end, and to limit clutter in the system "shared" /srv top level directory, I propose that the pillar and salt directories move down a level by default. Something like /srv/salt/states and /srv/salt/pillar.

I'm well aware that this is not something that would be easy to migrate from old installations. I'm also well aware that I can configure this myself in the salt master config. However, I feel that the default setup should only use a single top level directory.

@thatch45
Copy link
Member

I completely agree, this was a mistake, I want to change it, but the question is, how can we do it without breaking everything for everyone? Really, I need some ideas as to how we can do this in a smooth way

@karlp
Copy link
Author

karlp commented Jun 14, 2013

one way... (there's others)

have the packages create a new directory /srv/saltstack. Then, if the package installer finds anything in the /srv/pillar or /srv/salt directories, it creates symlinks and writes a MIGRATION-README file?

Or, just outright say, "this is still growing software, this release is not backwards compatible in defaults, here's how to migrate"

Or, in the package installers, if it finds the old directories, it modifies the config it's installing to use those directories? (downside here is old users never get the new paths unless they do it themselves)

@ghost ghost assigned thatch45 Jun 14, 2013
@thatch45
Copy link
Member

Yes, I really dislike 2, packages should not dynamically change configs, this never works and packagers will not go for it, and the first is getting close.
I think that it would be good enough if just new installs changed the structure, in this case we just ask packagers to lay down a default config with the directory changes. Even then though this will silently break unchanged configs.

@EvaSDK
Copy link
Contributor

EvaSDK commented Jul 25, 2013

Unless I misunderstood the problem, both directories are configurable via master configuration file, if someone wants them under the same directory like say /srv/salt/{states,pillars}, it is already very easy to do.

If changing the default config is the only thing there is to do, just do it, admins and packagers will know how to handle it, but don't try to do anything automagic like moving files via salt-master itself.

@basepi basepi modified the milestones: Helium, Hydrogen Release Feb 4, 2014
@basepi basepi modified the milestones: Approved, Helium Apr 21, 2014
@UtahDave
Copy link
Contributor

This isn't going to happen at this point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature new functionality including changes to functionality and code refactors, etc.
Projects
None yet
Development

No branches or pull requests

5 participants