1
0
mirror of https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud.git synced 2025-12-14 19:02:45 +03:00

74 Commits

Author SHA1 Message Date
Jake Buchholz Göktürk
f91de06fee Extra test for cloud-config doas when adding extra users to default. 2025-12-04 19:47:54 +00:00
Jake Buchholz Göktürk
3e44e41603 properly detect empty userdata 2025-11-30 19:56:46 +00:00
Jake Buchholz Göktürk
018e0d62d4 use actual digitalocean DMI modalias string in test 2025-05-29 20:57:20 -07:00
Jake Buchholz Göktürk
daa31db54e initial digitalocean support 2025-05-29 03:46:51 +00:00
Natanael Copa
bbe5e2e38c alpine-config: autoinstall: allow override disk and reboot and set swap 2025-05-29 00:32:55 +00:00
Natanael Copa
81628a796b Allow override default user's homedir, shell, group and gecos 2024-12-30 18:51:46 +00:00
Jake Buchholz Göktürk
158230f7a6 Autodetect for Hetzner and Scaleway 2024-11-24 10:53:50 -08:00
Jake Buchholz Göktürk
697957f8c0 More Cloud Autodetects 2024-11-17 04:41:59 +00:00
Jake Buchholz Göktürk
e75ec5b4f6 Remove Deprecated Network and Hotplug Stuff 2024-10-19 18:04:45 -07:00
Jake Buchholz Göktürk
b1ae3ab611 Makefile & tests for new clouds 2024-10-19 16:12:22 -07:00
Natanael Copa
34681ae220 Implement doas for users
Add config line for doas under user creation
2024-07-31 23:48:36 +02:00
Natanael Copa
e791e0494d Implement primary_group for users 2024-07-31 23:48:36 +02:00
Natanael Copa
7492d6f128 Implement groups for users
Allows created (or existing) user to be added to existing groups.
2024-07-31 23:48:36 +02:00
Natanael Copa
0abcf08262 Implement no_create_home for users 2024-07-31 23:48:36 +02:00
Natanael Copa
69c9545144 Implement system in users
Makes the created user a system user
2024-07-31 23:48:36 +02:00
Natanael Copa
0faaee62a4 Implement lock_passwd=false for user 2024-07-31 23:48:30 +02:00
Natanael Copa
4caf5eee18 Implement ssh_authorized_keys for created users
fixes https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud/-/issues/57
2024-07-31 23:44:51 +02:00
Natanael Copa
b366e4e3f7 Implement user creation for alpine-config
ref: https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud/-/issues/35
2024-07-31 23:44:09 +02:00
Natanael Copa
8303a4a3f2 Support disable the default user creation
Setting `users: []` should disable the creation of default user.

Setting `users: [default] should enable it.
2024-07-31 23:43:15 +02:00
Natanael Copa
115dafdfa0 Add support for groups in alpine-config
Only support creating empty groups for now

ref: https://cloudinit.readthedocs.io/en/latest/reference/modules.html#users-and-groups
2024-07-31 15:09:34 +02:00
Natanael Copa
9d1d448a16 Add incus autodetect 2024-06-28 12:32:59 +02:00
Natanael Copa
966f0bb2a4 Get ssh key from user-data with incus
incus has no way to set ssh key in meta-data, instead we can set it in
user-data.

This means that we cannot set ssh key if user-data is a shell script.
2024-06-28 12:22:29 +02:00
Natanael Copa
3197427cb3 Add incus support
Incus provides meta-data via unix socket /dev/incus/sock
https://linuxcontainers.org/incus/docs/main/dev-incus/
2024-06-28 11:40:22 +02:00
Natanael Copa
abe98e6cbf Improve readability and fix quoting in fake netcat
No functional changes.
2024-06-27 22:11:51 +02:00
Natanael Copa
11789c272f Autodetect nocloud if CLOUD is unset
Set default CLOUD to 'auto', which will try autodetect the cloud
provider.

Each cloud can have an autodetect script which should print:
  <priority> <cloud>
if cloud was detected.
2024-06-27 21:56:51 +02:00
Natanael Copa
d0a39db18d Automatically setup apk repositories if not specified
Configure network repositories with setup-apkrepos if no repositories
file exists.
2024-06-27 17:49:40 +00:00
Natanael Copa
cd385f5610 Add initial support for alpine autoinstall
Run setup-disk on the biggest empty disk found when autoinstall: true is
set.
2024-06-27 17:27:03 +00:00
Natanael Copa
239cb59a13 Move alpine provider into nocloud 2024-06-23 20:26:22 +00:00
Natanael Copa
e402fe63e7 Use grep -E instead of egrep 2024-05-25 19:42:25 +00:00
Hugo Rodrigues
2713aac43f Added support to Hetzner 2024-03-10 22:28:36 +00:00
Hugo Rodrigues
119d7a686e Add scaleway support 2024-02-14 15:05:52 +00:00
Natanael Copa
45cc24696b Configure ephemeral network if needed
Add ipv4 address from dhcp if datasource is from https and no ipv4
address is configured.
2024-01-18 04:02:50 +00:00
Natanael Copa
e6fb222af3 nocloud: support set data source via smbios in qemu 2023-12-14 00:00:48 +00:00
Natanael Copa
6fb5fa088b Support disabling tiny-cloud via /etc/tiny-cloud.disabled
ref: https://gitlab.alpinelinux.org/alpine/mkinitfs/-/merge_requests/133
ref: https://cloudinit.readthedocs.io/en/latest/howto/disable_cloud_init.html
2023-11-28 15:56:35 +01:00
Natanael Copa
d30d2555df Implement ssh_authorized_keys 2023-06-09 14:23:51 +00:00
Natanael Copa
e36abdef4a replace set_nocloud_meta with fake_metadata_nocloud
remove redundand test code
2023-06-07 14:15:07 +02:00
Natanael Copa
b571e252c0 Add a fake getent for tests
Avoid tests fail due to existing default user on system. There are more
than one test that is affected of this, so create a fake getent for all.

ref: https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud/-/issues/42
2023-05-24 17:50:12 +02:00
Natanael Copa
85108e958b Fix vim modelines and make more readable
Add missing trailing :

Use filetype=sh instead of ft=sh to make it more readable.
2023-05-24 14:50:02 +00:00
Natanael Copa
b4776260db Move create_default_user to main phase 2023-05-23 14:28:23 +00:00
Natanael Copa
a042bf8cf1 Consolidate init-*.test into init.test
The separate init-early, init-main and init-final were consolidated in
commit 81869cefccd3 (Consolidate init functionality in /sbin/tiny-cloud)

Do the same with the unit tests for those functions.

No functional changes.
2023-05-22 12:15:57 +02:00
Natanael Copa
3ca6b74a48 Hide mount failures when looking for CIDATA
fixes https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud/-/issues/43
2023-05-22 09:49:23 +00:00
Natanael Copa
40d15db038 Use fake getent to avoid existing system users
The default user may or may not exist on the system running the tests.
Create a fake getent to simulate non-existing user in a consistent way.

fixes https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud/-/issues/42
2023-05-22 11:27:56 +02:00
Jake Buchholz Göktürk
5f26d1f579 Rename Phases & Support doas.conf 2023-05-22 00:34:28 +00:00
Natanael Copa
c4195b5e8b Add package_update / package_upgrade
Allows system to be upgraded before installing new.

ref: https://cloudinit.readthedocs.io/en/latest/reference/modules.html#package-update-upgrade-install
2023-05-19 17:50:33 +02:00
Natanael Copa
000f41a48b Add .editorconfig and replace spaces with tabs 2023-05-19 04:13:16 +00:00
Jussi Nummelin
7d9a280a67 Add support for write_files instructions 2023-05-18 13:31:11 +00:00
Natanael Copa
b63ffb71d0 Refactor imds tests and add tests for azure, gcp and oci 2023-05-18 13:25:27 +00:00
Natanael Copa
0f40c146f2 Refactor aws tests' fake meta-data
Refactor fake wget to use a yaml so we can set aws fake meta-data
similar to how we set nocloud fake meta-data.

Also move fake netcat to tests/bin/nc so its always there and we don't
need to remember to call fake_netcat when needed.
2023-05-17 17:40:43 +00:00
Natanael Copa
a90bf444d3 Unhide imds error messages
imds drivers may print error messages to stderr. Do not hide those.
2023-05-17 14:36:09 +02:00
Natanael Copa
c4d2592e41 Do not show missing user error if there is no ssh-key provided
fixes https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud/-/issues/41
2023-05-16 20:52:13 +00:00