From 52fb9e74b7d10581e5bd90ac08b19dd4a39b44a1 Mon Sep 17 00:00:00 2001 From: Tom Kerkhove Date: Fri, 20 Mar 2020 18:00:32 +0100 Subject: [PATCH] Remove Docker Hub bot (#913) --- .../docker-hub-bot-for-prs-ci.yml | 38 --- .../docker-hub-bot-for-prs-deploy.yml | 41 --- deploy/README.md | 5 - .../automation/docker-hub/ci/azuredeploy.json | 323 ------------------ .../docker-hub/ci/azuredeploy.parameters.json | 21 -- 5 files changed, 428 deletions(-) delete mode 100644 build/azure-devops/docker-hub-bot-for-prs-ci.yml delete mode 100644 build/azure-devops/docker-hub-bot-for-prs-deploy.yml delete mode 100644 deploy/README.md delete mode 100644 deploy/automation/docker-hub/ci/azuredeploy.json delete mode 100644 deploy/automation/docker-hub/ci/azuredeploy.parameters.json diff --git a/build/azure-devops/docker-hub-bot-for-prs-ci.yml b/build/azure-devops/docker-hub-bot-for-prs-ci.yml deleted file mode 100644 index 089cb0bee..000000000 --- a/build/azure-devops/docker-hub-bot-for-prs-ci.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: $(Date:yyyyMMdd)$(Rev:.r) -trigger: none -pr: - branches: - include: - - master - paths: - include: - - deploy/automation/docker-hub/ci/* - - .azure-devops/docker-hub-bot-for-prs-ci.yml -stages: -- stage: Build - displayName: Verify Tooling - jobs: - - job: Tooling - displayName: Verify ARM Template - pool: - vmImage: ubuntu-16.04 - steps: - - powershell: | - $prNumber = '$(System.PullRequest.PullRequestNumber)' - $buildNumber = '$(Build.BuildNumber)' - Write-Host "Initial build number: '$buildNumber'" - Write-Host "PR Number '$prNumber'" - $buildNumber = 'PR$(System.PullRequest.PullRequestNumber)' - Write-Host "##vso[build.updatebuildnumber]$buildNumber" - Write-Host "Build number is '$buildNumber'" - displayName: 'Change Build Number to PR format' - condition: eq(variables['Build.Reason'], 'PullRequest') - - task: AzureResourceGroupDeployment@2 - displayName: 'Validate Docker Hub Bot ARM Template' - inputs: - azureSubscription: 'Visual Studio Enterprise (0f9d7fea-99e8-4768-8672-06a28514f77e)' - resourceGroupName: 'promitor' - location: 'West Europe' - csmFile: 'deploy/automation/docker-hub/ci/azuredeploy.json' - csmParametersFile: 'deploy/automation/docker-hub/ci/azuredeploy.parameters.json' - deploymentMode: Validation \ No newline at end of file diff --git a/build/azure-devops/docker-hub-bot-for-prs-deploy.yml b/build/azure-devops/docker-hub-bot-for-prs-deploy.yml deleted file mode 100644 index 9437df3b9..000000000 --- a/build/azure-devops/docker-hub-bot-for-prs-deploy.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: $(Date:yyyyMMdd)$(Rev:.r) -resources: -- repo: self -trigger: - batch: true - branches: - include: - - master - paths: - include: - - deploy/automation/docker-hub/ci/* -pr: none -variables: - LogicApp.Name: 'promitor-automation-github-ci-scraper' - GitHub.Repo.Owner: 'tomkerkhove' - GitHub.Repo.Name: 'promitor' - GitHub.Bot.Name: 'promitor-bot' -stages: -- stage: Deploy - jobs: - - job: DeployToAzure - displayName: Deploy to Azure (ARM) - pool: - vmImage: ubuntu-16.04 - steps: - - task: qetza.replacetokens.replacetokens-task.replacetokens@3 - displayName: 'Replace tokens in tooling' - inputs: - rootDirectory: 'deploy/automation/docker-hub/ci/' - targetFiles: azuredeploy.parameters.json - verbosity: detailed - actionOnMissing: fail - - task: AzureResourceGroupDeployment@2 - displayName: 'Deploy CI bot for Docker Hub updates' - inputs: - azureSubscription: 'Visual Studio Enterprise (0f9d7fea-99e8-4768-8672-06a28514f77e)' - resourceGroupName: promitor - location: 'West Europe' - csmFile: 'deploy/automation/docker-hub/ci/azuredeploy.json' - csmParametersFile: 'deploy/automation/docker-hub/ci/azuredeploy.parameters.json' - deploymentName: 'Release-$(Build.BuildNumber)-Bots-Docker-Hub' \ No newline at end of file diff --git a/deploy/README.md b/deploy/README.md deleted file mode 100644 index 9fcfb00a8..000000000 --- a/deploy/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Deployment - -We provide some guidance on deploying Promitor. - -For more information we recommend reading [the documentation](https://promitor.io/deployment/#kubernetes). diff --git a/deploy/automation/docker-hub/ci/azuredeploy.json b/deploy/automation/docker-hub/ci/azuredeploy.json deleted file mode 100644 index 05542592d..000000000 --- a/deploy/automation/docker-hub/ci/azuredeploy.json +++ /dev/null @@ -1,323 +0,0 @@ -{ - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "LogicApp.Name": { - "type": "string", - "maxLength": 80, - "metadata": { - "description": "Name of the Logic App that will handle new Docker Hub webhooks" - } - }, - "GitHub.Repo.Owner": { - "type": "string", - "defaultValue": "tomkerkhove", - "metadata": { - "description": "Name of the owner for the GitHub repo" - } - }, - "GitHub.Repo.Name": { - "type": "string", - "defaultValue": "promitor", - "metadata": { - "description": "Name of the GitHub repo" - } - }, - "GitHub.Bot.Name": { - "type": "string", - "defaultValue": "promitor-bot", - "metadata": { - "description": "Name of the GitHub account that will act as a bot" - } - }, - "GitHub.Bot.Password": { - "type": "securestring", - "metadata": { - "description": "Password to authenticate with for the GitHub account that will act as a bot" - } - } - }, - "variables": { - "Alerts.ActionGroup.Name": "Promitor - Maintainers" - }, - "resources": [ - { - "type": "Microsoft.Logic/workflows", - "apiVersion": "2016-06-01", - "name": "[parameters('LogicApp.Name')]", - "location": "[resourceGroup().location]", - "properties": { - "definition": { - "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", - "actions": { - "Define_GitHub_comment_text": { - "inputs": "Docker image for this PR was built and is available on [Docker Hub](@{triggerBody()?['repository']?['repo_url']}).\n\nYou can pull it locally via the CLI:\n```shell\ndocker pull @{triggerBody()?['repository']?['repo_name']}:@{triggerBody()?['push_data']?['tag']}\n```\n\nWant to verify the new version? Run it locally:\n```shell\ndocker run -d -p 8999:80 --name promitor-agent-scraper-@{triggerBody()?['push_data']?['tag']} \\\n --env PROMITOR_AUTH_APPID='' \\\n --env-file C:/Promitor/az-mon-auth.creds \\\n --volume C:/Promitor/metrics-declaration.yaml:/config/metrics-declaration.yaml \\\n --volume C:/Promitor/runtime-config.yaml:/config/runtime.yaml \\\n @{triggerBody()?['repository']?['repo_name']}:@{triggerBody()?['push_data']?['tag']}\n```\n\nYou can find a CI version of our Helm chart on [hub.helm.sh](https://hub.helm.sh/charts/promitor/promitor-agent-scraper-ci)", - "runAfter": { - "Determine_GitHub_Issue_Id": [ - "Succeeded" - ] - }, - "type": "Compose" - }, - "Determine_GitHub_Issue_Id": { - "inputs": "@replace(toLower(triggerBody()?['push_data']?['tag']), 'pr', '')", - "runAfter": { - }, - "type": "Compose" - }, - "Only_comment_for_Linux": { - "actions": { - "Define_GitHub_comment_text": { - "inputs": "Docker image for this PR was built and is available on [Docker Hub](@{triggerBody()?['repository']?['repo_url']}).\n\nYou can pull it locally via the CLI:\n```shell\ndocker pull @{triggerBody()?['repository']?['repo_name']}:@{triggerBody()?['push_data']?['tag']}\n```\n\nWant to verify the new version? Run it locally:\n```shell\ndocker run -d -p 8999:80 --name promitor-agent-scraper-@{triggerBody()?['push_data']?['tag']} \\\n --env PROMITOR_AUTH_APPID='' \\\n --env-file C:/Promitor/az-mon-auth.creds \\\n --volume C:/Promitor/metrics-declaration.yaml:/config/metrics-declaration.yaml \\\n --volume C:/Promitor/runtime-config.yaml:/config/runtime.yaml \\\n @{triggerBody()?['repository']?['repo_name']}:@{triggerBody()?['push_data']?['tag']}\n```\n\nYou can find a CI version of our Helm chart on [hub.helm.sh](https://hub.helm.sh/charts/promitor/promitor-agent-scraper-ci)", - "runAfter": { - "Determine_GitHub_Issue_Id": [ - "Succeeded" - ] - }, - "type": "Compose" - }, - "HTTP": { - "inputs": { - "authentication": { - "password": "[parameters('GitHub.Bot.Password')]", - "type": "Basic", - "username": "[parameters('GitHub.Bot.Name')]" - }, - "body": { - "body": "@{outputs('Define_GitHub_comment_text')}" - }, - "method": "POST", - "uri": "@{concat('https://api.github.com/repos/', parameters('GitHub.Repo.Owner'),'/', parameters('GitHub.Repo.Name'),'/issues/', outputs('Determine_GitHub_Issue_Id'),'/comments')}" - }, - "runAfter": { - "Define_GitHub_comment_text": [ - "Succeeded" - ] - }, - "type": "Http" - } - }, - "expression": { - "and": [ - { - "not": { - "contains": [ - "@outputs('Determine_GitHub_Issue_Id')", - "-" - ] - } - } - ] - }, - "runAfter": { - "Determine_GitHub_Issue_Id": [ - "Succeeded" - ] - }, - "type": "If" - } - }, - "contentVersion": "1.0.0.0", - "outputs": { - }, - "parameters": { - "GitHub.Repo.Owner": { - "defaultValue": "[parameters('GitHub.Repo.Owner')]", - "type": "string" - }, - "GitHub.Repo.Name": { - "defaultValue": "[parameters('GitHub.Repo.Name')]", - "type": "string" - } - }, - "triggers": { - "manual": { - "inputs": { - "schema": { - "properties": { - "callback_url": { - "type": "string" - }, - "push_data": { - "properties": { - "images": { - "type": "array" - }, - "pushed_at": { - "type": "integer" - }, - "pusher": { - "type": "string" - }, - "tag": { - "type": "string" - } - }, - "type": "object" - }, - "repository": { - "properties": { - "comment_count": { - "type": "integer" - }, - "date_created": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "full_description": { - "type": "string" - }, - "is_official": { - "type": "boolean" - }, - "is_private": { - "type": "boolean" - }, - "is_trusted": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "repo_name": { - "type": "string" - }, - "repo_url": { - "type": "string" - }, - "star_count": { - "type": "integer" - }, - "status": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "kind": "Http", - "type": "Request" - } - } - }, - "parameters": { - } - }, - "dependsOn": [ - ] - }, - { - "type": "Microsoft.Insights/actionGroups", - "apiVersion": "2018-03-01", - "name": "[variables('Alerts.ActionGroup.Name')]", - "location": "Global", - "properties": { - "groupShortName": "AlertHandler", - "enabled": true, - "smsReceivers": [ - ], - "emailReceivers": [ - { - "name": "Tom Kerkhove", - "emailAddress": "kerkhove.tom@gmail.com" - } - ], - "webhookReceivers": [ - ] - } - }, - { - "name": "Scraper CI Bot - Docker Hub Integration Run Failed", - "type": "Microsoft.Insights/metricAlerts", - "location": "global", - "apiVersion": "2018-03-01", - "tags": { - }, - "properties": { - "description": "Scraper CI Bot - Docker Hub integration failed to run and post a comment on the pull request in GitHub", - "severity": 3, - "enabled": true, - "scopes": [ - "[resourceId('Microsoft.Logic/workflows', parameters('LogicApp.Name'))]" - ], - "evaluationFrequency": "PT5M", - "windowSize": "PT5M", - "criteria": { - "odata.type": "Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria", - "allOf": [ - { - "name": "1st criterion", - "metricName": "RunsFailed", - "dimensions": [ - ], - "operator": "GreaterThanOrEqual", - "threshold": "1", - "timeAggregation": "Total" - } - ] - }, - "actions": [ - { - "actionGroupId": "[resourceId('Microsoft.Insights/actionGroups', variables('Alerts.ActionGroup.Name'))]" - } - ] - }, - "dependsOn": [ - "[resourceId('Microsoft.Insights/actionGroups', variables('Alerts.ActionGroup.Name'))]", - "[resourceId('Microsoft.Logic/workflows', parameters('LogicApp.Name'))]" - ] - }, - { - "name": "Scraper CI Bot - Docker Hub Integration Trigger Failed", - "type": "Microsoft.Insights/metricAlerts", - "location": "global", - "apiVersion": "2018-03-01", - "tags": { - }, - "properties": { - "description": "Scraper CI Bot - Docker Hub integration failed to be triggered due to an issue", - "severity": 3, - "enabled": true, - "scopes": [ - "[resourceId('Microsoft.Logic/workflows', parameters('LogicApp.Name'))]" - ], - "evaluationFrequency": "PT5M", - "windowSize": "PT5M", - "criteria": { - "odata.type": "Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria", - "allOf": [ - { - "name": "1st criterion", - "metricName": "TriggersFailed", - "dimensions": [ - ], - "operator": "GreaterThanOrEqual", - "threshold": "1", - "timeAggregation": "Total" - } - ] - }, - "actions": [ - { - "actionGroupId": "[resourceId('Microsoft.Insights/actionGroups', variables('Alerts.ActionGroup.Name'))]" - } - ] - }, - "dependsOn": [ - "[resourceId('Microsoft.Insights/actionGroups', variables('Alerts.ActionGroup.Name'))]", - "[resourceId('Microsoft.Logic/workflows', parameters('LogicApp.Name'))]" - ] - } - ] -} diff --git a/deploy/automation/docker-hub/ci/azuredeploy.parameters.json b/deploy/automation/docker-hub/ci/azuredeploy.parameters.json deleted file mode 100644 index 165d50d62..000000000 --- a/deploy/automation/docker-hub/ci/azuredeploy.parameters.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json", - "contentVersion": "1.0.0.0", - "parameters": { - "LogicApp.Name": { - "value": "#{LogicApp.Name}#" - }, - "GitHub.Repo.Owner": { - "value": "#{GitHub.Repo.Owner}#" - }, - "GitHub.Repo.Name": { - "value": "#{GitHub.Repo.Name}#" - }, - "GitHub.Bot.Name": { - "value": "#{GitHub.Bot.Name}#" - }, - "GitHub.Bot.Password": { - "value": "#{GitHub.Bot.Password}#" - } - } -}