From 1ea16dc7b3136ba544dc2c0cc07c1270a535155e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jake=20Buchholz=20G=C3=B6kt=C3=BCrk?= Date: Mon, 4 Nov 2024 17:47:30 +0000 Subject: [PATCH] Update/Tweak Docs --- CHANGELOG.md | 13 ++++++++++++- LICENSE.txt | 2 +- README.md | 14 +++++++------- TODO.md | 4 ++++ 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fa0020f..182ba2c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,20 +1,31 @@ # CHANGELOG -## 2024-10-XX - Tiny Cloud v3.0.8 +## 2024-11-04 - Tiny Cloud v3.0.8 * Officially add Makefile targets and flesh out tests for newer cloud modules: `hetzner` (@hmrodrigues), `incus` (@ncopa), and `scaleway` (@hmrodrigues). + +* `cloud-config` user-data handler has been fleshed out with a ***subset*** of + functionality, allowing the use of some common `#cloud-config` user-data + configuration. + +* `alpine-config` user-data handler has been reimplemented as an extension of + `cloud-config`, adding management of APK repositories and Alpine autoinstall. + * Remove deprecated hotplug modules. `nvme-ebs-symlinks` has been deprecated since v3.0.0, and `imds-net-sync` hasn't been supported for AWS since tiny-cloud-network-2.2.2-r0 in Alpine Linux 3.17. + * Remove code related to the installation/testing of hotplug modules. ## 2023-09-25 - Tiny Cloud v3.0.2 * Replace non-functioning `tiny-cloud --setup` with working `--enable` and `--disable` to enable/disable the set of Tiny Cloud init scripts. + * Reload user-data if bootstrap is incomplete, even if previous user-data file exists. + * Init actions that fail should cause `tiny-cloud` to also terminate with an error. diff --git a/LICENSE.txt b/LICENSE.txt index 125c528..a6ade21 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,4 +1,4 @@ -Copyright (c) 2017-2023 Jake Buchholz Göktürk, Michael Crute +Copyright (c) 2017-2024 Jake Buchholz Göktürk, Michael Crute Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/README.md b/README.md index fa28943..efbcf7c 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ works with multiple cloud providers. Currently, the following are supported: * [Incus](https://linuxcontainers.org/incus) - Incus Containers and Virtual Machines * [NoCloud]( https://cloudinit.readthedocs.io/en/latest/reference/datasources/nocloud.html - ) - cloud-init's NoCloud AWS-compatible user provided data source + ) - cloud-init's NoCloud provider (AWS-compatible metadata) * [OCI](https://cloud.oracle.com) - Oracle Cloud Infrastructure [Scaleway](https://www.scaleway.com) - Scaleway Cloud @@ -37,7 +37,7 @@ instance: runlevel * mark the bootstrap of the instance as "complete" -Other cloud- and user-data-specific actions may also occur. +Other cloud specific and user-data handler specific actions may also occur. Also included is a handy `imds` client script for easy access to an instance's IMDS data. @@ -84,7 +84,7 @@ That's it! On the next boot, Tiny Cloud will bootstrap the instance. ## Configuration By default, Tiny Cloud expects configuration at `/etc/tiny-cloud.conf`, -The stock [lib/tiny-cloud/tiny-cloud.conf`](lib/tiny-cloud/tiny-cloud.conf) +The stock [`lib/tiny-cloud/tiny-cloud.conf`](lib/tiny-cloud/tiny-cloud.conf) file contains details of all tuneable settings. _Because Tiny Cloud does not universally do auto-detection, you may need to set @@ -103,9 +103,9 @@ instance in four phases... ### Boot Phase This phase does not depend on the cloud provider's Instance Meta-Data Service -(IMDS), and does not require networking to be up. `mdev` hotplug modules are -installed (if any), default networking confinguration is set up, `sshd` is -enabled (but not started), and the root partition is expanded. +(IMDS), and does not require networking to be up. Default networking +confinguration is set up, `sshd` is enabled (but not started), and the root +partition is expanded. ### Early Phase @@ -133,7 +133,7 @@ phase. The very last thing to be run in the **default** runlevel this phase will execute the saved User-Data, if it is a script starting with `#!`; its output -(combined STDOUT and STDER) and exit code are saved to `/var/log/user-data.log` +(combined STDOUT and STDERR) and exit code are saved to `/var/log/user-data.log` and `/var/log/user-data.exit`. Additional final phase actions may be taken if there is a User-Data handler diff --git a/TODO.md b/TODO.md index 40a642f..ecd547e 100644 --- a/TODO.md +++ b/TODO.md @@ -2,8 +2,12 @@ ## SOON-ish +* Move things around a little for the "/usr merge" project. + * Support cloud auto-detection, where it's possible to do so. +* Test improvements - each user-data handler should be tested with each cloud. + ## FUTURE * Support additional features of `#cloud-config` as needed