Skip to content

Conversation

@bornast
Copy link
Member

@bornast bornast commented Oct 9, 2025

Added separate Redis components for AWS ElastiCache and Upstash. No shared base class since there's minimal common logic between them.

Changes:

  • ElastiCache Redis component with Redis 7.1 defaults
  • Upstash Redis component updated to use global regions (regional db creation no longer supported)
  • Replaced Secrets Manager with Password component in Upstash implementation
  • Upstash provider version bump
  • Integration tests for both components - ElastiCache uses AWS credentials, Upstash requires UPSTASH_EMAIL and UPSTASH_API_KEY environment variables
  • Marked old Redis component as legacy

@bornast bornast requested a review from eLivaja October 10, 2025 09:26
Copy link
Member

@MiroDojkic MiroDojkic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good work!

I see an opportunity for this to be two PRs - please try to reduce PR size in the future.

@bornast bornast requested a review from MiroDojkic October 17, 2025 08:30
Copy link
Member

@MiroDojkic MiroDojkic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@droguljic I'll merge this to integrate it asap, but please review when you have time.

@MiroDojkic MiroDojkic merged commit 55abae3 into master Oct 17, 2025
2 checks passed
@MiroDojkic MiroDojkic deleted the chore/create-redis-v2-component branch October 17, 2025 09:39
export class UpstashRedis extends pulumi.ComponentResource {
instance: upstash.RedisDatabase;
password: Password;
username = 'default';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this needed? Where is it used?


describe('EcsService component deployment', () => {
const region = process.env.AWS_REGION || 'us-east-2';
const region = process.env.AWS_REGION;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the reason behind removing the default?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My comment in the first code review. 👀

const ecsServiceWithStorage = ctx.outputs.ecsServiceWithStorage.value;
const clusterName = ctx.outputs.cluster.value.name;
const region = process.env.AWS_REGION || 'us-east-2';
const region = process.env.AWS_REGION;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the reason behind removing the default?


describe('Web server component deployment', () => {
const region = process.env.AWS_REGION || 'us-east-2';
const region = process.env.AWS_REGION;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the reason behind removing the default?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants