Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reverse pull on 25 Feb 2019. #6

Open
wants to merge 290 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
290 commits
Select commit Hold shift + click to select a range
efd13d6
added support for targeting netCDF metadata (#286)
edisonguo Jul 6, 2019
b7fd37d
added support for generic crawler (#287)
edisonguo Jul 8, 2019
04b65b1
Crawl stops on error (#288)
edisonguo Jul 9, 2019
aa328fe
added support for outputting raw record from crawl_pipeline (#289)
edisonguo Jul 11, 2019
62ea713
Timestamps on demand (#290)
edisonguo Jul 13, 2019
56216eb
added support for mas query hint (#291)
edisonguo Jul 16, 2019
67033c5
added crawler cmdline switch for netCDF metadata (#292)
edisonguo Jul 16, 2019
9dab593
fixed on-demand timestamps token (#293)
edisonguo Jul 18, 2019
93e124e
GSKY netCDF driver (#294)
edisonguo Jul 30, 2019
64860bd
added support for adapting grpc concurrency to worker capabilities (…
edisonguo Jul 31, 2019
90fb716
gofmt (#296)
edisonguo Jul 31, 2019
fddc858
added nc_metadata check (#297)
edisonguo Jul 31, 2019
eb38f46
fixed makefile (#298)
edisonguo Aug 1, 2019
5561f74
added GDAL_OF_RASTER to disable netcdf vector fields warnings (#299)
edisonguo Aug 3, 2019
0873fc2
added epsilon-based comparsion for dimension endpoints (#300)
edisonguo Aug 6, 2019
8f04c73
priotise prerequisites for make-all (#301)
edisonguo Aug 6, 2019
9c4f30d
added support for computing geospatial and temporal extents (#302)
edisonguo Aug 6, 2019
a65a9b2
added support for retrieving variable names from mas (#303)
edisonguo Aug 7, 2019
91b5fa7
added support for overviews (#304)
edisonguo Aug 12, 2019
d4b513a
disable overview extrapolation for wcs by default (#305)
edisonguo Aug 12, 2019
c5d7b68
fixed empty namespace for blended layers (#306)
edisonguo Aug 12, 2019
8a870c8
fixed empty blended namespace for tile_pipeline (#307)
edisonguo Aug 12, 2019
fc3c49b
added support for alpha channel in colour palttes (#308)
edisonguo Aug 13, 2019
d64f46e
fixed go vet (#309)
edisonguo Aug 13, 2019
5602bcb
added support for logging metrics (#310)
edisonguo Aug 15, 2019
5213131
refined log file patterns to be friendly with log collectors (#311)
edisonguo Aug 16, 2019
672ab3a
initial fix (#312)
edisonguo Aug 16, 2019
34d1cc3
added guard against nil logger (#313)
edisonguo Aug 16, 2019
f1fea19
added support for filtering blended layers by time range (#314)
edisonguo Aug 17, 2019
874bac3
improved travis-ci buid (#315)
edisonguo Aug 18, 2019
4cb7187
added more structures for metric logging (#318)
edisonguo Aug 22, 2019
b289f72
initial docker build fix (#319)
edisonguo Aug 22, 2019
da693e9
fixed travis-ci gsky build (#320)
edisonguo Aug 22, 2019
d88bb47
updated docker readme (#321)
edisonguo Aug 23, 2019
3f880df
improved structures of metrics logging (#322)
edisonguo Aug 23, 2019
65581a1
disabled gdal readdir on open (#323)
edisonguo Aug 23, 2019
f8b06df
fixed travis-ci build regression (#324)
edisonguo Aug 23, 2019
34cb9bf
improved GDALOpenEx() performance (#325)
edisonguo Aug 23, 2019
c378bac
updated docker readme (#326)
edisonguo Aug 24, 2019
63ad319
added metrics logging for workers (#327)
edisonguo Aug 26, 2019
a5fc29c
fixed real client ip behind reverse proxy (#328)
edisonguo Aug 27, 2019
f02abbc
added support for band maths over time (#329)
edisonguo Aug 29, 2019
7263dbf
added support for blended service per style (#330)
edisonguo Aug 29, 2019
0e62711
added truncated means for wps polygon drill (#331)
edisonguo Aug 29, 2019
bac2d94
added support for non-monotonic axes (#332)
edisonguo Aug 30, 2019
92f35f5
added support for CF SRS precedence (#333)
edisonguo Sep 2, 2019
c00398b
fixed wms axes merging issue (#334)
edisonguo Sep 2, 2019
fcd6435
added check against nil raster in drill grpc (#335)
edisonguo Sep 2, 2019
1d4014e
added support for crawling fractional days (#336)
edisonguo Sep 3, 2019
8f5e173
added matching full path for crawler (#337)
edisonguo Sep 4, 2019
2c0bf37
added support for applying filters in mas ingestion pipeline (#338)
edisonguo Sep 5, 2019
9a1bb47
added support for recursive blending service (#339)
edisonguo Sep 7, 2019
fe4ba43
fixed empty_tile for unnamed expressions in getFeatureInfo (#340)
edisonguo Sep 9, 2019
1c8610a
properly handled timezone when converting from unix timestamp to gola…
edisonguo Sep 9, 2019
e08ad40
added support for propogating palette in fusion layers (#342)
edisonguo Sep 10, 2019
8e9f0c9
added non-blocking resp channel for worker processes (#343)
edisonguo Sep 11, 2019
31e2ed6
properly initialising wcs temp file when the first tile is empty (#344)
edisonguo Sep 11, 2019
33181ff
fixed empty namespace for fusion layers (#345)
edisonguo Sep 11, 2019
b7cb193
added documentation for metrics logging (#346)
edisonguo Sep 14, 2019
f7acc3a
added support for wps pixel fractions (#347)
edisonguo Sep 27, 2019
bbf01a4
added support for filtering out unwanted URL parameters for metrics l…
edisonguo Oct 3, 2019
8414bda
added support for raw data pass-through for fusion layers (#349)
edisonguo Oct 9, 2019
3d160e1
made verbose optional to config logs (#350)
edisonguo Oct 22, 2019
980c3bf
added guard against raster type casting (#351)
edisonguo Oct 23, 2019
1d906ee
removed grouping rpc by polygon (#352)
edisonguo Oct 30, 2019
38145ac
fixed data_available_dates for the regions without data (#353)
edisonguo Oct 31, 2019
c23df96
fixed empty namespace issue in fusion colour palattes (#354)
edisonguo Nov 2, 2019
adb5ba6
landsat yaml crawl (#355)
edisonguo Nov 12, 2019
9f4a1c1
made using percentage for the y-axis of pixel frac template (#356)
edisonguo Nov 14, 2019
dda7d61
changed to crawl valid_data polygon for sentinel 2 (#357)
edisonguo Nov 19, 2019
2aa317a
added support for pseudo-style as a service (#358)
edisonguo Nov 26, 2019
fa85dd7
added support for multi-timestamps for getFeatureInfo (#359)
edisonguo Nov 29, 2019
af925db
set default input layer name if empty (#360)
edisonguo Nov 30, 2019
d79ffd4
added support for batch crawler (#361)
edisonguo Dec 16, 2019
c5cb1f7
added support for compressing rotated log files (#362)
edisonguo Jan 15, 2020
315b238
fixed netcdf memory leaks (#363)
edisonguo Jan 16, 2020
2e9a5bd
restarting gdal-process after max tasks processed (#364)
edisonguo Feb 16, 2020
7fa94ec
pruning refreshing views (#365)
edisonguo Feb 19, 2020
26005ed
changed to use logged tables (#366)
edisonguo Feb 20, 2020
68cf5b6
removed unused mas objects (#367)
edisonguo Feb 25, 2020
4c9dac6
added support for tiled mas query (#368)
edisonguo Feb 26, 2020
9d1761f
interleave processing between indexer and grpc (#369)
edisonguo Feb 27, 2020
2c31336
added global limit on the resultfrom mas_intersects sql (#370)
edisonguo Feb 27, 2020
fabf894
added guards against non-positive values for grpc_tile_size (#371)
edisonguo Mar 1, 2020
4b07714
updated gsky versions (#372)
edisonguo Mar 2, 2020
7c3346b
added global cache control for http response (#373)
edisonguo Mar 3, 2020
59446ee
disabled creation of public views (#374)
edisonguo Mar 4, 2020
15fb873
worked around crs not found for proj_create() since proj 6.0.0 (#375)
edisonguo Mar 6, 2020
786db18
fixed race condition in concurrent crawls (#376)
edisonguo Mar 7, 2020
bde3d43
pruned gdal crawl outputs (#377)
edisonguo Mar 9, 2020
8761b1d
added support to derive ows_hostname from http headers (#380)
edisonguo Mar 12, 2020
75f103b
added support for worker timeout (#381)
edisonguo Mar 17, 2020
0ce6911
added support to use layer specific settings for blended service (#382)
edisonguo Mar 20, 2020
edc279a
initial implementation (#383)
edisonguo Apr 20, 2020
0c753e3
fixed wps memory leaks (#384)
edisonguo Apr 22, 2020
d22d7aa
surpressed warning message for OGR_G_Area() on non-surface geometry (…
edisonguo Apr 22, 2020
ccfb8fd
added default values for dynamic VRT (#387)
edisonguo Apr 28, 2020
6d1f856
fixed unbounded variable issue (#388)
edisonguo Apr 29, 2020
368b5a2
obtained canonical bbox before comparing against IndexResLimit (#389)
edisonguo May 2, 2020
32ad33e
checked for duplicated granules for spatial-temporal hash key (#390)
edisonguo May 4, 2020
585d3e0
rescaled GeoTransform entries for subsampled VRT (#391)
edisonguo May 5, 2020
85d5b2d
added support for retrying failed tasks (#392)
edisonguo May 7, 2020
e52d159
added support for OOM monitor of the worker processes (#393)
edisonguo May 8, 2020
11cadbd
added support for rescaling raster size (#394)
edisonguo May 10, 2020
df755c1
added indices templates for landsat3 and sentinel2 (#395)
edisonguo May 12, 2020
270d2ca
taking nodata into account for WPS band expressions (#396)
edisonguo May 12, 2020
3180906
added support for dynamically querying number of workers for WPS (#397)
edisonguo May 13, 2020
407a752
added tiled indexer for WPS (#398)
edisonguo May 15, 2020
7391e90
streamlined WPS gRPC processing (#399)
edisonguo May 15, 2020
8302dbf
added support for cancellation of operations in drill_merger (#400)
edisonguo May 15, 2020
5390994
replaced string concat with strings.Builder for efficiency (#401)
edisonguo May 15, 2020
5f09e31
removed yAxisMin/Max for WPS output templates (#402)
edisonguo May 16, 2020
9884e1d
fixed projection skewness issue in WMS (#403)
edisonguo May 16, 2020
626384d
fixed build of jet template engine (#404)
edisonguo May 16, 2020
28bf692
fixed memory issues in WPS drill worker (#405)
edisonguo May 16, 2020
b5b5606
reduced memory usage of drill polygon rasterisation (#406)
edisonguo May 17, 2020
bac09bd
better accounting for WPS indexer timing (#407)
edisonguo May 17, 2020
0231a93
removed SRS in WPS area calculations (#408)
edisonguo May 18, 2020
8451927
improved consistency of verbosity of the grpc workers (#409)
edisonguo May 20, 2020
c43fbc8
better account for timing in WMS/WCS pipeline (#410)
edisonguo May 21, 2020
06dcfa8
worked around crs not found for proj_create() since proj 6.0.0 (#411)
edisonguo May 22, 2020
54729e2
avoided computing geo-transform repeatedly (#412)
edisonguo May 23, 2020
9c213fd
crawler avoids loading all bands (#413)
edisonguo May 24, 2020
fad4b8a
better cancellation support for WMS/WCS pipeline (#414)
edisonguo May 25, 2020
efbe9bc
added support to show ows listening host (#415)
edisonguo May 25, 2020
e8e77ba
query auth_srid instead of srid for proj4text from spatial_ref_sys (#…
edisonguo May 27, 2020
1bfa4db
fixed dst geot for tiled grpc (#417)
edisonguo May 28, 2020
bc31232
added support for incremental updates on MAS shards (#418)
edisonguo May 29, 2020
92f352d
query auth_srid instead of srid for proj4text from spatial_ref_sys (#…
edisonguo May 29, 2020
2e303a1
consistent token for querying timestamps cache (#420)
edisonguo May 30, 2020
cc7fbec
added support for async commit of ingestion transactions (#421)
edisonguo May 30, 2020
e7cacf0
added timeout for WPS pipeline (#422)
edisonguo May 31, 2020
0b92a19
added support for adaptive downsampling for WPS (#423)
edisonguo Jun 1, 2020
599b883
imporved example vrt (#424)
edisonguo Jun 1, 2020
d7eee6d
added verbosity for wps raster sizes (#425)
edisonguo Jun 1, 2020
8101eb9
enabled concurrent processing of file list for GetFeatureInfo (#426)
edisonguo Jun 1, 2020
2c50f7a
reverted incremental updates on shards (#427)
edisonguo Jun 2, 2020
d061295
not treating empty input to drill_merge an error (#428)
edisonguo Jun 2, 2020
55b0d13
added guards against closed output channel for drill grpc (#429)
edisonguo Jun 2, 2020
085ec99
added gzip compression for crawl filelist (#430)
edisonguo Jun 2, 2020
fbc156c
taking nodata into account for mask bands (#431)
edisonguo Jun 4, 2020
5b1c888
made use of empty struct for key-only hash map lookup (#432)
edisonguo Jun 4, 2020
32a34ff
added support for customising VRT band data type (#433)
edisonguo Jun 6, 2020
779b115
added posix crawler (#434)
edisonguo Jun 7, 2020
743e9dd
fixed output format for posix crawler (#435)
edisonguo Jun 7, 2020
a96c393
properly naming file id for posix crawler (#436)
edisonguo Jun 8, 2020
e7b2b60
properly counting gzip crawl file list (#437)
edisonguo Jun 9, 2020
86e2760
added pattern expression for posix crawler (#438)
edisonguo Jun 10, 2020
91d3d2c
optimised readdir() for posix crawler (#439)
edisonguo Jun 12, 2020
75eb735
surpressed latitude uneven spacing warrning (#440)
edisonguo Jun 19, 2020
9dd0a40
adaptive netcdf cache size (#441)
edisonguo Jun 21, 2020
318f08a
added guards against nan and inf in netCDF (#442)
edisonguo Jun 21, 2020
5cab102
added support for 1D netCDF variables (#443)
edisonguo Jul 5, 2020
3e91428
added subdatasets query only (#444)
edisonguo Jul 5, 2020
191c1f5
fixed band metadata for 1D netCDF variable (#445)
edisonguo Jul 5, 2020
6c110b3
added netCDF main variable lookup from metadata (#446)
edisonguo Jul 9, 2020
22867fe
added metadata for netCDF open option (#447)
edisonguo Jul 9, 2020
e9c7680
suppress 1D variable warnings (#448)
edisonguo Jul 9, 2020
8fc202c
added support for warping longtitude for geolocation array (#449)
edisonguo Jul 13, 2020
8044c42
suppressed 1-pixel width/height warning (#450)
edisonguo Jul 17, 2020
0a92d8e
optimised scheduling of posix tasks (#451)
edisonguo Jul 20, 2020
3607bd8
added lock timeout (#452)
edisonguo Jul 21, 2020
0def357
added thread-safe config reloading (#453)
edisonguo Jul 21, 2020
a96c69d
added concurrent updates on MAS (#454)
edisonguo Jul 23, 2020
de21d62
added search path for loading config files (#455)
edisonguo Jul 23, 2020
18f39d2
added dynamic footer for the landing page of GSKY website (#456)
edisonguo Jul 23, 2020
d1d4c31
made timestamps error more informative (#457)
edisonguo Jul 25, 2020
2c18feb
implemented fast strcat for building netCDF 1D value string (#458)
edisonguo Jul 27, 2020
aa413b1
made to use Ubuntu LTS base image (#459)
edisonguo Aug 2, 2020
bd4bb83
added bc to docker image (#460)
edisonguo Aug 3, 2020
02be169
fixed projection in getFeatureInfo (#461)
edisonguo Aug 4, 2020
c1979e1
configurable shard_ingest (#462)
edisonguo Aug 4, 2020
35d7a95
added NC4C netCDF format for WCS (#463)
edisonguo Aug 8, 2020
8591376
removed unused formats for FeatureInfo (#465)
edisonguo Aug 17, 2020
7017265
removed CRS:84 (#466)
edisonguo Aug 24, 2020
83a6c35
added http parameter code (#467)
edisonguo Nov 8, 2020
d6c4f21
added user code for getFeatureInfo (#468)
edisonguo Nov 10, 2020
737a4ad
added built-in palettes (#469)
edisonguo Nov 12, 2020
06c928b
added code_format for user-defined band math (#470)
edisonguo Nov 13, 2020
191931a
added complexity constraints on user-defined band math (#471)
edisonguo Nov 14, 2020
01b8ccb
fixed namespace for config.json (#472)
edisonguo Nov 16, 2020
83e00e3
fixed travis-ci build (#473)
edisonguo Nov 17, 2020
4e1ecc6
added available bands for band math in GetCapabilities (#474)
edisonguo Nov 21, 2020
9239a68
fixed colorscalerange endpoint issues (#475)
edisonguo Dec 19, 2020
5dd6b59
fixed single-banded math expression (#476)
edisonguo Dec 19, 2020
3e34ee0
returning error for invalid palette (#477)
edisonguo Jan 9, 2021
bb66198
loading configs on-demand (#478)
edisonguo Jan 20, 2021
7d11427
added token ACL for user-defined band math (#480)
edisonguo Jan 31, 2021
80f7729
added constraints on supported band variables for user-defined band m…
edisonguo Feb 1, 2021
ae3c135
added support for deriving endpoint protocols (#482)
edisonguo Feb 18, 2021
39cc889
updated copyright year (#483)
edisonguo Feb 19, 2021
b4f51a7
updated URL for GSKY docs (#484)
edisonguo Mar 26, 2021
6f2b4fc
updated URL for GSKY docs (#485)
edisonguo Mar 26, 2021
85c9c1e
open hyperlinks in new browser tab (#486)
edisonguo Mar 27, 2021
d22a5ee
added support for listing sub gpaths and namespaces (#487)
edisonguo Apr 2, 2021
a942649
fixed jsonb_build_object(null) error (#488)
edisonguo Apr 3, 2021
a0a3181
added support for auto-catalogues (#489)
edisonguo Apr 7, 2021
80c6510
rendering Host variable for index pages (#490)
edisonguo Apr 8, 2021
f2215e7
added version information (#491)
edisonguo Apr 9, 2021
d4a2f09
enabled parallel query for polygon view (#492)
edisonguo Apr 15, 2021
47099c8
added verbosity for LoadConfigOnDemand error (#493)
edisonguo Apr 16, 2021
4274cbc
disabled on-demand timestamps loading by default (#494)
edisonguo Apr 16, 2021
d14535a
added posix info for content crawler (#495)
edisonguo Apr 17, 2021
61cb97a
improved robustness of high concurrent access to MAS (#496)
edisonguo Apr 20, 2021
618c79c
fixed layer namespace for configs loaded on-demand (#497)
edisonguo Apr 21, 2021
f0d6a21
improved time range indexing using tstzrange (#498)
edisonguo Apr 22, 2021
3caa414
removed pixel resolution from MAS (#499)
edisonguo Apr 22, 2021
a1782a4
drop before creating sql functions (#500)
edisonguo Apr 22, 2021
33c1266
added codegen for MAS intersects queries (#501)
edisonguo Apr 24, 2021
b6b2df5
changed from drop to create or replace functions (#502)
edisonguo Apr 24, 2021
dfb9ff8
fixed overview zoom limits (#503)
edisonguo Apr 26, 2021
a1fae5e
tried to process full resolution for overview miss (#504)
edisonguo Apr 28, 2021
0ee7d33
centralised shard codegens (#505)
edisonguo Apr 29, 2021
75483b4
fixed on-demand timestamps for blended layers (#506)
edisonguo Apr 29, 2021
dd9de01
raised error for empty configs generated from MAS (#507)
edisonguo Apr 29, 2021
0fe59c7
added ows_cache for GetCaps (#508)
edisonguo Apr 30, 2021
f99fc78
removed copyright end date (#509)
edisonguo Apr 30, 2021
bdb46fd
fixed lazy-loading issues for on-demand timestamps (#510)
edisonguo Apr 30, 2021
b668c9c
standardised ows_cache query key for WMS (#511)
edisonguo Apr 30, 2021
afa5b36
fixed on-demand timestamps for a single namespace (#512)
edisonguo Apr 30, 2021
2248ec8
added support for resolving runtime data files from a list of search …
edisonguo May 1, 2021
31395c1
removed unnecessary config echo (#514)
edisonguo May 1, 2021
d468a8b
added docker information to readme (#515)
edisonguo May 1, 2021
8cac11c
improved readme (#516)
edisonguo May 1, 2021
f01199a
added support for inheriting cluster information from ancestor namesp…
edisonguo May 3, 2021
ddf6671
removed pprof (#518)
edisonguo May 3, 2021
a2ecbb3
improved efficiency in overview proj transform (#519)
edisonguo May 4, 2021
320d676
added support for caching the pair of coordinates for transformation …
edisonguo May 5, 2021
5a47597
removed hard-coded cppflags (#521)
edisonguo May 6, 2021
ea5e77b
upgraded to use go modules (#522)
edisonguo May 6, 2021
46b0bf7
fixed go module for band math (#523)
edisonguo May 6, 2021
30af3d6
fixed go module in GSKY docker build (#524)
edisonguo May 6, 2021
a6ebea0
reduced memory footprint for the warper (#525)
edisonguo May 7, 2021
526ca13
readme updates for go modules (#526)
edisonguo May 7, 2021
457bb87
migrated git repo for concurrent utility (#527)
edisonguo May 7, 2021
5354f53
fixed go modules for build_gsky.sh (#528)
edisonguo May 7, 2021
51e31ff
added const qualifier to variables (#529)
edisonguo May 9, 2021
3107217
added WCS timepositions (#530)
edisonguo May 28, 2021
af1013e
migrated to travis-ci.com (#531)
edisonguo May 28, 2021
91f23c0
added interpolation of 1D variables (#533)
edisonguo Jun 13, 2021
15c1848
fixed netCDF raster variable lookup (#535)
edisonguo Jun 15, 2021
bbbebd4
fixed netCDF variable lookup for 1D raster variables (#536)
edisonguo Jun 15, 2021
d29bca9
fixed netCDF subdataset query for single raster variable (#537)
edisonguo Jun 16, 2021
6166e08
fixed geodrill error message (#538)
edisonguo Jun 16, 2021
bb5144a
fixed GDAL axis order incompatibility (#539)
edisonguo Jun 17, 2021
b50c92a
added precedence for main netCDF variable lookup (#540)
edisonguo Jun 30, 2021
5cdbad3
fixed reprojection integer overflow (#542)
edisonguo Jul 16, 2021
5c5b55a
fixed integer overflow in bytesRead (#543)
edisonguo Jul 16, 2021
e23d02e
made time parameter mandatory in WMS GetCaps (#544)
edisonguo Jul 28, 2021
cc63fde
fixed ows hostname for WCS GetCaps (#545)
edisonguo Aug 27, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 36 additions & 13 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,41 +1,64 @@
dist: bionic
language: go
go: 1.9.x
go: 1.16.3
env:
- PREFIX=$HOME/local GDALVER=2.2.4
- PREFIX=$HOME/local PROJVER=6.1.1 GDALVER=3.0.1 OPENJPVER=2.3.1 NJOBS=2
services:
- postgresql
cache:
directories:
- $PREFIX
addons:
postgresql: "9.6"
postgresql: "10"
apt:
packages:
- postgresql-9.6-postgis-2.3
- libproj-dev
- postgresql-10-postgis-2.4
- postgresql-10-postgis-2.4-scripts
- postgresql-client-10
- libhdf4-dev
- libhdf5-dev
- libnetcdf-dev
- libopenjpeg-dev
- openjpeg-tools

before_script:
- psql -U postgres -c "create extension postgis"
- sudo service postgresql stop
- sudo rm -rf /var/lib/postgresql/10/main
- rm -rf $PGDATA
- /usr/lib/postgresql/10/bin/initdb -U $PGUSER
- mkdir -p $PREFIX/pg_socket
- /usr/lib/postgresql/10/bin/pg_ctl -o "-h ' ' -k $PGHOST" -w -t 5 start

install:
- git clone https://github.com/sstephenson/bats.git
- (cd bats && git checkout 03608115df2071fff4eaaff1605768c275e5f81f && ./install.sh $PREFIX)
- export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
- export LD_LIBRARY_PATH=$PREFIX/lib:$LD_LIBRARY_PATH
- export CPPFLAGS=-I$PREFIX/include
- export CXXFLAGS=-I$PREFIX/include
- export CFLAGS=-I$PREFIX/include
- export LDFLAGS=-L$PREFIX/lib
- export PGDATA=$PREFIX/pg_data
- export PGHOST=$PREFIX/pg_socket
- export PGUSER=postgres
- >
if ! test -f $PREFIX/local/lib/libgdal.a ; then
if ! test -f $PREFIX/lib/libgdal.a ; then
wget --quiet https://github.com/uclouvain/openjpeg/archive/v${OPENJPVER}.tar.gz || exit 1
tar xf v${OPENJPVER}.tar.gz
(cd openjpeg-${OPENJPVER} && mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PREFIX && make -j${NJOBS} install)
wget --quiet https://github.com/OSGeo/PROJ/releases/download/$PROJVER/proj-$PROJVER.tar.gz || exit 1
tar xf proj-$PROJVER.tar.gz
(cd proj-$PROJVER && ./configure --prefix=$PREFIX && make -j${NJOBS} install)
wget --quiet http://download.osgeo.org/gdal/$GDALVER/gdal-$GDALVER.tar.gz{,.md5} || exit 1
md5sum gdal-$GDALVER.tar.gz | cmp - gdal-$GDALVER.tar.gz.md5 || exit 1
tar xfvz gdal-$GDALVER.tar.gz
(cd gdal-$GDALVER && ./configure --with-openjpeg --prefix=$HOME/gdal-install && make -s all install)
tar xf gdal-$GDALVER.tar.gz
(cd gdal-$GDALVER && ./configure --prefix=$PREFIX && make -j${NJOBS} install)
fi

script:
- cd $TRAVIS_BUILD_DIR/mas/db && psql -f schema.sql -U postgres
- go tool vet $TRAVIS_BUILD_DIR
- cd $TRAVIS_BUILD_DIR/mas/db && psql -f schema.sql
- cd $TRAVIS_BUILD_DIR/mas/api && psql -f mas.sql
- gofmt -d $TRAVIS_BUILD_DIR
# Ensure that gofmt -d produces zero diff output
- test -z "$(gofmt -d $TRAVIS_BUILD_DIR)"
- mkdir -p $(go env GOPATH)/src/github.com/nci
- test -d "$(go env GOPATH)/src/github.com/nci/gsky" || cp -r $TRAVIS_BUILD_DIR $(go env GOPATH)/src/github.com/nci/gsky
- cd $TRAVIS_BUILD_DIR && ./configure && make all
17 changes: 14 additions & 3 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -9,27 +9,36 @@ srcdir = @srcdir@
VPATH = @srcdir@

BASEPATH=github.com/nci/gsky
VERSION=$(shell git rev-parse HEAD)
LDFLAGS="-X=$(BASEPATH)/utils.LibexecDir=${libexecdir} -X=$(BASEPATH)/worker/gdalservice.LibexecDir=${libexecdir} \
-X=$(BASEPATH)/utils.EtcDir=$(sysconfdir) -X=$(BASEPATH)/utils.DataDir=${datarootdir}/gsky"
-X=$(BASEPATH)/utils.EtcDir=$(sysconfdir) -X=$(BASEPATH)/utils.DataDir=${datarootdir}/gsky \
-X=$(BASEPATH)/utils.GSKYVersion=${VERSION}"
GOBIN=$(shell go env GOBIN)
ifeq ($(strip $(GOBIN)),)
GOBIN=$(shell go env GOPATH)/bin
endif
GDALCFLAGS=$(shell pkg-config gdal --cflags)
GDALLDLAGS=$(shell pkg-config gdal --libs)
NCCFLAGS=-DNETCDF_HAS_NC4 -DNETCDF_HAS_NC2 -DHAVE_HDF4 -DHAVE_HDF5 -DENABLE_UFFD -I$(shell nc-config --includedir)
NCLDFLAGS=$(shell nc-config --libs)

all: concurrent pkg-config
all: pkg-config concurrent gdal_GSKY_netCDF.so
go get ./...
go install -ldflags=$(LDFLAGS) ./...

check test: pkg-config
go test ./...
bats testsuite

gdal_GSKY_netCDF.so: $(wildcard libs/gdal/frmts/gsky_netcdf/*.cpp)
$(CXX) -std=c++11 -Wall -shared -fPIC -fvisibility=hidden -Ofast $(NCCFLAGS) $(GDALCFLAGS) $(NCLDFLAGS) $(GDALLDFLAGS) $^ -o $@

concurrent: src/concurrent.c
$(CC) -std=c99 -Wall -O2 $< -o $@

src/concurrent.c:
mkdir -p $(dir $@)
wget --quiet https://github.com/seanpringle/concurrent/raw/634330a119f16916e5ad24da32172fa9312ab5a3/concurrent.c -O $@
wget --quiet https://github.com/edisonguo/concurrent/raw/e6ff2d98fb7f4cebf297b1725fee9a9e3d1cc164/concurrent.c -O $@

# Note: install(1) can't deal with directories as source, so use cp -r.
install:
Expand All @@ -38,6 +47,7 @@ install:
install -d $(datarootdir)/gsky/static
install -d $(datarootdir)/mas
install concurrent $(bindir)
install gdal_GSKY_netCDF.so $(sbindir)
install $(GOBIN)/gsky $(sbindir)/gsky-ows
install $(GOBIN)/gdal-process $(sbindir)/gsky-gdal-process
install $(GOBIN)/grpc-server $(sbindir)/gsky-rpc
Expand All @@ -62,3 +72,4 @@ distclean: clean
.PHONY: pkg-config
pkg-config:
pkg-config --exists gdal
nc-config --version
92 changes: 54 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,33 +7,43 @@ What Is This?
GSKY was developed at [NCI](http://nci.org.au) and is a scalable,
distributed server which presents a new approach for geospatial data
discovery and delivery using OGC standards. The most recent release is
version 1.0 (June 2018).
[here](https://github.com/nci/gsky/releases).

License
-------
[![Build Status](https://api.travis-ci.com/nci/gsky.svg?branch=master)](https://travis-ci.com/github/nci/gsky)

Copyright 2016, 2017, 2018 Australian National University
GSKY Docker Image
-----------------

Licensed under the Apache License, Version 2.0 (the "License"); you
may not use this package except in compliance with the License. A
copy of the [License](http://www.apache.org/licenses/LICENSE-2.0) may
be found in this source distribution in `LICENSE-2.0.txt`.
The quickest way to try out GSKY is via GSKY docker image.

Contributions
-------------
GSKY's docker image ships with a fully functional environment of GSKY cluster,
as well as sample data files and configuration files for testing.

Suggestions, enhancement requests, bug reports and patches to GSKY are
welcome via this GitHub page. Please submit patches as a GitHub pull
request. Authors retain copyright over their contributions.
```
docker pull gjmouse/gsky:latest
```

[![Build Status](https://travis-ci.org/nci/gsky.svg?branch=master)](https://travis-ci.org/nci/gsky)
For more details of GSKY docker image, please refer [here](docker/README.md).

Citing GSKY in publications
---------------------------
Overview of Servers Components
------------------------------

When referring to GSKY in publications please use the citation in
[CITATION.md](CITATION.md). A ready-to-use BibTeX entry for LaTeX
users can also be found in this file.
GSKY mainly consists of three servers working together to deliver services. The main server (`ows.go`) is the front-end server that takes WMS/WCS/WPS HTTP requests as inputs. The main server talks to the MAS Restful API server (`mas/api/api.go`) for the data files that intersect with the polygon bounding box in the WMS/WCS/WPS requests. With those data files, the main server talks to the RPC worker nodes (`grpc-server/main.go`) for compute and IO intensive tasks and then sends the results back to the client side.

How To Start the Servers
------------------------

- Start the MAS Restful API server: `/opt/gsky/sbin/masapi -port 8888`

The `-port` option sets the API server listening port. The default is port 8080.

- Start all the RPC worker nodes: `/opt/gsky/sbin/gsky-rpc -p 6000`

The `-p` option sets the gRPC listening port. The default is port 6000.

- Start the main server: `/opt/gsky/sbin/gsky-ows -p 8080`

The `-p` option sets the main server listening port. The default is port 8080.

Configuration Files
-------------------
Expand Down Expand Up @@ -73,37 +83,43 @@ How To Compile the Source

Dependencies:

+ Go > 1.6.0
+ GDAL > 2.1.0
+ Various Go packages (handled by the build system)
+ Go 1.16.x+
+ C++ 14+
+ GDAL 3.x+
+ PostgreSQL 11+
+ PostGIS 3.x+
+ Various Go packages (handled by go modules)

```console
$ export GOPATH=~/go
$ go get github.com/nci/gsky
$ cd $GOPATH/src/github.com/nci/gsky
$ git clone https://github.com/nci/gsky
$ cd gsky
$ ./configure
$ make all install
```

The `configure` script takes all of the standard GNU `configure` flags
such as `--prefix` (to specify where to install GSKY).

Overview of the Servers
-----------------------

GSKY mainly consists of three servers working together to deliver services. The main server (`ows.go`) is the front-end server that takes WMS/WCS/WPS HTTP requests as inputs. The main server talks to the MAS Restful API server (`mas/api/api.go`) for the data files that intersect with the polygon bounding box in the WMS/WCS/WPS requests. With those data files, the main server talks to the RPC worker nodes (`grpc-server/main.go`) for compute and IO intensive tasks and then sends the results back to the client side.

How To Start the Servers
-----------------------
Contributions
-------------

- Start the MAS Restful API server: `/opt/gsky/sbin/masapi -port 8888`
Suggestions, enhancement requests, bug reports and patches to GSKY are
welcome via this GitHub page. Please submit patches as a GitHub pull
request. Authors retain copyright over their contributions.

The `-port` option sets the API server listening port. The default is port 8080.
Citing GSKY in publications
---------------------------

- Start all the RPC worker nodes: `/opt/gsky/sbin/gsky-rpc -p 6000`
When referring to GSKY in publications please use the citation in
[CITATION.md](CITATION.md). A ready-to-use BibTeX entry for LaTeX
users can also be found in this file.

The `-p` option sets the gRPC listening port. The default is port 6000.
License
-------

- Start the main server: `/opt/gsky/sbin/gsky-ows -p 8080`
Copyright 2016 Australian National University

The `-p` option sets the main server listening port. The default is port 8080.
Licensed under the Apache License, Version 2.0 (the "License"); you
may not use this package except in compliance with the License. A
copy of the [License](http://www.apache.org/licenses/LICENSE-2.0) may
be found in this source distribution in `LICENSE-2.0.txt`.
Loading