diff --git a/.github/workflows/sentinel-deploy-a007beba-c987-40bf-ad4f-3f6826c22cd5.yml b/.github/workflows/sentinel-deploy-a007beba-c987-40bf-ad4f-3f6826c22cd5.yml new file mode 100644 index 00000000..47af5570 --- /dev/null +++ b/.github/workflows/sentinel-deploy-a007beba-c987-40bf-ad4f-3f6826c22cd5.yml @@ -0,0 +1,81 @@ +name: Deploy Content to luna-canary-0 [a007beba-c987-40bf-ad4f-3f6826c22cd5] +# Note: This workflow will deploy everything in the root directory. +# To deploy content only from a specific path (for example SentinelContent): +# 1. Add the target path to the "paths" property like such +# paths: +# - 'SentinelContent/**' +# - '!.github/workflows/**' +# - '.github/workflows/sentinel-deploy-a007beba-c987-40bf-ad4f-3f6826c22cd5.yml' +# 2. Append the path to the directory environment variable below +# directory: '${{ github.workspace }}/SentinelContent' + +on: + push: + branches: [ patch-1 ] + paths: + - '**' + - '!.github/workflows/**' # this filter prevents other workflow changes from triggering this workflow + - '.github/workflows/sentinel-deploy-a007beba-c987-40bf-ad4f-3f6826c22cd5.yml' + +jobs: + deploy-content: + runs-on: windows-latest + env: + resourceGroupName: 'sentinel-eco-nazang-canary' + workspaceName: 'luna-canary-0' + workspaceId: 'ee2b0bac-e2ea-4af0-b741-6d6c6b6b0162' + directory: '${{ github.workspace }}' + cloudEnv: 'AzureCloud' + creds: ${{ secrets.AZURE_SENTINEL_CREDENTIALS_a007bebac98740bfad4f3f6826c22cd5 }} + contentTypes: 'AnalyticsRule,AutomationRule,HuntingQuery,Parser,Playbook,Workbook' + branch: 'patch-1' + sourceControlId: 'a007beba-c987-40bf-ad4f-3f6826c22cd5' + rootDirectory: '${{ github.workspace }}' + githubAuthToken: ${{ secrets.GITHUB_TOKEN }} + smartDeployment: 'true' + + steps: + - name: Login to Azure (Attempt 1) + continue-on-error: true + id: login1 + uses: azure/login@v1 + if: ${{ env.cloudEnv == 'AzureCloud' }} + with: + creds: ${{ secrets.AZURE_SENTINEL_CREDENTIALS_a007bebac98740bfad4f3f6826c22cd5 }} + enable-AzPSSession: true + + - name: Wait 30 seconds if login attempt 1 failed + if: ${{ env.cloudEnv == 'AzureCloud' && steps.login1.outcome=='failure' }} + run: powershell Start-Sleep -s 30 + + - name: Login to Azure (Attempt 2) + continue-on-error: true + id: login2 + uses: azure/login@v1 + if: ${{ env.cloudEnv == 'AzureCloud' && steps.login1.outcome=='failure' }} + with: + creds: ${{ secrets.AZURE_SENTINEL_CREDENTIALS_a007bebac98740bfad4f3f6826c22cd5 }} + enable-AzPSSession: true + + - name: Wait 30 seconds if login attempt 2 failed + if: ${{ env.cloudEnv == 'AzureCloud' && steps.login2.outcome=='failure' }} + run: powershell Start-Sleep -s 30 + + - name: Login to Azure (Attempt 3) + continue-on-error: false + id: login3 + uses: azure/login@v1 + if: ${{ env.cloudEnv == 'AzureCloud' && steps.login2.outcome=='failure' }} + with: + creds: ${{ secrets.AZURE_SENTINEL_CREDENTIALS_a007bebac98740bfad4f3f6826c22cd5 }} + enable-AzPSSession: true + + - name: Checkout + uses: actions/checkout@v3 + + - name: Deploy Content to Azure Sentinel + uses: azure/powershell@v1 + with: + azPSVersion: 'latest' + inlineScript: | + ${{ github.workspace }}//.github/workflows/azure-sentinel-deploy-a007beba-c987-40bf-ad4f-3f6826c22cd5.ps1 \ No newline at end of file