Hi all,

On  Sa 13 Mai 2023 09:01:08 CEST, Dominik George wrote:

Hi,

But when there is only one server to configure and maintain, bash scripts are much better.

No. Sometimes, sometimes not.

IMHO. No. cfEngine is a dedicated config management tool providing various easy-to-declare config state descriptions (that get applied if the config does not match the state). That said, shell scripts would be much more error prone and would be much longer.

Furthermore, cfEngine is always idempotent by design. Writing idempotent shell scripts is possible, but also: much more code and so: more error prone.

- They are more powerful and flexible.

Yes. And no. Cfengine can call shell commands just as well. It's just a more versatile way of doing "if grep ... | ...; then ..."

cfEngine is in fact more than that. Possibly we don't use it in its full feature scope.

- Bash is ubiquitous (it is available everywhere), no need for extra dependencies.

No. POSIX Shell is available everywhere, bash is not.

(Yes, I know, on every *Debian* system... Still, please don't use bash for scripting.)

Indeed.

- Bash scripts are much more popular than cfengine (or ansible). The number of people who can understand, customize and contribute to bash scripts is much higher than those who can do the same thing with cfengine.

Citation needed!

I don't agree with this, either. Those you are able to write idempotent shell scripts (which is a requirement for the config management in Debian Edu), can also easily dive into cfEngine/puppet/ansible. Those you cannot master config management markup syntax, they should better not provide shell scripts for the same task, either. This is not meant as an office (tm).

(Yes, I am a big fan of shell scripts. Heck, I am the one who has written a full interactive GOSa replacement plus non-profit ERP in Korn Shell. Yet, your assumptions are wrong, IMHO.)

/me is also a fan of shell scripts... But not for idempotent config management.

That said, both Mike and me are making efforts to introduce FAI to parts of Debian Edu, but not for everything.

There is a package in Debian called debian-edu-fai. This I use for deploying Debian Edu workstations on customer sites. (Unfortunately, I haven't gotten around to adjusting it for Debian Edu 12, yet).

Also, in debian-edu-fai I run cfEngine and use debian-edu-config's cfEngine ruleset to finalize the system setup.

Greets,
Mike

--

DAS-NETZWERKTEAM
c\o Technik- und Ökologiezentrum Eckernförde
Mike Gabriel, Marienthaler Str. 17, 24340 Eckernförde
mobile: +49 (1520) 1976 148
landline: +49 (4351) 850 8940

GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22  0782 9AF4 6B30 2577 1B31
mail: mike.gabr...@das-netzwerkteam.de, http://das-netzwerkteam.de

Attachment: pgp6qRr5DXcZh.pgp
Description: Digitale PGP-Signatur

Reply via email to