#include <tunables/global>

profile 3dprinter-octoprint flags=(attach_disconnected,mediate_deleted) {
  #include <abstractions/base>
  
  # Capabilities
  file,
  signal (send) set=(kill,term,int,hup,cont),
  
  # S6-Overlay
  /init ix,
  /bin/** ix,
  /usr/bin/** ix,
  /run/{s6,s6-rc*,service}/** ix,
  /package/** ix,
  /command/** ix,
  /etc/services.d/** rwix,
  /etc/cont-init.d/** rwix,
  /etc/cont-finish.d/** rwix,
  /run/{,**} rwk,
  /dev/tty rw,
  
  # Bashio
  /usr/lib/bashio/** ix,
  /tmp/** rwk,
  
  # Access to options.json and other files within your addon
  /data/** rw,
  
  # Start new profile for service
  /usr/bin/caddy cx -> caddy,
  
  profile caddy flags=(attach_disconnected,mediate_deleted) {
    #include <abstractions/base>

    # Receive signals from S6-Overlay
    signal (receive) peer=*_3dprinter-octoprint,

    capability dac_override,

    owner /usr/bin/caddy rm,
    @{HOME}/.step/ w,
    @{PROC}/*/cpuset r,
    @{PROC}/sys/net/** r,

    /etc/** r,
    owner /etc/caddy/ kwr,
    owner /etc/caddy/** kwrml,

    /var/log/caddy/ r,
    owner /var/log/caddy/ kwr,
    owner /var/log/caddy/** kwrml,
    
    owner /data/config/caddy/ kwr,
    owner /data/config/caddy/** kwrml,
  }
}