Skip to content

Commit dbbde4e

Browse files
Hawxydmreilandgithub-actions
authored
feat: configurable CPU type (#20)
* feat: allow cpu type to be passed * Formatting fixes * chore: self mutation Signed-off-by: github-actions <github-actions@github.com> --------- Signed-off-by: github-actions <github-actions@github.com> Co-authored-by: Dan Reiland <dmreiland@unixsherpa.com> Co-authored-by: github-actions <github-actions@github.com>
1 parent d4b4eff commit dbbde4e

File tree

2 files changed

+38
-2
lines changed

2 files changed

+38
-2
lines changed

API.md

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/index.ts

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
11
import { CfnOutput, Fn, Stack, Token } from 'aws-cdk-lib';
2-
import { BastionHostLinux, CloudFormationInit, InitCommand, ISecurityGroup, Peer, Port, SubnetSelection, IVpc, InstanceType, SubnetType, InitElement, CfnRoute, MachineImage } from 'aws-cdk-lib/aws-ec2';
2+
import {
3+
AmazonLinuxCpuType,
4+
BastionHostLinux,
5+
CfnRoute,
6+
CloudFormationInit,
7+
InitCommand,
8+
InitElement,
9+
InstanceType,
10+
ISecurityGroup,
11+
IVpc,
12+
MachineImage,
13+
Peer,
14+
Port,
15+
SubnetSelection,
16+
SubnetType,
17+
} from 'aws-cdk-lib/aws-ec2';
318
import { ISecret } from 'aws-cdk-lib/aws-secretsmanager';
419
import { Construct } from 'constructs';
520

@@ -68,6 +83,12 @@ export interface TailscaleBastionProps {
6883
* @default 't3.nano'
6984
*/
7085
readonly instanceType?: InstanceType;
86+
/**
87+
* CPU Type of the instance.
88+
*
89+
* @default AmazonLinuxCpuType.X86_64
90+
*/
91+
readonly cpuType?: AmazonLinuxCpuType;
7192
/**
7293
* Additional cloudformation init actions to perform during startup.
7394
*/
@@ -100,6 +121,7 @@ export class TailscaleBastion extends Construct {
100121
additionalInit,
101122
incomingRoutes,
102123
advertiseRoute,
124+
cpuType,
103125
} = props;
104126

105127
const authKeyCommand = this.computeTsKeyCli(tailscaleCredentials);
@@ -110,7 +132,7 @@ export class TailscaleBastion extends Construct {
110132
instanceName: instanceName ?? 'BastionHostTailscale',
111133
securityGroup,
112134
instanceType,
113-
machineImage: MachineImage.latestAmazonLinux2023(),
135+
machineImage: MachineImage.latestAmazonLinux2023({ cpuType: cpuType ?? AmazonLinuxCpuType.X86_64 }),
114136
subnetSelection: subnetSelection ?? { subnetType: SubnetType.PUBLIC },
115137
init: CloudFormationInit.fromElements(
116138
// Configure IP forwarding

0 commit comments

Comments
 (0)