Loading .deploy/api/Dockerfile +38 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,25 @@ ARG HOST ARG PORT ARG AWS_ACCESS_KEY_ID ARG AWS_SECRET_ACCESS_KEY ARG AWS_REGION ARG AWS_S3_BUCKET ARG CLOUDINARY_API_KEY ARG CLOUDINARY_API_SECRET ARG CLOUDINARY_CLOUD_NAME ARG MAIL_FROM_ADDRESS ARG MAIL_HOST ARG MAIL_PORT ARG MAIL_USERNAME ARG MAIL_PASSWORD ARG ALLOW_SUPER_ADMIN_ROLE ARG GOOGLE_CALLBACK_URL ARG FACEBOOK_GRAPH_VERSION ARG FACEBOOK_CALLBACK_URL ARG UNLEASH_APP_NAME ARG UNLEASH_API_URL ARG UNLEASH_INSTANCE_ID ARG UNLEASH_REFRESH_INTERVAL ARG UNLEASH_METRICS_INTERVAL FROM node:16-alpine3.14 AS dependencies Loading Loading @@ -167,6 +186,25 @@ ENV PORT=${PORT:-5500} ENV DEMO=${DEMO:-false} ENV AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} ENV AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} ENV AWS_REGION=${AWS_REGION} ENV AWS_S3_BUCKET=${AWS_S3_BUCKET} ENV CLOUDINARY_API_KEY=${CLOUDINARY_API_KEY} ENV CLOUDINARY_API_SECRET=${CLOUDINARY_API_SECRET} ENV CLOUDINARY_CLOUD_NAME=${CLOUDINARY_CLOUD_NAME} ENV MAIL_FROM_ADDRESS=${MAIL_FROM_ADDRESS} ENV MAIL_HOST=${MAIL_HOST} ENV MAIL_PORT=${MAIL_PORT} ENV MAIL_USERNAME=${MAIL_USERNAME} ENV MAIL_PASSWORD=${MAIL_PASSWORD} ENV ALLOW_SUPER_ADMIN_ROLE=${ALLOW_SUPER_ADMIN_ROLE} ENV GOOGLE_CALLBACK_URL=${GOOGLE_CALLBACK_URL} ENV FACEBOOK_GRAPH_VERSION=${FACEBOOK_GRAPH_VERSION} ENV FACEBOOK_CALLBACK_URL=${FACEBOOK_CALLBACK_URL} ENV UNLEASH_APP_NAME=${UNLEASH_APP_NAME} ENV UNLEASH_API_URL=${UNLEASH_API_URL} ENV UNLEASH_INSTANCE_ID=${UNLEASH_INSTANCE_ID} ENV UNLEASH_REFRESH_INTERVAL=${UNLEASH_REFRESH_INTERVAL} ENV UNLEASH_METRICS_INTERVAL=${UNLEASH_METRICS_INTERVAL} # 5500 for HTTP # 2087 for HTTPS Loading .deploy/k8s/k8s-manifest.demo.yaml +75 −3 Original line number Diff line number Diff line Loading @@ -195,10 +195,14 @@ spec: value: 'true' - name: FAKE_DATA_GENERATOR value: 'true' - name: SETTING_INVITES_ENABLED value: 'true' - name: SETTINGS_REGISTRATIONS_REQUIRED_ON_START value: 'false' - name: LOG_LEVEL value: 'info' - name: SENTRY_DSN value: 'https://7cd381188b6f446ca0e69185227b9031@o51327.ingest.sentry.io/4397292' value: '$SENTRY_DSN' - name: DB_URI value: '$DB_URI' - name: DB_HOST Loading @@ -214,13 +218,81 @@ spec: - name: DB_TYPE value: 'mongodb' - name: DB_NAME value: 'ever_demo' value: '$DB_NAME' - name: DB_PORT value: '27017' value: '$DB_PORT' - name: AWS_ACCESS_KEY_ID value: '$AWS_ACCESS_KEY_ID' - name: AWS_SECRET_ACCESS_KEY value: '$AWS_SECRET_ACCESS_KEY' - name: AWS_REGION value: '$AWS_REGION' - name: AWS_S3_BUCKET value: '$AWS_S3_BUCKET' - name: EXPRESS_SESSION_SECRET value: '$EXPRESS_SESSION_SECRET' - name: JWT_SECRET value: '$JWT_SECRET' - name: CLOUDINARY_API_KEY value: '$CLOUDINARY_API_KEY' - name: CLOUDINARY_API_SECRET value: '$CLOUDINARY_API_SECRET' - name: CLOUDINARY_CLOUD_NAME value: '$CLOUDINARY_CLOUD_NAME' - name: MAIL_FROM_ADDRESS value: '$MAIL_FROM_ADDRESS' - name: MAIL_HOST value: '$MAIL_HOST' - name: MAIL_PORT value: '$MAIL_PORT' - name: MAIL_USERNAME value: '$MAIL_USERNAME' - name: MAIL_PASSWORD value: '$MAIL_PASSWORD' - name: ALLOW_SUPER_ADMIN_ROLE value: '$ALLOW_SUPER_ADMIN_ROLE' - name: GOOGLE_APP_ID value: '$GOOGLE_APP_ID' - name: GOOGLE_APP_SECRET value: '$GOOGLE_APP_SECRET' - name: GOOGLE_CALLBACK_URL value: '$GOOGLE_CALLBACK_URL' - name: FACEBOOK_APP_ID value: '$FACEBOOK_APP_ID' - name: FACEBOOK_APP_SECRET value: '$FACEBOOK_APP_SECRET' - name: FACEBOOK_GRAPH_VERSION value: '$FACEBOOK_GRAPH_VERSION' - name: FACEBOOK_CALLBACK_URL value: '$FACEBOOK_CALLBACK_URL' - name: UNLEASH_APP_NAME value: '$UNLEASH_APP_NAME' - name: UNLEASH_API_URL value: '$UNLEASH_API_URL' - name: UNLEASH_INSTANCE_ID value: '$UNLEASH_INSTANCE_ID' - name: UNLEASH_REFRESH_INTERVAL value: '$UNLEASH_REFRESH_INTERVAL' - name: UNLEASH_METRICS_INTERVAL value: '$UNLEASH_METRICS_INTERVAL' - name: STRIPE_SECRET_KEY value: '$STRIPE_SECRET_KEY' - name: URBAN_AIRSHIP_KEY value: '$URBAN_AIRSHIP_KEY' - name: URBAN_AIRSHIP_SECRET value: '$URBAN_AIRSHIP_SECRET' - name: KEYMETRICS_MACHINE_NAME value: '$KEYMETRICS_MACHINE_NAME' - name: KEYMETRICS_SECRET_KEY value: '$KEYMETRICS_SECRET_KEY' - name: KEYMETRICS_PUBLIC_KEY value: '$KEYMETRICS_PUBLIC_KEY' - name: ARCGIS_CLIENT_ID value: '$ARCGIS_CLIENT_ID' - name: ARCGIS_CLIENT_SECRET value: '$ARCGIS_CLIENT_SECRET' - name: ENGINE_API_KEY value: '$ENGINE_API_KEY' ports: - containerPort: 5500 protocol: TCP Loading .github/workflows/deploy-do.yml +35 −0 Original line number Diff line number Diff line Loading @@ -43,8 +43,43 @@ jobs: DB_NAME: 'ever_demo' DB_CA_CERT: '${{ secrets.DB_CA_CERT }}' DB_SSL_MODE: 'true' SENTRY_DSN: '${{ secrets.SENTRY_DSN }}' AWS_ACCESS_KEY_ID: '${{ secrets.AWS_ACCESS_KEY_ID }}' AWS_SECRET_ACCESS_KEY: '${{ secrets.AWS_SECRET_ACCESS_KEY }}' AWS_REGION: '${{ secrets.AWS_REGION }}' AWS_S3_BUCKET: '${{ secrets.AWS_S3_BUCKET }}' EXPRESS_SESSION_SECRET: '${{ secrets.EXPRESS_SESSION_SECRET }}' JWT_SECRET: '${{ secrets.JWT_SECRET }}' CLOUDINARY_API_KEY: '${{ secrets.CLOUDINARY_API_KEY }}' CLOUDINARY_API_SECRET: '${{ secrets.CLOUDINARY_API_SECRET }}' CLOUDINARY_CLOUD_NAME: '${{ secrets.CLOUDINARY_CLOUD_NAME }}' MAIL_FROM_ADDRESS: '${{ secrets.MAIL_FROM_ADDRESS }}' MAIL_HOST: '${{ secrets.MAIL_HOST }}' MAIL_PORT: '${{ secrets.MAIL_PORT }}' MAIL_USERNAME: '${{ secrets.MAIL_USERNAME }}' MAIL_PASSWORD: '${{ secrets.MAIL_PASSWORD }}' ALLOW_SUPER_ADMIN_ROLE: '${{ secrets.ALLOW_SUPER_ADMIN_ROLE }}' GOOGLE_APP_ID: '${{ secrets.GOOGLE_APP_ID }}' GOOGLE_APP_SECRET: '${{ secrets.GOOGLE_APP_SECRET }}' GOOGLE_CALLBACK_URL: '${{ secrets.GOOGLE_CALLBACK_URL }}' FACEBOOK_APP_ID: '${{ secrets.FACEBOOK_APP_ID }}' FACEBOOK_APP_SECRET: '${{ secrets.FACEBOOK_APP_SECRET }}' FACEBOOK_GRAPH_VERSION: '${{ secrets.FACEBOOK_GRAPH_VERSION }}' FACEBOOK_CALLBACK_URL: '${{ secrets.FACEBOOK_CALLBACK_URL }}' UNLEASH_APP_NAME: '${{ secrets.UNLEASH_APP_NAME }}' UNLEASH_API_URL: '${{ secrets.UNLEASH_API_URL }}' UNLEASH_INSTANCE_ID: '${{ secrets.UNLEASH_INSTANCE_ID }}' UNLEASH_REFRESH_INTERVAL: '${{ secrets.UNLEASH_REFRESH_INTERVAL }}' UNLEASH_METRICS_INTERVAL: '${{ secrets.UNLEASH_METRICS_INTERVAL }}' STRIPE_SECRET_KEY: '${{ secrets.STRIPE_SECRET_KEY }}' URBAN_AIRSHIP_KEY: '${{ secrets.URBAN_AIRSHIP_KEY }}' URBAN_AIRSHIP_SECRET: '${{ secrets.URBAN_AIRSHIP_SECRET }}' KEYMETRICS_MACHINE_NAME: '${{ secrets.KEYMETRICS_MACHINE_NAME }}' KEYMETRICS_SECRET_KEY: '${{ secrets.KEYMETRICS_SECRET_KEY }}' KEYMETRICS_PUBLIC_KEY: '${{ secrets.KEYMETRICS_PUBLIC_KEY }}' ARCGIS_CLIENT_ID: '${{ secrets.ARCGIS_CLIENT_ID }}' ARCGIS_CLIENT_SECRET: '${{ secrets.ARCGIS_CLIENT_SECRET }}' ENGINE_API_KEY: '${{ secrets.ENGINE_API_KEY }}' # we need this step because for now we just use :latest tag # note: for production we will use different strategy later Loading .vscode/settings.json +1 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ "vsicons.presets.nestjs": true, "cSpell.words": [ "AGPL", "ARCGIS", "changeme", "CLOUDINARY", "Codegen", Loading Loading
.deploy/api/Dockerfile +38 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,25 @@ ARG HOST ARG PORT ARG AWS_ACCESS_KEY_ID ARG AWS_SECRET_ACCESS_KEY ARG AWS_REGION ARG AWS_S3_BUCKET ARG CLOUDINARY_API_KEY ARG CLOUDINARY_API_SECRET ARG CLOUDINARY_CLOUD_NAME ARG MAIL_FROM_ADDRESS ARG MAIL_HOST ARG MAIL_PORT ARG MAIL_USERNAME ARG MAIL_PASSWORD ARG ALLOW_SUPER_ADMIN_ROLE ARG GOOGLE_CALLBACK_URL ARG FACEBOOK_GRAPH_VERSION ARG FACEBOOK_CALLBACK_URL ARG UNLEASH_APP_NAME ARG UNLEASH_API_URL ARG UNLEASH_INSTANCE_ID ARG UNLEASH_REFRESH_INTERVAL ARG UNLEASH_METRICS_INTERVAL FROM node:16-alpine3.14 AS dependencies Loading Loading @@ -167,6 +186,25 @@ ENV PORT=${PORT:-5500} ENV DEMO=${DEMO:-false} ENV AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} ENV AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} ENV AWS_REGION=${AWS_REGION} ENV AWS_S3_BUCKET=${AWS_S3_BUCKET} ENV CLOUDINARY_API_KEY=${CLOUDINARY_API_KEY} ENV CLOUDINARY_API_SECRET=${CLOUDINARY_API_SECRET} ENV CLOUDINARY_CLOUD_NAME=${CLOUDINARY_CLOUD_NAME} ENV MAIL_FROM_ADDRESS=${MAIL_FROM_ADDRESS} ENV MAIL_HOST=${MAIL_HOST} ENV MAIL_PORT=${MAIL_PORT} ENV MAIL_USERNAME=${MAIL_USERNAME} ENV MAIL_PASSWORD=${MAIL_PASSWORD} ENV ALLOW_SUPER_ADMIN_ROLE=${ALLOW_SUPER_ADMIN_ROLE} ENV GOOGLE_CALLBACK_URL=${GOOGLE_CALLBACK_URL} ENV FACEBOOK_GRAPH_VERSION=${FACEBOOK_GRAPH_VERSION} ENV FACEBOOK_CALLBACK_URL=${FACEBOOK_CALLBACK_URL} ENV UNLEASH_APP_NAME=${UNLEASH_APP_NAME} ENV UNLEASH_API_URL=${UNLEASH_API_URL} ENV UNLEASH_INSTANCE_ID=${UNLEASH_INSTANCE_ID} ENV UNLEASH_REFRESH_INTERVAL=${UNLEASH_REFRESH_INTERVAL} ENV UNLEASH_METRICS_INTERVAL=${UNLEASH_METRICS_INTERVAL} # 5500 for HTTP # 2087 for HTTPS Loading
.deploy/k8s/k8s-manifest.demo.yaml +75 −3 Original line number Diff line number Diff line Loading @@ -195,10 +195,14 @@ spec: value: 'true' - name: FAKE_DATA_GENERATOR value: 'true' - name: SETTING_INVITES_ENABLED value: 'true' - name: SETTINGS_REGISTRATIONS_REQUIRED_ON_START value: 'false' - name: LOG_LEVEL value: 'info' - name: SENTRY_DSN value: 'https://7cd381188b6f446ca0e69185227b9031@o51327.ingest.sentry.io/4397292' value: '$SENTRY_DSN' - name: DB_URI value: '$DB_URI' - name: DB_HOST Loading @@ -214,13 +218,81 @@ spec: - name: DB_TYPE value: 'mongodb' - name: DB_NAME value: 'ever_demo' value: '$DB_NAME' - name: DB_PORT value: '27017' value: '$DB_PORT' - name: AWS_ACCESS_KEY_ID value: '$AWS_ACCESS_KEY_ID' - name: AWS_SECRET_ACCESS_KEY value: '$AWS_SECRET_ACCESS_KEY' - name: AWS_REGION value: '$AWS_REGION' - name: AWS_S3_BUCKET value: '$AWS_S3_BUCKET' - name: EXPRESS_SESSION_SECRET value: '$EXPRESS_SESSION_SECRET' - name: JWT_SECRET value: '$JWT_SECRET' - name: CLOUDINARY_API_KEY value: '$CLOUDINARY_API_KEY' - name: CLOUDINARY_API_SECRET value: '$CLOUDINARY_API_SECRET' - name: CLOUDINARY_CLOUD_NAME value: '$CLOUDINARY_CLOUD_NAME' - name: MAIL_FROM_ADDRESS value: '$MAIL_FROM_ADDRESS' - name: MAIL_HOST value: '$MAIL_HOST' - name: MAIL_PORT value: '$MAIL_PORT' - name: MAIL_USERNAME value: '$MAIL_USERNAME' - name: MAIL_PASSWORD value: '$MAIL_PASSWORD' - name: ALLOW_SUPER_ADMIN_ROLE value: '$ALLOW_SUPER_ADMIN_ROLE' - name: GOOGLE_APP_ID value: '$GOOGLE_APP_ID' - name: GOOGLE_APP_SECRET value: '$GOOGLE_APP_SECRET' - name: GOOGLE_CALLBACK_URL value: '$GOOGLE_CALLBACK_URL' - name: FACEBOOK_APP_ID value: '$FACEBOOK_APP_ID' - name: FACEBOOK_APP_SECRET value: '$FACEBOOK_APP_SECRET' - name: FACEBOOK_GRAPH_VERSION value: '$FACEBOOK_GRAPH_VERSION' - name: FACEBOOK_CALLBACK_URL value: '$FACEBOOK_CALLBACK_URL' - name: UNLEASH_APP_NAME value: '$UNLEASH_APP_NAME' - name: UNLEASH_API_URL value: '$UNLEASH_API_URL' - name: UNLEASH_INSTANCE_ID value: '$UNLEASH_INSTANCE_ID' - name: UNLEASH_REFRESH_INTERVAL value: '$UNLEASH_REFRESH_INTERVAL' - name: UNLEASH_METRICS_INTERVAL value: '$UNLEASH_METRICS_INTERVAL' - name: STRIPE_SECRET_KEY value: '$STRIPE_SECRET_KEY' - name: URBAN_AIRSHIP_KEY value: '$URBAN_AIRSHIP_KEY' - name: URBAN_AIRSHIP_SECRET value: '$URBAN_AIRSHIP_SECRET' - name: KEYMETRICS_MACHINE_NAME value: '$KEYMETRICS_MACHINE_NAME' - name: KEYMETRICS_SECRET_KEY value: '$KEYMETRICS_SECRET_KEY' - name: KEYMETRICS_PUBLIC_KEY value: '$KEYMETRICS_PUBLIC_KEY' - name: ARCGIS_CLIENT_ID value: '$ARCGIS_CLIENT_ID' - name: ARCGIS_CLIENT_SECRET value: '$ARCGIS_CLIENT_SECRET' - name: ENGINE_API_KEY value: '$ENGINE_API_KEY' ports: - containerPort: 5500 protocol: TCP Loading
.github/workflows/deploy-do.yml +35 −0 Original line number Diff line number Diff line Loading @@ -43,8 +43,43 @@ jobs: DB_NAME: 'ever_demo' DB_CA_CERT: '${{ secrets.DB_CA_CERT }}' DB_SSL_MODE: 'true' SENTRY_DSN: '${{ secrets.SENTRY_DSN }}' AWS_ACCESS_KEY_ID: '${{ secrets.AWS_ACCESS_KEY_ID }}' AWS_SECRET_ACCESS_KEY: '${{ secrets.AWS_SECRET_ACCESS_KEY }}' AWS_REGION: '${{ secrets.AWS_REGION }}' AWS_S3_BUCKET: '${{ secrets.AWS_S3_BUCKET }}' EXPRESS_SESSION_SECRET: '${{ secrets.EXPRESS_SESSION_SECRET }}' JWT_SECRET: '${{ secrets.JWT_SECRET }}' CLOUDINARY_API_KEY: '${{ secrets.CLOUDINARY_API_KEY }}' CLOUDINARY_API_SECRET: '${{ secrets.CLOUDINARY_API_SECRET }}' CLOUDINARY_CLOUD_NAME: '${{ secrets.CLOUDINARY_CLOUD_NAME }}' MAIL_FROM_ADDRESS: '${{ secrets.MAIL_FROM_ADDRESS }}' MAIL_HOST: '${{ secrets.MAIL_HOST }}' MAIL_PORT: '${{ secrets.MAIL_PORT }}' MAIL_USERNAME: '${{ secrets.MAIL_USERNAME }}' MAIL_PASSWORD: '${{ secrets.MAIL_PASSWORD }}' ALLOW_SUPER_ADMIN_ROLE: '${{ secrets.ALLOW_SUPER_ADMIN_ROLE }}' GOOGLE_APP_ID: '${{ secrets.GOOGLE_APP_ID }}' GOOGLE_APP_SECRET: '${{ secrets.GOOGLE_APP_SECRET }}' GOOGLE_CALLBACK_URL: '${{ secrets.GOOGLE_CALLBACK_URL }}' FACEBOOK_APP_ID: '${{ secrets.FACEBOOK_APP_ID }}' FACEBOOK_APP_SECRET: '${{ secrets.FACEBOOK_APP_SECRET }}' FACEBOOK_GRAPH_VERSION: '${{ secrets.FACEBOOK_GRAPH_VERSION }}' FACEBOOK_CALLBACK_URL: '${{ secrets.FACEBOOK_CALLBACK_URL }}' UNLEASH_APP_NAME: '${{ secrets.UNLEASH_APP_NAME }}' UNLEASH_API_URL: '${{ secrets.UNLEASH_API_URL }}' UNLEASH_INSTANCE_ID: '${{ secrets.UNLEASH_INSTANCE_ID }}' UNLEASH_REFRESH_INTERVAL: '${{ secrets.UNLEASH_REFRESH_INTERVAL }}' UNLEASH_METRICS_INTERVAL: '${{ secrets.UNLEASH_METRICS_INTERVAL }}' STRIPE_SECRET_KEY: '${{ secrets.STRIPE_SECRET_KEY }}' URBAN_AIRSHIP_KEY: '${{ secrets.URBAN_AIRSHIP_KEY }}' URBAN_AIRSHIP_SECRET: '${{ secrets.URBAN_AIRSHIP_SECRET }}' KEYMETRICS_MACHINE_NAME: '${{ secrets.KEYMETRICS_MACHINE_NAME }}' KEYMETRICS_SECRET_KEY: '${{ secrets.KEYMETRICS_SECRET_KEY }}' KEYMETRICS_PUBLIC_KEY: '${{ secrets.KEYMETRICS_PUBLIC_KEY }}' ARCGIS_CLIENT_ID: '${{ secrets.ARCGIS_CLIENT_ID }}' ARCGIS_CLIENT_SECRET: '${{ secrets.ARCGIS_CLIENT_SECRET }}' ENGINE_API_KEY: '${{ secrets.ENGINE_API_KEY }}' # we need this step because for now we just use :latest tag # note: for production we will use different strategy later Loading
.vscode/settings.json +1 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ "vsicons.presets.nestjs": true, "cSpell.words": [ "AGPL", "ARCGIS", "changeme", "CLOUDINARY", "Codegen", Loading