1
0
mirror of https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud.git synced 2025-12-15 11:22:43 +03:00
tiny-cloud/user-data-modules.md
2025-06-24 12:29:36 +00:00

2.1 KiB

Modules That Tiny-Cloud Supports

The user-data file is used to configure Alpine linux state at the boot time. It supports a variety of modules that can be used to install packages, configure users and groups, and more. Tiny-cloud supports following modules:

apk:
  cache: # path to apk cache where /etc/apk/cache link follows
  repositories: # <map> defines resulted url https://dl-cdn.alpinelinux.org/alpine/edge/community
    - base_url: # The base usr of the repository ( https://dl-cdn.alpinelinux.org/alpine )
      version: # (optional) examples: [ 3.16 | 3.21 | edge ]  if not set will be retrieved from the system
      repos: # <list>
        - community

user: # <map> Sets default user
  name: # <string>

users: # <list>
  # first one become default user
  - name:
    homedir:
    shell:
    primary_group:
    gecos: # description for the user
    system: # [ true | false ] create a system user
    no_create_home: # [ true | false ] do not create home directory for the user. Default: false
    lock_passwd: # reset password of the user
    ssh_authorized_keys: # <list>
    groups: # <list>
      - wheel
      - power
    doas: # content of the /etc/doas.d/<name> doas file

ssh_authorized_keys: # public key to be authorized as default user

write_files: # <list> Writes content of the file to the system. Can be used to define configuration files.
  - path: # destination path of the file (required)
    permissions: # file mode (default 0644)
    owner: # owner:group of the file (default root:root)
    encoding: # provided endoding of the file [gzip|gz|gz+base64|gzip+base64|gz+b64|gzip+b64|base64|b64|text/plain] (default text/plain)
    append: # if "true", then content will be added to the end of the file
    content: | # (required)
      here is multiline
      content of your file

ntp:
  enabled: # checks for [ yes | true ]. Otherwise do not enables ntp service
  ntp_client: # [ ntpd | chrony | openntpd ] (default: chrony)

package_update: # if "true" runs `apk update`

package_upgrade: # if "true" runs `apk upgrade`

packages: # <list>
  - curl
  - bash

groups: # <list>
  - wheel
  - admin