Skip to content

[dependabot:bundler] bump puma from 7.2.0 to 8.0.0#438

Open
dependabot[bot] wants to merge 1 commit into
developfrom
dependabot/bundler/puma-8.0.0
Open

[dependabot:bundler] bump puma from 7.2.0 to 8.0.0#438
dependabot[bot] wants to merge 1 commit into
developfrom
dependabot/bundler/puma-8.0.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Apr 21, 2026

Bumps puma from 7.2.0 to 8.0.0.

Release notes

Sourced from puma's releases.

v8.0.0 - Into the Arena

Read our Version 8 Upgrade Guide.

  • Features

    • Add env["puma.mark_as_io_bound"] API and max_io_threads config to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (#3816, #3894)
    • Add single and cluster DSL hooks for mode-specific configuration (#3621)
    • Add on_force option to shutdown_debug to only dump thread backtraces on forced (non-graceful) shutdown (#3671)
    • Add API to dynamically update min and max thread counts at runtime via update_thread_pool_min_max and ServerPluginControl (#3658)
    • Use SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (#3829)
  • Bugfixes

    • Fix phased restart for fork_worker to avoid forking from stale worker 0 when it has been replaced (#3853)
  • Performance

    • JRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies (#3838)
    • Cache downcased header key in str_headers to avoid redundant String#downcase calls, reducing allocations by ~50% per response (#3874)
  • Refactor

    • Collect env processing into dedicated client_env.rb module (#3582)
    • Move event to default configuration (#3872)
  • Docs

    • Add gRPC guide for configuring gRPC lifecycle hooks in clustered mode (#3885)
    • Add 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (#3900)
    • Correct default values for persistent_timeout and worker_boot_timeout in DSL docs (#3912)
    • Add file descriptor limit warning in test helper for contributors (#3893)
  • Breaking changes

    • Default production bind address changed from 0.0.0.0 to :: (IPv6) when a non-loopback IPv6 interface is available; falls back to 0.0.0.0 if IPv6 is unavailable (#3847)
Changelog

Sourced from puma's changelog.

8.0.0 / 2026-03-27

  • Features

    • Add env["puma.mark_as_io_bound"] API and max_io_threads config to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (#3816, #3894)
    • Add single and cluster DSL hooks for mode-specific configuration (#3621)
    • Add on_force option to shutdown_debug to only dump thread backtraces on forced (non-graceful) shutdown (#3671)
    • Add API to dynamically update min and max thread counts at runtime via update_thread_pool_min_max and ServerPluginControl (#3658)
    • Use SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (#3829)
  • Bugfixes

    • Fix phased restart for fork_worker to avoid forking from stale worker 0 when it has been replaced (#3853)
  • Performance

    • JRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies (#3838)
    • Cache downcased header key in str_headers to avoid redundant String#downcase calls, reducing allocations by ~50% per response (#3874)
  • Refactor

    • Collect env processing into dedicated client_env.rb module (#3582)
    • Move event to default configuration (#3872)
  • Docs

    • Add gRPC guide for configuring gRPC lifecycle hooks in clustered mode (#3885)
    • Add 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (#3900)
    • Correct default values for persistent_timeout and worker_boot_timeout in DSL docs (#3912)
    • Add file descriptor limit warning in test helper for contributors (#3893)
  • Breaking changes

    • Default production bind address changed from 0.0.0.0 to :: (IPv6) when a non-loopback IPv6 interface is available; falls back to 0.0.0.0 if IPv6 is unavailable (#3847)
Commits
  • 08f63d4 Release v8.0.0 (#3914)
  • 7406cc1 Fix IPv4-mapped IPv6 addresses in REMOTE_ADDR and request logs (#3916)
  • e090243 Build(deps): Bump actions/checkout from 4 to 6 (#3915)
  • 7d5dca1 Update SECURITY.md, native Github vuln reports [ci skip] (#3913)
  • 66e6a32 Minor correction to defaults documented in dsl.rb (#3912)
  • 3788eca ci: limit rack-conform to main pushes and scope ragel PR runs (#3908)
  • 57b7799 ci: run turbo-rails only on latest stable Ruby and Rails (#3909)
  • 6685d6b ci: replace skip-duplicate jobs with concurrency and trigger filters (#3907)
  • 2848c82 ci: run push workflows only on main and release branches (#3906)
  • 97a37bb Add release pre-merge checks and align Release.md [ci skip] (#3904)
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code labels Apr 21, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 21, 2026

Infrastructure Changes

Development CDK Diff
start: Building dev-LocalOfficeSearchApiDb Template
success: Built dev-LocalOfficeSearchApiDb Template
start: Publishing dev-LocalOfficeSearchApiDb Template (979633842206-eu-west-1-b86c5dcf)
success: Published dev-LocalOfficeSearchApiDb Template (979633842206-eu-west-1-b86c5dcf)
Hold on while we create a read-only change set to get a diff with accurate replacement information (use --method=template to use a less accurate but faster template-only diff)

Stack dev/LocalOfficeSearchApiDb (dev-LocalOfficeSearchApiDb)
There were no differences

start: Building devLocalOfficeSearchApiDeploymentEksClusterIntegrationFB781003-KubectlProvider Nested Stack Template
success: Built devLocalOfficeSearchApiDeploymentEksClusterIntegrationFB781003-KubectlProvider Nested Stack Template
start: Publishing devLocalOfficeSearchApiDeploymentEksClusterIntegrationFB781003-KubectlProvider Nested Stack Template (979633842206-eu-west-1-dc8d78de)
success: Published devLocalOfficeSearchApiDeploymentEksClusterIntegrationFB781003-KubectlProvider Nested Stack Template (979633842206-eu-west-1-dc8d78de)
start: Building dev-LocalOfficeSearchApiDeployment Template
success: Built dev-LocalOfficeSearchApiDeployment Template
start: Publishing dev-LocalOfficeSearchApiDeployment Template (979633842206-eu-west-1-c36bfd13)
success: Published dev-LocalOfficeSearchApiDeployment Template (979633842206-eu-west-1-c36bfd13)
Hold on while we create a read-only change set to get a diff with accurate replacement information (use --method=template to use a less accurate but faster template-only diff)

Stack dev/LocalOfficeSearchApiDeployment (dev-LocalOfficeSearchApiDeployment)
Resources
[~] Custom::AWSCDK-EKS-HelmChart LocalOfficeSearchApiDeployment/LocalOfficeSearchApiChart/Resource LocalOfficeSearchApiChart37673188 may be replaced
 ├─ [~] ChartAssetURL (may cause replacement)
 │   ├─ [-] s3://cdk-hnb659fds-assets-979633842206-eu-west-1/6c930a86f77622c295792aa3f629f555af0341fd7db4f3337a872db40ee92a21.zip
 │   └─ [+] s3://cdk-hnb659fds-assets-979633842206-eu-west-1/c8037e9d4123fdadf2895ded618baacb503605b085271ef55b1358130dae3045.zip
 └─ [~] Values (may cause replacement)
     └─ [~] .Fn::Join:
         └─ @@ -1,7 +1,7 @@
            [ ] [
            [ ]   "",
            [ ]   [
            [-]     "{\"resources\":[{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"metadata\":{\"labels\":{\"app\":\"local-office-search-api\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"97f045fc878d9e30b93ad43b2a6ff7d2d03a70e9\"},\"name\":\"localofficesearchapichart-deployment\",\"namespace\":\"dev-local-office-search-api\"},\"spec\":{\"minReadySeconds\":0,\"progressDeadlineSeconds\":600,\"revisionHistoryLimit\":10,\"selector\":{\"matchLabels\":{\"cdk8s.io/metadata.addr\":\"LocalOfficeSearchApiChart-Deployment-c86689ab\"}},\"strategy\":{\"rollingUpdate\":{\"maxSurge\":\"25%\",\"maxUnavailable\":\"25%\"},\"type\":\"RollingUpdate\"},\"template\":{\"metadata\":{\"annotations\":{\"ad.datadoghq.com/local-office-search-api-server.logs\":\"[{\\\"source\\\": \\\"ruby\\\", \\\"sourcecategory\\\": \\\"sourcecode\\\", \\\"service\\\": \\\"local-office-search-api\\\", \\\"log_processing_rules\\\": [{\\\"type\\\": \\\"exclude_at_match\\\", \\\"name\\\": \\\"exclude_metrics_requests\\\", \\\"pattern\\\": \\\"GET /metrics\\\"}, {\\\"type\\\": \\\"exclude_at_match\\\", \\\"name\\\": \\\"exclude_status_heartbeat\\\", \\\"pattern\\\": \\\"\\\\\\\"path\\\\\\\":\\\\\\\"/status\\\\\\\"\\\"}]}]\"},\"labels\":{\"app\":\"local-office-search-api\",\"cdk8s.io/metadata.addr\":\"LocalOfficeSearchApiChart-Deployment-c86689ab\",\"component\":\"local-office-search-api-server\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"97f045fc878d9e30b93ad43b2a6ff7d2d03a70e9\"}},\"spec\":{\"automountServiceAccountToken\":false,\"containers\":[{\"args\":[\"bin/rails\",\"server\",\"-p\",\"3060\",\"-b\",\"0.0.0.0\"],\"env\":[{\"name\":\"DD_ENV\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.labels['tags.datadoghq.com/env']\"}}},{\"name\":\"DD_SERVICE\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.labels['tags.datadoghq.com/service']\"}}},{\"name\":\"DD_VERSION\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.labels['tags.datadoghq.com/version']\"}}},{\"name\":\"DD_AGENT_HOST\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"status.hostIP\"}}},{\"name\":\"RAILS_MAX_THREADS\",\"value\":\"10\"},{\"name\":\"RAILS_ENV\",\"value\":\"production\"},{\"name\":\"RACK_ENV\",\"value\":\"production\"},{\"name\":\"NODE_ENV\",\"value\":\"production\"},{\"name\":\"SECRET_KEY_BASE\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"SECRET_KEY_BASE\",\"name\":\"local-office-search-app\"}}},{\"name\":\"RAILS_LOG_TO_STDOUT\",\"value\":\"true\"},{\"name\":\"LSS_DATA_BUCKET\",\"value\":\"sandbox-advicelocationpipe-pipelinebucket263ac468-19wuk9oanxght\"},{\"name\":\"GEO_DATA_BUCKET\",\"value\":\"uat-geo-data-postcodes-raw-eu-west-1\"},{\"name\":\"GEO_DATA_POSTCODES_FILE\",\"value\":\"Geo_postcodes_csv_uat.csv\"},{\"name\":\"LOCAL_OFFICE_SEARCH_DB_USER\",\"value\":\"local_office_search_api\"},{\"name\":\"LOCAL_OFFICE_SEARCH_DB_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"DB_PASSWORD\",\"name\":\"local-office-search-db\"}}},{\"name\":\"LOCAL_OFFICE_SEARCH_DB_HOST\",\"value\":\"",
            [+]     "{\"resources\":[{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"metadata\":{\"labels\":{\"app\":\"local-office-search-api\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"local\"},\"name\":\"localofficesearchapichart-deployment\",\"namespace\":\"dev-local-office-search-api\"},\"spec\":{\"minReadySeconds\":0,\"progressDeadlineSeconds\":600,\"revisionHistoryLimit\":10,\"selector\":{\"matchLabels\":{\"cdk8s.io/metadata.addr\":\"LocalOfficeSearchApiChart-Deployment-c86689ab\"}},\"strategy\":{\"rollingUpdate\":{\"maxSurge\":\"25%\",\"maxUnavailable\":\"25%\"},\"type\":\"RollingUpdate\"},\"template\":{\"metadata\":{\"annotations\":{\"ad.datadoghq.com/local-office-search-api-server.logs\":\"[{\\\"source\\\": \\\"ruby\\\", \\\"sourcecategory\\\": \\\"sourcecode\\\", \\\"service\\\": \\\"local-office-search-api\\\", \\\"log_processing_rules\\\": [{\\\"type\\\": \\\"exclude_at_match\\\", \\\"name\\\": \\\"exclude_metrics_requests\\\", \\\"pattern\\\": \\\"GET /metrics\\\"}, {\\\"type\\\": \\\"exclude_at_match\\\", \\\"name\\\": \\\"exclude_status_heartbeat\\\", \\\"pattern\\\": \\\"\\\\\\\"path\\\\\\\":\\\\\\\"/status\\\\\\\"\\\"}]}]\"},\"labels\":{\"app\":\"local-office-search-api\",\"cdk8s.io/metadata.addr\":\"LocalOfficeSearchApiChart-Deployment-c86689ab\",\"component\":\"local-office-search-api-server\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"local\"}},\"spec\":{\"automountServiceAccountToken\":false,\"containers\":[{\"args\":[\"bin/rails\",\"server\",\"-p\",\"3060\",\"-b\",\"0.0.0.0\"],\"env\":[{\"name\":\"DD_ENV\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.labels['tags.datadoghq.com/env']\"}}},{\"name\":\"DD_SERVICE\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.labels['tags.datadoghq.com/service']\"}}},{\"name\":\"DD_VERSION\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.labels['tags.datadoghq.com/version']\"}}},{\"name\":\"DD_AGENT_HOST\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"status.hostIP\"}}},{\"name\":\"RAILS_MAX_THREADS\",\"value\":\"10\"},{\"name\":\"RAILS_ENV\",\"value\":\"production\"},{\"name\":\"RACK_ENV\",\"value\":\"production\"},{\"name\":\"NODE_ENV\",\"value\":\"production\"},{\"name\":\"SECRET_KEY_BASE\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"SECRET_KEY_BASE\",\"name\":\"local-office-search-app\"}}},{\"name\":\"RAILS_LOG_TO_STDOUT\",\"value\":\"true\"},{\"name\":\"LSS_DATA_BUCKET\",\"value\":\"sandbox-advicelocationpipe-pipelinebucket263ac468-19wuk9oanxght\"},{\"name\":\"GEO_DATA_BUCKET\",\"value\":\"uat-geo-data-postcodes-raw-eu-west-1\"},{\"name\":\"GEO_DATA_POSTCODES_FILE\",\"value\":\"Geo_postcodes_csv_uat.csv\"},{\"name\":\"LOCAL_OFFICE_SEARCH_DB_USER\",\"value\":\"local_office_search_api\"},{\"name\":\"LOCAL_OFFICE_SEARCH_DB_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"DB_PASSWORD\",\"name\":\"local-office-search-db\"}}},{\"name\":\"LOCAL_OFFICE_SEARCH_DB_HOST\",\"value\":\"",
            [ ]     {
            [ ]       "Fn::ImportValue": "dev-LocalOfficeSearchApiDb:ExportsOutputFnGetAttDbCluster224236EFEndpointAddress7B9F10FA"
            [ ]     },
            @@ -13,7 +13,7 @@
            [ ] {
            [ ]   "Ref": "AWS::URLSuffix"
            [ ] },
            [-] "/local-office-search-api:97f045fc878d9e30b93ad43b2a6ff7d2d03a70e9\",\"imagePullPolicy\":\"IfNotPresent\",\"lifecycle\":{\"preStop\":{\"exec\":{\"command\":[\"sleep\",\"10\"]}}},\"name\":\"local-office-search-api-server\",\"ports\":[{\"containerPort\":3060,\"name\":\"http\"},{\"containerPort\":9394,\"name\":\"metrics\"}],\"readinessProbe\":{\"failureThreshold\":3,\"httpGet\":{\"path\":\"/status\",\"port\":3060,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":10,\"periodSeconds\":10,\"successThreshold\":1,\"timeoutSeconds\":5},\"resources\":{\"limits\":{\"cpu\":\"800m\",\"memory\":\"1024Mi\"},\"requests\":{\"cpu\":\"400m\",\"memory\":\"768Mi\"}},\"securityContext\":{\"allowPrivilegeEscalation\":false,\"privileged\":false,\"readOnlyRootFilesystem\":false,\"runAsNonRoot\":true,\"runAsUser\":1000}}],\"dnsPolicy\":\"ClusterFirst\",\"hostNetwork\":false,\"restartPolicy\":\"Always\",\"securityContext\":{\"fsGroupChangePolicy\":\"Always\",\"runAsNonRoot\":true},\"serviceAccountName\":\"local-office-search-api\",\"setHostnameAsFQDN\":false,\"shareProcessNamespace\":false,\"terminationGracePeriodSeconds\":60}}}},{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"labels\":{\"app\":\"local-office-search-api\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"97f045fc878d9e30b93ad43b2a6ff7d2d03a70e9\"},\"name\":\"local-office-search-api\",\"namespace\":\"dev-local-office-search-api\"},\"spec\":{\"externalIPs\":[],\"ports\":[{\"name\":\"http\",\"port\":3060}],\"selector\":{\"cdk8s.io/metadata.addr\":\"LocalOfficeSearchApiChart-Deployment-c86689ab\"},\"type\":\"NodePort\"}},{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"labels\":{\"app\":\"local-office-search-api\",\"custom-metrics-enabled\":\"true\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"97f045fc878d9e30b93ad43b2a6ff7d2d03a70e9\"},\"name\":\"local-office-search-api-metrics\",\"namespace\":\"dev-local-office-search-api\"},\"spec\":{\"externalIPs\":[],\"ports\":[{\"name\":\"metrics\",\"port\":9394}],\"selector\":{\"cdk8s.io/metadata.addr\":\"LocalOfficeSearchApiChart-Deployment-c86689ab\"},\"type\":\"ClusterIP\"}},{\"apiVersion\":\"policy/v1\",\"kind\":\"PodDisruptionBudget\",\"metadata\":{\"labels\":{\"app\":\"local-office-search-api\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"97f045fc878d9e30b93ad43b2a6ff7d2d03a70e9\"},\"name\":\"localofficesearchapichart-localofficesearchapipdb\",\"namespace\":\"dev-local-office-search-api\"},\"spec\":{\"maxUnavailable\":1,\"selector\":{\"matchLabels\":{\"cdk8s.io/metadata.addr\":\"LocalOfficeSearchApiChart-Deployment-c86689ab\"}}}},{\"apiVersion\":\"batch/v1\",\"kind\":\"CronJob\",\"metadata\":{\"labels\":{\"app\":\"local-office-search-api\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"97f045fc878d9e30b93ad43b2a6ff7d2d03a70e9\"},\"name\":\"localofficesearchapichart-scheduledimport\",\"namespace\":\"dev-local-office-search-api\"},\"spec\":{\"concurrencyPolicy\":\"Forbid\",\"failedJobsHistoryLimit\":1,\"jobTemplate\":{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"ad.datadoghq.com/local-office-search-api-scheduled-import.logs\":\"[{\\\"source\\\": \\\"ruby\\\", \\\"sourcecategory\\\": \\\"sourcecode\\\", \\\"service\\\": \\\"local-office-search-api\\\"}]\"},\"labels\":{\"app\":\"local-office-search-api\",\"cdk8s.io/metadata.addr\":\"LocalOfficeSearchApiChart-ScheduledImport-c8726367\",\"component\":\"local-office-search-api-scheduled-import\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"97f045fc878d9e30b93ad43b2a6ff7d2d03a70e9\"}},\"spec\":{\"automountServiceAccountToken\":false,\"containers\":[{\"args\":[\"bin/rake\",\"sync_database\"],\"env\":[{\"name\":\"DD_ENV\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.labels['tags.datadoghq.com/env']\"}}},{\"name\":\"DD_SERVICE\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.labels['tags.datadoghq.com/service']\"}}},{\"name\":\"DD_VERSION\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.labels['tags.datadoghq.com/version']\"}}},{\"name\":\"DD_AGENT_HOST\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"status.hostIP\"}}},{\"name\":\"RAILS_MAX_THREADS\",\"value\":\"10\"},{\"name\":\"RAILS_ENV\",\"value\":\"production\"},{\"name\":\"RACK_ENV\",\"value\":\"production\"},{\"name\":\"NODE_ENV\",\"value\":\"production\"},{\"name\":\"SECRET_KEY_BASE\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"SECRET_KEY_BASE\",\"name\":\"local-office-search-app\"}}},{\"name\":\"RAILS_LOG_TO_STDOUT\",\"value\":\"true\"},{\"name\":\"LSS_DATA_BUCKET\",\"value\":\"sandbox-advicelocationpipe-pipelinebucket263ac468-19wuk9oanxght\"},{\"name\":\"GEO_DATA_BUCKET\",\"value\":\"uat-geo-data-postcodes-raw-eu-west-1\"},{\"name\":\"GEO_DATA_POSTCODES_FILE\",\"value\":\"Geo_postcodes_csv_uat.csv\"},{\"name\":\"LOCAL_OFFICE_SEARCH_DB_USER\",\"value\":\"local_office_search_api\"},{\"name\":\"LOCAL_OFFICE_SEARCH_DB_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"DB_PASSWORD\",\"name\":\"local-office-search-db\"}}},{\"name\":\"LOCAL_OFFICE_SEARCH_DB_HOST\",\"value\":\"",
            [+] "/local-office-search-api:local\",\"imagePullPolicy\":\"IfNotPresent\",\"lifecycle\":{\"preStop\":{\"exec\":{\"command\":[\"sleep\",\"10\"]}}},\"name\":\"local-office-search-api-server\",\"ports\":[{\"containerPort\":3060,\"name\":\"http\"},{\"containerPort\":9394,\"name\":\"metrics\"}],\"readinessProbe\":{\"failureThreshold\":3,\"httpGet\":{\"path\":\"/status\",\"port\":3060,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":10,\"periodSeconds\":10,\"successThreshold\":1,\"timeoutSeconds\":5},\"resources\":{\"limits\":{\"cpu\":\"800m\",\"memory\":\"1024Mi\"},\"requests\":{\"cpu\":\"400m\",\"memory\":\"768Mi\"}},\"securityContext\":{\"allowPrivilegeEscalation\":false,\"privileged\":false,\"readOnlyRootFilesystem\":false,\"runAsNonRoot\":true,\"runAsUser\":1000}}],\"dnsPolicy\":\"ClusterFirst\",\"hostNetwork\":false,\"restartPolicy\":\"Always\",\"securityContext\":{\"fsGroupChangePolicy\":\"Always\",\"runAsNonRoot\":true},\"serviceAccountName\":\"local-office-search-api\",\"setHostnameAsFQDN\":false,\"shareProcessNamespace\":false,\"terminationGracePeriodSeconds\":60}}}},{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"labels\":{\"app\":\"local-office-search-api\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"local\"},\"name\":\"local-office-search-api\",\"namespace\":\"dev-local-office-search-api\"},\"spec\":{\"externalIPs\":[],\"ports\":[{\"name\":\"http\",\"port\":3060}],\"selector\":{\"cdk8s.io/metadata.addr\":\"LocalOfficeSearchApiChart-Deployment-c86689ab\"},\"type\":\"NodePort\"}},{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"labels\":{\"app\":\"local-office-search-api\",\"custom-metrics-enabled\":\"true\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"local\"},\"name\":\"local-office-search-api-metrics\",\"namespace\":\"dev-local-office-search-api\"},\"spec\":{\"externalIPs\":[],\"ports\":[{\"name\":\"metrics\",\"port\":9394}],\"selector\":{\"cdk8s.io/metadata.addr\":\"LocalOfficeSearchApiChart-Deployment-c86689ab\"},\"type\":\"ClusterIP\"}},{\"apiVersion\":\"policy/v1\",\"kind\":\"PodDisruptionBudget\",\"metadata\":{\"labels\":{\"app\":\"local-office-search-api\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"local\"},\"name\":\"localofficesearchapichart-localofficesearchapipdb\",\"namespace\":\"dev-local-office-search-api\"},\"spec\":{\"maxUnavailable\":1,\"selector\":{\"matchLabels\":{\"cdk8s.io/metadata.addr\":\"LocalOfficeSearchApiChart-Deployment-c86689ab\"}}}},{\"apiVersion\":\"batch/v1\",\"kind\":\"CronJob\",\"metadata\":{\"labels\":{\"app\":\"local-office-search-api\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"local\"},\"name\":\"localofficesearchapichart-scheduledimport\",\"namespace\":\"dev-local-office-search-api\"},\"spec\":{\"concurrencyPolicy\":\"Forbid\",\"failedJobsHistoryLimit\":1,\"jobTemplate\":{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"ad.datadoghq.com/local-office-search-api-scheduled-import.logs\":\"[{\\\"source\\\": \\\"ruby\\\", \\\"sourcecategory\\\": \\\"sourcecode\\\", \\\"service\\\": \\\"local-office-search-api\\\"}]\"},\"labels\":{\"app\":\"local-office-search-api\",\"cdk8s.io/metadata.addr\":\"LocalOfficeSearchApiChart-ScheduledImport-c8726367\",\"component\":\"local-office-search-api-scheduled-import\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"local\"}},\"spec\":{\"automountServiceAccountToken\":false,\"containers\":[{\"args\":[\"bin/rake\",\"sync_database\"],\"env\":[{\"name\":\"DD_ENV\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.labels['tags.datadoghq.com/env']\"}}},{\"name\":\"DD_SERVICE\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.labels['tags.datadoghq.com/service']\"}}},{\"name\":\"DD_VERSION\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.labels['tags.datadoghq.com/version']\"}}},{\"name\":\"DD_AGENT_HOST\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"status.hostIP\"}}},{\"name\":\"RAILS_MAX_THREADS\",\"value\":\"10\"},{\"name\":\"RAILS_ENV\",\"value\":\"production\"},{\"name\":\"RACK_ENV\",\"value\":\"production\"},{\"name\":\"NODE_ENV\",\"value\":\"production\"},{\"name\":\"SECRET_KEY_BASE\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"SECRET_KEY_BASE\",\"name\":\"local-office-search-app\"}}},{\"name\":\"RAILS_LOG_TO_STDOUT\",\"value\":\"true\"},{\"name\":\"LSS_DATA_BUCKET\",\"value\":\"sandbox-advicelocationpipe-pipelinebucket263ac468-19wuk9oanxght\"},{\"name\":\"GEO_DATA_BUCKET\",\"value\":\"uat-geo-data-postcodes-raw-eu-west-1\"},{\"name\":\"GEO_DATA_POSTCODES_FILE\",\"value\":\"Geo_postcodes_csv_uat.csv\"},{\"name\":\"LOCAL_OFFICE_SEARCH_DB_USER\",\"value\":\"local_office_search_api\"},{\"name\":\"LOCAL_OFFICE_SEARCH_DB_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"DB_PASSWORD\",\"name\":\"local-office-search-db\"}}},{\"name\":\"LOCAL_OFFICE_SEARCH_DB_HOST\",\"value\":\"",
            [ ] {
            [ ]   "Fn::ImportValue": "dev-LocalOfficeSearchApiDb:ExportsOutputFnGetAttDbCluster224236EFEndpointAddress7B9F10FA"
            [ ] },
            @@ -25,6 +25,6 @@
            [ ]     {
            [ ]       "Ref": "AWS::URLSuffix"
            [ ]     },
            [-]     "/local-office-search-api:97f045fc878d9e30b93ad43b2a6ff7d2d03a70e9\",\"imagePullPolicy\":\"IfNotPresent\",\"lifecycle\":{\"preStop\":{\"exec\":{\"command\":[\"sleep\",\"10\"]}}},\"name\":\"local-office-search-api-scheduled-import\",\"ports\":[{\"containerPort\":3060,\"name\":\"http\"},{\"containerPort\":9394,\"name\":\"metrics\"}],\"readinessProbe\":{\"failureThreshold\":3,\"httpGet\":{\"path\":\"/status\",\"port\":3060,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":10,\"periodSeconds\":10,\"successThreshold\":1,\"timeoutSeconds\":5},\"resources\":{\"limits\":{\"cpu\":\"800m\",\"memory\":\"1024Mi\"},\"requests\":{\"cpu\":\"400m\",\"memory\":\"768Mi\"}},\"securityContext\":{\"allowPrivilegeEscalation\":false,\"privileged\":false,\"readOnlyRootFilesystem\":false,\"runAsNonRoot\":true,\"runAsUser\":1000}}],\"dnsPolicy\":\"ClusterFirst\",\"hostNetwork\":false,\"restartPolicy\":\"Never\",\"securityContext\":{\"fsGroupChangePolicy\":\"Always\",\"runAsNonRoot\":true},\"serviceAccountName\":\"local-office-search-api\",\"setHostnameAsFQDN\":false,\"shareProcessNamespace\":false,\"terminationGracePeriodSeconds\":30}}}},\"schedule\":\"55 9 * * *\",\"startingDeadlineSeconds\":10,\"successfulJobsHistoryLimit\":3,\"suspend\":false,\"timeZone\":\"Europe/London\"}},{\"apiVersion\":\"autoscaling/v2\",\"kind\":\"HorizontalPodAutoscaler\",\"metadata\":{\"labels\":{\"app\":\"local-office-search-api\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"97f045fc878d9e30b93ad43b2a6ff7d2d03a70e9\"},\"name\":\"localofficesearchapichart-autoscaler\",\"namespace\":\"dev-local-office-search-api\"},\"spec\":{\"behavior\":{\"scaleDown\":{\"policies\":[{\"periodSeconds\":300,\"type\":\"Pods\",\"value\":2}],\"selectPolicy\":\"Max\",\"stabilizationWindowSeconds\":300},\"scaleUp\":{\"policies\":[{\"periodSeconds\":60,\"type\":\"Pods\",\"value\":4},{\"periodSeconds\":60,\"type\":\"Percent\",\"value\":200}],\"selectPolicy\":\"Max\",\"stabilizationWindowSeconds\":0}},\"maxReplicas\":4,\"metrics\":[{\"pods\":{\"metric\":{\"name\":\"puma_business\"},\"target\":{\"averageValue\":0.75,\"type\":\"AverageValue\"}},\"type\":\"Pods\"}],\"minReplicas\":2,\"scaleTargetRef\":{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"name\":\"localofficesearchapichart-deployment\"}}},{\"apiVersion\":\"networking.k8s.io/v1\",\"kind\":\"NetworkPolicy\",\"metadata\":{\"labels\":{\"app\":\"local-office-search-api\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"97f045fc878d9e30b93ad43b2a6ff7d2d03a70e9\"},\"name\":\"localofficesearchapichart-allowexternaltraffic\",\"namespace\":\"dev-local-office-search-api\"},\"spec\":{\"ingress\":[{\"from\":[{\"ipBlock\":{\"cidr\":\"0.0.0.0/0\"}}],\"ports\":[{\"port\":3060}]}],\"podSelector\":{},\"policyTypes\":[\"Ingress\"]}},{\"apiVersion\":\"networking.k8s.io/v1\",\"kind\":\"NetworkPolicy\",\"metadata\":{\"labels\":{\"app\":\"local-office-search-api\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"97f045fc878d9e30b93ad43b2a6ff7d2d03a70e9\"},\"name\":\"localofficesearchapichart-allowmetricscollection\",\"namespace\":\"dev-local-office-search-api\"},\"spec\":{\"ingress\":[{\"from\":[{\"namespaceSelector\":{\"matchLabels\":{\"kubernetes.io/metadata.name\":\"kube-monitoring\"}},\"podSelector\":{\"matchExpressions\":[{\"key\":\"prometheus\",\"operator\":\"In\",\"values\":[\"prometheus-operator-prometheus\"]}]}}],\"ports\":[{\"port\":9394}]}],\"podSelector\":{},\"policyTypes\":[\"Ingress\"]}},{\"apiVersion\":\"monitoring.coreos.com/v1\",\"kind\":\"Probe\",\"metadata\":{\"labels\":{\"app\":\"local-office-search-api\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"97f045fc878d9e30b93ad43b2a6ff7d2d03a70e9\"},\"name\":\"localofficesearchapichart-probe\",\"namespace\":\"dev-local-office-search-api\"},\"spec\":{\"interval\":\"60s\",\"module\":\"http_2xx\",\"prober\":{\"path\":\"/probe\",\"url\":\"prometheus-blackbox-exporter.kube-monitoring.svc.cluster.local:9115\"},\"targets\":{\"staticConfig\":{\"static\":[\"http://local-office-search-api.dev-local-office-search-api.svc.cluster.local:3060/api/v2/offices?q=WC1X+0DW\"]}}}}]}"
            [+]     "/local-office-search-api:local\",\"imagePullPolicy\":\"IfNotPresent\",\"lifecycle\":{\"preStop\":{\"exec\":{\"command\":[\"sleep\",\"10\"]}}},\"name\":\"local-office-search-api-scheduled-import\",\"ports\":[{\"containerPort\":3060,\"name\":\"http\"},{\"containerPort\":9394,\"name\":\"metrics\"}],\"readinessProbe\":{\"failureThreshold\":3,\"httpGet\":{\"path\":\"/status\",\"port\":3060,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":10,\"periodSeconds\":10,\"successThreshold\":1,\"timeoutSeconds\":5},\"resources\":{\"limits\":{\"cpu\":\"800m\",\"memory\":\"1024Mi\"},\"requests\":{\"cpu\":\"400m\",\"memory\":\"768Mi\"}},\"securityContext\":{\"allowPrivilegeEscalation\":false,\"privileged\":false,\"readOnlyRootFilesystem\":false,\"runAsNonRoot\":true,\"runAsUser\":1000}}],\"dnsPolicy\":\"ClusterFirst\",\"hostNetwork\":false,\"restartPolicy\":\"Never\",\"securityContext\":{\"fsGroupChangePolicy\":\"Always\",\"runAsNonRoot\":true},\"serviceAccountName\":\"local-office-search-api\",\"setHostnameAsFQDN\":false,\"shareProcessNamespace\":false,\"terminationGracePeriodSeconds\":30}}}},\"schedule\":\"55 9 * * *\",\"startingDeadlineSeconds\":10,\"successfulJobsHistoryLimit\":3,\"suspend\":false,\"timeZone\":\"Europe/London\"}},{\"apiVersion\":\"autoscaling/v2\",\"kind\":\"HorizontalPodAutoscaler\",\"metadata\":{\"labels\":{\"app\":\"local-office-search-api\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"local\"},\"name\":\"localofficesearchapichart-autoscaler\",\"namespace\":\"dev-local-office-search-api\"},\"spec\":{\"behavior\":{\"scaleDown\":{\"policies\":[{\"periodSeconds\":300,\"type\":\"Pods\",\"value\":2}],\"selectPolicy\":\"Max\",\"stabilizationWindowSeconds\":300},\"scaleUp\":{\"policies\":[{\"periodSeconds\":60,\"type\":\"Pods\",\"value\":4},{\"periodSeconds\":60,\"type\":\"Percent\",\"value\":200}],\"selectPolicy\":\"Max\",\"stabilizationWindowSeconds\":0}},\"maxReplicas\":4,\"metrics\":[{\"pods\":{\"metric\":{\"name\":\"puma_business\"},\"target\":{\"averageValue\":0.75,\"type\":\"AverageValue\"}},\"type\":\"Pods\"}],\"minReplicas\":2,\"scaleTargetRef\":{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"name\":\"localofficesearchapichart-deployment\"}}},{\"apiVersion\":\"networking.k8s.io/v1\",\"kind\":\"NetworkPolicy\",\"metadata\":{\"labels\":{\"app\":\"local-office-search-api\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"local\"},\"name\":\"localofficesearchapichart-allowexternaltraffic\",\"namespace\":\"dev-local-office-search-api\"},\"spec\":{\"ingress\":[{\"from\":[{\"ipBlock\":{\"cidr\":\"0.0.0.0/0\"}}],\"ports\":[{\"port\":3060}]}],\"podSelector\":{},\"policyTypes\":[\"Ingress\"]}},{\"apiVersion\":\"networking.k8s.io/v1\",\"kind\":\"NetworkPolicy\",\"metadata\":{\"labels\":{\"app\":\"local-office-search-api\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"local\"},\"name\":\"localofficesearchapichart-allowmetricscollection\",\"namespace\":\"dev-local-office-search-api\"},\"spec\":{\"ingress\":[{\"from\":[{\"namespaceSelector\":{\"matchLabels\":{\"kubernetes.io/metadata.name\":\"kube-monitoring\"}},\"podSelector\":{\"matchExpressions\":[{\"key\":\"prometheus\",\"operator\":\"In\",\"values\":[\"prometheus-operator-prometheus\"]}]}}],\"ports\":[{\"port\":9394}]}],\"podSelector\":{},\"policyTypes\":[\"Ingress\"]}},{\"apiVersion\":\"monitoring.coreos.com/v1\",\"kind\":\"Probe\",\"metadata\":{\"labels\":{\"app\":\"local-office-search-api\",\"env\":\"dev\",\"tags.datadoghq.com/env\":\"dev\",\"tags.datadoghq.com/service\":\"local-office-search-api\",\"tags.datadoghq.com/version\":\"local\"},\"name\":\"localofficesearchapichart-probe\",\"namespace\":\"dev-local-office-search-api\"},\"spec\":{\"interval\":\"60s\",\"module\":\"http_2xx\",\"prober\":{\"path\":\"/probe\",\"url\":\"prometheus-blackbox-exporter.kube-monitoring.svc.cluster.local:9115\"},\"targets\":{\"staticConfig\":{\"static\":[\"http://local-office-search-api.dev-local-office-search-api.svc.cluster.local:3060/api/v2/offices?q=WC1X+0DW\"]}}}}]}"
            [ ]   ]
            [ ] ]

Stack dev-LocalOfficeSearchApiDeployment-devLocalOfficeSearchApiDeploymentEksClusterIntegrat-PR75B9URWKWC
There were no differences


✨  Number of stacks with differences: 1

Bumps [puma](https://github.com/puma/puma) from 7.2.0 to 8.0.0.
- [Release notes](https://github.com/puma/puma/releases)
- [Changelog](https://github.com/puma/puma/blob/main/History.md)
- [Commits](puma/puma@v7.2.0...v8.0.0)

---
updated-dependencies:
- dependency-name: puma
  dependency-version: 8.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/bundler/puma-8.0.0 branch from f26f98a to c0af1d2 Compare April 23, 2026 08:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants