From 5ff8c9af5be321769530f0a8b0c6d464b2c631d8 Mon Sep 17 00:00:00 2001 From: Ee Durbin Date: Thu, 1 May 2025 07:21:08 -0400 Subject: [PATCH 1/2] run planet from dockerized containers, unblock dist upgrade --- pillar/base/planet.sls | 10 +++++++++- salt/planet/config/run-planet.sh.jinja | 9 +++++++-- salt/planet/init.sls | 12 +++++++++++- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/pillar/base/planet.sls b/pillar/base/planet.sls index 6d3aeeed..b5003ccb 100644 --- a/pillar/base/planet.sls +++ b/pillar/base/planet.sls @@ -3,5 +3,13 @@ planet: - planetpython.org - www.planetpython.org sites: - planetpython.org: + planetpython: + cache: /srv/cache/ + output: /srv/planetpython.org/ + image: ghcr.io/python/planetpython:latest + config: config.ini + planetpython-3: + cache: /srv/cache3/ + output: /srv/planetpython.org/3/ + image: ghcr.io/python/planetpython-3:latest config: config.ini diff --git a/salt/planet/config/run-planet.sh.jinja b/salt/planet/config/run-planet.sh.jinja index 74d6c36e..c49f407c 100644 --- a/salt/planet/config/run-planet.sh.jinja +++ b/salt/planet/config/run-planet.sh.jinja @@ -1,5 +1,10 @@ cd /srv/planet/ git pull -{% for site in salt["pillar.get"]("planet", {}).get("sites").values() %} -$(which python2.7) /srv/planet/code/planet.py /srv/planet/config/{{ site["config"] }} +{% for site, site_config in salt["pillar.get"]("planet", {}).get("sites").items() %} +docker run --rm -it \ + -v {{ site_config["cache"] }}:/srv/cache/ \ + -v {{ site_config["output"] }}:/srv/planetpython.org/ \ + -v /srv/planet/config/{{ site_config["config"] }}:/planet/config/config.ini \ + {{ site_config["image"] }} \ + python /planet/code/planet.py /planet/config/config.ini {% endfor %} diff --git a/salt/planet/init.sls b/salt/planet/init.sls index ae45669d..92e014e5 100644 --- a/salt/planet/init.sls +++ b/salt/planet/init.sls @@ -4,10 +4,20 @@ include: git: pkg.installed +docker.io: + pkg.installed +docker: + service.running: + - enable: True + planet-user: user.present: - name: planet - createhome: False + - groups: + - docker + - require: + - pkg: docker.io /etc/nginx/sites.d/planet.conf: file.managed: @@ -40,7 +50,7 @@ planet-user: https://github.com/python/planet: git.latest: - - branch: py2 + - branch: main - target: /srv/planet/ - user: planet - require: From 7fd13b05b3f29be9e40387f80c7425f734f1f40c Mon Sep 17 00:00:00 2001 From: Ee Durbin Date: Thu, 1 May 2025 07:43:10 -0400 Subject: [PATCH 2/2] configure site caches/outputs separately --- salt/planet/init.sls | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/salt/planet/init.sls b/salt/planet/init.sls index 92e014e5..d0f0a37d 100644 --- a/salt/planet/init.sls +++ b/salt/planet/init.sls @@ -58,12 +58,6 @@ https://github.com/python/planet: - pkg: git - file: /srv/planet/ -/srv/cache/: - file.directory: - - user: planet - - group: planet - - mode: "0770" - /srv/run-planet.sh: file.managed: - source: salt://planet/config/run-planet.sh.jinja @@ -77,18 +71,23 @@ https://github.com/python/planet: - minute: 37 - hour: 1,4,7,10,13,16,19,21 -{% for site in salt["pillar.get"]("planet", {}).get("sites", []) %} -/srv/{{ site }}/: +{% for site, site_config in salt["pillar.get"]("planet", {}).get("sites", {}).items() %} +{{ site_config["cache"] }}: + file.directory: + - user: planet + - group: planet + - mode: "0755" +{{ site_config["output"] }}: file.directory: - user: planet - group: planet - mode: "0755" -/srv/{{ site }}/static: +{{ site_config["output"] }}/static: file.symlink: - target: /srv/planet/static - user: planet - group: planet - mode: "0644" - require: - - file: /srv/{{ site }}/ + - file: {{ site_config["output"] }} {% endfor %}