@tonk/cli 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAOlC,eAAO,MAAM,aAAa,SAqZtB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAOlC,eAAO,MAAM,aAAa,SAmatB,CAAC"}
@@ -255,14 +255,18 @@ if ! command -v docker &> /dev/null; then
255
255
  sudo usermod -aG docker ${options.user}
256
256
  fi
257
257
 
258
- # Install Nginx
259
- sudo amazon-linux-extras install nginx1 -y
258
+ # Install Nginx for Amazon Linux 2023
259
+ sudo dnf install -y nginx
260
+
261
+ # Create necessary directories
262
+ sudo mkdir -p /etc/nginx/conf.d
263
+
264
+ # Enable and start Nginx
260
265
  sudo systemctl enable nginx
261
266
  sudo systemctl start nginx
262
267
 
263
268
  # Install Certbot for SSL certificates
264
- sudo amazon-linux-extras install epel -y
265
- sudo yum install certbot python-certbot-nginx -y
269
+ sudo dnf install -y certbot python3-certbot-nginx
266
270
 
267
271
  # Create directory for Tonk app if it doesn't exist
268
272
  mkdir -p ~/tonk-app
@@ -287,8 +291,18 @@ server {
287
291
  }
288
292
  EOL
289
293
 
290
- # Move Nginx config to proper location and apply
294
+ # Move Nginx config to proper location
291
295
  sudo mv /tmp/tonk-app.conf /etc/nginx/conf.d/
296
+
297
+ # Make sure Nginx config is valid
298
+ echo "Testing Nginx configuration..."
299
+ sudo nginx -t || echo "Warning: Nginx configuration test failed, but continuing..."
300
+
301
+ # Set proper ownership for Amazon Linux 2023
302
+ sudo mkdir -p /var/log/nginx
303
+ sudo chown -R root:root /var/log/nginx
304
+
305
+ # Restart Nginx
292
306
  sudo systemctl restart nginx
293
307
 
294
308
  echo "Nginx configured as reverse proxy to port ${options.port || '8080'}"
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CACV,iEAAiE,CAClE;KACA,MAAM,CAAC,0BAA0B,EAAE,sBAAsB,CAAC;KAC1D,MAAM,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;KAClD,MAAM,CAAC,mBAAmB,EAAE,cAAc,EAAE,UAAU,CAAC;KACvD,MAAM,CAAC,iBAAiB,EAAE,8BAA8B,CAAC;KACzD,MAAM,CAAC,uBAAuB,EAAE,sCAAsC,CAAC;KACvE,MAAM,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;IACtB,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IACvC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAE5D,gCAAgC;IAChC,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,IAAI,CAAC;YACH,QAAQ,CAAC,eAAe,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,0EAA0E;QAC1E,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAC9D,CAAC;gBAEF,MAAM,EAAC,UAAU,EAAC,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;oBACzC;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,YAAY;wBAClB,OAAO,EACL,kFAAkF;wBACpF,OAAO,EAAE,IAAI;qBACd;iBACF,CAAC,CAAC;gBAEH,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;oBAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;oBACzC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;oBACrC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBAC5B,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;oBAC9D,OAAO,CAAC,GAAG,CACT,2DAA2D,CAC5D,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBAC9B,OAAO,CAAC,GAAG,CACT,oEAAoE,CACrE,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;oBACnE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;oBAEjC,MAAM,IAAI,KAAK,CACb,oDAAoD,CACrD,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;YAED,4DAA4D;YAC5D,IAAI,CAAC;gBACH,mFAAmF;gBACnF,MAAM,EAAC,WAAW,EAAC,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;oBAC1C;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,wDAAwD;wBACjE,OAAO,EAAE,EAAE;qBACZ;iBACF,CAAC,CAAC;gBAEH,kCAAkC;gBAClC,OAAO,CAAC,UAAU,GAAG,WAAW,CAAC;gBACjC,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,aAAa,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAEpE,wBAAwB;gBACxB,IAAI,MAAM,CAAC;gBACX,IAAI,CAAC;oBACH,yCAAyC;oBACzC,MAAM,gBAAgB,GAAG,4BAA4B,aAAa,EAAE,CAAC;oBACrE,MAAM,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,GAAG,EAAE,CAAC,CAAC,8BAA8B;gBAC7C,CAAC;gBAED,qDAAqD;gBACrD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,EAAC,cAAc,EAAC,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;wBAC7C;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,gBAAgB;4BACtB,OAAO,EAAE,yBAAyB;4BAClC,OAAO,EAAE;gCACP,WAAW;gCACX,WAAW;gCACX,WAAW;gCACX,WAAW;gCACX,WAAW;gCACX,WAAW;gCACX,cAAc;gCACd,gBAAgB;gCAChB,gBAAgB;gCAChB,gBAAgB;gCAChB,gBAAgB;gCAChB,WAAW;6BACZ;4BACD,OAAO,EAAE,WAAW;yBACrB;qBACF,CAAC,CAAC;oBACH,MAAM,GAAG,cAAc,CAAC;gBAC1B,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,EAAE,CAAC,CAAC,CAAC;gBACvD,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;gBAE3B,IAAI,CAAC;oBACH,qEAAqE;oBACrE,QAAQ,CACN,+BAA+B,aAAa,aAAa,MAAM,EAAE,EACjE,EAAC,KAAK,EAAE,QAAQ,EAAC,CAClB,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;gBACrE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,kCAAkC;oBAClC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;wBACrC;4BACE,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,2CAA2C;4BACpD,OAAO,EAAE,KAAK;yBACf;qBACF,CAAC,CAAC;oBAEH,IAAI,MAAM,EAAE,CAAC;wBACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;wBACtD,IAAI,CAAC;4BACH,QAAQ,CAAC,iBAAiB,aAAa,EAAE,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;4BAC/D,0BAA0B;4BAC1B,QAAQ,CACN,+BAA+B,aAAa,aAAa,MAAM,EAAE,EACjE,EAAC,KAAK,EAAE,QAAQ,EAAC,CAClB,CAAC;4BACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;wBACxD,CAAC;wBAAC,OAAO,QAAQ,EAAE,CAAC;4BAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;4BAChD,MAAM,IAAI,KAAK,CACb,mDAAmD,CACpD,CAAC;wBACJ,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,mDAAmD,CACpD,CACF,CAAC;wBACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,0DAA0D,CAC3D,CACF,CAAC;wBACF,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;wBACjC,MAAM,IAAI,KAAK,CACb,sDAAsD,CACvD,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC;YACd,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;oBACpC;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,oCAAoC;wBAC7C,OAAO,EAAE,UAAU;wBACnB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAChB,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,2BAA2B;qBAClD;iBACF,CAAC,CAAC;gBACH,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YACpC,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,MAAM,CAAC,CAAC;YACnE,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU;gBACtC,CAAC,CAAC,aAAa,OAAO,CAAC,UAAU,EAAE;gBACnC,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS;gBACpC,CAAC,CAAC,YAAY,OAAO,CAAC,SAAS,EAAE;gBACjC,CAAC,CAAC,EAAE,CAAC;YAEP,sDAAsD;YACtD,QAAQ,CACN,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,aAAa,MAAM,YAAY,GAAG,EACvG;gBACE,KAAK,EAAE,SAAS;aACjB,CACF,CAAC;YAEF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,sCAAsC,OAAO,CAAC,OAAO,KAAK,CAC3D,CACF,CAAC;YAEF,qDAAqD;YACrD,MAAM,eAAe,GAAG,QAAQ,CAC9B,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,aAAa,MAAM,YAAY,GAAG,EACtG,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB,CAAC;YAEF,4CAA4C;YAC5C,MAAM,eAAe,GAAG,eAAe,CAAC,KAAK,CAC3C,0CAA0C,CAC3C,CAAC;YACF,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CACb,wDAAwD,CACzD,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,wBAAwB,UAAU,mBAAmB,CAAC,CAClE,CAAC;YAEF,yDAAyD;YACzD,QAAQ,CACN,kDAAkD,UAAU,IAAI,aAAa,IAAI,YAAY,EAAE,EAC/F;gBACE,KAAK,EAAE,SAAS;aACjB,CACF,CAAC;YAEF,0BAA0B;YAC1B,MAAM,SAAS,GAAG,QAAQ,CACxB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,IAAI,UAAU,KAAK,aAAa,MAAM,YAAY,GAAG,EAC/F,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB,CAAC,IAAI,EAAE,CAAC;YAET,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC/D,CAAC;YAED,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC7B,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC;YAEtB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,0CAA0C,SAAS,EAAE,CAAC,CACnE,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACpC;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,kCAAkC;oBAC3C,QAAQ,EAAE,KAAK,CAAC,EAAE,CAChB,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,kCAAkC;iBACzD;aACF,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACpC;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,KAAK;oBACX,OAAO,EAAE,sCAAsC;oBAC/C,QAAQ,EAAE,KAAK,CAAC,EAAE;wBAChB,IAAI,CAAC,KAAK,CAAC,MAAM;4BAAE,OAAO,+BAA+B,CAAC;wBAC1D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;4BAAE,OAAO,6BAA6B,CAAC;wBAChE,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;aACF,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QAC5B,CAAC;QAED,2CAA2C;QAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,IAAI,CAAC;QACxB,MAAM,KAAK,GAAG,GAAG,UAAU,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QAEpD,MAAM,UAAU,GAAG;YACjB,GAAG,EAAE;gBACH,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,OAAO,CAAC,GAAG;aACrB;YACD,SAAS,EAAE;gBACT,GAAG,EAAE,KAAK;aACX;SACF,CAAC;QAEF,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,cAAc,EAAE,CAAC,CAAC,CAAC;QAErE,mDAAmD;QACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;QAE1E,qEAAqE;QACrE,MAAM,WAAW,GAAG;;;;;;;;;4BASE,OAAO,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;sCA0BF,OAAO,CAAC,IAAI,IAAI,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;kDA2BV,OAAO,CAAC,IAAI,IAAI,MAAM;;CAEvE,CAAC;QAEI,2CAA2C;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,oBAAoB,CAAC,CAAC;QACtE,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAE9C,IAAI,CAAC;YACH,6BAA6B;YAC7B,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAEpC,qDAAqD;YACrD,QAAQ,CACN,WAAW,OAAO,CAAC,GAAG,KAAK,cAAc,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,sBAAsB;gBACjG,WAAW,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,gDAAgD,EAC7G,EAAC,KAAK,EAAE,SAAS,EAAC,CACnB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,gCAAgC;YAChC,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAClC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC;;;;kCAIc,cAAc;yBACvB,KAAK;;;OAGvB,CAAC,CACD,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -96,7 +96,7 @@ You can provision a new EC2 instance with 'tonk config --provision' or configure
96
96
  docker stop tonk-app-container || true &&
97
97
  docker rm tonk-app-container || true &&
98
98
  docker run -d --name tonk-app-container -p ${options.port}:8080 -e PORT=8080 tonk-app &&
99
- sudo systemctl restart nginx
99
+ sudo systemctl restart nginx.service
100
100
  '`;
101
101
  execSync(sshCommand, { cwd: projectRoot, stdio: 'inherit' });
102
102
  // 6. Clean up
@@ -0,0 +1,20 @@
1
+ #!/bin/bash
2
+
3
+ # This script creates an AWS EC2 key pair and saves it to a file
4
+
5
+ if [ $# -lt 1 ]; then
6
+ echo "Usage: $0 <key-name> [aws-profile-option] [aws-region-option]"
7
+ exit 1
8
+ fi
9
+
10
+ KEY_NAME=$1
11
+ PROFILE_OPTION=$2
12
+ REGION_OPTION=$3
13
+
14
+ # Create the key pair and save it to a file
15
+ aws ec2 create-key-pair ${PROFILE_OPTION} ${REGION_OPTION} --key-name ${KEY_NAME} --query 'KeyMaterial' --output text > ${KEY_NAME}.pem
16
+
17
+ # Set appropriate permissions for the key file
18
+ chmod 400 ${KEY_NAME}.pem
19
+
20
+ echo "Key pair ${KEY_NAME} created and saved."
@@ -0,0 +1,20 @@
1
+ #!/bin/bash
2
+
3
+ # This script retrieves the public DNS name of an EC2 instance
4
+
5
+ if [ $# -lt 1 ]; then
6
+ echo "Usage: $0 <instance-id> [aws-profile-option] [aws-region-option]"
7
+ exit 1
8
+ fi
9
+
10
+ INSTANCE_ID=$1
11
+ PROFILE_OPTION=$2
12
+ REGION_OPTION=$3
13
+
14
+ # Get the public DNS name of the instance
15
+ PUBLIC_DNS=$(aws ec2 describe-instances ${PROFILE_OPTION} ${REGION_OPTION} \
16
+ --instance-ids ${INSTANCE_ID} \
17
+ --query 'Reservations[0].Instances[0].PublicDnsName' \
18
+ --output text)
19
+
20
+ echo ${PUBLIC_DNS}
@@ -0,0 +1,93 @@
1
+ #!/bin/bash
2
+
3
+ # This script provisions an EC2 instance using a key pair
4
+
5
+ if [ $# -lt 1 ]; then
6
+ echo "Usage: $0 <key-name> [aws-profile-option] [aws-region-option]"
7
+ exit 1
8
+ fi
9
+
10
+ KEY_NAME=$1
11
+ PROFILE_OPTION=$2
12
+ REGION_OPTION=$3
13
+
14
+ # Extract region from the region option (simpler method)
15
+ REGION=$(echo ${REGION_OPTION} | sed -n 's/.*--region \([a-z0-9-]*\).*/\1/p')
16
+
17
+ # If region is not found in the option, use default
18
+ if [ -z "$REGION" ]; then
19
+ # Try to get the default region
20
+ REGION=$(aws configure get region ${PROFILE_OPTION})
21
+
22
+ # If still no region, use us-east-1 as fallback
23
+ if [ -z "$REGION" ]; then
24
+ REGION="us-east-1"
25
+ fi
26
+ fi
27
+
28
+ echo "Using AWS region: ${REGION}"
29
+
30
+ # Query for the latest Amazon Linux 2023 AMI for the current region
31
+ echo "Querying for latest Amazon Linux 2023 AMI in region ${REGION}..."
32
+ AMI_ID=$(aws ec2 describe-images ${PROFILE_OPTION} ${REGION_OPTION} \
33
+ --owners amazon \
34
+ --filters "Name=name,Values=al2023-ami-2023.*-x86_64" "Name=state,Values=available" \
35
+ --query "sort_by(Images, &CreationDate)[-1].ImageId" \
36
+ --output text)
37
+
38
+ # If we couldn't get an AMI ID, exit with error
39
+ if [ -z "$AMI_ID" ] || [ "$AMI_ID" == "None" ]; then
40
+ echo "ERROR: Unable to find a valid Amazon Linux 2023 AMI for region ${REGION}"
41
+ exit 1
42
+ fi
43
+
44
+ echo "Using AMI ID: ${AMI_ID}"
45
+
46
+ # For eu-north-1 region, use t3.micro as t2.micro is not supported
47
+ INSTANCE_TYPE="t2.micro"
48
+ if [ "$REGION" = "eu-north-1" ]; then
49
+ INSTANCE_TYPE="t3.micro"
50
+ fi
51
+
52
+ echo "Using instance type: ${INSTANCE_TYPE}"
53
+
54
+ # Create a custom security group
55
+ SECURITY_GROUP_NAME="tonk-security-group-$(date +%s)"
56
+ echo "Creating security group: ${SECURITY_GROUP_NAME}"
57
+
58
+ SECURITY_GROUP_ID=$(aws ec2 create-security-group ${PROFILE_OPTION} ${REGION_OPTION} \
59
+ --group-name ${SECURITY_GROUP_NAME} \
60
+ --description "Security group for Tonk" \
61
+ --query 'GroupId' \
62
+ --output text)
63
+
64
+ echo "Security group created with ID: ${SECURITY_GROUP_ID}"
65
+
66
+ # Add SSH access rule to the security group
67
+ aws ec2 authorize-security-group-ingress ${PROFILE_OPTION} ${REGION_OPTION} \
68
+ --group-id ${SECURITY_GROUP_ID} \
69
+ --protocol tcp \
70
+ --port 22 \
71
+ --cidr 0.0.0.0/0
72
+
73
+ echo "Added SSH access rule to security group"
74
+
75
+ # Add HTTPS access rule to the security group
76
+ aws ec2 authorize-security-group-ingress ${PROFILE_OPTION} ${REGION_OPTION} \
77
+ --group-id ${SECURITY_GROUP_ID} \
78
+ --protocol tcp \
79
+ --port 443 \
80
+ --cidr 0.0.0.0/0
81
+
82
+ echo "Added HTTPS access rule to security group"
83
+
84
+ # Launch an EC2 instance with Amazon Linux 2023 AMI and the new security group
85
+ INSTANCE_ID=$(aws ec2 run-instances ${PROFILE_OPTION} ${REGION_OPTION} \
86
+ --image-id ${AMI_ID} \
87
+ --instance-type ${INSTANCE_TYPE} \
88
+ --key-name ${KEY_NAME} \
89
+ --security-group-ids ${SECURITY_GROUP_ID} \
90
+ --query 'Instances[0].InstanceId' \
91
+ --output text)
92
+
93
+ echo "Instance launched with ID: ${INSTANCE_ID}"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tonk/cli",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "The Tonk stack command line utility",
5
5
  "type": "module",
6
6
  "bin": {
@@ -18,10 +18,12 @@
18
18
  },
19
19
  "files": [
20
20
  "bin",
21
- "dist"
21
+ "dist",
22
+ "scripts"
22
23
  ],
23
24
  "scripts": {
24
- "build": "tsup && chmod +x ./dist/tonk.js",
25
+ "build": "tsup && chmod +x ./dist/tonk.js && npm run copy-scripts",
26
+ "copy-scripts": "mkdir -p ./dist/scripts && cp -r ./scripts/* ./dist/scripts/",
25
27
  "dev": "tsup --watch",
26
28
  "clean": "gts clean",
27
29
  "lint": "gts lint",
@@ -0,0 +1,20 @@
1
+ #!/bin/bash
2
+
3
+ # This script creates an AWS EC2 key pair and saves it to a file
4
+
5
+ if [ $# -lt 1 ]; then
6
+ echo "Usage: $0 <key-name> [aws-profile-option] [aws-region-option]"
7
+ exit 1
8
+ fi
9
+
10
+ KEY_NAME=$1
11
+ PROFILE_OPTION=$2
12
+ REGION_OPTION=$3
13
+
14
+ # Create the key pair and save it to a file
15
+ aws ec2 create-key-pair ${PROFILE_OPTION} ${REGION_OPTION} --key-name ${KEY_NAME} --query 'KeyMaterial' --output text > ${KEY_NAME}.pem
16
+
17
+ # Set appropriate permissions for the key file
18
+ chmod 400 ${KEY_NAME}.pem
19
+
20
+ echo "Key pair ${KEY_NAME} created and saved."
@@ -0,0 +1,20 @@
1
+ #!/bin/bash
2
+
3
+ # This script retrieves the public DNS name of an EC2 instance
4
+
5
+ if [ $# -lt 1 ]; then
6
+ echo "Usage: $0 <instance-id> [aws-profile-option] [aws-region-option]"
7
+ exit 1
8
+ fi
9
+
10
+ INSTANCE_ID=$1
11
+ PROFILE_OPTION=$2
12
+ REGION_OPTION=$3
13
+
14
+ # Get the public DNS name of the instance
15
+ PUBLIC_DNS=$(aws ec2 describe-instances ${PROFILE_OPTION} ${REGION_OPTION} \
16
+ --instance-ids ${INSTANCE_ID} \
17
+ --query 'Reservations[0].Instances[0].PublicDnsName' \
18
+ --output text)
19
+
20
+ echo ${PUBLIC_DNS}
@@ -0,0 +1,93 @@
1
+ #!/bin/bash
2
+
3
+ # This script provisions an EC2 instance using a key pair
4
+
5
+ if [ $# -lt 1 ]; then
6
+ echo "Usage: $0 <key-name> [aws-profile-option] [aws-region-option]"
7
+ exit 1
8
+ fi
9
+
10
+ KEY_NAME=$1
11
+ PROFILE_OPTION=$2
12
+ REGION_OPTION=$3
13
+
14
+ # Extract region from the region option (simpler method)
15
+ REGION=$(echo ${REGION_OPTION} | sed -n 's/.*--region \([a-z0-9-]*\).*/\1/p')
16
+
17
+ # If region is not found in the option, use default
18
+ if [ -z "$REGION" ]; then
19
+ # Try to get the default region
20
+ REGION=$(aws configure get region ${PROFILE_OPTION})
21
+
22
+ # If still no region, use us-east-1 as fallback
23
+ if [ -z "$REGION" ]; then
24
+ REGION="us-east-1"
25
+ fi
26
+ fi
27
+
28
+ echo "Using AWS region: ${REGION}"
29
+
30
+ # Query for the latest Amazon Linux 2023 AMI for the current region
31
+ echo "Querying for latest Amazon Linux 2023 AMI in region ${REGION}..."
32
+ AMI_ID=$(aws ec2 describe-images ${PROFILE_OPTION} ${REGION_OPTION} \
33
+ --owners amazon \
34
+ --filters "Name=name,Values=al2023-ami-2023.*-x86_64" "Name=state,Values=available" \
35
+ --query "sort_by(Images, &CreationDate)[-1].ImageId" \
36
+ --output text)
37
+
38
+ # If we couldn't get an AMI ID, exit with error
39
+ if [ -z "$AMI_ID" ] || [ "$AMI_ID" == "None" ]; then
40
+ echo "ERROR: Unable to find a valid Amazon Linux 2023 AMI for region ${REGION}"
41
+ exit 1
42
+ fi
43
+
44
+ echo "Using AMI ID: ${AMI_ID}"
45
+
46
+ # For eu-north-1 region, use t3.micro as t2.micro is not supported
47
+ INSTANCE_TYPE="t2.micro"
48
+ if [ "$REGION" = "eu-north-1" ]; then
49
+ INSTANCE_TYPE="t3.micro"
50
+ fi
51
+
52
+ echo "Using instance type: ${INSTANCE_TYPE}"
53
+
54
+ # Create a custom security group
55
+ SECURITY_GROUP_NAME="tonk-security-group-$(date +%s)"
56
+ echo "Creating security group: ${SECURITY_GROUP_NAME}"
57
+
58
+ SECURITY_GROUP_ID=$(aws ec2 create-security-group ${PROFILE_OPTION} ${REGION_OPTION} \
59
+ --group-name ${SECURITY_GROUP_NAME} \
60
+ --description "Security group for Tonk" \
61
+ --query 'GroupId' \
62
+ --output text)
63
+
64
+ echo "Security group created with ID: ${SECURITY_GROUP_ID}"
65
+
66
+ # Add SSH access rule to the security group
67
+ aws ec2 authorize-security-group-ingress ${PROFILE_OPTION} ${REGION_OPTION} \
68
+ --group-id ${SECURITY_GROUP_ID} \
69
+ --protocol tcp \
70
+ --port 22 \
71
+ --cidr 0.0.0.0/0
72
+
73
+ echo "Added SSH access rule to security group"
74
+
75
+ # Add HTTPS access rule to the security group
76
+ aws ec2 authorize-security-group-ingress ${PROFILE_OPTION} ${REGION_OPTION} \
77
+ --group-id ${SECURITY_GROUP_ID} \
78
+ --protocol tcp \
79
+ --port 443 \
80
+ --cidr 0.0.0.0/0
81
+
82
+ echo "Added HTTPS access rule to security group"
83
+
84
+ # Launch an EC2 instance with Amazon Linux 2023 AMI and the new security group
85
+ INSTANCE_ID=$(aws ec2 run-instances ${PROFILE_OPTION} ${REGION_OPTION} \
86
+ --image-id ${AMI_ID} \
87
+ --instance-type ${INSTANCE_TYPE} \
88
+ --key-name ${KEY_NAME} \
89
+ --security-group-ids ${SECURITY_GROUP_ID} \
90
+ --query 'Instances[0].InstanceId' \
91
+ --output text)
92
+
93
+ echo "Instance launched with ID: ${INSTANCE_ID}"