* gdal version needs to be locked in pyproject.toml to the same version
in the Dockerfile. Otherwise when new versions of gdal come out, the
build will attempt to use them and that may fail since the native code
won't be installed and pip will try to build the wheel and fail.
* Update stac-browser to 3.0.2 which fixes a build issue where upstream
packages changed and previous versions (3.0.0, 3.0.1) will no longer
build.
* Update packages to latest versions.
* Remove use of xargs and replace with a for loop to support
cross-platform use of the script.
* Fix retrieval of signed-in user object ID. If no value was found in
the id field, then try objectId. If that is not found, then fail the
script.
* Pass cloudName to stac-scaler deployment so deployment works on
sovereign or other non-public clouds.
* Switch to stac-fastapi-pgstac, since the pgstac backend was broken out
of the stac-fastapi project starting with version 2.4.6.
* Update naip deployment docs to make copy/paste easier
UAMI needs a few minutes to propagate through Azure AD and may cause timing issue in some tenants. So, a pause of 5 minutes is added after its creation.
The bicep template is not idempotent because the vnet and its subnets cannot be redeployed using bicep template. So, a solution was put in place earlier where deploymentScript would check the existence of the Vnet and conditionally deploy the vnet and its subnets. However, the deploymentScript does not re-run until the contents of the script changes.
So when it first runs, its output says the vnet does not exists. Subsequent deployments also use the same output since the deploymentScript is not re-run as the content of the script did not change.
As a fix, deleting the deploymentScript at the end of each run
* Remove API Management from the deployment
* Add nginx k8s ingress controller to route traffic to the stac API
* Add stac-browser
* Add blbostore proxy to allow for assets in storage to be accessed in
a secure manner
* Update dependencies and remove stac-fastapi workaround
* Update dependency versions for virtually all dependencies
* Remove workaround for a broken stac-fastapi version. Change code back
to once again pull a release from GitHub rather than cloning and
modifying the source.
* Sort/optimize imports
* Format code
* Fix flake8 errors
* Fix MyPy errors
* Fix issues found in testing.
* Add pyproject.toml configuration
* Update main entrypoint to work with pyproject.toml
* Remove requirements.txt and setup.py files
* Update Dockerfile to install non-editable version of the package
* Update self package imports to use common root of stac.
* Clean up APIM policies and fix db connection bug
* If the db connection fails to open, then the ingest collection
processor will fail when checking whether or not the connection is
open, since the type of the connection variable would be its default
string and not a Connection. Change type to Optional[Connection] and
also don't suppress the exception if the connection fails to open
while processing a message.
* Fix APIM policies. The re-writes on the STAC API now re-write the
internal service name to the external APIM host/path to the STAC API.
The storage account in use is specified in a named value, and URLs
with the storage account are re-written to send to the blobstore API
that is loaded in APIM.
* Change blobstore proxy to a wildcard url
* The previous version of the blobstore proxy would not work with deep
paths (e.g., anything that didn't match /container/filename). Instead,
change the URL to a wildcard so that any URL passed to /blobstore
gets passed to storage (with the /blobstore part of the path removed).
* Fix issue with sed commands on macOS.
* Adjust scripts that were checking required parameters--they were
attempting to allow the env var to be used instead of the positional
arg, but then were validating that the position arg was set vs the
environment variable (which is initialized with the positional arg
and a fallback to the env var value).
* Move secrets to Key Vault
* Remove use of unsed vars and dates in deployments
* Update pre-requisites for workload identity use
* Get latest Kubernetes Version for AKS Cluster
* Update with feedback for k8s version retrieval
* KEDA connector for scaling jobs
* Restructure folder and minor fixes to helm chart
* KEDA connector for scaling jobs
* Restructure folder and minor fixes to helm chart
* Parameterize messageCount
* Change Load Balancer to Internal
* Remove redundant stac-fastapi deployment folder
* Change folder name to processors
* KEDA connector for scaling jobs
* Restructure folder and minor fixes to helm chart
* KEDA connector for scaling jobs
* Restructure folder and minor fixes to helm chart
* Parameterize messageCount
* Change Load Balancer to Internal
* Remove redundant stac-fastapi deployment folder
* Change folder name to processors
* Change load balancer to internal load balancer
* Support message count for STAC processors
* Change for adding telemetry to processor
* Scaling cluster + HPA
* Add Ingestion script
* Code restructure and refactored
* Copyrights header added
* Parameterize maxPods and add gitignore folders
* Update namespace parameters to avoid overloading
* Reduce cmd line parameters for Helm
* Remove POD_NAME and NODE_NAME from env vars
* Add missing comment to __command.py
* Delete optional script to bulk ingest assets
* Delete obsolete folders
* Remove minimal values in favor of values.yaml
* Remove default value for required parameters
* Get loadbalancer IP from az cli cmd execution
* Update to use version 3 of psycopg
* Fix missing indentation
* Test and Finalized Helm chart changes
* Update deploy/helm/stac-scaler/templates/_checks.yaml
Co-authored-by: Brian Loss <brianloss@gmail.com>
* Upgrade to Keda 2.9.1
Co-authored-by: Brian Loss <brianloss@gmail.com>
* Don't use `pip freeze` to generate requirements.txt since it includes
all packages installed. Instead, just declare the true dependencies of
the project. Transitive dependencies will be installed automatically
by pip, and won't be locked to a specific version, which makes
package upgrades difficult (e.g., you upgrade a package version but
don't touch the versions of the dependencies).
* Upgrade psycopg2 to psycopg (version 3), and adjust for API changes
* Remove unused package imports.
* Fix issue where connection commit would be attempted even if there
was an exception calling the stored procedure.
* Complete message
* Change maxDeliveryCount and change back to original code
Co-authored-by: Ardon Bailey <arbailey@microsoft.com>
Co-authored-by: Kungumaraj Nachimuthu <kunachim@microsoft.com>
* Add supporting md files
* Resolve feedback items based on review
* Update CONTRIBUTING.md to update contributors list
* Add missing contributors github link