#!/bin/bash

terminate() {
  printf "\n===========================================================================
 - Containers running......: (Waiting for first update)\n" > $STATUSFILE
 exit 0
}

trap "terminate" 15


STATUSFILE=/var/local/podman-status
STATUSFILE_TMP=/tmp/podman-status

echo "Starting podman status generator..." | systemd-cat -t podman-status
echo "Waiting 60 seconds before acquiring status"
sleep 60

while true; do
  #printf "" > $STATUSFILE_TMP
  PODMAN_CONTAINERS=($(podman ps -q))
  PODMAN_N_RUNNING=${#PODMAN_CONTAINERS[@]}
  UPDATED_DATE=$(date --date="Today 00:00" +%s)
  UPDATED=$(date +%s)

  echo "$UPDATED_DATE" > $STATUSFILE_TMP
  printf "===========================================================================
 - Containers running......: $PODMAN_N_RUNNING (updated WHEN at $(date +%H:%M:%S))\n" >> $STATUSFILE_TMP

	for c in ${PODMAN_CONTAINERS[@]}; do
		C_NAME=$(podman ps --filter "id=$c" --format "{{.Names}}")
		[[ "$(echo $C_NAME | grep -q infra)" == 0 ]]
		C_UP=$(podman ps --filter "id=$c" --format "{{.RunningFor}}")
		C_STATUS=$(podman ps --filter "id=$c" --format "{{.Status}}")
		C_PORTS=$(podman ps --filter "id=$c" --format "{{.Ports}}")
		printf "\r\   - .....................: Created $C_UP, $C_STATUS\r   - $C_NAME\n" >> $STATUSFILE_TMP
	done
  #printf "===========================================================================\n" >> $STATUSFILE_TMP
  cat $STATUSFILE_TMP > $STATUSFILE
  rm -f $STATUSFILE_TMP
  #echo "Updated podman status @$(date)" | systemd-cat -t podman-status
  
	sleep 60

done