Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
458bbd4
wip get urls from dmrpp
hannahilea Oct 28, 2025
be8ecf4
urls available from EffectiveUrlCache
hannahilea Oct 28, 2025
61ffd33
parse s3 credentials from tea endpoint
hannahilea Oct 29, 2025
60271a2
Split SignedUrlCache out of EffectiveUrlCache
hannahilea Oct 29, 2025
a19ee90
Split SignedUrlCache out of EffectiveUrlCache
hannahilea Oct 29, 2025
a926716
wip start adding aws sdk dependence
hannahilea Oct 29, 2025
0a3691d
Merge branch 'hr/HYRAX-1732-TEA-party-3' of https://github.com/OPENDA…
hannahilea Oct 29, 2025
738ae40
Merge branch 'hr/HYRAX-1732-TEA-party-3' of https://github.com/OPENDA…
hannahilea Oct 29, 2025
db5fb39
Add unit test: cache_disabled
hannahilea Oct 30, 2025
ea21df6
Merge branch 'hr/HYRAX-1732-TEA-party-3' of https://github.com/OPENDA…
hannahilea Oct 30, 2025
2e0c4b7
Update test: set_skip_regex
hannahilea Oct 30, 2025
1bce392
Add test: dump
hannahilea Oct 30, 2025
0652066
Fill in credential expiration wip
hannahilea Oct 30, 2025
19a9240
Clear all caches for unit test setup
hannahilea Oct 31, 2025
ff57cd3
Add test and fix behavior: invalid response json
hannahilea Oct 31, 2025
2466331
Test non-http behavior
hannahilea Oct 31, 2025
b384fd9
Add test: cache signed url components
hannahilea Oct 31, 2025
7a3e8a3
Add test: retrieved signed url components
hannahilea Oct 31, 2025
0142bed
Add messages to unit test asserts
hannahilea Oct 31, 2025
4792441
add test for gets3credentials from endpoing
hannahilea Oct 31, 2025
53e288c
remove stale tests
hannahilea Oct 31, 2025
1df8485
Clean up
hannahilea Oct 31, 2025
05d79c8
handle timestamp wrangling differently
hannahilea Oct 31, 2025
c440ee8
update docstrings
hannahilea Oct 31, 2025
aa65428
clean up dump to include all cache maps
hannahilea Oct 31, 2025
01b5669
aws wip
hannahilea Oct 30, 2025
c265781
wip sadness
hannahilea Nov 3, 2025
59ab7e0
Move SignedUrlCache implementation into .cc
hannahilea Nov 5, 2025
cd869e7
move SignedUrlCache from http to aws
hannahilea Nov 6, 2025
c6b2c9d
enable aws signedurlcachetest tests
hannahilea Nov 13, 2025
fd688d3
add helper function for splitting s3 paths
hannahilea Nov 13, 2025
a45935b
add expiration calculation
hannahilea Nov 14, 2025
d56a9cd
safety first
hannahilea Nov 14, 2025
487d098
add docstring remove todo
hannahilea Nov 17, 2025
96a2a10
move warning
hannahilea Nov 17, 2025
14c01e3
temp disable tests to understand travis failure
hannahilea Nov 17, 2025
939c1f2
commit out all signedurlcachetests to see if it still fails
hannahilea Nov 17, 2025
8a0813e
Merge branch 'master' into hr/HYRAX-1732-TEA-party-3
hannahilea Nov 17, 2025
08057a9
fix linking in ngap_container
hannahilea Nov 17, 2025
8d77254
wip linker
hannahilea Nov 17, 2025
39cbd6a
Update mkchk script to show errors where build failed
hannahilea Nov 17, 2025
1b55513
add test output to .gitignore
hannahilea Nov 17, 2025
7708576
fix ngap_container linker
hannahilea Nov 17, 2025
a1de61a
Fix dmrpp_module/unit tests linking
hannahilea Nov 18, 2025
1426168
linker changes; can now make bes, pass all unit tests w/out linker fa…
hannahilea Nov 18, 2025
91cd9d5
Link aws to the standalone
hannahilea Nov 18, 2025
d0a5c6f
fix dmrpp module linking
hannahilea Nov 19, 2025
6b54d8a
re-enable signedurlcachetest
hannahilea Nov 19, 2025
2f6f226
revert unnecessary abspath change
hannahilea Nov 19, 2025
bd5a27d
Merge branch 'master' into hr/HYRAX-1732-TEA-party-3
hannahilea Nov 19, 2025
27352b6
clean up
hannahilea Nov 19, 2025
9dd8da5
more clean-up
hannahilea Nov 19, 2025
d0d57d6
comment out signedurlcachetest to see if everything else will build o…
hannahilea Nov 19, 2025
9f5f155
fix tests link, remove aws link from standalone
hannahilea Nov 20, 2025
0e4b204
revert top makefile.am changes
hannahilea Nov 20, 2025
ad58fb7
Add conf to aws unit-tests and reenable aws tests
hannahilea Nov 20, 2025
3856327
more test fixes
hannahilea Nov 20, 2025
6d768a4
add cmdln test that uses dmrpp
hannahilea Nov 20, 2025
b55605f
print testsuite log from travis
hannahilea Nov 21, 2025
438b6c2
add additional aws dep lib
hannahilea Nov 24, 2025
8f93f33
temp turn off .travis jobs
hannahilea Nov 24, 2025
70cf422
rearrange aws libs to attempt to fix static build
hannahilea Nov 25, 2025
5b6a07d
rearrange more
hannahilea Nov 25, 2025
c8211d8
one more switcharoo...
hannahilea Nov 25, 2025
7991d05
more rearrange
hannahilea Nov 25, 2025
7590c69
welp was making it worse
hannahilea Nov 25, 2025
55f7a77
add dmrpp check that doesn't fail if unauthorized
hannahilea Nov 26, 2025
145740a
temp disable another travis job
hannahilea Nov 26, 2025
b364550
fifteenth time's the charm
hannahilea Nov 26, 2025
1930786
Merge branch 'master' into hr/HYRAX-1732-TEA-party-3
hannahilea Nov 26, 2025
5a55213
you put the right dep in you put the right dep out
hannahilea Nov 26, 2025
41a0155
you put the right dep in and you shake it all about
hannahilea Nov 26, 2025
719a7d1
you do the linky pokey
hannahilea Nov 26, 2025
610e3e6
and you link it all around
hannahilea Nov 26, 2025
ea45f4a
but that's not what it's all about
hannahilea Nov 26, 2025
9f9d3d8
simplify
hannahilea Dec 1, 2025
6a82907
Add s2n now that it is available in hyrax-dependencies
hannahilea Dec 1, 2025
4498abc
Merge branch 'master' into hr/HYRAX-1732-TEA-party-3
hannahilea Dec 8, 2025
fa82269
shot in dark: maybe we don't need aws-crt-cpp
hannahilea Dec 8, 2025
7029be6
comment out travis again for failing fast
hannahilea Dec 8, 2025
d31f1d8
add crt back in
hannahilea Dec 8, 2025
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
178 changes: 89 additions & 89 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -144,22 +144,22 @@ stages:

jobs:
include:
- stage: build-and-package
name: "check"
script:
- export BES_BUILD=main
# - export RUNTESTFLAGS="-v"
- autoreconf --force --install --verbose
- ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps $GDAL_OPTION --enable-developer
- make -j16 && make install && besctl start && make check -j16 && besctl stop
# - stage: build-and-package
# name: "check"
# script:
# - export BES_BUILD=main
# # - export RUNTESTFLAGS="-v"
# - autoreconf --force --install --verbose
# - ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps $GDAL_OPTION --enable-developer
# - make -j16 && make install && besctl start && make check -j16 && besctl stop

- stage: build-and-package
name: "distcheck"
script:
- export BES_BUILD=distcheck
- autoreconf --force --install --verbose
- ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps $GDAL_OPTION--enable-developer
- make distcheck -j16 GZIP_ENV=--fast
# - stage: build-and-package
# name: "distcheck"
# script:
# - export BES_BUILD=distcheck
# - autoreconf --force --install --verbose
# - ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps $GDAL_OPTION--enable-developer
# - make distcheck -j16 GZIP_ENV=--fast

- stage: build-and-package
name: "Enterprise Linux 8 RPMs (via Rocky8)"
Expand All @@ -178,84 +178,84 @@ jobs:
--env AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY
opendap/rocky8_hyrax_builder:latest /root/travis/travis/build-rpm.sh

- stage: build-and-package
name: "dist"
script:
- export BES_BUILD=srcdist
- autoreconf --force --install --verbose
- ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps $GDAL_OPTION --with-build=$BES_BUILD_NUMBER
- make dist -j7
# Make both a bes-<version>-<build num> and bes-snapshot tar.gz. This will simplify
# other operations that use the bes source code. Note that the VERSION file holds a
# string that is the version number that is set by the configure script and the build
# number passed into configure when it is run. jhrg 3/23/21
- SOURCE_VERSION=$(cat bes_VERSION)
- mv bes-*.tar.gz bes-$SOURCE_VERSION.tar.gz
- cp bes-$SOURCE_VERSION.tar.gz bes-snapshot.tar.gz
# - stage: build-and-package
# name: "dist"
# script:
# - export BES_BUILD=srcdist
# - autoreconf --force --install --verbose
# - ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps $GDAL_OPTION --with-build=$BES_BUILD_NUMBER
# - make dist -j7
# # Make both a bes-<version>-<build num> and bes-snapshot tar.gz. This will simplify
# # other operations that use the bes source code. Note that the VERSION file holds a
# # string that is the version number that is set by the configure script and the build
# # number passed into configure when it is run. jhrg 3/23/21
# - SOURCE_VERSION=$(cat bes_VERSION)
# - mv bes-*.tar.gz bes-$SOURCE_VERSION.tar.gz
# - cp bes-$SOURCE_VERSION.tar.gz bes-snapshot.tar.gz

- stage: scan
name: "scan bes"
script:
- export BES_BUILD=sonar-bes-framework
- autoreconf --force --install --verbose
- ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --enable-developer --enable-coverage
- build-wrapper-linux-x86-64 --out-dir bw-output make -j16
- sonar-scanner -Dproject.settings=sonar-bes-framework.properties -Dsonar.login=$SONAR_LOGIN
- curl -s https://sonarcloud.io/api/project_badges/quality_gate?project=opendap-bes | grep "QUALITY GATE PASS"
# - stage: scan
# name: "scan bes"
# script:
# - export BES_BUILD=sonar-bes-framework
# - autoreconf --force --install --verbose
# - ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --enable-developer --enable-coverage
# - build-wrapper-linux-x86-64 --out-dir bw-output make -j16
# - sonar-scanner -Dproject.settings=sonar-bes-framework.properties -Dsonar.login=$SONAR_LOGIN
# - curl -s https://sonarcloud.io/api/project_badges/quality_gate?project=opendap-bes | grep "QUALITY GATE PASS"

- stage: scan
name: "scan bes-modules-1"
script:
- export BES_BUILD=sonar-bes-modules
- autoreconf --force --install --verbose
- ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --enable-developer --enable-coverage
- build-wrapper-linux-x86-64 --out-dir bw-output make -j16
- sonar-scanner -Dproject.settings=sonar-bes-modules-1.properties -Dsonar.login=$SONAR_MODULES_LOGIN
- curl -s https://sonarcloud.io/api/project_badges/quality_gate?project=opendap-bes-modules | grep "QUALITY GATE PASS"
# - stage: scan
# name: "scan bes-modules-1"
# script:
# - export BES_BUILD=sonar-bes-modules
# - autoreconf --force --install --verbose
# - ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --enable-developer --enable-coverage
# - build-wrapper-linux-x86-64 --out-dir bw-output make -j16
# - sonar-scanner -Dproject.settings=sonar-bes-modules-1.properties -Dsonar.login=$SONAR_MODULES_LOGIN
# - curl -s https://sonarcloud.io/api/project_badges/quality_gate?project=opendap-bes-modules | grep "QUALITY GATE PASS"

- stage: scan
name: "scan bes-hdf-handlers"
script:
- export BES_BUILD=sonar-bes-hdf-handlers
- autoreconf --force --install --verbose
- ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --enable-developer --enable-coverage
- build-wrapper-linux-x86-64 --out-dir bw-output make -j16
- sonar-scanner -Dproject.settings=sonar-bes-hdf-handlers.properties -Dsonar.login=$SONAR_SUBMODULES_LOGIN
# We call the hdf4/5 handlers scan opendap-bes-submodules for historical reasons. jhrg 1/13/22
- curl -s https://sonarcloud.io/api/project_badges/quality_gate?project=opendap-bes-submodules | grep "QUALITY GATE PASS"
# - stage: scan
# name: "scan bes-hdf-handlers"
# script:
# - export BES_BUILD=sonar-bes-hdf-handlers
# - autoreconf --force --install --verbose
# - ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --enable-developer --enable-coverage
# - build-wrapper-linux-x86-64 --out-dir bw-output make -j16
# - sonar-scanner -Dproject.settings=sonar-bes-hdf-handlers.properties -Dsonar.login=$SONAR_SUBMODULES_LOGIN
# # We call the hdf4/5 handlers scan opendap-bes-submodules for historical reasons. jhrg 1/13/22
# - curl -s https://sonarcloud.io/api/project_badges/quality_gate?project=opendap-bes-submodules | grep "QUALITY GATE PASS"

- stage: hyrax-olfs-trigger
name: "Hyrax OLFS Trigger"
script:
- export STAGE=hyrax-olfs
- echo $STAGE
- autoreconf --force --install --verbose
- ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --with-build=$BES_BUILD_NUMBER
- ./travis/trigger-olfs-build.sh
# - stage: hyrax-olfs-trigger
# name: "Hyrax OLFS Trigger"
# script:
# - export STAGE=hyrax-olfs
# - echo $STAGE
# - autoreconf --force --install --verbose
# - ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --with-build=$BES_BUILD_NUMBER
# - ./travis/trigger-olfs-build.sh

after_script:
- ./travis/upload-test-results.sh
# after_script:
# - ./travis/upload-test-results.sh

before_deploy:
- export DEPLOY="S3"
# Make sure that we have the target dir...
- mkdir -p $TRAVIS_BUILD_DIR/package;
# Source distribution prep (copies both the 'version' and 'snapshot')
- if test "$BES_BUILD" = "srcdist"; then cp bes-*.tar.gz $TRAVIS_BUILD_DIR/package; fi
# Rocky8 distribution prep
- if test "$BES_BUILD" = "rocky8"; then ./travis/rpm-to-package-dir.sh "el8"; fi
# Check for the stuff...
- ls -l $TRAVIS_BUILD_DIR/package
# before_deploy:
# - export DEPLOY="S3"
# # Make sure that we have the target dir...
# - mkdir -p $TRAVIS_BUILD_DIR/package;
# # Source distribution prep (copies both the 'version' and 'snapshot')
# - if test "$BES_BUILD" = "srcdist"; then cp bes-*.tar.gz $TRAVIS_BUILD_DIR/package; fi
# # Rocky8 distribution prep
# - if test "$BES_BUILD" = "rocky8"; then ./travis/rpm-to-package-dir.sh "el8"; fi
# # Check for the stuff...
# - ls -l $TRAVIS_BUILD_DIR/package

# The deploy section copies the snapshot build product our S3 bucket and to www.opendap.org
deploy:
# Push all build results to our S3 bucket
- provider: s3
access_key_id: $AWS_ACCESS_KEY_ID
secret_access_key: $AWS_SECRET_ACCESS_KEY
bucket: opendap.travis.build
skip_cleanup: true
local_dir: $TRAVIS_BUILD_DIR/package
on:
all_branches: true
condition: $BES_BUILD =~ ^rocky8|srcdist$
# # The deploy section copies the snapshot build product our S3 bucket and to www.opendap.org
# deploy:
# # Push all build results to our S3 bucket
# - provider: s3
# access_key_id: $AWS_ACCESS_KEY_ID
# secret_access_key: $AWS_SECRET_ACCESS_KEY
# bucket: opendap.travis.build
# skip_cleanup: true
# local_dir: $TRAVIS_BUILD_DIR/package
# on:
# all_branches: true
# condition: $BES_BUILD =~ ^rocky8|srcdist$
10 changes: 7 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -262,14 +262,18 @@ add_executable(
dap/ShowPathInfoResponseHandler.h
dap/TempFile.cc
dap/TempFile.h
dap/DapUtils.cc
dap/DapUtils.h
dap/DapUtils.cc
dap/DapUtils.h

dapreader/DapModule.cc
dapreader/DapModule.h
dapreader/DapRequestHandler.cc
dapreader/DapRequestHandler.h

aws/SignedUrlCache.cc
aws/SignedUrlCache.h
aws/unit-tests/SignedUrlCacheTest.cc

dispatch/PicoSHA2/example/hasher.cpp
dispatch/PicoSHA2/example/interactive_hasher.cpp
dispatch/PicoSHA2/test/test.cpp
Expand Down Expand Up @@ -414,7 +418,7 @@ add_executable(
dispatch/BESModuleApp.h
dispatch/BESNames.h
dispatch/BESNotFoundError.h
dispatch/BESObj.h
dispatch/BESObj.h
dispatch/BESPlugin.h
dispatch/BESPluginFactory.h
dispatch/BESProcIdResponseHandler.cc
Expand Down
10 changes: 7 additions & 3 deletions aws/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

AUTOMAKE_OPTIONS = foreign

AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/dispatch
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/dispatch -I$(top_srcdir)/http

if BES_DEVELOPER
AM_CPPFLAGS += -DBES_DEVELOPER
Expand All @@ -15,6 +15,8 @@ AM_CXXFLAGS=
AM_LDFLAGS =
include $(top_srcdir)/coverage.mk

LDADD = $(BES_HTTP_LIB)

SUBDIRS = . unit-tests

noinst_LTLIBRARIES = libbes_aws.la
Expand Down Expand Up @@ -47,5 +49,7 @@ cccc:
-mkdir $(C4_DIR)
cccc --outdir=$(C4_DIR) $(SRCS) $(HDRS)

SRCS = AWS_SDK.cc
HDRS = AWS_SDK.h IAWS_SDK.h
SRCS = AWS_SDK.cc \
SignedUrlCache.cc
HDRS = AWS_SDK.h IAWS_SDK.h \
SignedUrlCache.h
Loading