Commit Graph

25 Commits

Author SHA1 Message Date
Yuri Astrakhan
1a8e7c89a4
Implement http pmtiles ()
PMTiles is a web-optimized format, allowing the actual file to be read
with HTTP range requests. Supporting this use case instantly allows
Martin to function as a lambda executable accessing PMTiles, but without
any significant investment into devops or hosting large file.

PMTiles config now also allows `http` and `https` protocol.

```
# Publish PMTiles files
pmtiles:
  paths:
    # specific pmtiles file will be published as mypmtiles source
    # (use last portion of the URL without extension)
    - http://example.org/path/to/mypmtiles.pmtiles
  sources:
    # named source matching source name to a single file
    pm-src1: https://example.org/path/to/some_pmtiles.pmtiles
 ```

fixes 

---------

Co-authored-by: Kyle Slugg-Urbino <35903887+kyleslugg@users.noreply.github.com>
2023-12-22 06:01:50 +00:00
Yuri Astrakhan
30491ae353 linting docker-compose 2023-12-21 19:15:36 -05:00
Yuri Astrakhan
d311888f94
Update Docker build process ()
* Fix docker file builds to use debian
* add a few more things to `.dockerignore`
* remove unused `martin` from docker-compose.yml
* delete unused arm64.Dockerfile

This should also fix 
2023-11-23 21:14:32 -05:00
Yuri Astrakhan
64d652f5af
Improve SSL mode testing () 2023-09-30 22:49:56 -04:00
Yuri Astrakhan
ae8e0709d7 ssl dockercompose test config 2023-09-30 12:38:57 -04:00
Yuri Astrakhan
fa50eeac97
Update and fix demo ()
* Use `postgis/postgis` image for the DB
* Build frontend image inside the docker
* Upgrade all packages except styled-components - that one causes some
errors
* Add yarn.lock to the repo
* Add justfile for simplicity
* Bump martin docker image version in a few places
2023-08-15 14:41:12 +02:00
Yuri Astrakhan
ed7d33a76d
Cleanup docker and related docs ()
* Use same docker image for postgis & psql
* Improve docker book
* rename just target `mdbook` to `book` (more obvious choice)
* Cleanup justfile to not duplicate "cargo install" check & installation
2023-07-07 20:44:30 +00:00
Yuri Astrakhan
a9c74fd4d8
Service startup await clippy lint ()
Clippy v1.70 (yesterday's release) is complaining -
https://rust-lang.github.io/rust-clippy/master/index.html#redundant_async_block

Also, a tiny typo spotted thx to spellchecking, and removing unused
cargo aliases
2023-06-02 15:37:19 +00:00
Stepan Kuzmin
79c8ccb452
Migrate to GitHub Docker registry ()
Publishes Martin Docker Image to GitHub Docker Registry as
[`ghcr.io/maplibre/martin`](https://ghcr.io/maplibre/martin)

Closes https://github.com/maplibre/martin/issues/601

---------

Co-authored-by: Yuri Astrakhan <YuriAstrakhan@gmail.com>
2023-03-16 16:01:33 -04:00
Yuri Astrakhan
23553cccaf cleanup readme versions 2023-02-16 21:20:03 -05:00
Yuri Astrakhan
fbb282dcb7
Improve SSL support ()
This is a partial fix for 

* BREAKING: Now Martin behaves the same way as `psql` -- by default, if
SSL is available on the server, it will be used, even though it will not
verify that the server has a valid SSL certificate
* Martin now understands `PGSSLCERT`, `PGSSLKEY`, and `PGSSLROOTCERT`
env vars (and corresponding config keys) - same as psql.
* Martin can now process `?sslmode=verify-ca` and `verify-full` (just
like psql). The verify modes require root and/or client cert & key.
* remove `danger_accept_invalid_certs` -- turns out that behavior is
expected by default unless ssl mode is set to verify - which upstream
lib [does not
support](https://github.com/sfackler/rust-postgres/issues/768) - PR
[submitted](https://github.com/sfackler/rust-postgres/pull/988).
* added connection_timeout_ms option for postgres and set it to 5
seconds by default. This way it will fail out earlier.
* added error reporting to bb8 - but it is currently [broken
upstream](https://github.com/djc/bb8/issues/151) - not sure we can fix
it easily, so may need to switch to deadpool later.
* added docker-based TLS test (horray!) - wasn't trivial at all, despite
ending up fairly simple.
2023-02-06 14:32:28 -05:00
Yuri Astrakhan
64ad07ce36
Fix legacy DB, add CI tests ()
* fixed SQL to work on older PG versions
* re-enable CI to test expected `test.sh` output against the one stored
in the `tests/expected`
* add postgres in docker tests on linux - one for the oldest supported
DB, and another using the more recent version
* minor justfile cleanup
* ensure config files are sorted alphabetically
2023-01-01 05:03:21 +00:00
Yuri Astrakhan
126005bea0 bump to 0.6.2 2022-12-13 20:14:07 -05:00
Yuri Astrakhan
faf73ffe70 update to v0.6.1 docker compose 2022-12-12 17:35:37 -05:00
Yuri Astrakhan
cfc31fae1b
Update minimal legacy db ()
* bump docker compose to use latest supported db and postgis
* update justfile to allow simple legacy testing
* update readme

Followup: implement CI testing -- see 
2022-12-04 14:34:44 +09:00
Yuri Astrakhan
9b56fe7b9b
Refactor CI tests into separate scripts ()
This PR re-uses some ideas by @gbip from 

* move all CI github workflow tests into the dedicated shell scripts
* consolitade two database initialization scripts into one
2022-10-25 14:54:36 -04:00
Yuri Astrakhan
5ab2cec8f9
Attempt to migrate CI to maplibre/martin ()
Note that I manually published [maplibre/martin:latest](https://hub.docker.com/r/maplibre/martin) to docker, so it might be able to pass CI ok.  I have not looked deeply into the existing CI workflow - @stepankuzmin any suggestions on changes to that?  The github actions are now setup

P.S. I am not certain what that whole `brew/tap` thing is - don't know enough about Macs
2022-09-26 21:48:46 -04:00
Yuri Astrakhan
2c6ad7e906
minor docker fixes ()
* ports should be in quotes
* added .dockerignore (copy of .gitignore)
2022-09-13 01:55:26 -04:00
Yuri Astrakhan
7a14d6a3ed
feat!: remove --watch support ()
BREAKING CHANGE: Remove --watch support and ignore the command line parameter
2022-08-10 12:23:44 -04:00
Stepan Kuzmin
9250563d9d
docs: add a note on caching with Nginx () 2021-10-07 17:00:21 +03:00
Stepan Kuzmin
477834bb7c
docs: update debugging section 2021-07-16 13:09:18 +03:00
Stepan Kuzmin
4a6cb9f5a3
chore: cleanup 2020-12-27 16:47:47 +03:00
Stepan Kuzmin
7d5dfa8174
chore: drop mdillon postgis in favor of official image () 2020-12-27 16:35:05 +03:00
Stepan Kuzmin
2f6cc93745 chore: update dependencies 2019-08-30 18:42:24 +03:00
Stepan Kuzmin
fb1a668c11 doc: add docker-compose usage example 2019-08-28 14:04:15 +03:00