Tag - GitHub
As mentioned in this post I needed to download a private GitHub repo as a ZIP file. The GitHub repo containing this blog is now set to private (mainly to protect my backlog of drafts), which broke my AWS Lambda function (see here and here).
Minimal changes were required from the functioning code, but there was a lot of testing. Some key changes were:
Setting the GitHub Personal Access Token as a Lambda variable Modify the file download function to use custom headers Consuming the token from within Lambda to access and download the file The new function to download the repo:
As you may know from one of my recent blog posts, the blog you’re reading is a collection of Markdown and Hugo artifacts that, when ‘compiled’ with Hugo, creates a wonderfully lightweight website hosted out of AWS S3. My biggest gripe with my documented deployment from GitHub to S3 was the dependency on the GitHub repo being public. Anyone could see my published and unpublished content. As I’ve been spending quite a bit of time writing new posts, I wanted to protect the repo but still deploy the site automatically as I do now in AWS Lambda.
Avid readers, I bring to you a nice little update to one of my more popular posts on how to deploy a Hugo website from GitHub to S3 using GitHub Webhooks, API Gateway and Lambda.
Since that post, AWS has stated that they will deprecate support for Python 2.7 starting 31st December 2020. Not only that, the requests module has been removed from the AWS SDK for Python so the file downloads that happen in my Lambda function stopped working.
If you followed my previous posts on auto deploying a Hugo site from GitHub to S3 (Part 1, Part 2) you may have noticed that GitHub is deprecating the GitHub Services Integration mechanism. This is critical to the auto deployment function so we’ll need an alternative. To add to my woes, I’ve found that the Node deployment package and all of its dependencies involves more maintenance than it deserves. I also noticed that the original Node package was only adding to the target S3 bucket, not performing a sync or equivalent.
This post is part of a series. You’re reading Part 2.
Auto deploy a Hugo website from GitHub to S3 - Part 1 Preparing for the AWS Lambda function Now that GitHub notifies AWS of changes, we need to create the “doing” part of our project. We’re going to use AWS’ Lambda service to perform the work. Lambda will execute the function everytime a notification is published to the SNS topic.
This post is part of a series. You’re reading Part 1.
Auto deploy a Hugo website from GitHub to S3 - Part 2 Introduction For those who don’t know what Hugo is, it’s a static website generator. Its source material is a Hugo template with your content in Markdown. I’ve used it for a while, in fact this blog is generated using Hugo. Hugo can give you an entire site in HTML/CSS and any required Javascript that you can then place anywhere on the web.
Latest Posts
- Restore of a Wordpress deployment is stuck redirecting the port
- Backups and Restores using Velero in TKGm 1.6.1
- Unable to upgrade the database: org.postgresql.util.PSQLException: ERROR: could not open shared memory segment: No such file or directory
- Upgrading Cloud Director 10.4.1 to 10.5
- Installing and Configuring Velero in TKGm 1.6.1 on vSphere
Advertisement
Popular Tags
vmware63
vrealize-suite19
vsphere19
how-to17
vcloud-director12
professional-development10
aws8
certificates8
vrealize-orchestrator7
github6
hugo6
lambda6
tanzu6
vcd6
vcenter6
blog5
s35
homelab4
python4
tanzu-kubernetes-grid4
tkg4
tkgm4
vmware-cloud-director4
vrealize-automation4
vrealize-suite-lifecycle-manager4
api3
api-gateway3
automation3
container-service-extension3
cse3
csp-cloud-builder3
esxi3
javascript3
kubernetes3
pfsense3
powercli3
psc3
upgrade3
vcsa3
velero3
vrealize-log-insight3
vrealize-operations-manager3
vrealize-saltstack-config3
azure2
cassandradb2
certification2
cloud-director2
dns2
hardware2
microsoft2
packer2
rest2
saltstack2
storage2
swagger2
telegraf2
vcd-10.4.12
vcd-10.52
vcloud-availability2
vcp2
vrealize-operations2
active-directory1
adfs1
alp1
app-launchpad1
automator1
blueprints1
bmc1
certificate-authority1
cisco-aci1
clarityui1
cloud-init1
converter1
cpu1
custom-resource1
dell1
docker1
draas1
federation1
firmware1
freebsd1
freenas1
gcp1
ipmi1
ipsec1
json1
macos1
network1
nodejs1
nsx1
opensource1
ova1
postman1
quanta1
route531
saml1
self-hosted1
ubuntu1
utilities1
vcenter-server1
vcloud1
vcpp1
vexpert1
vidm1
virtual-network-gateway1
vmware-identity-manager1
vpn1
vrli1
vro1
vsan1
vvols1
windows-server1
wordpress1