roman-snpit-snappl 0.15.0__tar.gz → 0.17.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of roman-snpit-snappl might be problematic. Click here for more details.
- roman_snpit_snappl-0.17.0/.github/workflows/run_snappl_tests.yml +77 -0
- {roman_snpit_snappl-0.15.0/roman_snpit_snappl.egg-info → roman_snpit_snappl-0.17.0}/PKG-INFO +8 -3
- roman_snpit_snappl-0.17.0/changes/81.snappl.rst +1 -0
- roman_snpit_snappl-0.17.0/changes/83.snappl.rst +1 -0
- roman_snpit_snappl-0.17.0/changes/84.feature.rst +3 -0
- roman_snpit_snappl-0.17.0/changes/85.feature.rst +2 -0
- roman_snpit_snappl-0.17.0/docker/postgres/Dockerfile +122 -0
- roman_snpit_snappl-0.17.0/docker/postgres/postgresql.conf +827 -0
- roman_snpit_snappl-0.17.0/docker/postgres/run_postgres.sh +19 -0
- roman_snpit_snappl-0.17.0/docker/webserver/Dockerfile +161 -0
- roman_snpit_snappl-0.17.0/docker/webserver/cert.pem +21 -0
- roman_snpit_snappl-0.17.0/docker/webserver/config-test.yaml +27 -0
- roman_snpit_snappl-0.17.0/docker/webserver/key.pem +28 -0
- roman_snpit_snappl-0.17.0/docker/webserver/roman-snpit-server.py +13 -0
- roman_snpit_snappl-0.17.0/docs/_static/logo_black_filled.png +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/pyproject.toml +15 -3
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0/roman_snpit_snappl.egg-info}/PKG-INFO +8 -3
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/roman_snpit_snappl.egg-info/SOURCES.txt +34 -1
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/roman_snpit_snappl.egg-info/requires.txt +6 -1
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/snappl/_version.py +3 -3
- roman_snpit_snappl-0.17.0/snappl/admin/load_ou2024_l2images.py +141 -0
- roman_snpit_snappl-0.17.0/snappl/admin/load_snana_ou2024_diaobject.py +65 -0
- roman_snpit_snappl-0.17.0/snappl/config.py +1052 -0
- roman_snpit_snappl-0.17.0/snappl/db/baseview.py +88 -0
- roman_snpit_snappl-0.17.0/snappl/db/db.py +1065 -0
- roman_snpit_snappl-0.17.0/snappl/db/migrations/20251008_init.sql +294 -0
- roman_snpit_snappl-0.17.0/snappl/db/migrations/apply_migrations.py +90 -0
- roman_snpit_snappl-0.17.0/snappl/db/migrations/schema_to_rst.py +56 -0
- roman_snpit_snappl-0.17.0/snappl/db/migrations/scorched_earth.py +19 -0
- roman_snpit_snappl-0.17.0/snappl/db/migrations/wipe_all_data.py +26 -0
- roman_snpit_snappl-0.17.0/snappl/db/static/romansnpit.css +0 -0
- roman_snpit_snappl-0.17.0/snappl/db/static/romansnpit.js +0 -0
- roman_snpit_snappl-0.17.0/snappl/db/static/romansnpit_start.js +0 -0
- roman_snpit_snappl-0.17.0/snappl/db/templates/base.html +13 -0
- roman_snpit_snappl-0.17.0/snappl/db/templates/romansnpitdb.html +20 -0
- roman_snpit_snappl-0.17.0/snappl/db/webserver.py +431 -0
- roman_snpit_snappl-0.17.0/snappl/dbclient.py +92 -0
- roman_snpit_snappl-0.17.0/snappl/diaobject.py +616 -0
- roman_snpit_snappl-0.17.0/snappl/http.py +89 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/snappl/image.py +58 -32
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/snappl/image_simulator.py +61 -2
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/snappl/imagecollection.py +151 -11
- roman_snpit_snappl-0.17.0/snappl/logger.py +238 -0
- roman_snpit_snappl-0.17.0/snappl/provenance.py +327 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/snappl/psf.py +10 -11
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/snappl/sed.py +4 -4
- roman_snpit_snappl-0.17.0/snappl/utils.py +101 -0
- roman_snpit_snappl-0.15.0/.github/workflows/run_snappl_tests.yml +0 -69
- roman_snpit_snappl-0.15.0/docs/_static/logo_black_filled.png +0 -0
- roman_snpit_snappl-0.15.0/snappl/diaobject.py +0 -232
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/.cruft.json +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/.github/CODEOWNERS +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/.github/ISSUE_TEMPLATE/ISSUE_TEMPLATE.md +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/.github/ISSUE_TEMPLATE/PR_TEMPLATE.md +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/.github/dependabot.yml +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/.github/labeler.yml +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/.github/workflows/changelog.yml +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/.github/workflows/run_labeler.yml +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/.github/workflows/sphinx-deploy.yml +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/.github/workflows/sub_package_update.yml +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/.gitignore +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/.pre-commit-config.yaml +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/CHANGES.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/CITATION.cff +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/CODE_OF_CONDUCT.md +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/CONTRIBUTING.md +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/LICENSE +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/MANIFEST.in +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/README.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/.gitkeep +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/10.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/13.bugfix.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/14.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/15.feature.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/16.feature.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/18.feature.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/20.bugfix.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/23.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/26.feature.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/29.feature.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/3.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/31.feature.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/35.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/36.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/37.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/40.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/41.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/43.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/47.feature.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/49.docs.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/5.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/54.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/57.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/58.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/61.bugfix.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/62.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/63.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/65.bugfix.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/68.feature.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/72.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/73.feature.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/74.bugfix.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/79.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/8.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/82.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/changes/9.snappl.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/codespell-ignore.txt +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/docs/Makefile +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/docs/api.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/docs/changes.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/docs/conf.py +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/docs/index.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/docs/installation.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/docs/make.bat +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/docs/usage.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/experimentation/README.md +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/experimentation/ap_phot_simulated_images.py +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/experimentation/play_with_photutils.py +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/licenses/.DS_Store +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/licenses/LICENSE.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/licenses/README.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/licenses/TEMPLATE_LICENSE.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/roman_snpit_snappl.egg-info/dependency_links.txt +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/roman_snpit_snappl.egg-info/not-zip-safe +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/roman_snpit_snappl.egg-info/top_level.txt +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/setup.cfg +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/setup.py +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/snappl/__init__.py +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/snappl/_dev/__init__.py +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/snappl/_dev/scm_version.py +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/snappl/data/README.rst +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/snappl/wcs.py +0 -0
- {roman_snpit_snappl-0.15.0 → roman_snpit_snappl-0.17.0}/tox.ini +0 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
name: Run SNAPPL Tests
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
pull_request:
|
|
8
|
+
workflow_dispatch:
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
tests:
|
|
12
|
+
name: run snappl tests in docker container
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- name: Dump docker logs on failure
|
|
17
|
+
if: failure()
|
|
18
|
+
uses: jwalton/gh-docker-logs@v2
|
|
19
|
+
|
|
20
|
+
- name: checkout code
|
|
21
|
+
uses: actions/checkout@v5
|
|
22
|
+
with:
|
|
23
|
+
submodules: recursive
|
|
24
|
+
|
|
25
|
+
- name: run ruff
|
|
26
|
+
uses: astral-sh/ruff-action@v3
|
|
27
|
+
|
|
28
|
+
- name: checkout photometry test data
|
|
29
|
+
run: |
|
|
30
|
+
cd ..
|
|
31
|
+
git clone http://github.com/Roman-Supernova-PIT/photometry_test_data
|
|
32
|
+
|
|
33
|
+
- name: log into github container registry
|
|
34
|
+
uses: docker/login-action@v3
|
|
35
|
+
with:
|
|
36
|
+
registry: ghcr.io
|
|
37
|
+
username: ${{ github.actor }}
|
|
38
|
+
password: ${{ secrets.GITHUB_TOKEN }}
|
|
39
|
+
|
|
40
|
+
- name: cleanup
|
|
41
|
+
run: |
|
|
42
|
+
# try to save HDD space on the runner by removing some unneeded stuff (~8GB)
|
|
43
|
+
# ref: https://github.com/actions/runner-images/issues/2840#issuecomment-790492173
|
|
44
|
+
# (For some perverse reason, this step seems to take 1.5-2 minutes on github runners!
|
|
45
|
+
# For that reason, this is commented out, for now. Uncomment it if we run into trouble.)
|
|
46
|
+
df -h
|
|
47
|
+
# echo "------"
|
|
48
|
+
# sudo rm -rf /usr/share/dotnet
|
|
49
|
+
# sudo rm -rf /opt/ghc
|
|
50
|
+
# sudo rm -rf "/usr/local/share/boost"
|
|
51
|
+
# sudo rm -rf "$AGENT_TOOLSDIRECTORY"
|
|
52
|
+
# echo "------"
|
|
53
|
+
# df -h
|
|
54
|
+
|
|
55
|
+
- name: pull environment archive
|
|
56
|
+
run: |
|
|
57
|
+
cd ..
|
|
58
|
+
git clone https://github.com/Roman-Supernova-PIT/environment.git
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
- name: pull docker images
|
|
62
|
+
run: |
|
|
63
|
+
cd ../environment/test-docker-environment
|
|
64
|
+
docker compose pull mailhog postgres webserver shell
|
|
65
|
+
|
|
66
|
+
- name: run test
|
|
67
|
+
run: |
|
|
68
|
+
cd ..
|
|
69
|
+
ls
|
|
70
|
+
echo "--------"
|
|
71
|
+
ls snappl
|
|
72
|
+
echo "--------"
|
|
73
|
+
cd environment/test-docker-environment
|
|
74
|
+
docker compose up -d webserver shell
|
|
75
|
+
docker compose exec shell bash -c 'cd /home/snappl && pip install -e .[test]'
|
|
76
|
+
docker compose exec shell bash -c 'cd /home/snappl/snappl/tests && pytest -v'
|
|
77
|
+
docker compose down -v
|
{roman_snpit_snappl-0.15.0/roman_snpit_snappl.egg-info → roman_snpit_snappl-0.17.0}/PKG-INFO
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: roman_snpit_snappl
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 0.17.0
|
|
4
|
+
Summary: General, database, and photometry utilities for the Roman SNPIT
|
|
5
5
|
Author: Roman Supernova Project Infrastructure Team
|
|
6
6
|
Maintainer-email: Roman SN PIT <raknop@lbl.gov>
|
|
7
7
|
Project-URL: repository, https://github.com/Roman-Supernova-PIT
|
|
@@ -18,10 +18,14 @@ Requires-Dist: h5py<4.0.0,>=3.14.0
|
|
|
18
18
|
Requires-Dist: numpy<3.0.0,>=2.2.6
|
|
19
19
|
Requires-Dist: pandas<3.0.0,>=2.3.3
|
|
20
20
|
Requires-Dist: photutils<3.0.0,>=2.3.0
|
|
21
|
+
Requires-Dist: pycryptodome<4.0.0,>=3.23.0
|
|
22
|
+
Requires-Dist: python-dateutil<3.0.0,>=2.9.0.post0
|
|
23
|
+
Requires-Dist: pytz>=2025.2
|
|
21
24
|
Requires-Dist: pyyaml<7.0.0,>=6.0.3
|
|
25
|
+
Requires-Dist: rkwebutil<3.0.0,>=2.4.0
|
|
22
26
|
Requires-Dist: roman-datamodels<0.28.0,>=0.27.0
|
|
23
27
|
Requires-Dist: scipy<2.0.0,>=1.16.2
|
|
24
|
-
Requires-Dist:
|
|
28
|
+
Requires-Dist: simplejson<4.0.0,>=3.20.2
|
|
25
29
|
Provides-Extra: test
|
|
26
30
|
Requires-Dist: pytest; extra == "test"
|
|
27
31
|
Requires-Dist: pytest-doctestplus; extra == "test"
|
|
@@ -29,6 +33,7 @@ Requires-Dist: pytest-cov; extra == "test"
|
|
|
29
33
|
Requires-Dist: requests; extra == "test"
|
|
30
34
|
Requires-Dist: tox; extra == "test"
|
|
31
35
|
Requires-Dist: devpi_process; extra == "test"
|
|
36
|
+
Requires-Dist: psycopg<4.0.0,>=3.2.9; extra == "test"
|
|
32
37
|
Provides-Extra: docs
|
|
33
38
|
Requires-Dist: sphinx; extra == "docs"
|
|
34
39
|
Requires-Dist: sphinx-automodapi; extra == "docs"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Allowed for none paths and none data
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Added extremely basic static source sim to snappl.
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
#
|
|
2
|
+
# DOCKER_BUILDKIT=1 docker build --target postgres -t <image>:<label> .
|
|
3
|
+
#
|
|
4
|
+
# Rob, use:
|
|
5
|
+
# DOCKER_BUILDKIT=1 docker build --target postgres -t registry.nersc.gov/m4385/rknop/snpit-db-postgres:rknop-dev .
|
|
6
|
+
#
|
|
7
|
+
|
|
8
|
+
FROM debian:bookworm-20250630 AS base
|
|
9
|
+
LABEL maintainer="Rob Knop <raknop@lbl.gov>"
|
|
10
|
+
|
|
11
|
+
SHELL ["/bin/bash", "-c"]
|
|
12
|
+
|
|
13
|
+
RUN apt-get update \
|
|
14
|
+
&& DEBIAN_FRONTEND="nointeractive" apt-get -y upgrade \
|
|
15
|
+
&& DEBIAN_FRONTEND="noninteractive" TZ="UTC" apt-get -y install -y --no-install-recommends \
|
|
16
|
+
postgresql-15 postgresql-client-15 pgtop libssl3 libreadline8 zlib1g netcat-openbsd \
|
|
17
|
+
libzstd1 liblz4-1 \
|
|
18
|
+
tmux emacs-nox less procps \
|
|
19
|
+
&& apt-get clean \
|
|
20
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
21
|
+
|
|
22
|
+
RUN mkdir -p /var/lib/postgresql/data \
|
|
23
|
+
&& chmod 700 /var/lib/postgresql/data \
|
|
24
|
+
&& chown postgres:postgres /var/lib/postgresql/data
|
|
25
|
+
|
|
26
|
+
RUN cat /etc/locale.gen | perl -pe 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' > /etc/locale.gen.new \
|
|
27
|
+
&& mv /etc/locale.gen.new /etc/locale.gen
|
|
28
|
+
RUN locale-gen en_US.UTF-8
|
|
29
|
+
ENV LANG=en_US.UTF-8
|
|
30
|
+
ENV LANGUAGE=en_US:en
|
|
31
|
+
ENV LC_ALL=en_US.UTF-8
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
RUN echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/15/main/pg_hba.conf
|
|
35
|
+
COPY postgresql.conf /etc/postgresql/15/main/postgresql.conf
|
|
36
|
+
ENV POSTGRES_DATA_DIR=/var/lib/postgresql/data
|
|
37
|
+
|
|
38
|
+
ENV LESS=-XLRi
|
|
39
|
+
|
|
40
|
+
# ======================================================================
|
|
41
|
+
FROM base AS build
|
|
42
|
+
|
|
43
|
+
RUN mkdir /build
|
|
44
|
+
WORKDIR /build
|
|
45
|
+
|
|
46
|
+
RUN apt-get update \
|
|
47
|
+
&& DEBIAN_FRONTEND="noninteractive" TZ="UTC" apt-get -y install -y --no-install-recommends \
|
|
48
|
+
make git gcc libssl-dev libreadline-dev zlib1g-dev libzstd-dev liblz4-dev curl \
|
|
49
|
+
postgresql-server-dev-15 ca-certificates pkg-config
|
|
50
|
+
|
|
51
|
+
RUN git clone https://github.com/segasai/q3c.git
|
|
52
|
+
RUN cd q3c \
|
|
53
|
+
&& make \
|
|
54
|
+
&& make install
|
|
55
|
+
|
|
56
|
+
RUN curl -L https://github.com/ossc-db/pg_hint_plan/archive/refs/tags/REL15_1_5_1.tar.gz \
|
|
57
|
+
-o pg_hint_plan-REL15_1_5_1.tar.gz \
|
|
58
|
+
&& tar -xpf pg_hint_plan-REL15_1_5_1.tar.gz \
|
|
59
|
+
&& cd pg_hint_plan-REL15_1_5_1 \
|
|
60
|
+
&& make \
|
|
61
|
+
&& make install
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
# ENV CARGO_HOME=/opt/rust
|
|
65
|
+
# ENV RUSTUP_HOME=/opt/rust
|
|
66
|
+
# ENV PATH="${PATH}:/opt/rust/bin"
|
|
67
|
+
# RUN mkdir -p /opt/rust \
|
|
68
|
+
# && chown postgres -R /opt/rust
|
|
69
|
+
#
|
|
70
|
+
# ENV PG_PARQUET_VERSION=0.4.0
|
|
71
|
+
# ENV PGRX_VERSION=0.14.1
|
|
72
|
+
# RUN curl https://sh.rustup.rs -sSf | sh -s -- --no-modify-path --profile minimal --default-toolchain stable -y
|
|
73
|
+
# RUN cargo install --locked cargo-pgrx --version ${PGRX_VERSION}
|
|
74
|
+
# RUN cargo pgrx init --pg15 $(which pg_config)
|
|
75
|
+
#
|
|
76
|
+
# RUN mkdir -p ~/.pgrx/data-15 \
|
|
77
|
+
# && echo "shared_preload_libraries = 'pg_parquet'" >> ~/.pgrx/data-15/postgresql.conf
|
|
78
|
+
# RUN cd /opt/rust \
|
|
79
|
+
# && curl -LOJ https://github.com/CrunchyData/pg_parquet/archive/refs/tags/v${PG_PARQUET_VERSION}.tar.gz \
|
|
80
|
+
# && tar -xvzf pg_parquet-${PG_PARQUET_VERSION}.tar.gz \
|
|
81
|
+
# && cd pg_parquet-${PG_PARQUET_VERSION} \
|
|
82
|
+
# && cargo pgrx install --release
|
|
83
|
+
|
|
84
|
+
RUN chown postgres -R /usr/share/postgresql/ \
|
|
85
|
+
&& chown postgres -R /usr/lib/postgresql
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
# ======================================================================
|
|
89
|
+
FROM base AS postgres
|
|
90
|
+
|
|
91
|
+
COPY --from=build /usr/lib/postgresql/15/lib/q3c.so /usr/lib/postgresql/15/lib/q3c.so
|
|
92
|
+
COPY --from=build /usr/lib/postgresql/15/lib/bitcode/q3c /usr/share/postgresql/lib/bitcode/q3c
|
|
93
|
+
COPY --from=build /usr/lib/postgresql/15/lib/bitcode/q3c.index.bc /usr/share/postgresql/lib/bitcode/q3c.index.bc
|
|
94
|
+
COPY --from=build /usr/share/postgresql/15/extension/q3c* /usr/share/postgresql/15/extension/
|
|
95
|
+
COPY --from=build /usr/lib/postgresql/15/lib/pg_hint_plan.so usr/lib/postgresql/15/lib/pg_hint_plan.so
|
|
96
|
+
COPY --from=build /usr/lib/postgresql/15/lib/bitcode/pg_hint_plan /usr/share/postgresql/lib/bitcode/pg_hint_plan
|
|
97
|
+
COPY --from=build /usr/lib/postgresql/15/lib/bitcode/pg_hint_plan.index.bc /usr/share/postgresql/lib/bitcode/pg_hint_plan.index.bc
|
|
98
|
+
COPY --from=build /usr/share/postgresql/15/extension/pg_hint_plan* /usr/share/postgresql/15/extension/
|
|
99
|
+
# COPY --from=build /usr/lib/postgresql/15/lib/pg_parquet.so /usr/lib/postgresql/15/lib/
|
|
100
|
+
# COPY --from=build /usr/share/postgresql/15/extension/pg_parquet* /usr/share/postgresql/15/extension/
|
|
101
|
+
|
|
102
|
+
# Make sure this matches what is in the config file (created just above)
|
|
103
|
+
# (There is some futzing about here to make sure the right permissions are
|
|
104
|
+
# on the file regardless of the permissions as it exists on the machine
|
|
105
|
+
# where the docker image is built. I don't know why a simple ADD
|
|
106
|
+
# followed by CHMOD didn't work.)
|
|
107
|
+
COPY run_postgres.sh /tmp/run_postgres.sh
|
|
108
|
+
RUN cp /tmp/run_postgres.sh /run_postgres.sh && chmod 755 /run_postgres.sh
|
|
109
|
+
|
|
110
|
+
USER postgres
|
|
111
|
+
CMD ["bash", "/run_postgres.sh"]
|
|
112
|
+
|
|
113
|
+
# ======================================================================
|
|
114
|
+
|
|
115
|
+
FROM base AS pgdump
|
|
116
|
+
|
|
117
|
+
RUN mkdir=/home/pgdump
|
|
118
|
+
ENV HOME=/home/pgdump
|
|
119
|
+
ADD run_pgdump.sh /home/pgdump/run_pgdump.sh
|
|
120
|
+
|
|
121
|
+
USER postgres
|
|
122
|
+
ENTRYPOINT [ "/bin/bash", "/home/pgdump/run_pgdump.sh" ]
|