Jake Buchholz Göktürk
d83df2f036
fix Makefile
2023-05-13 15:52:46 -07:00
Jake Buchholz Göktürk
50a1dae26c
* save_userdata_compressed test is getting tripped up by a notice on stderr that userdata already exists
2023-05-13 14:53:41 -07:00
Jake Buchholz Göktürk
35e076dc3d
* moar fixens?
2023-05-13 14:50:40 -07:00
Jake Buchholz Göktürk
ede58b13d1
* more test fixen?
2023-05-13 14:40:03 -07:00
Jake Buchholz Göktürk
6a95f31309
* fix log() handling of -i output
2023-05-13 14:29:38 -07:00
Jake Buchholz Göktürk
6b87f633f2
* fix tests?
2023-05-13 14:12:00 -07:00
Jake Buchholz Göktürk
9a00dd686d
Install UserData Handlers
...
Also attempt to tweak some logging... Probably some more refinement with that.
2023-05-13 13:50:07 -07:00
Jake Buchholz Göktürk
13b0eef9fe
Add "net" phase to tiny-cloud --setup
3.0.0_rc4
3.0.0_rc3
2023-05-10 19:24:31 +00:00
Jake Buchholz Göktürk
fa3125f0a5
Fix OpenRC Dependencies
2023-05-10 18:16:14 +00:00
Natanael Copa
b03030182f
Add cloud provider "alpine" and user-data "alpine-conf"
3.0.0_rc2
2023-05-09 14:15:31 +00:00
Jake Buchholz Göktürk
17d0b3d07b
stderr output for set_ssh_keys failure
2023-05-09 04:16:15 +00:00
Jake Buchholz Göktürk
229fc70b42
add STDERR output for problems with set_hostname
2023-05-09 04:13:21 +00:00
Natanael Copa
de66c6049e
Handle error when setting ssh key
...
Avoid create a /.ssh dir if user does not exist.
2023-05-08 22:31:58 +02:00
Natanael Copa
7be3b198fb
Avoid set empty hostname
...
Avaoid situation where we end up with an empty /etc/hostname.
2023-05-08 22:31:58 +02:00
Natanael Copa
468407db05
Add test for empty or no config
...
for all providers
2023-05-08 22:31:58 +02:00
Natanael Copa
f46b6b24d8
tests: unify fake_metadata_nocloud and fake_userdata_nocloud
...
Avoid duplication of code.
No changes in behavior
2023-05-08 16:54:52 +02:00
Natanael Copa
0500f71837
Don't print error on missing /proc/mounts
...
This is useful for testing
2023-05-08 13:48:29 +02:00
Natanael Copa
dd7cb23515
Make it posible to override the init actions
...
This makes it easier to run parts of the actions when running tests.
2023-05-08 13:45:58 +02:00
Natanael Copa
d1ed0c29e3
Make init__create_default_user return success
...
We should return success even if /etc/doas.d is missing
fixes https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud/-/issues/38
2023-05-08 12:19:11 +02:00
Jake Buchholz Göktürk
4ccc16f18f
Enable sshd & Source UserData Handler
2023-05-08 04:41:41 +00:00
Jake Buchholz Göktürk
4f9386bb94
Add "create_default_user" Init Action
2023-05-08 02:37:54 +00:00
Jake Buchholz Göktürk
ec139644a1
Set Default interfaces
2023-05-07 23:49:50 +00:00
Natanael Copa
a7600fb5ff
Only try to expand root which is ext4
...
Root filesystem may be tmpfs or something else, in which case we should
not call resize2fs.
2023-05-05 03:41:55 +00:00
Natanael Copa
02c0c31703
tiny-cloud: Print usage on invalid option and add test
...
Add test that verifies invalid option and `tiny-cloud --help`
2023-05-04 11:50:22 +02:00
Jake Buchholz Göktürk
7ad4565a04
update changelog
3.0.0_rc1
2023-05-02 19:16:17 -07:00
Jake Buchholz Göktürk
58ac2108cd
Fixes for tiny-cloud Wrapper
...
* switch from phase functions to variables containing list of actions
* init actions prefixed with 'init__'
* refine output during init
* add syslog entries
* add --setup for putting init scripts in the right runlevel
2023-05-03 02:11:01 +00:00
Jake Buchholz Göktürk
3894cd9f8d
Support "local-hostname"
3.0.0_rc0
2023-04-30 23:23:54 +00:00
Jake Buchholz Göktürk
fb2d658d93
Move cloud libs deeper.
2023-04-30 14:55:51 -07:00
Jake Buchholz Göktürk
81869cefcc
Consolidate init functionality in /sbin/tiny-cloud
2023-04-30 03:37:11 +00:00
Jake Buchholz Göktürk
762fe36bb8
Move OpenRC Init Scripts
2023-04-29 14:14:20 -07:00
Jake Buchholz Göktürk
83e8677481
Move Tiny Cloud configs into /etc
2023-04-29 20:54:45 +00:00
Jake Buchholz Göktürk
cdae70909c
document the deprecation of ebs-nvme-symlinks
2023-04-29 20:30:43 +00:00
Natanael Copa
43bedda17f
Adjust when tiny-cloud-early should start
2023-04-14 21:21:07 +00:00
Natanael Copa
fa01b4ea9a
tests: add tests for init-final
2023-04-06 22:27:42 +02:00
Natanael Copa
e51051c7ca
tests: refactor fake userdata for nocloud
...
- move it so it can be shared
- remove mentions of #cloud-config to avoid confusion
2023-04-06 22:07:58 +02:00
Natanael Copa
7ea8f69a06
Fix user-data decompression on all shells
...
yash[1] and zsh does not handle 8-bit bytes in strings good. Work around it
by using printf ... | cmp ... to compare the header. This should be 100%
posix compatible.
Also fix some of the compression header magic bytes:
- unxz: Use octal aas the string '\3757zXZ\000' was misinterpreted by some
shells.
- lzma: the third byte represents compression mode[2], and we want
support all compression modes not only '8', so we only check the first
three bytes instead of 4.
[1]: Upstream report: https://osdn.net/projects/yash/ticket/47772
[2]: https://github.com/frizb/FirmwareReverseEngineering/blob/master/IdentifyingCompressionAlgorithms.md#lzma
2023-04-06 17:19:40 +02:00
Natanael Copa
bbb0c19ae6
Fix detection of lz4 header magic number
2023-04-06 17:19:40 +02:00
Natanael Copa
ab46d7223f
tests: add test for save_userdata
...
Test that compressed user-data gets properly detected
2023-04-06 17:19:40 +02:00
Natanael Copa
12bc6af2ce
Fix quoting when reading subshells
...
This is needed for yash.
2023-04-06 17:19:40 +02:00
Natanael Copa
a67cbd37b0
Add test for ssh-keys in nocloud yaml
2023-04-06 17:19:40 +02:00
Natanael Copa
0f53f14399
tests: add initial tests for init-main
2023-04-06 17:19:36 +02:00
Jake Buchholz Göktürk
fda9a350a1
imds-net-sync should only work with secondary ipv4s on an interface
2.2.2
2023-03-24 16:41:37 -07:00
Jake Buchholz Göktürk
ed67197e7b
restore "source /lib/tiny-cloud/common" in imds-net-sync
2.2.1
2023-03-23 19:14:43 +00:00
Jake Buchholz Göktürk
520b72b8d6
Fix imds-net-sync with multiple interfaces
...
* all IPv4s of non-eth0 interfaces should be associated with route table
* also add "to" rules for non-eth0 interfaces (symmetry with the "from" rules)
2.2.0
2023-03-23 10:33:52 -07:00
Natanael Copa
33257650c8
Fix function detecion
...
Different shells has slightly different output of `type`:
$ yash -c "f(){ :; }; type f"
f: a function
$ dash -c "f(){ :; }; type f"
f is a shell function
$ zsh -c "f(){ :; }; type f"
f is a shell function from zsh
Lets only look for the word "function" which seems to be the only common
thing.
2023-03-09 17:18:48 +01:00
Natanael Copa
e9b4350617
Fix source of cloud-specific mdev functions
...
We need to source it with '.'
fixes commit c335944911d6 (Add kyua testsuite and make code more portable)
2023-03-09 13:01:36 +01:00
Natanael Copa
c055e974f0
init-early: use posix printf instead of echo -n
2023-03-09 11:47:34 +01:00
Natanael Copa
38cbdee6a2
Return failure if any of install_modules fails
...
Add test to verify that install_modules can be skipped and that
install_modules returns failure if it fails to update mdev.conf.
2023-03-09 11:47:34 +01:00
Natanael Copa
4ba3ce17bc
Refactor skip_action
...
micro optimization. No forks used
readability improved by avoiding regex.
2023-03-09 11:47:34 +01:00
Natanael Copa
091af053c5
Use printf for skip_action
...
printf is posix compatible and works with all shell. echo -n does not
work with yash and is not posix compatible.
Add test for skipping expand_root
2023-03-09 11:47:34 +01:00