@@ -77,7 +77,7 @@ const prodSg = createProdSg(projectConfig.project_name, 'prod-sg', {
77
77
} ,
78
78
} ) ;
79
79
80
- const kubernetesNode = new aws . ec2 . Instance (
80
+ const node = new aws . ec2 . Instance (
81
81
`${ projectConfig . project_name } -kubernetes-node` ,
82
82
{
83
83
ami : projectConfig . ami ,
@@ -86,12 +86,21 @@ const kubernetesNode = new aws.ec2.Instance(
86
86
associatePublicIpAddress : true ,
87
87
vpcSecurityGroupIds : [ stageSg . id , prodSg . id ] ,
88
88
keyName : keyPair . keyName ,
89
- userData : `
90
- #!/bin/bash
91
- curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
92
- sudo dpkg -i minikube_latest_amd64.deb
93
- minikube addons enable ingress
94
- ` ,
89
+ userData : pulumi . interpolate `#!/bin/bash
90
+ echo "Installing Docker..."
91
+ curl -fsSL https://get.docker.com -o get-docker.sh
92
+ sh get-docker.sh
93
+ sudo usermod -aG docker $USER
94
+ newgrp docker
95
+ rm get-docker.sh
96
+
97
+ echo "Installing Minikube..."
98
+ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
99
+ sudo dpkg -i minikube_latest_amd64.deb
100
+ minikube start --driver=docker
101
+ minikube addons enable ingress
102
+
103
+ ` ,
95
104
tags : {
96
105
...projectConfig . tags ,
97
106
Name : `${ projectConfig . project_name } -kubernetes-node` ,
@@ -108,13 +117,13 @@ new aws.route53.Record(`${projectConfig.project_name}-a-record`, {
108
117
name : projectConfig . project_domain ,
109
118
type : aws . route53 . RecordType . A ,
110
119
ttl : 30 ,
111
- records : [ kubernetesNode . publicIp ] ,
120
+ records : [ node . publicIp ] ,
112
121
} ) ;
113
122
114
123
export const resources = {
115
124
sshKeys : {
116
125
privateKey : privateKey . privateKeyOpenssh ,
117
126
publicKey : privateKey . publicKeyOpenssh ,
118
127
} ,
119
- nodeIp : kubernetesNode . publicIp ,
128
+ nodeIp : node . publicIp ,
120
129
} ;
0 commit comments