* attempt upgrade over CI
update shadowbox build node version
wild guess
try other image, not holding my breath
switch image back, try no --upgrade? lol
whoops wrong SHA
trying this tip out of hand - will make platform a env var next
apparently buildx is supposed to detect the platform - lets see
find replace yarn w/ npm
fix git hook
cache npm deps
proper lock and enforce engine
licenses are... generated by yarn lmao
some weird leftovers
explode out test workflow jobs
Title Case and check for cache hit
upgrade NPM
check version...
eh, worth a try
reinstall deps for now so we can debug downstream issues
use root bin
fix npm workspace, merge lint w/ setup
HMMM
attempt cache load
fix keys
remove restore-keys
regular install
attempt more "correct" npm approach
annoyingly caching ~/.npm doesn't cache the global npm version
less correct node_module cache, will roll back if doesn't work
er... node 15 :/, restore keys
changing key...?
permission setting so cache can properly hit
separate dependecy permission task
verbose chmod
fix sentry webhook
consistency thing
* print architecture
* attempt amd64-explicit node image
* attempt nodev16 upgrade
* ah, okay, let's try picking this hash
* fix node version reference and npm run clean
* revert untouched files caught in squash
* remove yarn from travis.yml
* testing ci
* npmrc comment, revert one of cis
* Update src/server_manager/web_app/run_gallery_action.sh
Co-authored-by: Vinicius Fortuna <fortuna@users.noreply.github.com>
* Update src/server_manager/web_app/run_action.sh
Co-authored-by: Vinicius Fortuna <fortuna@users.noreply.github.com>
* licenses change
* fix package-lock regression
* fix webpack-dev-server properly
* set install to ci in Dockerfile
* forgot to include the README
* add ci where it makes sense
* delete this part of the README
* missed one
* testing sub-node_modules
* better chmod
* prefer glob
* reset .github/workflows/test.yml
* oops, yarn in ci
* rename everything (#1006)
* Update test.yml
* check_requirements (#1008)
* reqcheck draft
* finish drafting script - need to test and add to hooks
* attempt to roll our own setup...
* remove setup script and rename a couple things
* remove this nightmare lol
* Update release_manager.yml
* Update test.yml
* 'do' -> 'action'
* run -> start
* Update src/shadowbox/docker/build.action.sh
Co-authored-by: Vinicius Fortuna <fortuna@users.noreply.github.com>
* Update README.md
* Update README.md
Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>
* rename 'action' to action
* add action list to run action itself
* Update src/shadowbox/README.md
Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>
* Update README.md
Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>
* Update scripts/run_action.sh
Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>
* Update src/server_manager/scripts/fill_packaging_opts.sh
Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>
* style guide fixes
* lower case fixes
* enforce major version
* Update scripts/run_action.sh
Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>
* Update package.json
Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>
Co-authored-by: Vinicius Fortuna <fortuna@users.noreply.github.com>
Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>
* Create an endpoint to change the server's hostname.
This is the backend only, and does not check if the hostname exists or points to a Shadowbox
server. Users have the responsibility of double checking that the
hostname and DNS if necessary are properly set up and specified.
* Updates
Changes validation to use regex.
Gets rid of a bad test
Uses paramtereized tests for better test output
Adds setHostname to AccessKeyRepository and calls it in the endpoint
* Integration tests
Also fixes missing dependency on ip-regex
* Remove validator from lockfile
* Ensure we correctly use Python 2 for Cloud SDK
* API for the new endpoint to change the server hostname. (#534)
* API for the new endpoint to change the server hostname.
I am sending it up now so we can iterate on it while I'm busy
implementing the endpoint. I will merge it into the feature branch when
it's done as opposed as into master.
* API for the new endpoint to change the server hostname.
I am sending it up now so we can iterate on it while I'm busy
implementing the endpoint. I will merge it into the feature branch when
it's done as opposed as into master.
* Remove 404 and 406 error states. Checking for a functioning Shadowbox
server requires knowledge of the API prefix, which creates layering
challenges. The UI will be able to make these checks, but users who
call the API directly will have to be careful not to put in an incorrect
hostname. The consequence of this would be that newly made access keys
won't work.
* Clarify API, change name, add validation errors
* Clarify description
* Remove the API response corresponding to a failed check against the new
hostname that it points to the same server
* Respond to review comments
* Rename endpoint and related functions
From the server's perspective, this does change the hostname for
existing access keys since on server load time (in the Server Manager)
we recalculate access key hostnames from the key repository.
* Respond to review comments
* Use version 1.2.0 since data limits is taking 1.1.0
* Fix update_mmdb and the Docker image to work on Alpine (#559)
* Fix the for loop in update_mmdb to be `dash` compatible
for x in {a..b} is bash-only, and alpine's default shell is `dash`.
* Fix other issues related to using musl/Busybox/dash
* Use `[[` instead of `((` for the branch
* Make sure to update to GNU coreutils in the image in order to use
`date --date`
* Respond to review comments
* UI for setting the hostname for access key invitations (#553)
* Increase Shadowbox version for data limits experiment (#544)
* Return the port for new access keys from GET /server. (#552)
This was accidentally removed in #537.
* UI for setting the hostname for access key invitations
This also includes some random typo fixes and QOL improvements.
To test, you can use
export SB_IMAGE=cohenjongoogle/shadowbox:latest
yarn do shadowbox/docker/run
then in a different terminal
yarn do server_manager/electron_app/run
and add the server
* Add back in new files
Also fixes a backward compatibility issues for servers which don't
support changing the hostname
* Respond to review comments
* Respond to review comments
* Respond to review comments
* Respond to review comments
* Use DB-IP's Geolocation database instead of MaxMind's (#557)
* Use DB-IP's free IP-to-Country database instead of MaxMind's
This avoids the necesseity to either (1) bundle MaxMind's database in
our docker image or (2) require server admins to individually create
MaxMind accounts due to the new requirements for using GeoLite2
databases. See https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases/
* Add attribution to DB-IP for the GeoIP database
* Make sure that we deal with lag between the changeover of the current
month and release of new versions of the DB-IP database
* Respond to review comments
* Attribute DB-IP in the update script
* Respond to review comments
* Respond to review comments
* Fix update_mmdb and the Docker image to work on Alpine (#559)
* Fix the for loop in update_mmdb to be `dash` compatible
for x in {a..b} is bash-only, and alpine's default shell is `dash`.
* Fix other issues related to using musl/Busybox/dash
* Use `[[` instead of `((` for the branch
* Make sure to update to GNU coreutils in the image in order to use
`date --date`
* Respond to review comments
* Update to Typescript 3.7 (#558)
See https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html for more information. Among the nice new features are optional chainging and null coalescing, and assertion functions, as well as some additional safety checks in the compiler
* Create an endpoint to change the server's hostname.
This is the backend only, and does not check if the hostname exists or points to a Shadowbox
server. Users have the responsibility of double checking that the
hostname and DNS if necessary are properly set up and specified.
* Updates
Changes validation to use regex.
Gets rid of a bad test
Uses paramtereized tests for better test output
Adds setHostname to AccessKeyRepository and calls it in the endpoint
* Integration tests
Also fixes missing dependency on ip-regex
* Remove validator from lockfile
* Ensure we correctly use Python 2 for Cloud SDK
* API for the new endpoint to change the server hostname. (#534)
* API for the new endpoint to change the server hostname.
I am sending it up now so we can iterate on it while I'm busy
implementing the endpoint. I will merge it into the feature branch when
it's done as opposed as into master.
* API for the new endpoint to change the server hostname.
I am sending it up now so we can iterate on it while I'm busy
implementing the endpoint. I will merge it into the feature branch when
it's done as opposed as into master.
* Remove 404 and 406 error states. Checking for a functioning Shadowbox
server requires knowledge of the API prefix, which creates layering
challenges. The UI will be able to make these checks, but users who
call the API directly will have to be careful not to put in an incorrect
hostname. The consequence of this would be that newly made access keys
won't work.
* Clarify API, change name, add validation errors
* Clarify description
* Remove the API response corresponding to a failed check against the new
hostname that it points to the same server
* Respond to review comments
* Rename endpoint and related functions
From the server's perspective, this does change the hostname for
existing access keys since on server load time (in the Server Manager)
we recalculate access key hostnames from the key repository.
* Respond to review comments
* Use version 1.2.0 since data limits is taking 1.1.0
* Fix update_mmdb and the Docker image to work on Alpine (#559)
* Fix the for loop in update_mmdb to be `dash` compatible
for x in {a..b} is bash-only, and alpine's default shell is `dash`.
* Fix other issues related to using musl/Busybox/dash
* Use `[[` instead of `((` for the branch
* Make sure to update to GNU coreutils in the image in order to use
`date --date`
* Respond to review comments
* UI for setting the hostname for access key invitations
This also includes some random typo fixes and QOL improvements.
To test, you can use
export SB_IMAGE=cohenjongoogle/shadowbox:latest
yarn do shadowbox/docker/run
then in a different terminal
yarn do server_manager/electron_app/run
and add the server
* Add back in new files
Also fixes a backward compatibility issues for servers which don't
support changing the hostname
* Respond to review comments
* Respond to review comments
* Respond to review comments
* Respond to review comments
* Fix messed up rebase
* merge
* Clear merge markers
Co-authored-by: alalamav <2132122+alalamav@users.noreply.github.com>
* Create an endpoint to change the server's hostname.
This is the backend only, and does not check if the hostname exists or points to a Shadowbox
server. Users have the responsibility of double checking that the
hostname and DNS if necessary are properly set up and specified.
* Updates
Changes validation to use regex.
Gets rid of a bad test
Uses paramtereized tests for better test output
Adds setHostname to AccessKeyRepository and calls it in the endpoint
* Integration tests
Also fixes missing dependency on ip-regex
* Remove validator from lockfile
* Ensure we correctly use Python 2 for Cloud SDK
* API for the new endpoint to change the server hostname. (#534)
* API for the new endpoint to change the server hostname.
I am sending it up now so we can iterate on it while I'm busy
implementing the endpoint. I will merge it into the feature branch when
it's done as opposed as into master.
* API for the new endpoint to change the server hostname.
I am sending it up now so we can iterate on it while I'm busy
implementing the endpoint. I will merge it into the feature branch when
it's done as opposed as into master.
* Remove 404 and 406 error states. Checking for a functioning Shadowbox
server requires knowledge of the API prefix, which creates layering
challenges. The UI will be able to make these checks, but users who
call the API directly will have to be careful not to put in an incorrect
hostname. The consequence of this would be that newly made access keys
won't work.
* Clarify API, change name, add validation errors
* Clarify description
* Remove the API response corresponding to a failed check against the new
hostname that it points to the same server
* Respond to review comments
* Rename endpoint and related functions
From the server's perspective, this does change the hostname for
existing access keys since on server load time (in the Server Manager)
we recalculate access key hostnames from the key repository.
* Respond to review comments
* Use version 1.2.0 since data limits is taking 1.1.0
* UI for setting the hostname for access key invitations (#553)
* Increase Shadowbox version for data limits experiment (#544)
* Return the port for new access keys from GET /server. (#552)
This was accidentally removed in #537.
* UI for setting the hostname for access key invitations
This also includes some random typo fixes and QOL improvements.
To test, you can use
export SB_IMAGE=cohenjongoogle/shadowbox:latest
yarn do shadowbox/docker/run
then in a different terminal
yarn do server_manager/electron_app/run
and add the server
* Add back in new files
Also fixes a backward compatibility issues for servers which don't
support changing the hostname
* Respond to review comments
* Respond to review comments
* Respond to review comments
* Respond to review comments
* Use DB-IP's Geolocation database instead of MaxMind's (#557)
* Use DB-IP's free IP-to-Country database instead of MaxMind's
This avoids the necesseity to either (1) bundle MaxMind's database in
our docker image or (2) require server admins to individually create
MaxMind accounts due to the new requirements for using GeoLite2
databases. See https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases/
* Add attribution to DB-IP for the GeoIP database
* Make sure that we deal with lag between the changeover of the current
month and release of new versions of the DB-IP database
* Respond to review comments
* Attribute DB-IP in the update script
* Respond to review comments
* Respond to review comments
* Fix update_mmdb and the Docker image to work on Alpine (#559)
* Fix the for loop in update_mmdb to be `dash` compatible
for x in {a..b} is bash-only, and alpine's default shell is `dash`.
* Fix other issues related to using musl/Busybox/dash
* Use `[[` instead of `((` for the branch
* Make sure to update to GNU coreutils in the image in order to use
`date --date`
* Respond to review comments
* Update to Typescript 3.7 (#558)
See https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html for more information. Among the nice new features are optional chainging and null coalescing, and assertion functions, as well as some additional safety checks in the compiler
* Create an endpoint to change the server's hostname.
This is the backend only, and does not check if the hostname exists or points to a Shadowbox
server. Users have the responsibility of double checking that the
hostname and DNS if necessary are properly set up and specified.
* Updates
Changes validation to use regex.
Gets rid of a bad test
Uses paramtereized tests for better test output
Adds setHostname to AccessKeyRepository and calls it in the endpoint
* Integration tests
Also fixes missing dependency on ip-regex
* Remove validator from lockfile
* Ensure we correctly use Python 2 for Cloud SDK
* API for the new endpoint to change the server hostname. (#534)
* API for the new endpoint to change the server hostname.
I am sending it up now so we can iterate on it while I'm busy
implementing the endpoint. I will merge it into the feature branch when
it's done as opposed as into master.
* API for the new endpoint to change the server hostname.
I am sending it up now so we can iterate on it while I'm busy
implementing the endpoint. I will merge it into the feature branch when
it's done as opposed as into master.
* Remove 404 and 406 error states. Checking for a functioning Shadowbox
server requires knowledge of the API prefix, which creates layering
challenges. The UI will be able to make these checks, but users who
call the API directly will have to be careful not to put in an incorrect
hostname. The consequence of this would be that newly made access keys
won't work.
* Clarify API, change name, add validation errors
* Clarify description
* Remove the API response corresponding to a failed check against the new
hostname that it points to the same server
* Respond to review comments
* Rename endpoint and related functions
From the server's perspective, this does change the hostname for
existing access keys since on server load time (in the Server Manager)
we recalculate access key hostnames from the key repository.
* Respond to review comments
* Use version 1.2.0 since data limits is taking 1.1.0
* Fix update_mmdb and the Docker image to work on Alpine (#559)
* Fix the for loop in update_mmdb to be `dash` compatible
for x in {a..b} is bash-only, and alpine's default shell is `dash`.
* Fix other issues related to using musl/Busybox/dash
* Use `[[` instead of `((` for the branch
* Make sure to update to GNU coreutils in the image in order to use
`date --date`
* Respond to review comments
* UI for setting the hostname for access key invitations
This also includes some random typo fixes and QOL improvements.
To test, you can use
export SB_IMAGE=cohenjongoogle/shadowbox:latest
yarn do shadowbox/docker/run
then in a different terminal
yarn do server_manager/electron_app/run
and add the server
* Add back in new files
Also fixes a backward compatibility issues for servers which don't
support changing the hostname
* Respond to review comments
* Respond to review comments
* Respond to review comments
* Respond to review comments
* Fix messed up rebase
* merge
* Clear merge markers
Co-authored-by: alalamav <2132122+alalamav@users.noreply.github.com>
Co-authored-by: alalamav <2132122+alalamav@users.noreply.github.com>
* Fix the for loop in update_mmdb to be `dash` compatible
for x in {a..b} is bash-only, and alpine's default shell is `dash`.
* Fix other issues related to using musl/Busybox/dash
* Use `[[` instead of `((` for the branch
* Make sure to update to GNU coreutils in the image in order to use
`date --date`
* Respond to review comments
* Use DB-IP's free IP-to-Country database instead of MaxMind's
This avoids the necesseity to either (1) bundle MaxMind's database in
our docker image or (2) require server admins to individually create
MaxMind accounts due to the new requirements for using GeoLite2
databases. See https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases/
* Add attribution to DB-IP for the GeoIP database
* Make sure that we deal with lag between the changeover of the current
month and release of new versions of the DB-IP database
* Respond to review comments
* Attribute DB-IP in the update script
* Respond to review comments
* Respond to review comments
* Get public hostname from config file
* Tidy up
* Respond to Review Comments
At some point down the line I royally screwed up my git history and
reverted a bunch of changes. I'm not sure what or when, so I `git reset --hard 1cd28e4` and tried to redo my
past responses to comments from there.
* Export SB_PUBLIC_IP in cmd.sh
* respond to review comments
* Review response