Skip to content
This repository has been archived by the owner on Jul 1, 2024. It is now read-only.

Address outdated references to AWSx #3650

Merged
merged 5 commits into from
Nov 29, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 77 additions & 0 deletions .github/workflows/scheduled-programs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: Run example programs
on:
schedule:
- cron: "0 8 * * *"
pull_request:
branches:
- main
workflow_dispatch: {}

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PULUMI_TEST_OWNER: "moolumi"
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
AWS_REGION: "us-west-2"
PULUMI_API: https://api.pulumi-staging.io

jobs:
test:
runs-on: ${{ matrix.platform }}
strategy:
matrix:
platform:
- ubuntu-latest
go-version:
- 1.18.x
node-version:
- 16.x
python-version:
- 3.7
dotnet:
- 6.0.x

steps:
- name: Install Java
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 11

- name: Install DotNet
uses: actions/setup-dotnet@v3
with:
dotnet-version: ${{ matrix.dotnet }}

- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}

- name: Install Go
uses: actions/setup-go@v3
with:
go-version: ${{ matrix.go-version }}

- name: Install Pulumi
uses: pulumi/actions@v4

- name: Install Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Check out the code
uses: actions/checkout@v3

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-region: ${{ env.AWS_REGION }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
role-duration-seconds: 14400 # 4 hours
role-session-name: pulumi-hugo-examples@githubActions
role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }}

- name: Run the tests
run: make test-programs
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ yarn-error.log
themes/default/theme
themes/default/assets
themes/default/layouts
themes/default/static/programs
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,6 @@ new-learn-topic:
.PHONY: new-template
new-template:
./scripts/content/new-template.sh

test-programs:
./scripts/test-programs.sh preview
2 changes: 2 additions & 0 deletions scripts/clean.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

set -o errexit -o pipefail

git clean -fdX

yarn cache clean
hugo mod clean

Expand Down
63 changes: 63 additions & 0 deletions scripts/test-programs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
#!/bin/bash

set -euo pipefail

pulumi whoami -v

# Delete build/test artifacts.
git clean -fdX themes/default/static/programs

pushd themes/default/static/programs
for dir in */; do
project="$(basename $dir)"


echo "***"
echo "* $project"
echo "***"

org="$(pulumi whoami -v --json | jq -r .user)"
stack="dev"
fqsn="${org}/${project}/${stack}"

# Install dependencies.
pulumi -C "$project" install

# Skip certain programs known not to work.

# Java examples of FargateService erroneously complain about missing container declarations.
# https://github.com/pulumi/pulumi-awsx/issues/820
if [[ "$project" == "awsx-vpc-fargate-service-java" ]]; then
continue
elif [[ "$project" == "awsx-load-balanced-fargate-ecr-java" ]]; then
continue
elif [[ "$project" == "awsx-load-balanced-fargate-nginx-java" ]]; then
continue
fi

# Destroy any existing stacks.
pulumi -C "$project" cancel --stack $fqsn --yes || true
pulumi -C "$project" destroy --stack $fqsn --yes --refresh --remove || true

# Delete any existing Docker images.
# docker rmi -f "$(docker images -aq)" || true

# Create a new stack.
pulumi -C "$project" stack select $fqsn || pulumi -C "$project" stack init $fqsn
pulumi -C "$project" config set aws:region us-west-2 || true

# Preview or deploy.
if [[ "$1" == "update" ]]; then
pulumi -C "$project" up --yes
else
pulumi -C "$project" preview
fi

# Destroy and remove.
pulumi -C "$project" destroy --yes --remove

done
popd

# Delete build/test artifacts.
git clean -fdX themes/default/static/examples
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ tags:
- serverless
---

{{% notes type="warning" %}}
Some of the code in this post is out of date. See the [AWS guides](/docs/clouds/aws/guides/) for an updated overview and examples.
{{% /notes %}}

When AWS Lambda launched in 2014, it pioneered the concept of Function-as-a-Service. Developers could write a function in one of the supported programming languages, upload it to AWS, and Lambda executes the function on every invocation.

Ever since then, a zip archive of application code or binaries has been the only supported deployment option. Even AWS Lambda Layers—reusable components automatically merged into the application code—used the zip packaging format.
Expand Down
4 changes: 4 additions & 0 deletions themes/default/content/blog/aws-lambda-efs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ tags:
- efs
---

{{% notes type="warning" %}}
Some of the code in this post is out of date. See the [AWS guides](/docs/clouds/aws/guides/) for an updated overview and examples.
{{% /notes %}}

Ever since AWS Lambda was released in 2015, users have wanted persistent file storage beyond the small 512MB `/tmp` disk allocated to each Lambda function. The following year, Amazon launched EFS, offering a simple managed file system service for AWS, but initially only available to mount onto Amazon EC2 instances. Over the last few months, AWS has been extending access to EFS to all of the modern compute offerings. First [EKS](https://aws.amazon.com/about-aws/whats-new/2019/09/amazon-eks-announces-beta-release-of-amazon-efs-csi-driver/) for Kubernetes, then [ECS and Fargate](https://aws.amazon.com/about-aws/whats-new/2020/04/amazon-ecs-aws-fargate-support-amazon-efs-filesystems-generally-available/) for containers. Today, AWS announced that [EFS is now also supported in Lambda](https://aws.amazon.com/blogs/aws/new-a-shared-file-system-for-your-lambda-functions/), providing easy access to network file systems from your serverless functions.

<!--more-->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ meta_desc: "See how Pulumi Crosswalk for AWS lets you use infrastructure as code
meta_image: "pulumi-crosswalk-for-aws.png"
---

{{% notes type="warning" %}}
Some of the code in this post is out of date. See the [AWS guides](/docs/clouds/aws/guides/) for an updated overview and examples.
{{% /notes %}}

Amazon Elastic Container Registry ([ECR](https://aws.amazon.com/ecr/))
is a fully-managed Docker container registry that makes it easy for
Expand Down
4 changes: 4 additions & 0 deletions themes/default/content/blog/crosswalk-for-aws-1-0/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ tags:
# for additional details, and please remove these comments before submitting for review.
---

{{% notes type="warning" %}}
Portions of this blog post are out of date. See the [AWS guides](/docs/clouds/aws/guides/) for an updated overview and examples.
{{% /notes %}}

We introduced [Crosswalk for AWS](https://www.pulumi.com/docs/clouds/aws/guides/) three years ago as a library of components on top of the core AWS platform to make it easier to get from zero to production on AWS, easier to adopt AWS best practices by default, and easier to evolve your AWS infrastructure as your application needs mature. Since then, we’ve added many new capabilities, expanded the portfolio of libraries, and made these libraries [available to all Pulumi languages](https://www.pulumi.com/blog/crosswalk-for-aws-all-languages/). We’ve also seen thousands of Pulumi customers, including more than 25% of all Pulumi AWS users, adopting one or more of the Crosswalk for AWS components to aid in delivering their AWS-based applications and services.

Today, we’re excited to deliver the 1.0 releases of the three core libraries that make up Crosswalk for AWS: [AWSX 1.0](https://www.pulumi.com/registry/packages/awsx/), [EKS 1.0](https://www.pulumi.com/registry/packages/eks/) and [AWS API Gateway 1.0](https://www.pulumi.com/registry/packages/aws-apigateway/). These 1.0 releases offer a stable supported foundation, available in all Pulumi languages, for these rich infrastructure components.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ tags:
# for additional details, and please remove these comments before submitting for review.
---

{{% notes type="warning" %}}
Portions of this blog post are out of date. See the [AWS guides](/docs/clouds/aws/guides/) for an updated overview and examples.
{{% /notes %}}

Crosswalk for AWS is a collection of libraries that make it easy to work with AWS using Pulumi Infrastructure as Code. The Crosswalk for AWS libraries are some of the most widely used higher-level components in the Pulumi ecosystem, with hundreds of organizations building their infrastructure on the simple abstractions over key AWS services like ECS, API Gateway, VPC, Load Balancing, CloudTrail, EC2, ECR, and more.

<!--more-->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ authors: ["vova-ivanov"]
tags: ["aws", "typescript", "containers", "docker"]
---

{{% notes type="warning" %}}
Some of the code in this post is out of date. See the [AWS guides](/docs/clouds/aws/guides/) for an updated overview and examples.
{{% /notes %}}

In this blog post, we will explore PERN stack applications and deploy one to AWS. *PERN* is an acronym for PostgreSQL, Express, React, and Node. A PERN stack application is a project that uses PostgreSQL, Express as an application framework, React as a user interface framework, and runs on Node. We will also use [Pulumi Crosswalk](/docs/clouds/aws/guides/) to reduce the amount of code and provide a quick and straightforward path for deploying the application.

<!--more-->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ authors: ["zephyr-zhou"]
tags: ["aws","github-actions", "netlify", "oauth", "ecs", "fargate"]
---

{{% notes type="warning" %}}
Some of the code in this post is out of date. See the [AWS guides](/docs/clouds/aws/guides/) for an updated overview and examples.
{{% /notes %}}

In our [previous post](/blog/deploying-netlify-cms-on-aws/), we deployed our CMS app on AWS instead of Netlify. We couldn't use [Netlify's Identity Service](https://docs.netlify.com/visitor-access/identity/#enable-identity-in-the-ui), which manages GitHub access to Netlify CMS, because we deployed on AWS. As a result, we needed to implement an external [OAuth Server](https://www.netlifycms.org/docs/external-oauth-clients/#header).

We used Netlify's Go example to deploy on ECS Fargate and configure the domain and certificate. To deploy the application on Fargate, we used a Typescript Pulumi project. This is a polyglot application where the OAuth server is implemented in Go and the infrastructure is deployed with Typescript. We'll show how we accomplished the deployment.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ authors: ["joe-duffy"]
tags: ["JavaScript","AWS","containers","TypeScript"]
---

{{% notes type="warning" %}}
Some of the code in this post is out of date. See the [AWS guides](/docs/clouds/aws/guides/) for an updated overview and examples.
{{% /notes %}}

> Update: Check out the [Learning Machine Case Study](/case-studies/learning-machine/) where provisioning went from 3 weeks to 1 hour with Pulumi and AWS.
>
> *"The impact of serverless capabilities was also transformative for the Learning Machine business. Pulumi enabled a rapid shift to Amazon ECS, AWS Fargate and AWS Lambda — the net effect of which was a 67% reduction in AWS charges. This enabled the team to spend less time focused on maintaining existing infrastructure and more time deploying new applications on AWS and adding new customers.*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ authors: ["luke-hoban"]
tags: ["Serverless","AWS","containers","pulumi-news","Kubernetes","containers", "eks", "lambda", "api-gateway", "docker"]
---

{{% notes type="warning" %}}
Some of the code in this post is out of date. See the [AWS guides](/docs/clouds/aws/guides/) for an updated overview and examples.
{{% /notes %}}

Amazon Web Services provides an incredible platform for developers to
build cloud-native applications, and is used by millions of customers of
all sizes. The building block services that AWS offers enable teams to
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ tags:
- lambda
---

{{% notes type="warning" %}}
Some of the code in this post is out of date. See the [AWS guides](/docs/clouds/aws/guides/) for an updated overview and examples.
{{% /notes %}}

The Amazon Web Services (AWS) Cloud ecosystem is large and vibrant, so vast and vibrant that at times, it can be challenging to know where best to start! In the case of [containers](https://www.pulumi.com/containers/), [Abby Fuller](https://twitter.com/abbyfuller) tweeted a descriptive summary about using AWS container services.

<!--more-->
Expand Down
4 changes: 4 additions & 0 deletions themes/default/content/blog/nov-2022-launches/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ tags:
- pulumi-releases
---

{{% notes type="warning" %}}
Some of the code in this post is out of date. See the [AWS guides](/docs/clouds/aws/guides/) for an updated overview and examples.
{{% /notes %}}

Our mission at Pulumi is to enable teams to scale up what they can build in the cloud. Scale up the sophistication and value of their cloud infrastructure investments through software engineering practices. Scale up the automation around delivering cloud infrastructure with software instead of just humans. And scale up the number of developers who can directly benefit from the rich cloud platform capabilities being built by central platform teams in every organization today.

As part of [Pulumi Cloud Engineering Days 2022](https://www.pulumi.com/cloud-engineering-days/) today we are announcing a set of important new advancements in the Pulumi platform which are all designed to help organizations scale with their infrastructure as code needs.
Expand Down
4 changes: 4 additions & 0 deletions themes/default/content/blog/pulumi-universal-iac/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ tags:
- crosswalk
---

{{% notes type="warning" %}}
Some of the code in this post is out of date. See the [AWS guides](/docs/clouds/aws/guides/) for an updated overview and examples.
{{% /notes %}}

Over the last year since the launch of Pulumi 3.0, we’ve seen incredible growth in adoption and usage of the Pulumi open source project and Cloud Engineering platform, with more than a thousand new open source contributors, tens of thousands of new users, and millions of new cloud infrastructure resources being managed by Pulumi. Pulumi’s infrastructure as code tools are enabling teams to scale up their cloud infrastructure with robust software engineering tools and practices to get the most value out of their cloud platform investments.

Today, we’re excited to announce a wave of innovation across the Pulumi project with a collection of significant new feature launches. These new features bring together Pulumi’s __*Universal Infrastructure as Code*__ offering, supporting the widest range of builders, clouds, programming languages, and cloud architectures.
Expand Down
4 changes: 4 additions & 0 deletions themes/default/content/blog/run-your-own-rss-server/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ tags:
- aws
---

{{% notes type="warning" %}}
Some of the code in this post is out of date. See the [AWS guides](/docs/clouds/aws/guides/) for an updated overview and examples.
{{% /notes %}}

It's been a few years since [Google shut down Google Reader](https://googleblog.blogspot.com/2013/03/a-second-spring-of-cleaning.html), and while a number of nice commercial alternatives have sprung in its wake, none of them has ever been quite the right fit for me personally.

So a while back, after far too much time spent wandering the blogsphere manually, typing URLs into address bars by hand, I decided to go looking to see whether the universe had produced an open-source solution to this problem --- and to my surprise and delight, it had! [Miniflux](https://miniflux.app/) is an excellent little open-source RSS server and reader, written in Go and backed by PostgreSQL, that also happens to be packaged [as a Docker container](https://hub.docker.com/r/miniflux/miniflux). So in this post, I'll show how easy it is to deploy a Miniflux server of your own on AWS, using only Pulumi and a few lines of TypeScript.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ meta_desc: "Use Pulumi's infrastucture-as-code approach to simplify working with
meta_image: "pulumi-crosswalk-for-aws.png"
---

{{% notes type="warning" %}}
Some of the code in this post is out of date. See the [AWS guides](/docs/clouds/aws/guides/) for an updated overview and examples.
{{% /notes %}}

<img align="right" src="/images/partners/aws-apn.png">

<br />
Expand Down
Loading
Loading