From 19f95d02be106dedf76ea676a0a51298ac07f10c Mon Sep 17 00:00:00 2001 From: Marwen Abid Date: Tue, 26 Nov 2024 14:02:21 -0800 Subject: [PATCH] SDP-1394 Release SDP 3.0.0 --- .../stellar-disbursement-platform/Chart.yaml | 4 ++-- .../stellar-disbursement-platform/README.md | 14 +++++++----- .../stellar-disbursement-platform/values.yaml | 22 +++++++++++-------- 3 files changed, 23 insertions(+), 17 deletions(-) diff --git a/charts/stellar-disbursement-platform/Chart.yaml b/charts/stellar-disbursement-platform/Chart.yaml index a753c43..8e5b5e9 100644 --- a/charts/stellar-disbursement-platform/Chart.yaml +++ b/charts/stellar-disbursement-platform/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v2 name: stellar-disbursement-platform description: A Helm chart for the Stellar Disbursement Platform Backend (A.K.A. `sdp`) -version: "2.1.2" -appVersion: "2.1.1" +version: "3.0.0" +appVersion: "3.0.0" type: application maintainers: - name: Stellar Development Foundation diff --git a/charts/stellar-disbursement-platform/README.md b/charts/stellar-disbursement-platform/README.md index 31e3a86..a04cdbb 100644 --- a/charts/stellar-disbursement-platform/README.md +++ b/charts/stellar-disbursement-platform/README.md @@ -106,7 +106,7 @@ Configuration parameters for the SDP Core Service which is the core backend serv | `sdp.image` | Configuration related to the Docker image used by the SDP service. | | | `sdp.image.repository` | Docker image repository for the SDP backend service. | `stellar/stellar-disbursement-platform-backend` | | `sdp.image.pullPolicy` | Image pull policy for the SDP service. For locally built images, consider using "Never" or "IfNotPresent". | `Always` | -| `sdp.image.tag` | Docker image tag for the SDP service. If set, this overrides the default value from `.Chart.AppVersion`. | `latest` | +| `sdp.image.tag` | Docker image tag for the SDP service. If set, this overrides the default value from `.Chart.AppVersion`. | `3.0.0` | | `sdp.deployment` | Configuration related to the deployment of the SDP service. | | | `sdp.deployment.annotations` | Annotations to be added to the deployment. | `nil` | | `sdp.deployment.podAnnotations` | Annotations specific to the pods. | `{}` | @@ -126,7 +126,7 @@ Configuration parameters for the SDP Core Service which is the core backend serv | `sdp.configMap.data.SEP10_SIGNING_PUBLIC_KEY` | Anchor platform SEP10 signing public key. | `nil` | | `sdp.configMap.data.DISTRIBUTION_PUBLIC_KEY` | The public key of the HOST's Stellar distribution account, used to create channel accounts. | `nil` | | `sdp.configMap.data.METRICS_TYPE` | Defines the type of metrics system in use. Options: "PROMETHEUS". | `PROMETHEUS` | -| `sdp.configMap.data.EMAIL_SENDER_TYPE` | The messenger type used to send invitations to new dashboard users. Options: "DRY_RUN", "AWS_EMAIL". | `DRY_RUN` | +| `sdp.configMap.data.EMAIL_SENDER_TYPE` | The messenger type used to send invitations to new dashboard users. Options: "DRY_RUN", "AWS_EMAIL", "TWILIO_EMAIL". | `DRY_RUN` | | `sdp.configMap.data.SMS_SENDER_TYPE` | The messenger type used to send text messages to recipients. Options: "DRY_RUN", "TWILIO_SMS". | `DRY_RUN` | | `sdp.configMap.data.RECAPTCHA_SITE_KEY` | Site key for ReCaptcha. Required if using ReCaptcha. | `nil` | | `sdp.configMap.data.CORS_ALLOWED_ORIGINS` | Specifies the domains allowed to make cross-origin requests. "*" means all domains are allowed. | `*` | @@ -135,9 +135,9 @@ Configuration parameters for the SDP Core Service which is the core backend serv | `sdp.configMap.data.SDP_UI_BASE_URL` | The base URL of the SDP UI/dashboard. | `nil` | | `sdp.configMap.data.INSTANCE_NAME` | The name of the SDP instance. Example: "SDP Testnet". | `nil` | | `sdp.configMap.data.ENABLE_SCHEDULER` | Whether the scheduled jobs are enabled in this instance ("true" or "false"). Default "false". | `false` | -| `sdp.configMap.data.SCHEDULER_PAYMENT_JOB_SECONDS` | The interval in seconds for the payment job that syncs payments between the SDP and the TSS. | `3600` | -| `sdp.configMap.data.SCHEDULER_RECEIVER_INVITATION_JOB_SECONDS` | The interval in seconds for the receiver invitation job that sends invitations to new receivers. 0 or negative values disable the job. | `3600` | -| `sdp.configMap.data.MAX_INVITATION_SMS_RESEND_ATTEMPTS` | The maximum number of times an invitation SMS can be resent. 0 or negative values disable the job. | `3` | +| `sdp.configMap.data.SCHEDULER_PAYMENT_JOB_SECONDS` | The interval in seconds for the payment job that syncs payments between the SDP and the TSS. | `10` | +| `sdp.configMap.data.SCHEDULER_RECEIVER_INVITATION_JOB_SECONDS` | The interval in seconds for the receiver invitation job that sends invitations to new receivers. 0 or negative values disable the job. | `10` | +| `sdp.configMap.data.MAX_INVITATION_RESEND_ATTEMPTS` | The maximum number of times an invitation can be resent. 0 or negative values disable the job. | `3` | | `sdp.configMap.data.TENANT_XLM_BOOTSTRAP_AMOUNT` | The amount of XLM to be sent to a newly created tenant distribution account. | `5` | | `sdp.kubeSecrets` | Kubernetes secrets are used to manage sensitive information, such as API keys and private keys. It's crucial that these details are kept private. | | | `sdp.kubeSecrets.secretName` | The name of the Kubernetes secret object. Only use this if create is false. | `sdp-backend-secret-name` | @@ -151,6 +151,8 @@ Configuration parameters for the SDP Core Service which is the core backend serv | `sdp.kubeSecrets.data.TWILIO_ACCOUNT_SID` | Account SID for authenticating to the Twilio service, used for sending text messages. | `MY_TWILIO_ACCOUNT_SID` | | `sdp.kubeSecrets.data.TWILIO_AUTH_TOKEN` | Authentication token for the Twilio service. | `MY_TWILIO_AUTH_TOKEN` | | `sdp.kubeSecrets.data.TWILIO_SERVICE_SID` | Service SID for the specific Twilio service being utilized. | `MY_TWILIO_SERVICE_SID` | +| `sdp.kubeSecrets.data.TWILIO_SENDGRID_API_KEY` | API key for the Twilio SendGrid (email) service. | `MY_TWILIO_SENDGRID_API_KEY` | +| `sdp.kubeSecrets.data.TWILIO_SENDGRID_SENDER_ADDRESS` | Email address used to send emails via Twilio SendGrid. | `MY_TWILIO_SENDGRID_SENDER_ADDRESS` | | `sdp.kubeSecrets.data.EC256_PRIVATE_KEY` | The EC256 Private Key. This key is used to sign the authentication token. This EC key needs to be at least as strong as prime256v1 (P-256). | `""` | | `sdp.kubeSecrets.data.SEP10_SIGNING_PRIVATE_KEY` | The public key of the Stellar account that signs the SEP-10 transactions. It's also used to sign URLs. | `nil` | | `sdp.kubeSecrets.data.SEP24_JWT_SECRET` | The JWT secret that's used by the Anchor Platform to sign the SEP-24 JWT token. Must be the same as Anchor Platform's SECRET_SEP24_INTERACTIVE_URL_JWT_SECRET. | `nil` | @@ -289,7 +291,7 @@ Configuration parameters for the Dashboard. This is the user interface administr | `dashboard.route.mtnDomain` | Public domain/address of the multi-tenant Dashboard. This is a wild-card domain used for multi-tenant setups e.g. "*.sdp-dashboard.localhost.com". | `nil` | | `dashboard.route.port` | Primary port on which the Dashboard listens. | `80` | | `dashboard.image` | Configuration related to the Docker image used by the Dashboard. | | -| `dashboard.image.fullName` | Full name of the Docker image. | `stellar/stellar-disbursement-platform-frontend:latest` | +| `dashboard.image.fullName` | Full name of the Docker image. | `stellar/stellar-disbursement-platform-frontend:3.0.0` | | `dashboard.image.pullPolicy` | Image pull policy for the dashboard. For locally built images, consider using "Never" or "IfNotPresent". | `Always` | | `dashboard.deployment` | Configuration related to the deployment of the Dashboard. | | | `dashboard.deployment.annotations` | Annotations to be added to the deployment. | `{}` | diff --git a/charts/stellar-disbursement-platform/values.yaml b/charts/stellar-disbursement-platform/values.yaml index 47fb761..ec88c0a 100644 --- a/charts/stellar-disbursement-platform/values.yaml +++ b/charts/stellar-disbursement-platform/values.yaml @@ -111,7 +111,7 @@ sdp: image: repository: stellar/stellar-disbursement-platform-backend pullPolicy: Always - tag: "2.1.1" + tag: "3.0.0" ## @extra sdp.deployment Configuration related to the deployment of the SDP service. ## @param sdp.deployment.annotations Annotations to be added to the deployment. @@ -142,7 +142,7 @@ sdp: ## @param sdp.configMap.data.SEP10_SIGNING_PUBLIC_KEY Anchor platform SEP10 signing public key. ## @param sdp.configMap.data.DISTRIBUTION_PUBLIC_KEY The public key of the HOST's Stellar distribution account, used to create channel accounts. ## @param sdp.configMap.data.METRICS_TYPE Defines the type of metrics system in use. Options: "PROMETHEUS". - ## @param sdp.configMap.data.EMAIL_SENDER_TYPE The messenger type used to send invitations to new dashboard users. Options: "DRY_RUN", "AWS_EMAIL". + ## @param sdp.configMap.data.EMAIL_SENDER_TYPE The messenger type used to send invitations to new dashboard users. Options: "DRY_RUN", "AWS_EMAIL", "TWILIO_EMAIL". ## @param sdp.configMap.data.SMS_SENDER_TYPE The messenger type used to send text messages to recipients. Options: "DRY_RUN", "TWILIO_SMS". ## @param sdp.configMap.data.RECAPTCHA_SITE_KEY Site key for ReCaptcha. Required if using ReCaptcha. ## @param sdp.configMap.data.CORS_ALLOWED_ORIGINS Specifies the domains allowed to make cross-origin requests. "*" means all domains are allowed. @@ -153,7 +153,7 @@ sdp: ## @param sdp.configMap.data.ENABLE_SCHEDULER Whether the scheduled jobs are enabled in this instance ("true" or "false"). Default "false". ## @param sdp.configMap.data.SCHEDULER_PAYMENT_JOB_SECONDS The interval in seconds for the payment job that syncs payments between the SDP and the TSS. ## @param sdp.configMap.data.SCHEDULER_RECEIVER_INVITATION_JOB_SECONDS The interval in seconds for the receiver invitation job that sends invitations to new receivers. 0 or negative values disable the job. - ## @param sdp.configMap.data.MAX_INVITATION_SMS_RESEND_ATTEMPTS The maximum number of times an invitation SMS can be resent. 0 or negative values disable the job. + ## @param sdp.configMap.data.MAX_INVITATION_RESEND_ATTEMPTS The maximum number of times an invitation can be resent. 0 or negative values disable the job. ## @param sdp.configMap.data.TENANT_XLM_BOOTSTRAP_AMOUNT The amount of XLM to be sent to a newly created tenant distribution account. configMap: annotations: @@ -174,9 +174,9 @@ sdp: DISABLE_MFA: "false" INSTANCE_NAME: #required ENABLE_SCHEDULER: "false" - SCHEDULER_PAYMENT_JOB_SECONDS: "3600" - SCHEDULER_RECEIVER_INVITATION_JOB_SECONDS: "3600" - MAX_INVITATION_SMS_RESEND_ATTEMPTS: "3" + SCHEDULER_PAYMENT_JOB_SECONDS: "10" + SCHEDULER_RECEIVER_INVITATION_JOB_SECONDS: "10" + MAX_INVITATION_RESEND_ATTEMPTS: "3" TENANT_XLM_BOOTSTRAP_AMOUNT: "5" ## @extra sdp.kubeSecrets Kubernetes secrets are used to manage sensitive information, such as API keys and private keys. It's crucial that these details are kept private. @@ -191,6 +191,8 @@ sdp: ## @param sdp.kubeSecrets.data.TWILIO_ACCOUNT_SID Account SID for authenticating to the Twilio service, used for sending text messages. ## @param sdp.kubeSecrets.data.TWILIO_AUTH_TOKEN Authentication token for the Twilio service. ## @param sdp.kubeSecrets.data.TWILIO_SERVICE_SID Service SID for the specific Twilio service being utilized. + ## @param sdp.kubeSecrets.data.TWILIO_SENDGRID_API_KEY API key for the Twilio SendGrid (email) service. + ## @param sdp.kubeSecrets.data.TWILIO_SENDGRID_SENDER_ADDRESS Email address used to send emails via Twilio SendGrid. ## @param sdp.kubeSecrets.data.EC256_PRIVATE_KEY [string] The EC256 Private Key. This key is used to sign the authentication token. This EC key needs to be at least as strong as prime256v1 (P-256). ## @param sdp.kubeSecrets.data.SEP10_SIGNING_PRIVATE_KEY The public key of the Stellar account that signs the SEP-10 transactions. It's also used to sign URLs. ## @param sdp.kubeSecrets.data.SEP24_JWT_SECRET The JWT secret that's used by the Anchor Platform to sign the SEP-24 JWT token. Must be the same as Anchor Platform's SECRET_SEP24_INTERACTIVE_URL_JWT_SECRET. @@ -220,6 +222,8 @@ sdp: TWILIO_ACCOUNT_SID: MY_TWILIO_ACCOUNT_SID TWILIO_AUTH_TOKEN: MY_TWILIO_AUTH_TOKEN TWILIO_SERVICE_SID: MY_TWILIO_SERVICE_SID + TWILIO_SENDGRID_API_KEY: MY_TWILIO_SENDGRID_API_KEY + TWILIO_SENDGRID_SENDER_ADDRESS: MY_TWILIO_SENDGRID_SENDER_ADDRESS SENTRY_DSN: #optional EC256_PRIVATE_KEY: #required SEP10_SIGNING_PRIVATE_KEY: #required @@ -248,7 +252,7 @@ sdp: enabled: true className: "nginx" annotations: - nginx.ingress.kubernetes.io/custom-response-headers: "X-XSS-Protection: 1; mode=block || X-Frame-Options: DENY || X-Content-Type-Options: nosniff || Strict-Transport-Security: max-age=31536000; includeSubDomains" + nginx.ingress.kubernetes.io/custom-response-headers: "X-Frame-Options: DENY || X-Content-Type-Options: nosniff || Strict-Transport-Security: max-age=31536000; includeSubDomains" nginx.ingress.kubernetes.io/limit-rpm: "120" nginx.ingress.kubernetes.io/limit-burst-multiplier: "5" tls: @@ -401,7 +405,7 @@ anchorPlatform: enabled: true className: "nginx" annotations: - nginx.ingress.kubernetes.io/custom-response-headers: "X-XSS-Protection: 1; mode=block || X-Frame-Options: DENY || X-Content-Type-Options: nosniff || Strict-Transport-Security: max-age=31536000; includeSubDomains" + nginx.ingress.kubernetes.io/custom-response-headers: "X-Frame-Options: DENY || X-Content-Type-Options: nosniff || Strict-Transport-Security: max-age=31536000; includeSubDomains" nginx.ingress.kubernetes.io/limit-rpm: "120" nginx.ingress.kubernetes.io/limit-burst-multiplier: "5" tls: @@ -532,7 +536,7 @@ dashboard: ## @param dashboard.image.fullName Full name of the Docker image. ## @param dashboard.image.pullPolicy Image pull policy for the dashboard. For locally built images, consider using "Never" or "IfNotPresent". image: - fullName: stellar/stellar-disbursement-platform-frontend:2.1.0 + fullName: stellar/stellar-disbursement-platform-frontend:3.0.0 pullPolicy: Always ## @extra dashboard.deployment Configuration related to the deployment of the Dashboard.