-
Notifications
You must be signed in to change notification settings - Fork 19
Design cf-remote config #165
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
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: Victor Moene <[email protected]>
|
@victormlg Continuing on your example, here is my updated suggestion; spawn-config:
- ubuntu-vm:
provider: aws
aws:
image: ubuntu-24
- local-ubuntu-vm:
provider: vagrant
vagrant:
image: ubuntu/focal64
memory: 1024
cpus: 2
groups:
- cloud-hub:
role: hub
spawn-config: ubuntu-vm
count: 1
cfengine: 3.24.3
scripts: [ ./provision.sh ]
- cloud-clients:
role: client
spawn-config: ubuntu-vm
count: 2
cfengine: 3.24.3
bootstrap: cloud-hub
- local-hub:
role: hub
spawn-config: local-ubuntu-vm
count: 1
cfengine: 3.24.3
bootstrap: cloud-hub
- static-hosts:
role: client
cfengine: 3.24.3
hosts: [ [email protected], [email protected] ]
bootstrap: cloud-hubAnother alternative instead of |
I agree that this looks cleaner. However doesn't it sacrifice some "power" and flexibility if we want to add more features in the future? Why precising the provider two times if you mentioned that there should only be one provider option per spawn-config? I think having fully reproducible configs would be useful, especially in a dev environment. For example, if in ./provision.sh script you use some package with a version and your share your cf-remote config, it's not sure that the installed softwares would have the same version. Scripts and static hosts can break reproducibility. We could track the scripts with git. Lastly, I think that instead of being fixed, the config should be modular. I believe this: should be synonymous to: Basically, you could create "aliases" to repeat some configuration in a modular way. Not only for spawn-config. |
No description provided.