diff --git a/functions-src/deploy-succeeded.js b/functions-src/deploy-succeeded.js deleted file mode 100644 index afe5c7e593..0000000000 --- a/functions-src/deploy-succeeded.js +++ /dev/null @@ -1,77 +0,0 @@ -"use strict"; - -const - { IncomingWebhook } = require('@slack/client'), - kubernetesSiteRoot = 'https://kubernetes.io', - fetch = require('node-fetch').default, - { SLACK_WEBHOOK_URL } = process.env; - -const webhook = new IncomingWebhook(SLACK_WEBHOOK_URL); - -// A random smattering of Kubernetes documentation pages -// We can add as many pages here as we'd like -const kubernetesEndpoints = [ - 'docs/home', - 'docs/tutorials/configuration/configure-redis-using-configmap', - -] - -// Ensure that the SLACK_WEBHOOK_URL environment variable is set -const checkEnv = () => { - if (!SLACK_WEBHOOK_URL) { - return { - statusCode: 422, - body: "[FAILURE] The Slack webhook URL must be set via the SLACK_WEBHOOK_URL environment variable" - } - } -} - -// This function posts a warning message to Slack -const sendSlackMessage = (msg) => { - const slackMessageObject = { - username: "noindex checker", - text: msg - } - - // Send the message to the webhook - webhook.send(slackMessageObject, (err, res) => { - return (err) ? { statusCode: 422, body: `[ERROR] Slack webhook error: ${err}` } : - { statusCode: 200, body: `[SUCCESS] Response received from Slack: ${JSON.stringify(res)}` }; - }); -} - -// Iterate through each Kubernetes endpoint to check for noindex headers -const checkEndpoints = () => { - kubernetesEndpoints.forEach((endpoint) => { - const url = `${kubernetesSiteRoot}/${endpoint}`; - - fetch(url) - .then(res => { - const headers = res.headers; - - if ('x-robots-tag' in headers.raw() && (headers.get('x-robots-tag') == 'noindex')) { - const msg = `[WARNING] "X-Robots-Tag: noindex" header found on the following page: ${url}`; - - // Send Slack notification - sendSlackMessage(msg); - - return { statusCode: 404, body: msg }; - } else { - const msg = `[SUCCESS] No improper X-Robots-Tag: noindex headers found on ${url}`; - - return { statusCode: 200, body: msg }; - } - }) - .catch(err => { - return { statusCode: 422, body: err }; - }); - }); -} - -// The handler function -exports.handler = async (event, context) => { - checkEnv(); - - // Below are the various deploy succeeded checks - checkEndpoints(); -}