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

fix(deps): update dependency axios to v1.7.4 [security] #826

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Aug 13, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
axios (source) 1.6.7 -> 1.7.4 age adoption passing confidence

GitHub Vulnerability Alerts

CVE-2024-39338

axios 1.7.2 allows SSRF via unexpected behavior where requests for path relative URLs get processed as protocol relative URLs.


Release Notes

axios/axios (axios)

v1.7.4

Compare Source

Bug Fixes
Contributors to this release

v1.7.3

Compare Source

Bug Fixes
Contributors to this release

v1.7.2

Compare Source

Bug Fixes
Contributors to this release

v1.7.1

Compare Source

Bug Fixes
  • fetch: fixed ReferenceError issue when TextEncoder is not available in the environment; (#​6410) (733f15f)
Contributors to this release

v1.7.0

Compare Source

Features
Bug Fixes
Contributors to this release

v1.6.8

Compare Source

Bug Fixes
  • AxiosHeaders: fix AxiosHeaders conversion to an object during config merging (#​6243) (2656612)
  • import: use named export for EventEmitter; (7320430)
  • vulnerability: update follow-redirects to 1.15.6 (#​6300) (8786e0f)
Contributors to this release

Configuration

📅 Schedule: Branch creation - "" in timezone Europe/London, Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

🤖AEP PR SUMMARY🤖

  • yarn.lock:
    • Updated axios version from 1.6.7 to 1.7.9.
    • Updated follow-redirects from 1.15.4 to 1.15.6.
    • Updated form-data from 4.0.0 to 4.0.1.

@renovate renovate bot requested a review from a team as a code owner August 13, 2024 21:48
@renovate renovate bot added the dependencies Pull requests that update a dependency file label Aug 13, 2024
@renovate renovate bot enabled auto-merge (rebase) August 13, 2024 21:48
Copy link

Review of the Git Diff for Yarn.lock Updates

The following advice pertains to the change updates in the yarn.lock file, focusing on version updates and dependency management practices.

Dependency Version Updates

  • Axios has been updated from 1.6.7 to 1.7.4, and accordingly, its dependency follow-redirects has been updated from ^1.15.4 to ^1.15.6. These updates are crucial for staying on top of bug fixes and security patches. However, the use of caret (^) versions for dependencies like follow-redirects implies that minor updates are automatically accepted. This is generally a good practice, but it's essential to ensure that such updates are tested to avoid breaking changes unintentionally slipping through. Consider setting up automated testing procedures to validate functionality after dependency updates.

Best Practice: Integrity Checks and Resolved URLs

  • The integrity sha512-... and resolved URL lines are correctly updated alongside the version updates, ensuring the dependencies' authenticity and source are maintained. This is crucial for security, preventing Man-In-The-Middle (MITM) attacks by verifying the integrity of downloaded packages.

Specific Examples and Suggestions:

  1. Automated Testing and Continuous Integration (CI):
    To ensure updates do not break existing functionality:

    • Implement automated testing within a CI pipeline.
    • Run tests upon each dependency update to catch potential issues early.

    Example of a CI configuration snippet (for GitHub Actions):
    yaml
    name: Node.js CI

    on:
    push:
    branches: [ main ]
    pull_request:
    branches: [ main ]

    jobs:
    build:

    runs-on: ubuntu-latest
    
    strategy:
      matrix:
        node-version: [14.x, 16.x, 18.x]
    
    steps:
    - uses: actions/checkout@v2
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v2
      with:
        node-version: ${{ matrix.node-version }}
    - run: npm ci
    - run: npm run build --if-present
    - run: npm test
    
    
    
  2. Review Dependencies Regularly:
    For dependencies like form-data and proxy-from-env, it’s essential to periodically review and update them to catch up with the latest features or security patches.

    • Use tools like npm audit or yarn audit to check for vulnerabilities.
    • Consider subscribing to vulnerability databases or using Dependabot for automatic updates and alerts.
  3. Document Dependency Changes:
    When making significant updates or changes that could impact the project's functionality, document the reasoning and testing results. This practice enhances the transparency within the team and aids in future troubleshooting.

Conclusion

The changes are in the right direction, updating dependencies to more recent versions for better features and security. It's essential to complement these updates with robust testing and documentation to maintain and improve the project's health and security posture.

@hmcts-platform-operations
Copy link

hmcts-platform-operations commented Aug 13, 2024

Plan Result (sbox_shutter_static_webapp)

Plan: 0 to add, 1 to change, 0 to destroy.
  • Update
    • module.static_webapp.azurerm_dns_txt_record.zone_validate["toffee"]
Change Result (Click me)
  # module.static_webapp.azurerm_dns_txt_record.zone_validate["toffee"] will be updated in-place
  ~ resource "azurerm_dns_txt_record" "zone_validate" {
        id                  = "/subscriptions/ed302caf-ec27-4c64-a05e-85731c3ce90e/resourceGroups/reformMgmtRG/providers/Microsoft.Network/dnsZones/sandbox.platform.hmcts.net/TXT/_dnsauth.toffee"
        name                = "_dnsauth.toffee"
        tags                = {}
        # (4 unchanged attributes hidden)

      - record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
      + record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
    }

Plan: 0 to add, 1 to change, 0 to destroy.

@hmcts-platform-operations

Plan Result (dev_trafficmanager)

No changes. Your infrastructure matches the configuration.

@hmcts-platform-operations

Plan Result (sbox_apim)

No changes. Your infrastructure matches the configuration.

@hmcts-platform-operations
Copy link

hmcts-platform-operations commented Aug 13, 2024

Plan Result (sbox_appgateway)

Plan: 0 to add, 2 to change, 0 to destroy.
  • Update
    • module.appgateway.azurerm_application_gateway.ag[0]
    • module.appgateway.azurerm_monitor_diagnostic_setting.diagnostics_access_logs_sa[0]
Change Result (Click me)
  # module.appgateway.azurerm_application_gateway.ag[0] will be updated in-place
  ~ resource "azurerm_application_gateway" "ag" {
        id                                = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw"
        name                              = "aks-fe-00-sbox-agw"
        tags                              = {
            "application"  = "core"
            "autoShutdown" = "true"
            "builtFrom"    = "hmcts/sds-azure-platform"
            "businessArea" = "Cross-Cutting"
            "criticality"  = "Low"
            "environment"  = "sandbox"
            "expiresAfter" = "3000-01-01"
            "startupMode"  = "always"
        }
        # (8 unchanged attributes hidden)

      - probe {
          - host                                      = "darts.sandbox.apps.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw/probes/darts-portal" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "darts-portal" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pip-frontend.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw/probes/pip-frontend" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pip-frontend" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "portal-sbox.pre-recorded-evidence.justice.gov.uk" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw/probes/portal-sbox" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "portal-sbox" -> null
          - path                                      = "/SignIn?ReturnUrl=%2F" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pre-portal.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw/probes/pre-portal" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pre-portal" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "sds-api-mgmt.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw/probes/sds-api-mgmt" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "sds-api-mgmt" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "toffee.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw/probes/toffee" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "toffee" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "vh-admin-web.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw/probes/vh-admin-web" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "vh-admin-web" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "vh-test-web.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw/probes/vh-test-web" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "vh-test-web" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "vh-video-web.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw/probes/vh-video-web" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "vh-video-web" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      + probe {
          + host                                      = "darts.sandbox.apps.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "darts-portal"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pip-frontend.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pip-frontend"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "portal-sbox.pre-recorded-evidence.justice.gov.uk"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "portal-sbox"
          + path                                      = "/SignIn?ReturnUrl=%2F"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pre-portal.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pre-portal"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "sds-api-mgmt.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "sds-api-mgmt"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "toffee.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "toffee"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "vh-admin-web.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "vh-admin-web"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "vh-test-web.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "vh-test-web"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "vh-video-web.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "vh-video-web"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }

        # (44 unchanged blocks hidden)
    }

  # module.appgateway.azurerm_monitor_diagnostic_setting.diagnostics_access_logs_sa[0] will be updated in-place
  ~ resource "azurerm_monitor_diagnostic_setting" "diagnostics_access_logs_sa" {
        id                             = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw|app-gw-storage-account"
        name                           = "app-gw-storage-account"
        # (6 unchanged attributes hidden)

      - metric {
          - category = "AllMetrics" -> null
          - enabled  = false -> null

          - retention_policy {
              - days    = 0 -> null
              - enabled = false -> null
            }
        }

        # (5 unchanged blocks hidden)
    }

Plan: 0 to add, 2 to change, 0 to destroy.

@hmcts-platform-operations
Copy link

hmcts-platform-operations commented Aug 13, 2024

Plan Result (sbox_backendappgateway)

Plan: 0 to add, 2 to change, 0 to destroy.
  • Update
    • module.backendappgateway.azurerm_application_gateway.ag[0]
    • module.backendappgateway.azurerm_monitor_diagnostic_setting.diagnostics_access_logs_sa[0]
Change Result (Click me)
  # module.backendappgateway.azurerm_application_gateway.ag[0] will be updated in-place
  ~ resource "azurerm_application_gateway" "ag" {
        id                                = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw"
        name                              = "aks00-sbox-agw"
        tags                              = {
            "application"  = "core"
            "autoShutdown" = "true"
            "builtFrom"    = "hmcts/sds-azure-platform"
            "businessArea" = "Cross-Cutting"
            "criticality"  = "Low"
            "environment"  = "sandbox"
            "expiresAfter" = "3000-01-01"
            "startupMode"  = "always"
        }
        # (8 unchanged attributes hidden)

      - probe {
          - host                                      = "darts-api.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/darts-api" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "darts-api" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "darts-gateway.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/darts-gateway" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "darts-gateway" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "darts-stub-services.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/darts-stub-services" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "darts-stub-services" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "labs-mokainos.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/labs-mokainos" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "labs-mokainos" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pip-account-management.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/pip-account-management" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pip-account-management" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pip-channel-management.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/pip-channel-management" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pip-channel-management" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pip-data-management.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/pip-data-management" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pip-data-management" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pip-publication-services.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/pip-publication-services" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pip-publication-services" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pip-subscription-management.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/pip-subscription-management" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pip-subscription-management" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pre-api.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/pre-api" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pre-api" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pre-portal.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/pre-portal" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pre-portal" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "test-override.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/test-override" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "test-override" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "toffee-recipe-backend.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/toffee-recipe-backend" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "toffee-recipe-backend" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "vh-bookings-api.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/vh-bookings-api" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "vh-bookings-api" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "vh-notification-api.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/vh-notification-api" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "vh-notification-api" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "vh-test-api.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/vh-test-api" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "vh-test-api" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "vh-user-api.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/vh-user-api" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "vh-user-api" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "vh-video-api.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/vh-video-api" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "vh-video-api" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      + probe {
          + host                                      = "darts-api.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "darts-api"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "darts-gateway.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "darts-gateway"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "darts-stub-services.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "darts-stub-services"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "labs-mokainos.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "labs-mokainos"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pip-account-management.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pip-account-management"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pip-channel-management.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pip-channel-management"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pip-data-management.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pip-data-management"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pip-publication-services.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pip-publication-services"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pip-subscription-management.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pip-subscription-management"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pre-api.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pre-api"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pre-portal.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pre-portal"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "test-override.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "test-override"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "toffee-recipe-backend.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "toffee-recipe-backend"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "vh-bookings-api.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "vh-bookings-api"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "vh-notification-api.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "vh-notification-api"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "vh-test-api.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "vh-test-api"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "vh-user-api.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "vh-user-api"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "vh-video-api.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "vh-video-api"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }

      ~ ssl_policy {
          + min_protocol_version = "TLSv1_2"
            # (4 unchanged attributes hidden)
        }

        # (99 unchanged blocks hidden)
    }

  # module.backendappgateway.azurerm_monitor_diagnostic_setting.diagnostics_access_logs_sa[0] will be updated in-place
  ~ resource "azurerm_monitor_diagnostic_setting" "diagnostics_access_logs_sa" {
        id                             = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw|app-gw-storage-account"
        name                           = "app-gw-storage-account"
        # (6 unchanged attributes hidden)

      - metric {
          - category = "AllMetrics" -> null
          - enabled  = false -> null

          - retention_policy {
              - days    = 0 -> null
              - enabled = false -> null
            }
        }

        # (5 unchanged blocks hidden)
    }

Plan: 0 to add, 2 to change, 0 to destroy.

@hmcts-platform-operations
Copy link

hmcts-platform-operations commented Aug 13, 2024

Plan Result (sbox_frontdoor)

Plan: 0 to add, 1 to change, 0 to destroy.
  • Update
    • module.premium_front_door.azurerm_monitor_diagnostic_setting.diagnostics_access_logs_sa[0]
Change Result (Click me)
  # module.premium_front_door.azurerm_monitor_diagnostic_setting.diagnostics_access_logs_sa[0] will be updated in-place
  ~ resource "azurerm_monitor_diagnostic_setting" "diagnostics_access_logs_sa" {
        id                             = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/lz-sbox-rg/providers/Microsoft.Cdn/profiles/sdshmcts-sbox|fd-log-analytics-logs-sa"
        name                           = "fd-log-analytics-logs-sa"
        # (6 unchanged attributes hidden)

      - metric {
          - category = "AllMetrics" -> null
          - enabled  = false -> null

          - retention_policy {
              - days    = 0 -> null
              - enabled = false -> null
            }
        }

        # (4 unchanged blocks hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.

@hmcts-platform-operations

Plan Result (sbox_apim_appgw)

Plan: 0 to add, 2 to change, 0 to destroy.
  • Update
    • module.app-gw.azurerm_application_gateway.ag[0]
    • module.app-gw.azurerm_monitor_diagnostic_setting.diagnostic_settings[0]
Change Result (Click me)
  # module.app-gw.data.azurerm_monitor_diagnostic_categories.diagnostic_categories will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_monitor_diagnostic_categories" "diagnostic_categories" {
      + id                  = (known after apply)
      + log_category_groups = (known after apply)
      + log_category_types  = (known after apply)
      + logs                = (known after apply)
      + metrics             = (known after apply)
      + resource_id         = "/subscriptions/ea3a8c1e-af9d-4108-bc86-a7e2d267f49c/resourceGroups/hmcts-hub-sbox-int/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-sandbox-agw"
    }

  # module.app-gw.azurerm_application_gateway.ag[0] will be updated in-place
  ~ resource "azurerm_application_gateway" "ag" {
        id                                = "/subscriptions/ea3a8c1e-af9d-4108-bc86-a7e2d267f49c/resourceGroups/hmcts-hub-sbox-int/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-sandbox-agw"
        name                              = "sdshmcts-apim00-sandbox-agw"
        tags                              = {
            "application"  = "core"
            "builtFrom"    = "hmcts/sds-azure-platform"
            "businessArea" = "Cross-Cutting"
            "criticality"  = "Low"
            "environment"  = "sandbox"
            "expiresAfter" = "3000-01-01"
            "startupMode"  = "always"
        }
        # (8 unchanged attributes hidden)

      - probe {
          - host                                      = "sds-api-mgmt-appgw.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/ea3a8c1e-af9d-4108-bc86-a7e2d267f49c/resourceGroups/hmcts-hub-sbox-int/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-sandbox-agw/probes/sds-api-mgmt-appgw-probe" -> null
          - interval                                  = 10 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "sds-api-mgmt-appgw-probe" -> null
          - path                                      = "/status-0123456789abcdef" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      + probe {
          + host                                      = "sds-api-mgmt-appgw.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 10
          + minimum_servers                           = 0
          + name                                      = "sds-api-mgmt-appgw-probe"
          + path                                      = "/status-0123456789abcdef"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }

        # (15 unchanged blocks hidden)
    }

  # module.app-gw.azurerm_monitor_diagnostic_setting.diagnostic_settings[0] will be updated in-place
  ~ resource "azurerm_monitor_diagnostic_setting" "diagnostic_settings" {
        id                             = "/subscriptions/ea3a8c1e-af9d-4108-bc86-a7e2d267f49c/resourceGroups/hmcts-hub-sbox-int/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-sandbox-agw|AppGw"
        name                           = "AppGw"
        # (5 unchanged attributes hidden)

      ~ metric {
          + eventhub_authorization_rule_id = (known after apply)
          + eventhub_name                  = (known after apply)
          + id                             = (known after apply)
          + log_analytics_destination_type = (known after apply)
          + log_analytics_workspace_id     = (known after apply)
          + name                           = (known after apply)
          + partner_solution_id            = (known after apply)
          + storage_account_id             = (known after apply)
          + target_resource_id             = (known after apply)
        } -> (known after apply)

        # (3 unchanged blocks hidden)
    }

Plan: 0 to add, 2 to change, 0 to destroy.

@hmcts-platform-operations
Copy link

hmcts-platform-operations commented Aug 13, 2024

Plan Result (prod_shutter_static_webapp)

Plan: 0 to add, 9 to change, 0 to destroy.
  • Update
    • module.static_webapp.azurerm_dns_txt_record.zone_validate["court-tribunal-hearings"]
    • module.static_webapp.azurerm_dns_txt_record.zone_validate["darts-portal"]
    • module.static_webapp.azurerm_dns_txt_record.zone_validate["jd-bureau"]
    • module.static_webapp.azurerm_dns_txt_record.zone_validate["juror-bureau"]
    • module.static_webapp.azurerm_dns_txt_record.zone_validate["juror-public"]
    • module.static_webapp.azurerm_dns_txt_record.zone_validate["pre-portal"]
    • module.static_webapp.azurerm_dns_txt_record.zone_validate["toffee"]
    • module.static_webapp.azurerm_dns_txt_record.zone_validate["vh-admin-web"]
    • module.static_webapp.azurerm_dns_txt_record.zone_validate["vh-video-web"]
Change Result (Click me)
  # module.static_webapp.azurerm_dns_txt_record.zone_validate["court-tribunal-hearings"] will be updated in-place
  ~ resource "azurerm_dns_txt_record" "zone_validate" {
        id                  = "/subscriptions/ed302caf-ec27-4c64-a05e-85731c3ce90e/resourceGroups/reformMgmtRG/providers/Microsoft.Network/dnsZones/court-tribunal-hearings.service.gov.uk/TXT/_dnsauth.www"
        name                = "_dnsauth.www"
        tags                = {}
        # (4 unchanged attributes hidden)

      - record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
      + record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
    }

  # module.static_webapp.azurerm_dns_txt_record.zone_validate["darts-portal"] will be updated in-place
  ~ resource "azurerm_dns_txt_record" "zone_validate" {
        id                  = "/subscriptions/ed302caf-ec27-4c64-a05e-85731c3ce90e/resourceGroups/reformMgmtRG/providers/Microsoft.Network/dnsZones/apps.hmcts.net/TXT/_dnsauth.darts"
        name                = "_dnsauth.darts"
        tags                = {}
        # (4 unchanged attributes hidden)

      - record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
      + record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
    }

  # module.static_webapp.azurerm_dns_txt_record.zone_validate["jd-bureau"] will be updated in-place
  ~ resource "azurerm_dns_txt_record" "zone_validate" {
        id                  = "/subscriptions/ed302caf-ec27-4c64-a05e-85731c3ce90e/resourceGroups/reformMgmtRG/providers/Microsoft.Network/dnsZones/juror-bureau.justice.gov.uk/TXT/_dnsauth"
        name                = "_dnsauth"
        tags                = {}
        # (4 unchanged attributes hidden)

      - record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
      + record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
    }

  # module.static_webapp.azurerm_dns_txt_record.zone_validate["juror-bureau"] will be updated in-place
  ~ resource "azurerm_dns_txt_record" "zone_validate" {
        id                  = "/subscriptions/ed302caf-ec27-4c64-a05e-85731c3ce90e/resourceGroups/reformMgmtRG/providers/Microsoft.Network/dnsZones/apps.hmcts.net/TXT/_dnsauth.juror"
        name                = "_dnsauth.juror"
        tags                = {}
        # (4 unchanged attributes hidden)

      - record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
      + record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
    }

  # module.static_webapp.azurerm_dns_txt_record.zone_validate["juror-public"] will be updated in-place
  ~ resource "azurerm_dns_txt_record" "zone_validate" {
        id                  = "/subscriptions/ed302caf-ec27-4c64-a05e-85731c3ce90e/resourceGroups/reformMgmtRG/providers/Microsoft.Network/dnsZones/reply-jury-summons.service.gov.uk/TXT/_dnsauth"
        name                = "_dnsauth"
        tags                = {}
        # (4 unchanged attributes hidden)

      - record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
      + record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
    }

  # module.static_webapp.azurerm_dns_txt_record.zone_validate["pre-portal"] will be updated in-place
  ~ resource "azurerm_dns_txt_record" "zone_validate" {
        id                  = "/subscriptions/ed302caf-ec27-4c64-a05e-85731c3ce90e/resourceGroups/reformMgmtRG/providers/Microsoft.Network/dnsZones/platform.hmcts.net/TXT/_dnsauth.pre-portal"
        name                = "_dnsauth.pre-portal"
        tags                = {}
        # (4 unchanged attributes hidden)

      - record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
      + record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
    }

  # module.static_webapp.azurerm_dns_txt_record.zone_validate["toffee"] will be updated in-place
  ~ resource "azurerm_dns_txt_record" "zone_validate" {
        id                  = "/subscriptions/ed302caf-ec27-4c64-a05e-85731c3ce90e/resourceGroups/reformMgmtRG/providers/Microsoft.Network/dnsZones/platform.hmcts.net/TXT/_dnsauth.toffee"
        name                = "_dnsauth.toffee"
        tags                = {}
        # (4 unchanged attributes hidden)

      - record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
      + record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
    }

  # module.static_webapp.azurerm_dns_txt_record.zone_validate["vh-admin-web"] will be updated in-place
  ~ resource "azurerm_dns_txt_record" "zone_validate" {
        id                  = "/subscriptions/ed302caf-ec27-4c64-a05e-85731c3ce90e/resourceGroups/reformMgmtRG/providers/Microsoft.Network/dnsZones/hearings.reform.hmcts.net/TXT/_dnsauth.admin"
        name                = "_dnsauth.admin"
        tags                = {}
        # (4 unchanged attributes hidden)

      - record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
      + record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
    }

  # module.static_webapp.azurerm_dns_txt_record.zone_validate["vh-video-web"] will be updated in-place
  ~ resource "azurerm_dns_txt_record" "zone_validate" {
        id                  = "/subscriptions/ed302caf-ec27-4c64-a05e-85731c3ce90e/resourceGroups/reformMgmtRG/providers/Microsoft.Network/dnsZones/hearings.reform.hmcts.net/TXT/_dnsauth.video"
        name                = "_dnsauth.video"
        tags                = {}
        # (4 unchanged attributes hidden)

      - record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
      + record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
    }

Plan: 0 to add, 9 to change, 0 to destroy.

@hmcts-platform-operations

Plan Result (demo_appgateway)

Plan: 0 to add, 2 to change, 0 to destroy.
  • Update
    • module.appgateway.azurerm_application_gateway.ag[0]
    • module.appgateway.azurerm_monitor_diagnostic_setting.diagnostics_access_logs_sa[0]
Change Result (Click me)
  # module.appgateway.azurerm_application_gateway.ag[0] will be updated in-place
  ~ resource "azurerm_application_gateway" "ag" {
        id                                = "/subscriptions/c68a4bed-4c3d-4956-af51-4ae164c1957c/resourceGroups/ss-demo-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-demo-agw"
        name                              = "aks-fe-00-demo-agw"
        tags                              = {
            "application"  = "core"
            "autoShutdown" = "true"
            "builtFrom"    = "hmcts/sds-azure-platform"
            "businessArea" = "Cross-Cutting"
            "criticality"  = "Medium"
            "environment"  = "demo"
            "startupMode"  = "always"
        }
        # (8 unchanged attributes hidden)

      - probe {
          - host                                      = "c100-application.demo.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/c68a4bed-4c3d-4956-af51-4ae164c1957c/resourceGroups/ss-demo-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-demo-agw/probes/c100-application" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "c100-application" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "darts.demo.apps.hmcts.net" -> null
          - id                                        = "/subscriptions/c68a4bed-4c3d-4956-af51-4ae164c1957c/resourceGroups/ss-demo-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-demo-agw/probes/darts-portal" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "darts-portal" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "juror-public.demo.apps.hmcts.net" -> null
          - id                                        = "/subscriptions/c68a4bed-4c3d-4956-af51-4ae164c1957c/resourceGroups/ss-demo-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-demo-agw/probes/juror-public" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "juror-public" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "juror.demo.apps.hmcts.net" -> null
          - id                                        = "/subscriptions/c68a4bed-4c3d-4956-af51-4ae164c1957c/resourceGroups/ss-demo-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-demo-agw/probes/juror-bureau" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "juror-bureau" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pip-frontend.demo.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/c68a4bed-4c3d-4956-af51-4ae164c1957c/resourceGroups/ss-demo-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-demo-agw/probes/pip-frontend" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pip-frontend" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "portal-demo.pre-recorded-evidence.justice.gov.uk" -> null
          - id                                        = "/subscriptions/c68a4bed-4c3d-4956-af51-4ae164c1957c/resourceGroups/ss-demo-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-demo-agw/probes/portal-demo" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "portal-demo" -> null
          - path                                      = "/SignIn?ReturnUrl=%2F" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pre-portal.demo.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/c68a4bed-4c3d-4956-af51-4ae164c1957c/resourceGroups/ss-demo-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-demo-agw/probes/pre-portal" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pre-portal" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "sds-api-mgmt.demo.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/c68a4bed-4c3d-4956-af51-4ae164c1957c/resourceGroups/ss-demo-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-demo-agw/probes/sds-api-mgmt" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "sds-api-mgmt" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "sign-in.pip-frontend.demo.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/c68a4bed-4c3d-4956-af51-4ae164c1957c/resourceGroups/ss-demo-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-demo-agw/probes/pip-frontend-b2c-sign-in" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pip-frontend-b2c-sign-in" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "staff.pip-frontend.demo.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/c68a4bed-4c3d-4956-af51-4ae164c1957c/resourceGroups/ss-demo-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-demo-agw/probes/pip-frontend-b2c-staff" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pip-frontend-b2c-staff" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "toffee.demo.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/c68a4bed-4c3d-4956-af51-4ae164c1957c/resourceGroups/ss-demo-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-demo-agw/probes/toffee" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "toffee" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "vh-admin-web.demo.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/c68a4bed-4c3d-4956-af51-4ae164c1957c/resourceGroups/ss-demo-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-demo-agw/probes/vh-admin-web" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "vh-admin-web" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "vh-test-web.demo.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/c68a4bed-4c3d-4956-af51-4ae164c1957c/resourceGroups/ss-demo-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-demo-agw/probes/vh-test-web" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "vh-test-web" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "vh-video-web.demo.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/c68a4bed-4c3d-4956-af51-4ae164c1957c/resourceGroups/ss-demo-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-demo-agw/probes/vh-video-web" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "vh-video-web" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      + probe {
          + host                                      = "c100-application.demo.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "c100-application"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "darts.demo.apps.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "darts-portal"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "juror-public.demo.apps.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "juror-public"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "juror.demo.apps.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "juror-bureau"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pip-frontend.demo.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pip-frontend"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "portal-demo.pre-recorded-evidence.justice.gov.uk"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "portal-demo"
          + path                                      = "/SignIn?ReturnUrl=%2F"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pre-portal.demo.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pre-portal"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "sds-api-mgmt.demo.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "sds-api-mgmt"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "sign-in.pip-frontend.demo.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pip-frontend-b2c-sign-in"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "staff.pip-frontend.demo.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pip-frontend-b2c-staff"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "toffee.demo.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "toffee"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "vh-admin-web.demo.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "vh-admin-web"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "vh-test-web.demo.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "vh-test-web"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "vh-video-web.demo.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "vh-video-web"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }

        # (64 unchanged blocks hidden)
    }

  # module.appgateway.azurerm_monitor_diagnostic_setting.diagnostics_access_logs_sa[0] will be updated in-place
  ~ resource "azurerm_monitor_diagnostic_setting" "diagnostics_access_logs_sa" {
        id                             = "/subscriptions/c68a4bed-4c3d-4956-af51-4ae164c1957c/resourceGroups/ss-demo-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-demo-agw|app-gw-storage-account"
        name                           = "app-gw-storage-account"
        # (6 unchanged attributes hidden)

      - metric {
          - category = "AllMetrics" -> null
          - enabled  = false -> null

          - retention_policy {
              - days    = 0 -> null
              - enabled = false -> null
            }
        }

        # (5 unchanged blocks hidden)
    }

Plan: 0 to add, 2 to change, 0 to destroy.

@hmcts-platform-operations

Plan Result (demo_apim)

No changes. Your infrastructure matches the configuration.

@hmcts-platform-operations

Plan Result (dev_apim)

No changes. Your infrastructure matches the configuration.

@renovate renovate bot force-pushed the renovate/npm-axios-vulnerability branch from 7265eb1 to a7f97f9 Compare January 15, 2025 12:28
Copy link

Code Review on yarn.lock update

Overall, the updates to yarn.lock reflect version bumps for several packages, which is generally a good practice for maintaining software dependencies up-to-date. However, I would advise additional considerations based on the diff provided:

  1. Audit for vulnerabilities: Each version update should be accompanied by an audit for vulnerabilities. Use yarn audit to check if the new versions have any known vulnerabilities. While the diff does not explicitly highlight security vulnerabilities, it's critical to ensure these upgrades do not introduce any.

  2. Review Changelogs: For each upgraded package (axios, follow-redirects, and form-data), review their changelogs for breaking changes or deprecations that may affect your project. This step is crucial but often overlooked in dependency updates.

  3. Test coverage: Ensure that your project has sufficient test coverage, and run your full test suite after updating dependencies. If your project lacks tests, this is a good opportunity to add them, especially for critical paths that might be affected by these updates.

  4. Check compatibility with other dependencies: The updated packages might have dependencies of their own. Ensure that there are no version conflicts that could break functionality. This is particularly relevant in the node ecosystem where nested dependencies can introduce subtle bugs.

  5. Cost and Carbon Usage: Generally, updating packages does not directly affect costs or carbon usage unless the update includes performance improvements or optimizations that directly impact resource usage. For example, an update that makes axios more efficient could reduce the number of server requests, thereby potentially lowering costs and carbon footprint associated with server load and data transfer.

Specific Advice:

  • Axios: Moving to 1.7.9 is important for staying up to date with fixes and features but verify its backward compatibility with your current codebase.

  • Follow-redirects: Minor version bumps are typically safe, but review the package's changelog for any changes that might affect your use cases.

  • Form-data: This update seems minor, but since it deals with data transmission, test thoroughly to ensure data integrity and compatibility.

Examples for Improvement:

  • Conduct a yarn audit: After updating the yarn.lock, run yarn audit to check for vulnerabilities and address them as needed.

  • Integration Testing: If you have an endpoint integration that utilizes axios, create a test that fully exercises this functionality to ensure no regression occurs due to the update.

  • Performance Benchmarking: For critical paths that rely heavily on these dependencies, especially axios for API calls, benchmark performance before and after the update to measure any impact.

Conclusion

While the changes in the yarn.lock file seem straightforward, rigor in testing, security audits, and compatibility checks can prevent unforeseen issues. Additionally, while direct cost and carbon usage implications may not be evident, indirect effects through performance changes should be monitored.

@renovate renovate bot force-pushed the renovate/npm-axios-vulnerability branch from a7f97f9 to 3c6faf4 Compare January 15, 2025 17:52
Copy link

Code Review Analysis

Updates in yarn.lock

  1. Axios update from 1.6.7 to 1.7.9
  2. follow-redirects updated in two places: from 1.15.4 to 1.15.6 and 1.15.5 to 1.15.9.
  3. form-data update from 4.0.0 to 4.0.1.

Recommendations

  1. Security & Stability:

    • Verify the changelogs of axios, follow-redirects, and form-data for any security fixes or breaking changes. Updating dependencies can sometimes introduce unexpected behaviors.
    • Ensure to test thoroughly, especially axios usage, since it's pivotal in network requests.
  2. Performance & Best Practices:

    • Check for any performance improvements or deprecations in the updated versions. Leveraging new features for performance gains or cleaner code is beneficial.
    • Given axios and follow-redirects are often used together for HTTP requests, ensure that the updated versions work seamlessly together, particularly with proxy support and redirects handling.
  3. Cost and Carbon Usage:

    • Dependency updates themselves don't directly affect cost unless the updates include performance optimizations that reduce computing resource needs. The indirect effect might be in the form of better resource management.
    • Regarding carbon usage, optimized code and efficient network handling can reduce server load and, hence, energy consumption. While these updates might not directly contribute to this, the cumulative effect of keeping dependencies updated and utilizing efficient coding practices does.
  4. Security Practices:

    • Regularly updating dependencies like these is a good security practice but check if automatic dependency updates or vulnerability alerts can be enabled for the project to streamline this process.
    • Ensure that the URLs used (like https://registry.yarnpkg.com/) are secure (https) and the integrity hashes match the expected values to prevent man-in-the-middle attacks.
  5. Compatibility:

    • Check for any compatibility issues with the rest of your project or environment. Sometimes, even minor updates in libraries like axios can introduce changes that might require adjustments in your codebase.
  6. Documentation & Changelogs:

    • As a general good practice, document the reasoning for major dependency updates in your project's documentation or version control system for future reference.

Additional Notes:

There are no direct costs associated with these updates, given they are within the minor or patch updates range, but the improvements or fixes they bring could potentially reduce runtime errors or inefficiencies. The recommendations focus on ensuring stability, performance, and security follow best practices while utilizing updated dependencies.

@renovate renovate bot force-pushed the renovate/npm-axios-vulnerability branch from 3c6faf4 to f4cdcc6 Compare January 21, 2025 12:15
Copy link

This update of packages, as outlined in the provided git diff, includes improvements but still leaves room for additional enhancements. Let's focus on some areas where further improvements can be made:

  1. Audit Dependencies for Security and Upgrade

    • Regularly run yarn audit to identify and address potential security vulnerabilities within dependencies. While the diff shows version upgrades, ensuring all dependencies are up-to-date with their latest security patches is crucial. For instance, axios and follow-redirects upgrades are good, but verifying these are the latest secure versions is essential.
  2. Consider Using yarn-deduplicate

    • Depending on the project's size, there might be duplicated packages due to dependencies and sub-dependencies. Using [yarn-deduplicate](https://github.com/atlassian/yarn-deduplicate) can help reduce the bundle size and potentially lower the loading time, which can lead to cost savings in bandwidth and improve carbon efficiency for web applications.
  3. Version Pinning

    • The diff indicates the use of caret (^) versioning for dependencies (^1.7.9, ^1.15.6, ^4.0.1). While this helps in receiving non-breaking updates automatically, it can introduce unexpected behaviors due to minor version upgrades. Pinning specific versions (removing the caret) can improve stability and predictability of your application.
  4. Benchmarking Package Sizes

    • For web-based projects, the size of added packages directly impacts load times and, subsequently, user experience and carbon footprint. Tools like [BundlePhobia](https://bundlephobia.com/) can help assess the impact of adding or upgrading libraries. Although the current changes seem beneficial, always consider the overall impact on your bundle size.
  5. Optimized Dependency Management

    • Group related dependencies together in your yarn.lock or package.json to improve readability and maintainability.
    • Ensure that peer dependencies are correctly managed. Some libraries, especially those inserted in projects as plugins or extenders, might require specific versions of other libraries to be present as peer dependencies.
  6. Cost and Carbon Usage Estimated Impact

    • Direct cost impact due to the changes in the yarn.lock file is minimal in terms of GBP because package downloading and storage costs are generally negligible.
    • However, assuming improvements in package efficiency (smaller size, better compression), there could be indirect cost and carbon usage benefits. Smaller packages reduce data transfer costs and improve load times, leading to perhaps slightly lower energy consumption on client devices.
    • Without exact figures on traffic and package size differences, estimating precise savings is challenging. However, adopting best practices like minification and compression can lead to more sustainable web development.

Example Specific Advice:

  • Before upgrading a package, use yarn why <package-name> to understand its dependencies and potential duplicates.
  • After making changes, ensure that your CI/CD pipeline includes a step for yarn audit and possibly yarn-deduplicate.
  • Regularly review the project's dependencies and update them as part of the maintenance cycle.

@renovate renovate bot force-pushed the renovate/npm-axios-vulnerability branch from f4cdcc6 to ce7fe92 Compare January 21, 2025 12:49
Copy link

Code Review Suggestions:

General Advice for yarn.lock Updates:

  1. Security Implications: When updating dependencies, even if they are minor or patch versions, always review the changelog and security advisories related to the new versions to ensure there are no newly introduced vulnerabilities. It's crucial for maintaining the security integrity of your application.

  2. Testing and Compatibility: Ensure that your application is fully tested with these new dependency versions. Sometimes, even minor updates in libraries can lead to unexpected behavior due to changes in their internal implementation or bug fixes.

Specific Observations:

  1. Audit Dependencies:

    • It's a good practice to run yarn audit regularly and after updating dependencies to detect vulnerabilities and get recommendations for fixing them. This will ensure that your upgrade did not introduce any new security issues.
  2. Follow-Redirects Version Update:

    • Given that follow-redirects has been updated from 1.15.4 to 1.15.9, make sure to review the release notes for all intermediate versions to ensure there are no breaking changes affecting your application. While it is a minor version update, libraries sometimes introduce subtle behavior changes that could impact your application.
  3. Examine Dependency Graph:

    • It's vital to look at the overall dependency graph periodically, not just the top-level packages you're updating. Dependencies of dependencies (transitive dependencies) can sometimes cause unforeseen issues. Tools like yarn why <package> can help understand why certain packages are installed and their relationships.

Cost, Carbon Usage Considerations:

  • Disk Space and Download Size:
    • While yarn.lock updates typically do not have a direct implication on cloud costs, they can affect the disk space used by your node_modules and the time it takes to install dependencies. This can indirectly affect CI/CD pipeline times and, for large-scale applications, might have minor cost implications.
    • It's unlikely to have a significant direct impact on carbon usage, though optimization of pipeline runs and reduced package sizes can contribute marginally to lower electricity usage.

Recommendations:

  • After applying the updates, assuming tests and security audits pass, consider reviewing whether any dependencies are no longer needed or could be replaced with lighter alternatives to improve performance and reduce both direct and indirect costs.
  • Keep an eye on the overall health and maintenance status of your dependencies. Regularly updating dependencies is good practice, but ensure it's balanced with stability and security considerations.

In summary, the updates seem reasonable, but due diligence in security, compatibility testing, and understanding the impact of those updates is crucial for maintaining the health of your application.

@renovate renovate bot force-pushed the renovate/npm-axios-vulnerability branch from ce7fe92 to 90fe744 Compare January 27, 2025 10:05
Copy link

Code Review on yarn.lock Changes

Security Considerations

  • Updating Dependencies: The update of dependencies, including axios and follow-redirects, is generally a good practice for staying ahead of potential security vulnerabilities in older versions. No specific additional security concerns based on the provided diff.
  • Advice: Ensure that the updates are tested for compatibility. It's also wise to check the release notes of these dependencies for any security patches that might necessitate immediate updates.

Code Quality and Best Practices

  • It is good practice to keep dependencies up to date to leverage the newest features and performance improvements. The updates to axios, follow-redirects, and form-data follow this approach.
  • Semantic Versioning: Ensure that updates adhere to semantic versioning to avoid introducing breaking changes unintentionally. Based on the version numbers, it appears this has been considered (minor version updates for the most part).

Cost and Carbon Usage

  • Updating libraries may have negligible direct cost impact unless the update unlocks efficiency improvements or resolves performance issues, which can indirectly save costs related to computing resources.
  • Given the nature of yarn.lock changes, estimating a precise cost or carbon usage impact is challenging without information on how these dependency upgrades affect application performance. Generally, modern, optimized code can lead to less computing time and power consumption, which could potentially lower costs and carbon footprint.
  • Advice: If performance improvements are notable in the changelogs of these updated dependencies, assess the application's performance metrics before and after the update to quantify improvements.

Specific Examples & Recommendations:

  • axios: Upgrading from 1.6.7 to 1.7.9 could bring performance improvements or new features; ensure to review axios’s upgrade guide for any breaking changes or deprecations.
  • follow-redirects: The library has been updated to 1.15.9 from 1.15.5. Similar to axios, review for performance or security updates.
  • form-data: Moving to 4.0.1 from 4.0.0 is a minor change, likely bug fixes or minor improvements.
General Recommendation:
  • After updating, conduct comprehensive testing, especially around areas of your application that make HTTP requests, considering the axios and follow-redirects updates.
  • Consider setting up dependabot or a similar tool for automated dependency updates and security alerts, if not already in use.

Conclusion

The updates in the yarn.lock file appear to follow best practices for keeping dependencies up to date. Ensure thorough testing is conducted to avoid surprises from minor updates that might introduce breaking changes not caught by semantic versioning. Keep an eye on the performance and security advisories for each package to maximize the benefits of staying current with dependencies.

@renovate renovate bot force-pushed the renovate/npm-axios-vulnerability branch from 90fe744 to 8b1637c Compare January 30, 2025 10:16
Copy link

Additional Improvements

While the shown git diff indicates updates to package versions in the yarn.lock file, there are a few areas where improvements could be made or considerations checked:

  1. Security Checks:

    • Ensure that the updated packages (axios, follow-redirects, and form-data) do not introduce any security vulnerabilities. Use tools like yarn audit to identify and address potential security issues with these new versions.
  2. Compatibility Checks:

    • Verify compatibility of the updated packages with your project. This includes testing for any breaking changes introduced by the package updates. Check the package release notes for details on changes.
  3. Dependency Deduplication:

    • After updating, it is wise to deduplicate dependencies to reduce the bundle size and improve installation times. Run yarn dedupe to merge versions of dependencies when possible, ensuring that only necessary versions are included.
  4. Check for Unused Dependencies:

    • Over time, projects might accumulate dependencies that are no longer in use. Tools like depcheck can help identify and remove unused dependencies, reducing the project's size and potential attack surface.
  5. Performance Regressions:

    • Particularly for significant version updates, evaluate the impact on your application's performance. This could involve benchmarking request times (important for axios and follow-redirects) or memory/cpu usage for critical paths.
  6. Cost and Carbon Usage Consideration:

    • While yarn.lock changes might not directly impact cost or carbon usage, indirectly, reducing package sizes and removing unused dependencies can contribute to lower storage and transfer costs, especially in CI/CD environments. While hard to quantify without specific usage details, small optimizations can contribute to savings, especially at scale.
    • Keeping packages up-to-date can also leverage performance and efficiency improvements in dependencies, potentially decreasing computational resource needs and associated costs/carbon footprint.
  7. Documentation and Update Notes:

    • When updating dependencies, especially key ones like axios, it's beneficial to document the reason for updates (e.g., for security patches, new features, or performance improvements) and any changes in how the packages are used within your project to assist with future maintenance and updates.

@renovate renovate bot force-pushed the renovate/npm-axios-vulnerability branch from 8b1637c to 976aade Compare January 30, 2025 14:58
Copy link

Code Review

General Overview

The provided git diff indicates an update in the yarn.lock file, primarily focusing on version updates for the packages axios, follow-redirects, and form-data. These updates are critical for ensuring the use of the latest features, performance improvements, and security patches.

Specific Improvements

1. Review Dependency Updates

  • Rationale: Before updating dependencies, it's essential to review the changelogs of the updated packages (axios, follow-redirects, form-data). This ensures that no breaking changes will affect your project and that you are aware of new features or deprecations.
  • Example: For axios upgrading from 1.6.7 to 1.7.9, validate any migration steps or deprecations introduced in the versions between.

2. Audit for Security Vulnerabilities

  • Rationale: Updating dependencies can introduce unintended security vulnerabilities. Conduct a security audit using tools like yarn audit or integrate with services that scan dependencies for known vulnerabilities.
  • Example: Run yarn audit after updating the yarn.lock file and address any highlighted issues.

3. Check for Compatibility

  • Rationale: Ensure that the updated versions of the packages are compatible with your project's current codebase and with each other. Incompatible updates could lead to runtime errors or unexpected behavior.
  • Example: If axios is heavily used across the project, thoroughly test all features relying on it to ensure compatibility with 1.7.9.

4. Optimize Bundle Size

  • Rationale: Dependency updates can affect the bundle size, potentially increasing the load time for applications. It's crucial to monitor and optimize it.
  • Example: Use tools like webpack-bundle-analyzer to understand the impact of updating axios, follow-redirects, and form-data on the final bundle size.

5. Dependency Deduplication

  • Rationale: Upgrading packages can lead to multiple versions of the same dependency being installed. This can increase the disk space used and potentially lead to version conflicts.
  • Example: After the upgrade, run yarn dedupe to deduplicate dependencies, ensuring that only one version of each is used whenever possible.

6. Document the Changes

  • Rationale: Keep a record of why dependencies were updated along with any notable changes or required actions. This is beneficial for future maintenance or audits.
  • Example: In your project documentation or changelog, note that axios was updated to 1.7.9 for security patches and performance improvements.

Cost and Carbon Usage

  • Cost: Dependency updates themselves do not directly incur costs unless they cause the need for increased computing resources or introduce paid features. Estimate any cost changes based on usage.
  • Carbon Usage: Indirectly, the increase in bundle size or computation may lead to increased carbon emissions due to higher energy consumption. Streamlining your dependencies and auditing their impact can mitigate this.

Conclusion

Updating dependencies in your yarn.lock is a crucial maintenance task for security and performance. However, it's accompanied by the responsibility of ensuring compatibility, auditing for vulnerabilities, optimizing the impact on bundle size, and documenting the changes. Using automated tools can aid in these areas, helping to maintain a healthy and efficient project ecosystem.

@renovate renovate bot force-pushed the renovate/npm-axios-vulnerability branch from 976aade to 31fadf8 Compare February 3, 2025 13:56
Copy link

github-actions bot commented Feb 3, 2025

Review Summary

This modification primarily updates several dependencies within the yarn.lock file to newer versions. While keeping dependencies up-to-date is crucial for security and functionality, there are several additional considerations and improvements to suggest:

  1. Audit for Vulnerabilities:

    • Ensure that an npm audit or yarn audit is run after updating dependencies to check for any new vulnerabilities introduced by these newer versions.
    • Example: Command yarn audit could reveal vulnerabilities that need addressing.
  2. Check for Deprecated APIs or Major Changes:

    • Review changelogs for the updated packages (axios, follow-redirects, form-data) to ensure no breaking changes affect the current project usage. This is crucial when there are major version updates.
    • Example: For axios, the jump from 1.6.7 to 1.7.9 might introduce new features or deprecate some functions. Checking axios release notes is advisable.
  3. Dependency Consolidation:

    • Since follow-redirects is a nested dependency of axios, ensure that this update does not introduce version conflicts or multiple versions of the same library when not necessary, as this can increase bundle size and possibly memory usage.
    • Example: Evaluate if other dependencies relying on follow-redirects can also be updated to use ^1.15.6 or if they are tightly coupled with a specific version.
  4. Performance Impact:

    • While this diff does not suggest a significant impact on performance, it's always wise to monitor performance metrics after dependency upgrades for any regressions.
    • Example: Measure request handling time pre and post-update if axios is used for HTTP requests in your application.
  5. Cost and Carbon Usage Estimation:

    • This specific update does not directly impact costs or carbon usage. Yet, indirectly, if newer versions of dependencies are more efficient or require fewer resources, there could be a minimal reduction in computational costs and thus carbon usage. However, this impact would be negligible without specific performance improvements documented in the updated packages.
    • Note: There's no direct cost change (in GBP or otherwise) associated with this package update unless there's a change in infrastructure usage (unlikely from this change).

Final Recommendations

  • Perform a thorough audit using yarn audit and address any vulnerabilities.
  • Review the changelogs of updated packages for potential breaking changes.
  • Consider the project's overall dependency tree to ensure the updates do not introduce conflicts.
  • After deployment, monitor application performance metrics closely for any regressions.

@renovate renovate bot force-pushed the renovate/npm-axios-vulnerability branch from 31fadf8 to dbe88bb Compare February 4, 2025 13:34
Copy link

github-actions bot commented Feb 4, 2025

Code Review on yarn.lock Updates

1. Dependency Update Justification

Ensure each dependency update (axios, follow-redirects, form-data) has been properly vetted for compatibility with your application, alongside any performance or security improvements. For instance:

  • Axios 1.7.9: Verify if this version includes specific features or bug fixes needed by the application. Axios updates can sometimes introduce breaking changes or new bugs.

2. Security Considerations

  • General: Dependency updates can introduce new vulnerabilities. Use tools like yarn audit or Snyk to scan the updated yarn.lock file to ensure no new vulnerabilities are introduced.
  • Specific Libraries: Axios, being an HTTP client, is critical to ensure secure data transfer. Ensure that the update to 1.7.9 doesn't introduce regression in security aspects such as handling of HTTPS, data sanitization, and protection against XSS or CSRF attacks.

3. Avoid Potential Compatibility Issues

  • Ensure that the minor and patch updates for follow-redirects and form-data do not break any existing functionality. Given they are minor/patch versions updates, they are less likely to introduce breaking changes but it's always good practice to verify.
  • Compatibility with Node.js version: Confirm that the new versions of these dependencies are compatible with your project's current Node.js version.

4. Performance Considerations

  • Assess if the updated versions bring performance improvements that are relevant to your application's use cases. For libraries like Axios, performance improvements in handling HTTP requests can have a noticeable impact on your application's response times.

5. License Compliance

  • With each library update, review and ensure compliance with their licenses. This is particularly important for projects with specific license compliance requirements.

Cost and Carbon Usage Consideration

  • The diff provided focuses on dependency updates in yarn.lock and is not directly linked to infrastructure cost or carbon usage. However, indirectly, performance improvements or degradations due to dependency updates can influence computational efficiency and, thus, hosting costs and carbon footprint.
  • For an accurate assessment, profile your application's performance after the dependency updates in a staging environment to detect any significant changes in resource usage.

Recommendations:

  1. Testing: Rigorously test your application to ensure these updates do not break any functionality or introduce performance regressions.
  2. Audit: Use yarn audit or equivalent tools to ensure no new vulnerabilities are introduced with these updates.
  3. License Review: Ensure that the updated dependencies' licenses are in compliance with your project's license policies.
  4. Application Profiling: If possible, profile application performance pre and post-update in a controlled environment to assess any impact on resource usage.

Estimated Cost Changes

  • Not directly applicable; however, better performance might translate to lower compute resource needs, potentially saving costs indirectly.
  • Any changes in hosting costs or carbon usage would be speculative without specific performance data associated with these dependency updates.

@renovate renovate bot force-pushed the renovate/npm-axios-vulnerability branch from dbe88bb to 196e11e Compare February 4, 2025 15:38
Copy link

github-actions bot commented Feb 4, 2025

General Observations

  • The upgrade of dependencies, as shown in the diff, improves the project by including recent bug fixes, security patches, and possibly new features. This is a good practice.
  • However, merely updating the dependencies in the yarn.lock file isn't enough. It's vital to ensure compatibility and functionality with the rest of the project. This usually involves:
    • Running tests to ensure that the project functions as expected with the updated dependencies.
    • Reviewing changelogs of the updated dependencies for breaking changes or significant updates.
    • Manual testing, if necessary, especially for critical paths that might be affected by the dependency updates.

Specific Improvements Suggestions

Security

  • Routine Dependency Updates: Regularly update dependencies to mitigate vulnerabilities associated with outdated packages. It's advisable to incorporate automated tools like Dependabot or Snyk, which can automatically open pull requests for vulnerable dependencies.

Code Quality & Best Practices

  • Review Dependency Changelogs: Before merging dependency updates, carefully review the changelogs for each updated package (axios, follow-redirects, form-data). This ensures awareness of any breaking changes, new features, or modifications which could impact the application's functionality or require changes to the existing code.

  • Testing: Ensure comprehensive testing is performed post-update:

    • Unit and Integration Tests: Confirm all automated tests pass. If the project lacks tests, consider adding them to cover critical functionality.
    • End-to-End Tests: Perform end-to-end testing, focusing on features that rely heavily on these updated dependencies.

Cost & Carbon Usage

  • Direct Cost Impact: Updating dependencies within a yarn.lock file does not directly incur additional cloud infrastructure costs. However, indirect costs can arise if new versions of dependencies introduce performance regressions or bugs requiring additional compute resources or developer time. It is, therefore, essential to monitor application performance and error rates closely after deploying such updates.

  • Carbon Usage: While there might not be a direct link between these updates and carbon usage, efficient and performant software can contribute to lower carbon footprints. Using the latest, more efficient versions of libraries could potentially reduce the computational resources required for your application, indirectly impacting carbon usage positively. Monitoring tools could be useful in tracking changes in resource utilization.

Conclusion

  • Updating dependencies is crucial for maintaining the security, performance, and reliability of any software project. It requires a balanced approach of automation (for detection and minor updates) and manual oversight (for major version updates and to monitor for breaking changes).
  • Ensure the team adheres to a process of reviewing, testing, and monitoring changes associated with dependency updates to mitigate potential risks.

@renovate renovate bot force-pushed the renovate/npm-axios-vulnerability branch from 196e11e to 7d24d35 Compare February 5, 2025 10:11
Copy link

github-actions bot commented Feb 5, 2025

General Recommendations

  1. Audit Dependencies for Security: It's crucial to ensure that the updated dependencies don't introduce any known security vulnerabilities. This can be done using tools like yarn audit or integrating with a CI pipeline that checks for vulnerabilities on pull requests.

  2. Review Change Logs and Compatibility: Check the change logs of the updated dependencies (axios, follow-redirects, form-data) for breaking changes or any compatibility issues with your current codebase. This proactive step can prevent potential runtime errors.

  3. Performance Impacts: Verify if the updates bring performance improvements or regressions. Particularly for libraries like Axios, which are central to HTTP requests, performance can significantly affect your application's responsiveness.

  4. Update Documentation: If these updates include new features or deprecations that affect how developers interact with these libraries, ensure that the internal project documentation reflects these changes.

Specific Examples

  • Axios (1.7.9): Given Axios is commonly used for API requests, ensure that updates align with the existing error handling and request configuration. For example, if Axios 1.7.9 introduces new behavior for interceptors, validate that your application's interceptors still operate as expected.

  • Follow-Redirects (1.15.9): This library is a dependency of Axios for handling redirects. Ensure that your request flows that expect or handle redirects function correctly with the new version. For instance, a specific redirect behavior change might necessitate updates to how your application processes certain API responses.

  • Form-Data (4.0.1): If your application uses form-data to handle file uploads or to send data with multipart/form-data encoding, test these functionalities to ensure there are no breaking changes affecting file upload mechanisms or content-type headers.

Cost and Carbon Usage Impacts

  • Cost Implications: Upgrading libraries might not have a direct cost impact unless they lead to performance degradations that increase compute usage or significantly change the way external APIs are called. Indirect costs might include the time invested in updating and testing.

  • Carbon Usage: Similar to cost implications, unless the update degrades performance or increases the number of external requests, the carbon usage impact should be minimal. However, investing in efficient libraries and keeping them up to date is a good practice for maintaining an eco-friendly codebase.

Security Consideration

Updating dependencies can introduce or mitigate security vulnerabilities. While the focus here has been on ensuring compatibility and functionality, it is suggested to regularly scan your dependencies for vulnerabilities. Services like Snyk or Dependabot can continuously monitor your dependencies for security issues and provide automated pull requests to address them.

@renovate renovate bot force-pushed the renovate/npm-axios-vulnerability branch from 7d24d35 to 3215988 Compare February 5, 2025 14:36
Copy link

github-actions bot commented Feb 5, 2025

Code Review of the yarn.lock File Update

General Observations:

The update in the yarn.lock file indicates an upgrade of the axios, follow-redirects, and form-data packages. These upgrades are generally a good practice for taking advantage of bug fixes, performance improvements, and new features. However, it's crucial to ensure that these upgrades do not introduce breaking changes or new vulnerabilities into your application.

Specific Recommendations:

  1. Review Changelogs and Test Thoroughly:

    • Before finalizing the upgrade, review the changelogs for each updated package (axios, follow-redirects, and form-data). This will help you identify any breaking changes or new features that might impact your application. For example, if axios has changed the way it handles timeouts, this could have a broad impact on your application's API consumption.
    • It's advisable to thoroughly test your application after updating these dependencies to ensure no unexpected behaviors have arisen due to the upgrade.
  2. Check for Security Vulnerabilities:

    • While upgrading packages often decreases the risk of vulnerabilities, new versions can sometimes introduce new vulnerabilities. Use tools like yarn audit or integrate with a CI tool that checks for vulnerability advisories against the specific versions of the packages you're using.
    • Example: After updating the yarn.lock, run yarn audit to check for newly reported vulnerabilities.
  3. Version Control Best Practices:

    • Although not directly related to the changes in the yarn.lock file, ensure that your version control practices include locking dependencies to specific versions (as is done here) to avoid discrepancies between environments. This is apparent from the use of exact versions here, but it's worth reiterating as a best practice.
  4. Compatibility Checks:

    • Verify that the updated versions of the packages are compatible not only with each other but also with the rest of your application's ecosystem. This includes other dependencies, the runtime environment (Node.js version), and your application code.
    • For highly critical or complex applications, consider using compatibility checking tools or services that can help identify potential integration issues between package versions.
  5. Environmental Impact Consideration:

    • Upgrading to versions of libraries that have performance improvements can indirectly contribute to a reduction in carbon usage by means of more efficient resource use (CPU, memory). This is a secondary benefit to functionality and security but is worth considering for large-scale applications.
    • Although it's difficult to quantify the environmental impact in this specific case without broader context, prioritizing performance improvements in dependencies where possible is a good sustainability practice.
  6. Cost Implications:

    • Direct cost implications from updating dependencies in a yarn.lock file are typically minimal to none in terms of actual monetary value. However, improved performance and security can lead to indirect cost benefits, such as reduced server load, less downtime, and fewer security incident responses.
    • It's crucial to balance the potential need for increased testing and development time (updating code, fixing breaking changes) against these benefits. This balance is project and organization-specific and should be evaluated in the context of your application's requirements and budget.

Conclusion

This yarn.lock update seems to follow standard upgrade practices. However, ensure due diligence is followed in reviewing, testing, and verifying these upgrades within your specific application context to leverage their benefits fully while minimizing potential risks or issues.

@renovate renovate bot force-pushed the renovate/npm-axios-vulnerability branch 2 times, most recently from d0b8e30 to 6beb06d Compare February 6, 2025 13:25
Copy link

github-actions bot commented Feb 6, 2025

Git Diff Review on yarn.lock

Improvements

  1. Security:

    • Ensure that each package update does not introduce any security vulnerabilities. Use tools such as yarn audit or integrate with a CI pipeline that performs security checks on dependencies.
  2. Testing:

    • Before making these library updates live, thorough testing (automated and manual) should be conducted to ensure that no breaking changes or bugs are introduced. If your project has automated tests, ensure they pass. For critical projects, consider testing in a staging environment first.
  3. Dependency Review:

    • It's beneficial to review the changelogs of updated dependencies (axios, follow-redirects, form-data) for breaking changes, deprecations, or any new features that could affect your application. This could also help in identifying any adjustments needed in your codebase to leverage improvements or avoid deprecated functionality.

    • axios changelog

    • follow-redirects changelog

    • form-data changelog

  4. Performance Considerations:

    • Assess the impact of these updates on the application's performance. Sometimes, newer versions of packages could have performance optimizations that positively affect your application. Conversely, they could introduce changes that might slow down certain aspects. Performance testing, if feasible, should be part of your update process.
  5. Cost and Carbon Usage Estimations:

    • It's challenging to directly estimate cost and carbon usage implications from updating npm packages without specific context on how your application utilizes these libraries. Generally, if the updates lead to improved efficiency or reduced resource utilization, there could be indirect cost and carbon usage benefits. For precise estimations, consider the scale at which your application operates and how critical the updated dependencies are to your application's performance.
  6. Best Practice:

    • Regularly updating dependencies is considered a best practice as it helps in leveraging the latest features, performance improvements, and security patches. However, ensure a balanced approach by not updating too frequently, which could introduce instability, and not leaving versions too outdated, potentially missing out on critical updates.

Specific Examples:

Here are examples for a hypothetical next step based on the review:

  • Testing Commands:

    yarn test
    yarn audit

    Use yarn test to run automated tests and yarn audit to check for any security issues with the new package versions.

  • Performance Benchmarking (If applicable):

    • If there's an existing performance benchmark suite, run it against the version before and after updates to quantify any performance differences.

Given the nature of yarn.lock updates, the advice above focuses on general best practices around dependency management. Customized recommendations would require more specific details about the application and its use cases.

@renovate renovate bot force-pushed the renovate/npm-axios-vulnerability branch from 6beb06d to 4852155 Compare February 6, 2025 14:44
Copy link

github-actions bot commented Feb 6, 2025

Security and Best Practice Improvements

Keep Dependencies Up-to-Date

  • Current Improvement: Upgrading axios, follow-redirects, and form-data to their latest versions is good practice. It ensures that your project benefits from the latest features, performance improvements, and most importantly, security patches. Regular dependency updates should be part of the maintenance schedule.
  • Suggestion: Setup automated dependency update tools like Dependabot or Renovate. These tools can help automate the discovery of new updates and create PRs for each update, making it easier to manage dependencies securely and efficiently.

Validate Dependency Sources

  • Current State: It’s great to see the dependencies resolved from https://registry.yarnpkg.com/, which is the default and trusted source for npm packages.
  • Suggestion: Ensure to audit the integrity of dependencies regularly using tools like npm audit or yarn audit. This will help in identifying known vulnerabilities in dependencies. Additionally, consider the use of a package-lock or yarn.lock file (as you are using) to lock dependency versions and ensure the integrity of installed packages.

Review Dependency Licenses

  • Not Covered: Reviewing the licenses of updated/added dependencies to ensure they comply with the project's license requirements hasn’t been explicitly mentioned.
  • Suggestion: Utilize tools such as FOSSA or the license-checker npm package to automate license compliance checks for all dependencies. This is important to avoid including dependencies with restrictive licenses that could affect the distribution or use of your software.

Carbon Usage

  • Update Impact: Keeping packages updated as seen in this diff can have a complex effect on carbon usage. Newer versions might be more efficient and could reduce the environmental impact by requiring less computational resources.
  • Tip: Favoring packages or versions that are known for being lightweight and efficient contributes to reducing overall carbon usage. While specific carbon-saving costs in GBP from these updates cannot be accurately estimated without knowing the scale at which the updated software runs, optimizing for performance does lead to energy savings over time.

Cost Implications

  • Direct Cost Impact: The updates themselves might not directly impact costs in a significant way unless they introduce breaking changes requiring extensive code refactoring. However, using more efficient or faster libraries could reduce computational costs slightly over time.
  • Suggestion for Future Cost Savings: Consider evaluating the performance impact of dependency updates as part of your regular update cycle. Changes that improve application efficiency can reduce server costs, especially in cloud environments where resource usage directly affects billing.

Conclusion

  • The dependency updates shown in the git diff are a positive step toward maintaining the security, efficiency, and reliability of the project.
  • Incorporate automated tools for regular updates, security checks, and license compliance to maintain a robust and secure project infrastructure.
  • Be mindful of the environmental impact of your dependency choices and strive for efficiency to contribute to cost savings and reduced carbon usage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
demo_apim - TerraformPlanApply/no-changes demo_apim_appgw - TerraformPlanApply/add-or-update demo_apim_appgw/add-or-update demo_apim/no-changes demo_appgateway - TerraformPlanApply/add-or-update demo_appgateway/add-or-update demo_backendappgateway/add-or-update demo_frontdoor - TerraformPlanApply/add-or-update demo_frontdoor/add-or-update dependencies Pull requests that update a dependency file dev_apim - TerraformPlanApply/no-changes dev_apim_appgw - TerraformPlanApply/add-or-update dev_apim_appgw/add-or-update dev_apim/no-changes dev_appgateway - TerraformPlanApply/add-or-update dev_appgateway/add-or-update dev_backendappgateway/add-or-update dev_frontdoor - TerraformPlanApply/add-or-update dev_frontdoor/add-or-update dev_trafficmanager - TerraformPlanApply/no-changes dev_trafficmanager/no-changes ithc_apim - TerraformPlanApply/no-changes ithc_apim_appgw - TerraformPlanApply/add-or-update ithc_apim_appgw/add-or-update ithc_apim/no-changes ithc_appgateway - TerraformPlanApply/add-or-update ithc_appgateway/add-or-update ithc_backendappgateway/add-or-update ithc_frontdoor - TerraformPlanApply/add-or-update ithc_frontdoor/add-or-update prod_apim - TerraformPlanApply/no-changes prod_apim_appgw - TerraformPlanApply/add-or-update prod_apim_appgw/add-or-update prod_apim/no-changes prod_appgateway - TerraformPlanApply/add-or-update prod_appgateway/add-or-update prod_backendappgateway/add-or-update prod_frontdoor - TerraformPlanApply/add-or-update prod_frontdoor/add-or-update prod_shutter_static_webapp/add-or-update prod_trafficmanager/no-changes sbox_apim - TerraformPlanApply/no-changes sbox_apim_appgw - TerraformPlanApply/add-or-update sbox_apim_appgw/add-or-update sbox_apim/no-changes sbox_appgateway - TerraformPlanApply/add-or-update sbox_appgateway/add-or-update sbox_backendappgateway/add-or-update sbox_frontdoor - TerraformPlanApply/add-or-update sbox_frontdoor/add-or-update sbox_shutter_static_webapp/add-or-update stg_apim - TerraformPlanApply/no-changes stg_apim_appgw - TerraformPlanApply/add-or-update stg_apim_appgw/add-or-update stg_apim/no-changes stg_appgateway - TerraformPlanApply/add-or-update stg_appgateway/add-or-update stg_backendappgateway/add-or-update stg_frontdoor - TerraformPlanApply/add-or-update stg_frontdoor/add-or-update test_apim - TerraformPlanApply/no-changes test_apim_appgw - TerraformPlanApply/add-or-update test_apim_appgw/add-or-update test_apim/no-changes test_appgateway - TerraformPlanApply/add-or-update test_appgateway/add-or-update test_backendappgateway/add-or-update test_frontdoor - TerraformPlanApply/add-or-update test_frontdoor/add-or-update
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant