diff --git a/.github/workflows/chartpress.yaml b/.github/workflows/chartpress.yaml index 17f638a2..43553543 100644 --- a/.github/workflows/chartpress.yaml +++ b/.github/workflows/chartpress.yaml @@ -5,7 +5,7 @@ on: - 'main' - 'staging' - 'development' - - 'fix/tiler_server' + - 'refactor/web_docker' jobs: build: runs-on: ubuntu-20.04 @@ -74,8 +74,6 @@ jobs: DEVELOPMENT_NOMINATIM_PG_PASSWORD: ${{ secrets.STAGING_NOMINATIM_PG_PASSWORD }} ## osmcha DEVELOPMENT_OSMCHA_PG_PASSWORD: ${{ secrets.STAGING_OSMCHA_PG_PASSWORD }} - DEVELOPMENT_OSMCHA_API_CONSUMER_KEY: ${{ secrets.STAGING_OSMCHA_API_CONSUMER_KEY }} - DEVELOPMENT_OSMCHA_API_CONSUMER_SECRET: ${{ secrets.STAGING_OSMCHA_API_CONSUMER_SECRET }} DEVELOPMENT_OSMCHA_DJANGO_SECRET_KEY: ${{ secrets.STAGING_OSMCHA_DJANGO_SECRET_KEY }} DEVELOPMENT_OSMCHA_REACT_APP_MAPBOX_ACCESS_TOKEN: ${{ secrets.STAGING_OSMCHA_REACT_APP_MAPBOX_ACCESS_TOKEN }} OHM_SLACK_WEBHOOK_URL: ${{ secrets.OHM_SLACK_WEBHOOK_URL }} @@ -122,8 +120,6 @@ jobs: STAGING_NOMINATIM_PG_PASSWORD: ${{ secrets.STAGING_NOMINATIM_PG_PASSWORD }} ## osmcha STAGING_OSMCHA_PG_PASSWORD: ${{ secrets.STAGING_OSMCHA_PG_PASSWORD }} - STAGING_OSMCHA_API_CONSUMER_KEY: ${{ secrets.STAGING_OSMCHA_API_CONSUMER_KEY }} - STAGING_OSMCHA_API_CONSUMER_SECRET: ${{ secrets.STAGING_OSMCHA_API_CONSUMER_SECRET }} STAGING_OSMCHA_DJANGO_SECRET_KEY: ${{ secrets.STAGING_OSMCHA_DJANGO_SECRET_KEY }} STAGING_OSMCHA_REACT_APP_MAPBOX_ACCESS_TOKEN: ${{ secrets.STAGING_OSMCHA_REACT_APP_MAPBOX_ACCESS_TOKEN }} OHM_SLACK_WEBHOOK_URL: ${{ secrets.OHM_SLACK_WEBHOOK_URL }} @@ -173,8 +169,6 @@ jobs: PRODUCTION_NOMINATIM_PG_PASSWORD: ${{ secrets.PRODUCTION_NOMINATIM_PG_PASSWORD }} ## osmcha PRODUCTION_OSMCHA_PG_PASSWORD: ${{ secrets.PRODUCTION_OSMCHA_PG_PASSWORD }} - PRODUCTION_OSMCHA_API_CONSUMER_KEY: ${{ secrets.PRODUCTION_OSMCHA_API_CONSUMER_KEY }} - PRODUCTION_OSMCHA_API_CONSUMER_SECRET: ${{ secrets.PRODUCTION_OSMCHA_API_CONSUMER_SECRET }} PRODUCTION_OSMCHA_DJANGO_SECRET_KEY: ${{ secrets.PRODUCTION_OSMCHA_DJANGO_SECRET_KEY }} PRODUCTION_OSMCHA_REACT_APP_MAPBOX_ACCESS_TOKEN: ${{ secrets.PRODUCTION_OSMCHA_REACT_APP_MAPBOX_ACCESS_TOKEN }} OHM_SLACK_WEBHOOK_URL: ${{ secrets.OHM_SLACK_WEBHOOK_URL }} diff --git a/.gitignore b/.gitignore index cde87a55..facf750e 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ data/ images/.env images/tiler.yml values.dev.yaml +values.osmcha.yaml secrets tegola envs/.env.tiler @@ -17,4 +18,4 @@ config.osm.toml */.DS_Store .env values.dev.staging.yaml -images/tiler-server/utils/exec.sh \ No newline at end of file +images/tiler-server/utils/exec.sh diff --git a/chartpress.yaml b/chartpress.yaml index 5e1e3de7..c81b43f4 100644 --- a/chartpress.yaml +++ b/chartpress.yaml @@ -16,3 +16,6 @@ charts: valuesPath: osm-seed.tmApi.image tiler-cache: valuesPath: ohm.tilerCache.image + cgimap: + valuesPath: ohm.cgimap.image + diff --git a/compose/README.md b/compose/README.md index 9a028ff5..9437a0a2 100644 --- a/compose/README.md +++ b/compose/README.md @@ -1,9 +1,21 @@ -## Development Mode +# Development Mode -Compose files are for development mode, e.g.: -- Tiler DB +## Web Api + +Make a coppy of the enviroment files `envs/.env.web.example` file and name it `envs/.env.web`. + +```sh +docker compose -f compose/web.yml build +docker compose -f compose/web.yml up db -d +docker compose -f compose/web.yml up memcached -d +docker compose -f compose/web.yml run --service-ports web bash +``` + +## Tiler server +Make a coppy of the enviroment files `envs/.env.tiler.example` file and name it `envs/.env.tiler`. ```sh +docker compose -f compose/tiler.yml build docker compose -f compose/tiler.yml run --service-ports tiler bash ``` diff --git a/compose/web.yml b/compose/web.yml index d7f6f9ee..32c48a84 100644 --- a/compose/web.yml +++ b/compose/web.yml @@ -1,4 +1,3 @@ -version: '3.8' services: db: platform: linux/amd64 @@ -8,19 +7,38 @@ services: dockerfile: Dockerfile ports: - '5432:5432' - volumes: - - ./data/db-data:/var/lib/postgresql/data env_file: - ./../envs/.env.web + restart: always + networks: + - web_network + web: image: ohm-web:v1 build: context: ./../images/web dockerfile: Dockerfile - ports: - - '80:80' + volumes: + - ./../../ohm-website/:/var/www/ + - ./../images/web/config/settings.yml:/tmp/settings.yml:rw + - ./../images/web/start.sh:/var/www/start.sh env_file: - ./../envs/.env.web -####### Enable for development mode -# volumes: -# - ./../../ohm-website:/var/www + ports: + - '3000:3000' + networks: + - web_network + depends_on: + - db + - memcached + + memcached: + image: memcached:latest + ports: + - '11211:11211' + networks: + - web_network + +networks: + web_network: + driver: bridge diff --git a/images/cgimap/Dockerfile b/images/cgimap/Dockerfile new file mode 100644 index 00000000..1763cee5 --- /dev/null +++ b/images/cgimap/Dockerfile @@ -0,0 +1,48 @@ +FROM ruby:3.3.0 +ENV DEBIAN_FRONTEND=noninteractive +ENV workdir=/var/www + +# Production OSM setup +ENV RAILS_ENV=production + +# Install the openstreetmap-website dependencies +RUN apt-get update \ + && apt-get install -y \ + libmagickwand-dev libxml2-dev libxslt1-dev \ + apache2 apache2-dev build-essential git-core postgresql-client \ + libpq-dev libsasl2-dev imagemagick libffi-dev libgd-dev libarchive-dev libbz2-dev curl \ + default-jre-headless file gpg-agent libvips-dev locales software-properties-common tzdata unzip \ + advancecomp gifsicle libjpeg-progs jhead jpegoptim optipng pngcrush pngquant \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +# Install node +RUN curl -sL https://deb.nodesource.com/setup_18.x | bash - +RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - +RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list +RUN apt-get update && apt-get install -y nodejs yarn && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# Install openstreetmap-cgimap requirements +RUN apt-get update && apt-get -y install libxml2-dev libpqxx-dev libfcgi-dev zlib1g-dev libbrotli-dev \ + libboost-program-options-dev libfmt-dev libmemcached-dev libcrypto++-dev \ + libargon2-dev libyajl-dev cmake libapache2-mod-fcgid && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# Install cgimap v2.0.1 +ENV cgimap=/tmp/openstreetmap-cgimap +ENV CGIMAP_GITSHA=8ea707e10aeab5698e6859856111816d75354592 +RUN git clone -b master https://github.com/zerebubuth/openstreetmap-cgimap.git $cgimap \ + && cd $cgimap \ + && git checkout $CGIMAP_GITSHA \ + && rm -rf .git \ + && mkdir build \ + && cd build \ + && cmake .. \ + && cmake --build . + +RUN cp $cgimap/build/openstreetmap-cgimap /usr/local/bin/ && rm -rf $cgimap + +RUN echo "/usr/local/lib" > /etc/ld.so.conf.d/local_libs.conf && ldconfig diff --git a/images/web/Dockerfile b/images/web/Dockerfile index 065de1e1..64d8d37a 100644 --- a/images/web/Dockerfile +++ b/images/web/Dockerfile @@ -1,51 +1,4 @@ -FROM ruby:3.3.0 -ENV DEBIAN_FRONTEND=noninteractive -ENV workdir=/var/www - -# Production OSM setup -ENV RAILS_ENV=production - -# Install the openstreetmap-website dependencies -RUN apt-get update \ - && apt-get install -y \ - libmagickwand-dev libxml2-dev libxslt1-dev \ - apache2 apache2-dev build-essential git-core postgresql-client \ - libpq-dev libsasl2-dev imagemagick libffi-dev libgd-dev libarchive-dev libbz2-dev curl \ - default-jre-headless file gpg-agent libvips-dev locales software-properties-common tzdata unzip \ - advancecomp gifsicle libjpeg-progs jhead jpegoptim optipng pngcrush pngquant \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* - -# Install node -RUN curl -sL https://deb.nodesource.com/setup_18.x | bash - -RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - -RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list -RUN apt-get update && apt-get install -y nodejs yarn && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -# Install openstreetmap-cgimap requirements -RUN apt-get update && apt-get -y install libxml2-dev libpqxx-dev libfcgi-dev zlib1g-dev libbrotli-dev \ - libboost-program-options-dev libfmt-dev libmemcached-dev libcrypto++-dev \ - libargon2-dev libyajl-dev cmake libapache2-mod-fcgid && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -# Install cgimap v2.0.1 -ENV cgimap=/tmp/openstreetmap-cgimap -ENV CGIMAP_GITSHA=8ea707e10aeab5698e6859856111816d75354592 -RUN git clone -b master https://github.com/zerebubuth/openstreetmap-cgimap.git $cgimap \ - && cd $cgimap \ - && git checkout $CGIMAP_GITSHA \ - && rm -rf .git \ - && mkdir build \ - && cd build \ - && cmake .. \ - && cmake --build . - -RUN cp $cgimap/build/openstreetmap-cgimap /usr/local/bin/ && rm -rf $cgimap - -RUN echo "/usr/local/lib" > /etc/ld.so.conf.d/local_libs.conf && ldconfig +FROM ghcr.io/openhistoricalmap/cgimap:0.0.1-0.dev.git.2087.h94d548c # Install Passenger RUN gem install passenger && passenger-install-apache2-module --auto diff --git a/images/web/start.sh b/images/web/start.sh index e7f8cbab..a295e706 100755 --- a/images/web/start.sh +++ b/images/web/start.sh @@ -1,118 +1,149 @@ #!/usr/bin/env bash workdir="/var/www" export RAILS_ENV=production -#### Because we can not set up many env variable in build process, we are going to process here! -#### Setting up the production database -echo " # Production DB +setup_env_vars() { + #### Setting up the production database + cat < "$workdir/config/database.yml" production: adapter: postgresql host: ${POSTGRES_HOST} database: ${POSTGRES_DB} username: ${POSTGRES_USER} password: ${POSTGRES_PASSWORD} - encoding: utf8" >$workdir/config/database.yml + encoding: utf8 +EOF -#### Setting up S3 storage -if [ "$RAILS_STORAGE_SERVICE" == "s3" ]; then - if [ -z "$RAILS_STORAGE_REGION" ] || [ -z "$RAILS_STORAGE_BUCKET" ]; then - echo "Error: Missing RAILS_STORAGE_REGION or RAILS_STORAGE_BUCKET environment variable." - exit 1 - fi + ##### Setting up S3 storage + if [ "$RAILS_STORAGE_SERVICE" == "s3" ]; then + [[ -z "$RAILS_STORAGE_REGION" || -z "$RAILS_STORAGE_BUCKET" ]] && { + echo "Error: RAILS_STORAGE_REGION or RAILS_STORAGE_BUCKET not set." + exit 1 + } - echo " + cat <> "$workdir/config/storage.yml" s3: service: S3 region: '$RAILS_STORAGE_REGION' - bucket: '$RAILS_STORAGE_BUCKET'" >> $workdir/config/storage.yml + bucket: '$RAILS_STORAGE_BUCKET' +EOF + echo "S3 storage configuration set successfully." + fi - sed -i -e 's/^avatar_storage: ".*"/avatar_storage: "'$RAILS_STORAGE_SERVICE'"/g' $workdir/config/settings.yml - sed -i -e 's/^trace_file_storage: ".*"/trace_file_storage: "'$RAILS_STORAGE_SERVICE'"/g' $workdir/config/settings.yml - sed -i -e 's/^trace_image_storage: ".*"/trace_image_storage: "'$RAILS_STORAGE_SERVICE'"/g' $workdir/config/settings.yml - sed -i -e 's/^trace_icon_storage: ".*"/trace_icon_storage: "'$RAILS_STORAGE_SERVICE'"/g' $workdir/config/settings.yml - sed -i "s/config.active_storage.service = :local/config.active_storage.service = :${RAILS_STORAGE_SERVICE}/g" $workdir/config/environments/production.rb + #### Initializing an empty $workdir/config/settings.local.yml file, typically used for development settings + echo "" > $workdir/config/settings.local.yml -else - echo "RAILS_STORAGE_SERVICE is not set to 's3', skipping configuration." -fi + #### Setting up server_url and server_protocol + sed -i -e 's/^server_protocol: ".*"/server_protocol: "'$SERVER_PROTOCOL'"/g' $workdir/config/settings.yml + sed -i -e 's/^server_url: ".*"/server_url: "'$SERVER_URL'"/g' $workdir/config/settings.yml -#### Initializing an empty $workdir/config/settings.local.yml file, typically used for development settings -echo "" > $workdir/config/settings.local.yml - -#### Setting up server_url and server_protocol -sed -i -e 's/^server_protocol: ".*"/server_protocol: "'$SERVER_PROTOCOL'"/g' $workdir/config/settings.yml -sed -i -e 's/^server_url: ".*"/server_url: "'$SERVER_URL'"/g' $workdir/config/settings.yml - -### Setting up website status -sed -i -e 's/^status: ".*"/status: "'$WEBSITE_STATUS'"/g' $workdir/config/settings.yml - -#### Setting up mail sender -sed -i -e 's/smtp_address: ".*"/smtp_address: "'$MAILER_ADDRESS'"/g' $workdir/config/settings.yml -sed -i -e 's/smtp_port: .*/smtp_port: '$MAILER_PORT'/g' $workdir/config/settings.yml -sed -i -e 's/smtp_domain: ".*"/smtp_domain: "'$MAILER_DOMAIN'"/g' $workdir/config/settings.yml -sed -i -e 's/smtp_authentication: .*/smtp_authentication: "login"/g' $workdir/config/settings.yml -sed -i -e 's/smtp_user_name: .*/smtp_user_name: "'$MAILER_USERNAME'"/g' $workdir/config/settings.yml -sed -i -e 's/smtp_password: .*/smtp_password: "'$MAILER_PASSWORD'"/g' $workdir/config/settings.yml - -### Setting up oauth id and key for iD editor -sed -i -e 's/^oauth_application: ".*"/oauth_application: "'$OAUTH_CLIENT_ID'"/g' $workdir/config/settings.yml -sed -i -e 's/^oauth_key: ".*"/oauth_key: "'$OAUTH_KEY'"/g' $workdir/config/settings.yml - -#### Setting up id key for the website -sed -i -e 's/^id_application: ".*"/id_application: "'$OPENSTREETMAP_id_key'"/g' $workdir/config/settings.yml - -#### Setup env vars for memcached server -sed -i -e 's/memcache_servers: \[\]/memcache_servers: "'$OPENSTREETMAP_memcache_servers'"/g' $workdir/config/settings.yml - -#### Setting up nominatim url -sed -i -e 's/nominatim-api.openhistoricalmap.org/'$NOMINATIM_URL'/g' $workdir/config/settings.yml - -## Setting up overpass url -sed -i -e 's/overpass-api.openhistoricalmap.org/'$OVERPASS_URL'/g' $workdir/config/settings.yml -sed -i -e 's/overpass-api.de/'$OVERPASS_URL'/g' $workdir/app/views/site/export.html.erb -sed -i -e 's/overpass-api.de/'$OVERPASS_URL'/g' $workdir/app/assets/javascripts/index/export.js - -## Setting up required credentials -echo $RAILS_CREDENTIALS_YML_ENC > config/credentials.yml.enc -echo $RAILS_MASTER_KEY > config/master.key -chmod 600 config/credentials.yml.enc config/master.key - -#### Adding doorkeeper_signing_key -openssl genpkey -algorithm RSA -out private.pem -chmod 400 /var/www/private.pem -export DOORKEEPER_SIGNING_KEY=$(cat /var/www/private.pem | sed -e '1d;$d' | tr -d '\n') -sed -i "s#PRIVATE_KEY#${DOORKEEPER_SIGNING_KEY}#" $workdir/config/settings.yml - -#### Updating map-styles -python3 update_map_styles.py - -#### Checking if db is already up and start the app -flag=true -while "$flag" = true; do - pg_isready -h $POSTGRES_HOST -p 5432 >/dev/null 2>&2 || continue - flag=false - # Print the log while compiling the assets - until $(curl -sf -o /dev/null $SERVER_URL); do - echo "Waiting to start rails ports server..." - sleep 2 - done & + ### Setting up website status + sed -i -e 's/^status: ".*"/status: "'$WEBSITE_STATUS'"/g' $workdir/config/settings.yml - # Enable assets:precompile - time bundle exec rake i18n:js:export assets:precompile + #### Setting up mail sender + sed -i -e 's/smtp_address: ".*"/smtp_address: "'$MAILER_ADDRESS'"/g' $workdir/config/settings.yml + sed -i -e 's/smtp_port: .*/smtp_port: '$MAILER_PORT'/g' $workdir/config/settings.yml + sed -i -e 's/smtp_domain: ".*"/smtp_domain: "'$MAILER_DOMAIN'"/g' $workdir/config/settings.yml + sed -i -e 's/smtp_authentication: .*/smtp_authentication: "login"/g' $workdir/config/settings.yml + sed -i -e 's/smtp_user_name: .*/smtp_user_name: "'$MAILER_USERNAME'"/g' $workdir/config/settings.yml + sed -i -e 's/smtp_password: .*/smtp_password: "'$MAILER_PASSWORD'"/g' $workdir/config/settings.yml - # Since leaflet-ohm-timeslider.css points directly to the svg files, they need to be copied to the public/assets directory. - cp $workdir/public/leaflet-ohm-timeslider-v2/assets/* $workdir/public/assets/ + ### Setting up oauth id and key for iD editor + sed -i -e 's/^oauth_application: ".*"/oauth_application: "'$OAUTH_CLIENT_ID'"/g' $workdir/config/settings.yml + sed -i -e 's/^oauth_key: ".*"/oauth_key: "'$OAUTH_KEY'"/g' $workdir/config/settings.yml - bundle exec rails db:migrate + #### Setting up id key for the website + sed -i -e 's/^id_application: ".*"/id_application: "'$OPENSTREETMAP_id_key'"/g' $workdir/config/settings.yml - # Start cgimap - ./cgimap.sh - - apachectl -k start -DFOREGROUND & - # Loop to restart rake job every hour + #### Setup env vars for memcached server + sed -i -e 's/memcache_servers: \[\]/memcache_servers: "'$OPENSTREETMAP_memcache_servers'"/g' $workdir/config/settings.yml + + #### Setting up nominatim url + sed -i -e 's/nominatim-api.openhistoricalmap.org/'$NOMINATIM_URL'/g' $workdir/config/settings.yml + + ## Setting up overpass url + sed -i -e 's/overpass-api.openhistoricalmap.org/'$OVERPASS_URL'/g' $workdir/config/settings.yml + sed -i -e 's/overpass-api.de/'$OVERPASS_URL'/g' $workdir/app/views/site/export.html.erb + sed -i -e 's/overpass-api.de/'$OVERPASS_URL'/g' $workdir/app/assets/javascripts/index/export.js + + ## Setting up required credentials + echo $RAILS_CREDENTIALS_YML_ENC > config/credentials.yml.enc + echo $RAILS_MASTER_KEY > config/master.key + chmod 600 config/credentials.yml.enc config/master.key + + #### Adding doorkeeper_signing_key + openssl genpkey -algorithm RSA -out private.pem + chmod 400 /var/www/private.pem + export DOORKEEPER_SIGNING_KEY=$(cat /var/www/private.pem | sed -e '1d;$d' | tr -d '\n') + sed -i "s#PRIVATE_KEY#${DOORKEEPER_SIGNING_KEY}#" $workdir/config/settings.yml +} + + + +restore_db() { + export PGPASSWORD="$POSTGRES_PASSWORD" + curl -s -o backup.sql "$BACKUP_FILE_URL" || { + echo "Error: Failed to download backup file." + exit 1 + } + + psql -h "$POSTGRES_HOST" -U "$POSTGRES_USER" -d "$POSTGRES_DB" -f backup.sql && \ + echo "Database restored successfully." || \ + { echo "Database restore failed."; exit 1; } +} + +start_background_jobs() { while true; do pkill -f "rake jobs:work" - bundle exec rake jobs:work --trace >> $workdir/log/jobs_work.log 2>&1 & + bundle exec rake jobs:work --trace >> "$workdir/log/jobs_work.log" 2>&1 & + echo "Restarted rake jobs at $(date)" sleep 1h done -done +} + +setup_production() { + setup_env_vars + + python3 update_map_styles.py + + echo "Waiting for PostgreSQL to be ready..." + until pg_isready -h "$POSTGRES_HOST" -p 5432; do + sleep 2 + done + + echo "Running asset precompilation..." + time bundle exec rake i18n:js:export assets:precompile + + echo "Copying static assets..." + cp "$workdir/public/leaflet-ohm-timeslider-v2/assets/"* "$workdir/public/assets/" + + echo "Running database migrations..." + time bundle exec rails db:migrate + + echo "Running cgimap..." + ./cgimap.sh + + echo "Starting Apache server..." + apachectl -k start -DFOREGROUND & + + start_background_jobs +} + + +setup_development() { + restore_db + cp "$workdir/config/example.storage.yml" "$workdir/config/storage.yml" + cp /tmp/settings.yml "$workdir/config/settings.yml" + setup_env_vars + bundle exec bin/yarn install + bundle exec rails db:migrate --trace + bundle exec rake jobs:work & + rails server --log-to-stdout +} + +####################### Setting up Development or Production mode ####################### +if [ "$ENVIRONMENT" = "development" ]; then + setup_development +else + setup_production +fi diff --git a/ohm/requirements.yaml b/ohm/requirements.yaml index 05e88caf..3079951f 100644 --- a/ohm/requirements.yaml +++ b/ohm/requirements.yaml @@ -1,4 +1,4 @@ dependencies: - name: osm-seed - version: '0.1.0-n809.hbe97794' + version: '0.1.0-n820.ha0b02a1' repository: https://devseed.com/osm-seed-chart/ diff --git a/ohm/values.yaml b/ohm/values.yaml index 3d4334f9..5de9a5c2 100644 --- a/ohm/values.yaml +++ b/ohm/values.yaml @@ -25,6 +25,10 @@ osm-seed: tag: chartpress_replace_me ohm: tilerCache: + image: + name: chartpress_replace_me + tag: chartpress_replace_me + cgimap: image: name: chartpress_replace_me tag: chartpress_replace_me \ No newline at end of file diff --git a/values.production.template.yaml b/values.production.template.yaml index 33d41eed..422c8e56 100644 --- a/values.production.template.yaml +++ b/values.production.template.yaml @@ -849,6 +849,9 @@ osm-seed: # ==================================================================================================== osmchaWeb: enabled: true + image: + name: ghcr.io/openhistoricalmap/osmcha-frontend + tag: 80eb324 # ==================================================================================================== # Variables for osmcha Api # ==================================================================================================== @@ -862,20 +865,15 @@ osm-seed: DJANGO_SETTINGS_MODULE: "config.settings.production" OSMCHA_FRONTEND_VERSION: "v0.86.0-production" DJANGO_SECRET_KEY: {{PRODUCTION_OSMCHA_DJANGO_SECRET_KEY}} - OAUTH_OSM_KEY: {{PRODUCTION_OSMCHA_API_CONSUMER_KEY}} - OAUTH_OSM_SECRET: {{PRODUCTION_OSMCHA_API_CONSUMER_SECRET}} DJANGO_SECURE_SSL_REDIRECT: "False" OSM_SERVER_URL: https://www.openhistoricalmap.org - OAUTH_REDIRECT_URI: https://osmcha.openhistoricalmap.org/oauth-landing.html + OAUTH_REDIRECT_URI: https://osmcha.openhistoricalmap.org/authorized OSM_PLANET_BASE_URL: https://s3.amazonaws.com/planet.openhistoricalmap.org/replication/changesets/ ## frontend OSMCHA_URL: https://osmcha.openhistoricalmap.org OSMCHA_API_URL: www.openhistoricalmap.org - REACT_APP_OSM_URL: https://www.openhistoricalmap.org - REACT_APP_OSM_API: https://www.openhistoricalmap.org/api/0.6 - REACT_APP_OVERPASS_BASE: //overpass-api.openhistoricalmap.org/api/interpreter - REACT_APP_ENABLE_REAL_CHANGESETS: 0 - REACT_APP_MAPBOX_ACCESS_TOKEN: {{PRODUCTION_OSMCHA_REACT_APP_MAPBOX_ACCESS_TOKEN}} + OAUTH2_OSM_KEY: 0KWrkIIQtFBc4k_Blb2WuIi108w10GYXFwW30qvk-W8 + OAUTH2_OSM_SECRET: UAnkzA3FqCP6ZYhqN1NEyQRdG36ALv46XGI7UtHJ0_o resources: enabled: false requests: @@ -889,6 +887,14 @@ osm-seed: label_key: nodegroup_type label_value: web_large # ==================================================================================================== +# Variables for osmcha osm-adiff-service +# ==================================================================================================== + adiffService: + enabled: false + image: + name: ghcr.io/openhistoricalmap/osm-adiff-service + tag: a343422497bb2ad4735ca7eada921b60eeb19e20 +# ==================================================================================================== # Variables for osmcha DB # ==================================================================================================== osmchaDb: @@ -909,11 +915,11 @@ osm-seed: memory: "24Gi" cpu: "10" persistenceDisk: - enabled: false + enabled: true accessMode: ReadWriteOnce mountPath: /var/lib/postgresql/data - AWS_ElasticBlockStore_volumeID: vol-065901d9a34a6fbf9 - AWS_ElasticBlockStore_size: 100Gi + AWS_ElasticBlockStore_volumeID: vol-03f47ec4b4532e93d + AWS_ElasticBlockStore_size: 20Gi nodeSelector: enabled: true label_key: nodegroup_type diff --git a/values.staging.template.yaml b/values.staging.template.yaml index facc5264..6befc724 100644 --- a/values.staging.template.yaml +++ b/values.staging.template.yaml @@ -879,54 +879,54 @@ osm-seed: # Variables for osmcha web # ==================================================================================================== osmchaWeb: - enabled: false + enabled: true + image: + name: ghcr.io/openhistoricalmap/osmcha-frontend + tag: d004a05 # ==================================================================================================== # Variables for osmcha Api, We hard code the container id. # ==================================================================================================== osmchaApi: - enabled: false + enabled: true image: - name: "ghcr.io/openhistoricalmap/osmcha-django" - tag: "a1bcea85dc1f7c27566c20bafe7fff7aaa1e38a4" + name: ghcr.io/openhistoricalmap/osmcha-django + tag: 1e9d9dd ingressDomain: osmcha.staging.openhistoricalmap.org env: DJANGO_SETTINGS_MODULE: "config.settings.production" OSMCHA_FRONTEND_VERSION: "v0.86.0-production" - DJANGO_SECRET_KEY: {{STAGING_OSMCHA_DJANGO_SECRET_KEY}} - OAUTH_OSM_KEY: {{STAGING_OSMCHA_API_CONSUMER_KEY}} - OAUTH_OSM_SECRET: {{STAGING_OSMCHA_API_CONSUMER_SECRET}} + DJANGO_SECRET_KEY: {{STAGING_OSMCHA_DJANGO_SECRET_KEY}} DJANGO_SECURE_SSL_REDIRECT: "False" OSM_SERVER_URL: https://www.openhistoricalmap.org - OAUTH_REDIRECT_URI: https://osmcha.staging.openhistoricalmap.org/oauth-landing.html + OAUTH_REDIRECT_URI: https://osmcha.staging.openhistoricalmap.org/authorized OSM_PLANET_BASE_URL: https://s3.amazonaws.com/planet.openhistoricalmap.org/replication/changesets/ ## frontend OSMCHA_URL: https://osmcha.staging.openhistoricalmap.org OSMCHA_API_URL: www.openhistoricalmap.org - REACT_APP_OSM_URL: https://www.openhistoricalmap.org - REACT_APP_OSM_API: https://www.openhistoricalmap.org/api/0.6 - REACT_APP_OVERPASS_BASE: //overpass-api.openhistoricalmap.org/api/interpreter - REACT_APP_ENABLE_REAL_CHANGESETS: 0 - REACT_APP_MAPBOX_ACCESS_TOKEN: {{STAGING_OSMCHA_REACT_APP_MAPBOX_ACCESS_TOKEN}} + OAUTH2_OSM_KEY: tHRgc_GVLsUj2tuVQSg05nn5f8Tnda8mF-ZfEbI3ItA + OAUTH2_OSM_SECRET: s9blyq71UditeidYeiQc_J40-DffUh3EVlDCGVcskQI resources: enabled: false requests: - memory: "512Mi" - cpu: "1" + memory: '512Mi' + cpu: '1' limits: - memory: "512Mi" - cpu: "1" + memory: '512Mi' + cpu: '1' nodeSelector: enabled: false label_key: nodegroup_type label_value: web + fetch_changesets_cronjob: '*/2 * * * *' + process_changesets_cronjob: '0 * * * *' # ==================================================================================================== # Variables for osmcha DB # ==================================================================================================== osmchaDb: - enabled: false - image: - name: "developmentseed/osmseed-osmcha-db" - tag: "0.1.0-n767.h0090e97" + enabled: true + # image: + # name: developmentseed/osmseed-osmcha-db + # tag: 0.1.0-n767.h0090e97 env: POSTGRES_DB: osmcha POSTGRES_USER: postgres @@ -934,11 +934,11 @@ osm-seed: resources: enabled: false requests: - memory: "20Gi" - cpu: "8" + memory: '20Gi' + cpu: '8' limits: - memory: "24Gi" - cpu: "10" + memory: '24Gi' + cpu: '10' persistenceDisk: enabled: false accessMode: ReadWriteOnce @@ -955,6 +955,14 @@ osm-seed: nodeSelector: enabled: false # ==================================================================================================== +# Variables for osmcha osm-adiff-service +# ==================================================================================================== + adiffService: + enabled: false + image: + name: ghcr.io/openhistoricalmap/osm-adiff-service + tag: a343422497bb2ad4735ca7eada921b60eeb19e20 +# ==================================================================================================== # Planet files server # ==================================================================================================== planetFiles: