Files
komodo/scripts/readme.md
Maxwell Becker 00968b6ea1 1.16.12 (#209)
* inc version

* Komodo interp in ui compose file

* fix auto update when image doesn't specify tag by defaulting to latest

* Pull image buttons don't need safety dialog

* WIP crosscompile

* rename

* entrypoint

* fix copy

* remove example/* from workspace

* add targets

* multiarch pkg config

* use specific COPY

* update deps

* multiarch build command

* pre compile deps

* cross compile

* enable-linger

* remove spammed log when server doesn't have docker

* add multiarch.Dockerfile

* fix casing

* fix tag

* try not let COPY fail

* try

* ARG TARGETPLATFORM

* use /app for consistency

* try

* delete cross-compile approach

* add multiarch core build

* multiarch Deno

* single arch multi arch

* typeshare cli note

* new typeshare

* remove note about aarch64 image

* test configs

* fix config file headers

* binaries dockerfile

* update cargo build

* docs

* simple

* just simple

* use -p

* add configurable binaries tag

* add multi-arch

* allow copy to fail

* fix binary paths

* frontend Dockerfiel

* use dedicated static frontend build

* auto retry getting instance state from aws

* retry 5 times

* cleanup

* simplify binary build

* try alpine and musl

* install alpine deps

* back to debian, try rustls

* move fully to rustls

* single arch builds using single binary image

* default IMAGE_TAG

* cleanup

* try caching deps

* single arch add frontend build

* rustls::crypto::ring::default_provider()

* back to simple

* comment dockerfile

* add select options prop, render checkboxes if present

* add allowSelectedIf to enable / disable rows where necessary

* rename allowSelectIf to isSelectable, allow false as global disable, disable checkboxes when not allowed

* rename isSelectable to disableRow (it works the oppsite way lol)

* selected resources hook, start deployment batch execute component

* add deployment group actions

* add deployment group actions

* add default (empty) group actions for other resources

* fix checkbox header styles

* explicitly check if disableRow is passed (this prop is cursed)

* don't disable row selection for deployments table

* don't need id for groupactions

* add group actions to resources page

* fix row checkbox (prop not cursed, i dumb)

* re-implement group action list using dropdown menu

* only make group actions clickable when at least one row selected

* add loading indicator

* gap betwen new resource and group actions

* refactor group actions

* remove "Batch" from action labels

* add group actions for relevant resources

* fix hardcode

* add selectOptions to relevant tables

* select by name not id

* expect selected to be names

* add note re selection state init for future reference

* multi select working nicely for all resources

* configure server health check timeout

* config message

* refresh processes remove dead processes

* simplify the build args

* default timeout seconds 3

---------

Co-authored-by: kv <karamvir.singh98@gmail.com>
2024-12-01 23:34:07 -08:00

2.7 KiB

Periphery setup script

These scripts will set up Komodo Periphery on your hosts, managed by systemd.

Note. This script can be run multiple times without issue, and it won't change existing config after the first run. Just run it again after a Komodo version release, and it will update the periphery version.

Note. The script can usually detect aarch64 system and use the periphery-aarch64 binary.

There's two ways to install periphery: System and User

System (requires root)

Note. Run this after switching to root user (eg sudo su -).

curl -sSL https://raw.githubusercontent.com/mbecker20/komodo/main/scripts/setup-periphery.py | python3

Will install to paths:

  • periphery (binary) -> /usr/local/bin/periphery
  • periphery.service -> /etc/systemd/system/periphery.service
  • periphery.config.toml -> /etc/komodo/periphery.config.toml

User

Note. The user running periphery must be a member of the docker group, in order to use the docker cli without sudo.

curl -sSL https://raw.githubusercontent.com/mbecker20/komodo/main/scripts/setup-periphery.py | python3 - --user

Will install to paths:

  • periphery (binary) -> $HOME/.local/bin
  • periphery.service -> $HOME/.config/systemd/user/periphery.service
  • periphery.config.toml -> $HOME/.config/komodo/periphery.config.toml

Note. Ensure the user running periphery has write permissions to the configured folders repo_dir, stack_dir, and ssl_key_file / ssl_cert_file parent folder. This allows periphery to clone repos, write compose files, and generate ssl certs.

Note. To ensure periphery stays running when your user logs out, use sudo loginctl enable-linger $USER.

For example in periphery.config.toml, running under ubuntu user:

repo_dir = "/home/ubuntu/.komodo/repos"
stack_dir = "/home/ubuntu/.komodo/stacks"

ssl_enabled = true
ssl_key_file = "/home/ubuntu/.komodo/ssl/key.pem"
ssl_cert_file = "/home/ubuntu/.komodo/ssl/cert.pem"

For additional information on configuring the systemd service, see the systemd service file documentation here: https://www.freedesktop.org/software/systemd/man/latest/systemd.service.html.

Force Service File Recreation

Usually the installer will only create the systemd service files (periphery.service) if one doesn't already exist. This means the user is free to customize it to fit their needs, such as changing the User= running the binary.

You can change this behavior by passing --force-service-file, which will restore the service file to the current default.

Example:

curl -sSL https://raw.githubusercontent.com/mbecker20/komodo/main/scripts/setup-periphery.py | python3 - --force-service-file