add string returns for metrics and properties

This commit is contained in:
2026-03-16 09:17:44 -07:00
parent adb1387693
commit 61421305ed
16 changed files with 524 additions and 390 deletions

View File

@ -1,5 +1,5 @@
---
# package handler
- name: Cosmostat - Init - Get installed package list
when: dpkg_output is undefined
shell: "dpkg --list | grep ii | awk '{print $2}'"
@ -46,7 +46,7 @@
mode: '0755'
# create user service folder
- name: Cosmostat - Init - create cosmostat service folder
- name: Cosmostat - Init - create cosmostat user service folder
file:
path: "{{ user_service_folder }}"
state: directory
@ -85,6 +85,7 @@
# create node.js docker container for web dashboard
- name: node.js server container handler
when: false
block:
- name: Cosmostat - Init - node.js - copy server files
@ -96,13 +97,16 @@
group: "{{ service_user }}"
- name: Cosmostat - Init - node.js - build docker container
community.docker.docker_image_build:
community.docker.docker_image:
name: ws_node
tag: latest
rebuild: always
path: "{{ service_control_web_folder }}/node_server"
dockerfile: Dockerfile
labels:
ws_node: "true"
source: local
build:
path: "{{ service_control_web_folder }}/node_server"
dockerfile: Dockerfile
force_tag: true
state: present
force_source: true
...

View File

@ -1,17 +1,21 @@
---
# initializa environment
# set up API
# set up web stack
- name: Initialize Environment
when: not quick_refresh | bool
include_tasks: init.yaml
# set up API
- name: Build API
include_tasks: api.yaml
# set up web stack
- name: Build Web Dashboard
include_tasks: web.yaml
#- name: Purge Old Containers
# when: not quick_refresh | bool
# include_tasks: purge.yaml
...

34
tasks/purge.yaml Normal file
View File

@ -0,0 +1,34 @@
- name: Cosmostat - Clean up old ws_node image tags
block:
# Grab a list of all tags the image has
- name: Get all ws_node image tags
command: |
docker images --format "{{.Repository}}:{{.Tag}}" \
--filter=reference="ws_node:*"
register: all_tags_raw
changed_when: false
# Turn that raw string into a list of just the tag names
- name: Parse tag names out of the list
set_fact:
all_tags: >-
{{ all_tags_raw.stdout_lines |
map('regex_replace', '^ws_node:', '') |
list }}
# Keep everything *except* the one that ends with “:latest”
- name: Build list of tags that should be removed
set_fact:
tags_to_remove: "{{ all_tags | difference(['latest']) }}"
# Remove each old tag
- name: Delete old ws_node image tags
community.docker.docker_image:
name: ws_node
tag: "{{ item }}"
state: absent
loop: "{{ tags_to_remove }}"
when: tags_to_remove | length > 0
when: tags_to_remove | length > 0
tags:
- cleanup

View File

@ -12,53 +12,25 @@
owner: "{{ service_user }}"
group: "{{ service_user }}"
- name: Cosmostat - Init - copy dashboard web files
- name: Cosmostat - Web - copy docker files
copy:
src: "web/html"
dest: "{{ service_control_web_folder }}/"
src: "web/"
dest: "{{ service_control_web_folder }}"
mode: 0755
owner: "{{ service_user }}"
group: "{{ service_user }}"
# These are not needed unless there is a stack
#- name: Cosmostat - Web - copy files for history dashboard
# copy:
# src: "dashboard/"
# dest: "{{ service_control_web_folder }}/html"
# mode: 0755
# owner: "{{ service_user }}"
# group: "{{ service_user }}"
- name: Cosmostat - Web - template docker-compose.yaml
template:
src: docker-compose-php.yaml
dest: "{{ service_control_web_folder }}/docker-compose.yaml"
mode: 0644
- name: Cosmostat - Web - copy files for proxy container
copy:
src: "proxy/"
dest: "{{ service_control_web_folder }}/proxy"
mode: 0755
owner: "{{ service_user }}"
group: "{{ service_user }}"
- name: docker container handler
block:
- name: Cosmostat - Web - template docker-compose.yaml
template:
src: docker-compose-php.yaml
dest: "{{ service_control_web_folder }}/docker-compose.yaml"
mode: 0644
- name: Cosmostat - Web - Start containers
shell: "docker-compose -f {{ service_control_web_folder }}/docker-compose.yaml up -d"
register: docker_output
- debug: |
msg="{{ docker_output.stdout_lines }}"
- name: Cosmostat - Web - Start containers
shell: "docker-compose -f {{ service_control_web_folder }}/docker-compose.yaml up -d"
register: docker_output
- debug: |
msg="{{ docker_output.stdout_lines }}"
msg="{{ docker_output.stderr_lines }}"
- name: Cosmostat - Web - Prune old containers
community.docker.docker_prune:
containers: true
containers_filters:
label:
ws_node: "true"
...