Commit graph

7 commits

Author SHA1 Message Date
Baptiste Daroussin
701ac3adcb nuageinit: improve debugging when mkdir fails
(cherry picked from commit a6ecbf2b35)
2024-09-03 09:05:25 +02:00
Jose Luis Duran
3dbc333a9e nuageinit: Fix the homedir variable name
cloud-init uses homedir, not home.

(cherry picked from commit 7aecd689e3)
2024-09-03 09:05:24 +02:00
Jose Luis Duran
6171791787 nuageinit: Set recommended SSH permissions
As stated in sshd(8), the recommended permissions for ~/.ssh are
read/write/execute for the user, and not accessible by others; and the
recommended permissions for ~/.ssh/authorized_keys are read/write for
the user, and not accessible by others.

(cherry picked from commit 07d17ca189)
2024-09-03 09:05:24 +02:00
Jose Luis Duran
c7887c8e2e nuageinit: Accept plain text passwords
Per pw(8), when -H is set, the password should be supplied already
encrypted in a form suitable for writing directly to the password
database (passwd in cloud-init tems); -h provides a special interface by
which interactive scripts can set an account password using pw(8) in
plain text (plain_text_passwd in cloud-init terms).

The default user (freebsd) is defined with a plain_text_passwd
(freebsd), not with an encrypted one.

(cherry picked from commit 7b73ecfe64)
2024-09-03 09:05:24 +02:00
Baptiste Daroussin
3cfc085f8a nuageinit: make addsshkey friendly for testsuite
(cherry picked from commit fa07b02f6e)
2024-06-27 10:55:07 +02:00
Baptiste Daroussin
12e584c11e nuageinit: use pw(8) instead of getent(1)
pw(8) allows to seek for users in a custom rootdir, which makes it
easier for a testsuite

MFC After:	3 days

(cherry picked from commit 83fcab792c)
2024-06-27 10:55:06 +02:00
Baptiste Daroussin
16a6da44e2 nuageinit: add basic support for cloudinit.
this is a very early script to support cloudinit, it does not intend to
be a full featured cloudinit client, but will support a good enough
subset to be viable in most case.

It support nocloud and openstack config-2 config drive mode (iso9660 or
msdosfs)

The following features are currently supported:
- adding users (including a default user named 'freebsd' with password
  'freebsd'
- adding groups
- adding ssh keys
- static ipv4, static ipv6, dynamic ipv4

With this one is able to use the 'bring your own image feature" out of
box.

It is expected that the script grows the support of other clouds
supporting cloud-init, contributions are welcomed.

It is designed to be only run once via the firstboot mecanism.

Sponsored by:	OVHCloud
Differential Revision:	https://reviews.freebsd.org/D44141

(cherry picked from commit a42d6f7601)
(cherry picked from commit c051f22bce)
(cherry picked from commit b8c053c9a6)
(cherry picked from commit 9eae9233fd)
2024-04-11 13:52:52 +02:00