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

add draft config for opera-rtc-s1-browse service #1

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
29 changes: 29 additions & 0 deletions config/services.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,35 @@ x-turbo-config: &default-turbo-config

https://cmr.earthdata.nasa.gov:

- name: asf/opera-rtc-s1-browse
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll want to create another copy of this service under https://cmr.uat.earthdata.nasa.gov before merging into nasa/harmony.

description: Service that generates GIBS-compliant browse imagery for the OPERA_L2_RTC-S1 collection
data_operation_version: '0.18.0'
type:
<<: *default-turbo-config
params:
<<: *default-turbo-params
env:
<<: *default-turbo-env
STAGING_PATH: public/asf/opera-rtc-s1-browse
umm_s: 'TODO'
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll need to create a UMM-S service record in CMR UAT and CMR Prod and update this field before merging into nasa/harmony.

collections:
- id: C2777436413-ASF
granule_limit: 1000
maximum_sync_granules: 0
capabilities:
concatenation: false
subsetting:
bbox: false
variable: false
temporal: false
output_formats:
- image/png
reprojection: true
steps:
- image: !Env ${QUERY_CMR_IMAGE}
- image: !Env ${OPERA_RTC_S1_BROWSE_IMAGE}
- image: !Env ${HYBIG_IMAGE}

- name: harmony/download
description: Service that performs no processing, it only returns download links for all of the matched granules from the CMR.
data_operation_version: '0.20.0'
Expand Down
8 changes: 7 additions & 1 deletion services/harmony/env-defaults
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ LOG_STDOUT=false
# a variable name of GIOVANNI_ADAPTER_IMAGE you would specify giovanni-adapter (converting to lowercase
# and dash case and dropping _IMAGE. Make sure if the image for the service is not publicly available
# that you have built the docker image locally, otherwise the service will fail to start.
LOCALLY_DEPLOYED_SERVICES=harmony-service-example
LOCALLY_DEPLOYED_SERVICES=harmony-service-example,opera-rtc-s1-browse,hybig
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll revert the change to this line before we merge into nasa/harmony

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Harmony team points out that we can override any of these settings in our local .env file to facilitate local development, so we can avoid committing one-off changes like this in the future.


# Local development: Use the following to set the Kubernetes context used by start scripts
# minikube users should set it to "minikube"
Expand Down Expand Up @@ -511,3 +511,9 @@ NET2COG_LIMITS_CPU=128m
NET2COG_LIMITS_MEMORY=512Mi
NET2COG_INVOCATION_ARGS='./docker-entrypoint.sh'
NET2COG_QUEUE_URLS='["ghcr.io/podaac/net2cog:SIT,http://sqs.us-west-2.localhost.localstack.cloud:4566/000000000000/net2cog.fifo"]'

OPERA_RTC_S1_BROWSE_IMAGE=ghcr.io/asfhyp3/opera-rtc-s1-browse:test
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll want to update the image label here (and below in SERVICE_QUEUE_URLS) before merging to nasa/harmony. I imagine we'll used a fixed version, e.g. 1.0.0, and use that for both the UAT and Production configs. Then the deployment workflow is ASF releases a new container, PR goes into nasa/harmony to update the version number, change to nasa/harmony is deployed to harmony UAT and validated, then change is deployed to harmony Prod.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per the Harmony team, the image tags here are not the source of truth for what's deployed to each Harmony environment. They're only the image that is deployed the very first time a service is added to an environment. After that teams can manage the specific tag deployed to a specific environment via the Harmony service-image-tag api

OPERA_RTC_S1_BROWSE_REQUESTS_MEMORY=512Mi
OPERA_RTC_S1_BROWSE_LIMITS_MEMORY=512Mi
OPERA_RTC_S1_BROWSE_INVOCATION_ARGS='/usr/local/bin/_entrypoint.sh python -m opera_rtc_s1_browse.harmony_service'
OPERA_RTC_S1_BROWSE_SERVICE_QUEUE_URLS='["ghcr.io/asfhyp3/opera-rtc-s1-browse:test,http://sqs.us-west-2.localhost.localstack.cloud:4566/000000000000/opera-rtc-s1-browse.fifo"]'