Skip to content

Commit

Permalink
Added redis to Pulumi prod.
Browse files Browse the repository at this point in the history
  • Loading branch information
rizen committed Aug 5, 2024
1 parent ef50101 commit 98d1cb5
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 1 deletion.
4 changes: 3 additions & 1 deletion Pulumi.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { createUploads } from './pulumi/uploads.mjs';
import { createVpc } from './pulumi/vpc.mjs';
import { createAurora } from './pulumi/aurora.mjs';
import { createRedis } from './pulumi/redis.mjs';
import { createThumbnails } from './pulumi/thumbnails.mjs';
import { createLambdaProcessUploads } from './pulumi/lambda-process-uploads.mjs';
import { updateEnv } from './pulumi/env.mjs';
Expand All @@ -12,7 +13,8 @@ const thumbnailsBucket = await createThumbnails();
const processUploadsFunctionUrl = await createLambdaProcessUploads(thumbnailsBucket);
if (stack != 'dev') {
const { vpc, subnets } = await createVpc();
const { auroraCluster } = await createAurora(vpc, subnets)
const { auroraCluster } = await createAurora(vpc, subnets);
const { redis } = await createRedis(vpc, subnets);
}
await updateEnv({
stack,
Expand Down
35 changes: 35 additions & 0 deletions pulumi/redis.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import * as aws from "@pulumi/aws";
import { prefix } from './utils.mjs';

export const createRedis = async (vpc, subnets) => {

// Create a security group
const securityGroup = new aws.ec2.SecurityGroup(prefix("redisSecurityGroup"), {
vpcId: vpc.id,
description: "Allow traffic for Redis",
ingress: [
{ protocol: "tcp", fromPort: 6379, toPort: 6379, cidrBlocks: ["0.0.0.0/0"] },
],
egress: [
{ protocol: "-1", fromPort: 0, toPort: 0, cidrBlocks: ["0.0.0.0/0"] },
],
});

// Create an Elasticache subnet group
const subnetGroup = new aws.elasticache.SubnetGroup(prefix("redisSubnetGroup"), {
subnetIds: [subnets[0].id, subnets[1].id],
});

// Create the Elasticache instance with Redis
const redisCluster = new aws.elasticache.Cluster(prefix("redisCluster"), {
engine: "redis",
nodeType: "cache.t2.micro",
numCacheNodes: 1,
parameterGroupName: "default.redis7",
subnetGroupName: subnetGroup.name,
securityGroupIds: [securityGroup.id],
});


return { redisCluster };
}
3 changes: 3 additions & 0 deletions ving/docs/change-log.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ outline: deep

## August 2024

### 2024-08-05
* Added redis to Pulumi prod.

### 2024-08-02
* Added Pulumi prod.
* Pulumi prod creates a VPC.
Expand Down

0 comments on commit 98d1cb5

Please sign in to comment.