Merge pull request #8847 from mitchellh/sethvargo/remove_people

Remove people from community section
This commit is contained in:
Chris Roberts 2017-08-09 10:39:14 -07:00 committed by GitHub
commit c285e51bca
4 changed files with 123 additions and 79 deletions

View File

@ -10,15 +10,12 @@
"type": "docker",
"image": "hashicorp/middleman-hashicorp:0.3.28",
"discard": "true",
"run_command": ["-d", "-i", "-t", "{{ .Image }}", "/bin/sh"]
"volumes": {
"{{ pwd }}": "/website"
}
}
],
"provisioners": [
{
"type": "file",
"source": ".",
"destination": "/website"
},
{
"type": "shell",
"environment_vars": [
@ -30,7 +27,7 @@
"inline": [
"bundle check || bundle install",
"bundle exec middleman build",
"/bin/sh ./scripts/deploy.sh"
"/bin/bash ./scripts/deploy.sh"
]
}
]

41
website/redirects.txt Normal file
View File

@ -0,0 +1,41 @@
#
# REDIRECTS FILE
#
# This is a sample redirect file. Redirects allow individual projects to add
# their own redirect rules in a declarative manner using Fastly edge
# dictionaries.
#
# FORMAT
#
# Redirects are in the format. There must be at least one space between the
# original path and the new path, and there must be exactly two entries per
# line.
#
# /original-path /new-path
#
# GLOB MATCHING
#
# Because of the way lookup tables work, there is no support for glob matching.
# Fastly does not provide a way to iterate through the lookup table, so it is
# not possible to run through the table and find anything that matches. As such
# URLs must match directly.
#
# More complex redirects are possible, but must be added directly to the
# configuration. Please contact the release engineering team for assistance.
#
# DELETING
#
# Deleting items is not supported at this time. To delete an item, contact the
# release engineering team and they will delete the dictionary item.
#
# MISC
#
# - Blank lines are ignored
# - Comments are hash-style
# - URLs are limited to 256 characters
# - Items are case-sensitive (please use all lowercase)
#
/support.html /
/sponsors.html /
/about.html /intro/index.html

View File

@ -1,9 +1,10 @@
#!/bin/sh
#!/usr/bin/env bash
set -e
PROJECT="vagrant"
PROJECT_URL="www.vagrantup.com"
FASTLY_SERVICE_ID="7GrxRJP3PVBuqQbyxYQ0MV"
FASTLY_DICTIONARY_ID="5Z2ArNwTMBmJXVh0R5h7wO"
# Ensure the proper AWS environment variables are set
if [ -z "$AWS_ACCESS_KEY_ID" ]; then
@ -93,6 +94,75 @@ if [ -z "$NO_UPLOAD" ]; then
modify "s3://hc-sites/$PROJECT/latest/"
fi
# Add redirects if they exist
if [ -z "$NO_REDIRECTS" ] || [ ! test -f "./redirects.txt" ]; then
echo "Adding redirects..."
fields=()
while read -r line; do
[[ "$line" =~ ^#.* ]] && continue
[[ -z "$line" ]] && continue
# Read fields
IFS=" " read -ra parts <<<"$line"
fields+=("${parts[@]}")
done < "./redirects.txt"
# Check we have pairs
if [ $((${#fields[@]} % 2)) -ne 0 ]; then
echo "Bad redirects (not an even number)!"
exit 1
fi
# Check we don't have more than 1000 entries (yes, it says 2000 below, but that
# is because we've split into multiple lines).
if [ "${#fields}" -gt 2000 ]; then
echo "More than 1000 entries!"
exit 1
fi
# Validations
for field in "${fields[@]}"; do
if [ "${#field}" -gt 256 ]; then
echo "'$field' is > 256 characters!"
exit 1
fi
if [ "${field:0:1}" != "/" ]; then
echo "'$field' does not start with /!"
exit 1
fi
done
# Build the payload for single-request updates.
jq_args=()
jq_query="."
for (( i=0; i<${#fields[@]}; i+=2 )); do
original="${fields[i]}"
redirect="${fields[i+1]}"
echo "Redirecting ${original} -> ${redirect}"
jq_args+=(--arg "key$((i/2))" "${original}")
jq_args+=(--arg "value$((i/2))" "${redirect}")
jq_query+="| .items |= (. + [{op: \"upsert\", item_key: \$key$((i/2)), item_value: \$value$((i/2))}])"
done
# Do not post empty items (the API gets sad)
if [ "${#jq_args[@]}" -ne 0 ]; then
json="$(jq "${jq_args[@]}" "${jq_query}" <<<'{"items": []}')"
# Post the JSON body
curl \
--fail \
--silent \
--output /dev/null \
--request "PATCH" \
--header "Fastly-Key: $FASTLY_API_KEY" \
--header "Content-type: application/json" \
--header "Accept: application/json" \
--data "$json"\
"https://api.fastly.com/service/$FASTLY_SERVICE_ID/dictionary/$FASTLY_DICTIONARY_ID/items"
fi
fi
# Perform a purge of the surrogate key.
if [ -z "$NO_PURGE" ]; then
echo "Purging Fastly cache..."
@ -118,8 +188,13 @@ if [ -z "$NO_WARM" ]; then
echo "wget --recursive --delete-after https://$PROJECT_URL/"
echo ""
wget \
--recursive \
--delete-after \
--quiet \
--level inf \
--no-directories \
--no-host-directories \
--no-verbose \
--page-requisites \
--recursive \
--spider \
"https://$PROJECT_URL/"
fi

View File

@ -34,72 +34,3 @@ description: |-
Paid <a href="https://www.hashicorp.com/training.html">HashiCorp training courses</a>
are also available in a city near you. Private training courses are also available.
</p>
<h2>People</h2>
<p>
The following people are some of the faces behind Vagrant. They each
contribute to Vagrant in some core way. Over time, faces may appear and
disappear from this list as contributors come and go. In addition to
the faces below, Vagrant is a project by
<a href="https://www.hashicorp.com">HashiCorp</a>, so many HashiCorp
employees actively contribute to Vagrant.
</p>
<div class="people">
<div class="person">
<img class="pull-left" src="//www.gravatar.com/avatar/54079122b67de9677c1f93933ce8b63a.png?s=125">
<div class="bio">
<h3>Mitchell Hashimoto (<a href="https://github.com/mitchellh">@mitchellh</a>)</h3>
<p>
Mitchell Hashimoto is a creator of Vagrant. He has been with the
Vagrant project from the very beginning. Mitchell is also the
creator of
<a href="https://www.consul.io">Consul</a>,
<a href="https://www.packer.io">Packer</a>,
<a href="https://www.serf.io">Serf</a>, and
<a href="https://www.ottoproject.io">Otto</a>.
</p>
</div>
</div>
<div class="person">
<img class="pull-left" src="//www.gravatar.com/avatar/2acc31dd6370a54b18f6755cd0710ce6.png?s=125">
<div class="bio">
<h3>Jack Pearkes (<a href="https://github.com/pearkes">@pearkes</a>)</h3>
<p>
Jack Pearkes created and maintains many projects at HashiCorp. He
is the original author of <a href="https://vagrantcloud.com">Vagrant Cloud</a>.
He is also a core committer to <a href="https://www.packer.io">Packer</a>
and maintains many successful
<a href="https://github.com/pearkes">open source projects</a>
while also being an employee of
<a href="https://www.hashicorp.com">HashiCorp</a>.
</p>
</div>
</div>
<div class="person">
<img class="pull-left" src="//avatars1.githubusercontent.com/u/408570?v=3&amp;s=125">
<div class="bio">
<h3>Seth Vargo (<a href="https://github.com/sethvargo">@sethvargo</a>)</h3>
<p>
Seth Vargo is a core committer to Vagrant, with his main focus
being the core plugin system, pushes, and provisioners. Seth is
also a contributor to Consul, Packer, and Vault, all while being
an employee at <a href="https://www.hashicorp.com">HashiCorp</a>.
</p>
</div>
</div>
<div class="person">
<img class="pull-left" src="//avatars3.githubusercontent.com/u/37534?v=3&amp;s=125">
<div class="bio">
<h3>Paul Hinze (<a href="https://github.com/phinze">@phinze</a>)</h3>
<p>
Paul Hinze is a contributor to Vagrant, with his main focus being
provisioners and working on HashiCorp's external plugins. He is
also a core committer to <a href="https://www.terraform.io">Terraform</a>,
all while being an employee at <a href="https://www.hashicorp.com">HashiCorp</a>.
</p>
</div>
</div>
</div>