@kirschbaum-development/sst-laravel 0.0.9 → 0.0.13

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.
package/README.md CHANGED
@@ -17,7 +17,6 @@ Behind the scenes, we use the powerful PHP containers from [Serverside Up](https
17
17
  ## Pre-requisites
18
18
 
19
19
  1. NodeJS.
20
- 1. Have [SST](https://sst.dev) installed and configured.
21
20
  1. Have [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) installed and configured.
22
21
  * Guide on how to set up IAM Credentials [here](https://sst.dev/docs/iam-credentials/).
23
22
 
@@ -47,8 +46,7 @@ import { Laravel } from "@kirschbaum-development/sst-laravel";
47
46
 
48
47
  And now you can start using the `Laravel` SST component. All the configuration options are Typescript files with documentation, so
49
48
 
50
- // TODO: Add full list of options (auto generate?)
51
- To check the full list of options. check [here]().
49
+ To check the full list of options. check [here](https://github.com/kirschbaum-development/sst-laravel/blob/main/docs/api.md).
52
50
 
53
51
  ### HTTP
54
52
 
@@ -170,6 +168,8 @@ const app = new Laravel('MyLaravelApp', {
170
168
 
171
169
  The `DB_*`, `REDIS_*` and `AWS_*` environment variables will be automatically injected into your Laravel application.
172
170
 
171
+ You can also [import existing resources](https://sst.dev/docs/import-resources/) into SST, in case you already have resources like databases, buckets, etc. created and in use in your AWS account.
172
+
173
173
  #### Custom Environment Key Names
174
174
 
175
175
  If you need to customize the environment variable names for your resources, you can provide an object with the resource and a callback function in the `link` array:
@@ -258,9 +258,9 @@ php artisan migrate --force
258
258
  To deploy your application, you can use the `sst deploy` command. You must be authenticated with AWS in your terminal session to deploy.
259
259
 
260
260
  ```bash
261
- npx sst deploy --stage {stage}
262
- npx sst deploy --stage sandbox
263
- npx sst deploy --stage production
261
+ npx sst-laravel deploy --stage {stage}
262
+ npx sst-laravel deploy --stage sandbox
263
+ npx sst-laravel deploy --stage production
264
264
  ```
265
265
 
266
266
  ## Accessing Containers
@@ -291,11 +291,12 @@ npx sst-laravel ssh worker --stage production
291
291
 
292
292
  ### Roadmap
293
293
 
294
- * Custom CLI to facilitate accessing resources;
294
+ * Support for [SST Secrets](https://sst.dev/docs/component/secret/);
295
295
  * Add support for Inertia SSR;
296
- * Add support for Octane;
296
+ * Add support for Octane with FrankedPHP;
297
297
  * Add support for Laravel Reverb;
298
298
  * Dev mode;
299
+ * ...what else are we missing?
299
300
 
300
301
  ## Security
301
302
 
package/dist/bin/cli.js CHANGED
@@ -41,7 +41,7 @@ program
41
41
  .version(version);
42
42
  program
43
43
  .command('init')
44
- .description('Initialize a new sst.config.ts file with Laravel boilerplate')
44
+ .description('Initialize SST and SST Laravel, creating a new sst.config.ts file to deploy your Laravel application')
45
45
  .action(async () => {
46
46
  try {
47
47
  const cwd = process.cwd();
@@ -129,9 +129,56 @@ program
129
129
  let finalConfig = fs.readFileSync(targetPath, 'utf-8');
130
130
  finalConfig = finalConfig.replace(' async run() {\n },', ` async run() {\n${runTemplateContent}\n },`);
131
131
  fs.writeFileSync(targetPath, finalConfig, 'utf-8');
132
+ const deployTemplatePath = path.join(__dirname, '..', '..', 'templates', 'deploy.template');
133
+ if (fs.existsSync(deployTemplatePath)) {
134
+ const infraDir = path.join(cwd, 'infra');
135
+ if (!fs.existsSync(infraDir)) {
136
+ fs.mkdirSync(infraDir, { recursive: true });
137
+ }
138
+ const deployScriptPath = path.join(infraDir, 'deploy.sh');
139
+ const deployTemplateContent = fs.readFileSync(deployTemplatePath, 'utf-8');
140
+ fs.writeFileSync(deployScriptPath, deployTemplateContent, 'utf-8');
141
+ fs.chmodSync(deployScriptPath, 0o755);
142
+ console.log('✅ Created infra/deploy.sh script');
143
+ }
144
+ console.log('\n');
145
+ console.log('\n');
132
146
  console.log('✅ Successfully configured sst.config.ts with Laravel boilerplate');
133
147
  console.log('💡 You can now customize the configuration for your own Laravel application.');
134
- console.log('🔏 Your default configuration is set to look for a .env.{stage} file when deploying. You can customize this in the sst.config.ts file as needed.');
148
+ console.log('\n');
149
+ console.log('🔏🔏🔏 Your default configuration is set to look for a .env.{stage} file when deploying. You can customize this in the sst.config.ts file as needed.');
150
+ console.log('\n');
151
+ console.log('📝📝📝 A deploy.sh script has been created with example deployment tasks (migrations, caching, etc.). Customize it as needed.');
152
+ console.log('\n');
153
+ console.log('🚀🚀🚀 Run `npx sst deploy --stage {stage}` to deploy your application.');
154
+ }
155
+ catch (error) {
156
+ console.error('Error:', error.message);
157
+ process.exit(1);
158
+ }
159
+ });
160
+ program
161
+ .command('deploy')
162
+ .description('Deploy the application using SST')
163
+ .requiredOption('-s, --stage <stage>', 'SST stage name')
164
+ .action(async (options) => {
165
+ try {
166
+ const deployProcess = spawn('npx', ['sst', 'deploy', '--stage', options.stage], {
167
+ cwd: process.cwd(),
168
+ stdio: 'inherit',
169
+ shell: true
170
+ });
171
+ await new Promise((resolve, reject) => {
172
+ deployProcess.on('exit', (code) => {
173
+ if (code === 0) {
174
+ resolve();
175
+ }
176
+ else {
177
+ reject(new Error(`Deploy failed with exit code ${code}`));
178
+ }
179
+ });
180
+ deployProcess.on('error', reject);
181
+ });
135
182
  }
136
183
  catch (error) {
137
184
  console.error('Error:', error.message);
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":"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"}
package/laravel-sst.ts CHANGED
@@ -27,20 +27,56 @@ enum ImageType {
27
27
 
28
28
  export interface LaravelWebArgs {
29
29
  /**
30
- * Domain for the web layer.
30
+ * Custom domain for the web layer. (if you don't provide a domain name, you will be able to use the load balancer domain for testing (http only))
31
31
  */
32
32
  domain?: Input<
33
33
  string
34
34
  | {
35
+ /**
36
+ * Domain name. You are able to use variables from the SST config file here.
37
+ *
38
+ * @example
39
+ * ```js
40
+ * domain: {
41
+ * name: `${$app.stage}.example.com`,
42
+ * }
43
+ * ```
44
+ */
35
45
  name: Input<string>;
46
+
47
+ /**
48
+ * Certificate ARN. Use this in case you are manually setting up the SSL certificate.
49
+ * This is usually needed when your DNS is not in the same AWS account or is outside of AWS.
50
+ *
51
+ * @example
52
+ * ```js
53
+ * domain: {
54
+ * cert: 'arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012',
55
+ * }
56
+ * ```
57
+ */
36
58
  cert?: Input<string>;
59
+
60
+ /**
61
+ * SST DNS configuration. You can use this configuration if your DNS is in Cloudflare or another AWS account.
62
+ *
63
+ * @see https://sst.dev/docs/component/cloudflare/dns/
64
+ * @see https://sst.dev/docs/component/aws/dns/
65
+ * @example
66
+ * ```js
67
+ * domain: {
68
+ * dns: sst.cloudflare.dns(),
69
+ * }
70
+ * ```
71
+ */
37
72
  dns?: Input<false | (Dns & {})>;
38
73
  }
39
74
  >;
40
75
 
41
76
  loadBalancer?: ServiceArgs["loadBalancer"];
42
- image?: ServiceArgs["image"];
43
77
  scaling?: ServiceArgs["scaling"];
78
+
79
+ // image?: ServiceArgs["image"];
44
80
  }
45
81
 
46
82
  export interface LaravelWorkerConfig {
@@ -99,6 +135,12 @@ export interface LaravelArgs extends ClusterArgs {
99
135
  * Config settings.
100
136
  */
101
137
  config?: {
138
+ /**
139
+ * PHP version.
140
+ * Available versions: 7.4, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5
141
+ *
142
+ * @default `8.4`
143
+ */
102
144
  php?: Input<Number>;
103
145
 
104
146
  /**
@@ -107,6 +149,7 @@ export interface LaravelArgs extends ClusterArgs {
107
149
  * @default `true`
108
150
  */
109
151
  opcache?: Input<boolean>;
152
+
110
153
  environment?: {
111
154
  /**
112
155
  * Use this option if you want to import an .env file during build. By default, SST Laravel won't use your .env file since that might be the wrong file when deploying from your local machine.
@@ -152,8 +195,8 @@ export interface LaravelArgs extends ClusterArgs {
152
195
  * Custom deployment configurations.
153
196
  */
154
197
  deployment?: {
155
- migrate?: Input<boolean>;
156
- optimize?: Input<boolean>;
198
+ // migrate?: Input<boolean>;
199
+ // optimize?: Input<boolean>;
157
200
  script?: Input<string>;
158
201
  };
159
202
  }
@@ -180,6 +223,14 @@ export class Laravel extends Component {
180
223
  // SST sets __dirname to the .sst/platform directory.
181
224
  const pluginBuildPath = path.resolve(__dirname, '../laravel');
182
225
 
226
+ if (!fs.existsSync(pluginBuildPath)) {
227
+ fs.mkdirSync(pluginBuildPath, { recursive: true });
228
+ }
229
+
230
+ if (!fs.existsSync(pluginBuildPath + '/deploy')) {
231
+ fs.mkdirSync(pluginBuildPath + '/deploy', { recursive: true });
232
+ }
233
+
183
234
  prepareEnvironmentFile();
184
235
  prepareDeploymentScript();
185
236
 
@@ -198,7 +249,7 @@ export class Laravel extends Component {
198
249
  /**
199
250
  * Image passed or use our default provided image.
200
251
  */
201
- image: getImage(args.web?.image, ImageType.Web),
252
+ image: getImage(ImageType.Web),
202
253
  environment: envVariables,
203
254
  scaling: args.web?.scaling,
204
255
 
@@ -262,7 +313,7 @@ export class Laravel extends Component {
262
313
  link: getLinks(),
263
314
  permissions: args.permissions,
264
315
 
265
- image: getImage(args.web?.image, ImageType.Worker, imgBuildArgs),
316
+ image: getImage(ImageType.Worker, imgBuildArgs),
266
317
  scaling: workerConfig.scaling,
267
318
  environment: getEnvironmentVariables(),
268
319
 
@@ -325,10 +376,8 @@ export class Laravel extends Component {
325
376
  }
326
377
 
327
378
  // TODO: We have to test if it works when a custom image is provided in sst.config.js
328
- function getImage(imgFromConfig: LaravelWebArgs["image"] | null | undefined, imgType: ImageType, extraArgs: object = {}) {
329
- const img = imgFromConfig
330
- ? imgFromConfig
331
- : getDefaultImage(imgType, extraArgs);
379
+ function getImage(imgType: ImageType, extraArgs: object = {}) {
380
+ const img = getDefaultImage(imgType, extraArgs);
332
381
 
333
382
  const context = typeof img === 'string'
334
383
  ? sitePath.toString()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kirschbaum-development/sst-laravel",
3
- "version": "0.0.9",
3
+ "version": "0.0.13",
4
4
  "type": "module",
5
5
  "description": "An unofficial extension of SST to deploy containerized Laravel applications to AWS Fargate.",
6
6
  "main": "laravel-sst.ts",
@@ -23,7 +23,7 @@
23
23
  },
24
24
  "repository": {
25
25
  "type": "git",
26
- "url": "git+https://github.com/kirschbaumdevelopment/sst-laravel.git"
26
+ "url": "git+https://github.com/kirschbaum-development/sst-laravel.git"
27
27
  },
28
28
  "keywords": [
29
29
  "laravel",
@@ -0,0 +1,22 @@
1
+ #!/bin/sh
2
+
3
+ # This script runs during container deployment
4
+ # Add your deployment commands here (migrations, cache clearing, etc.)
5
+ # You can use the CONTAINER_TYPE variable to determine the type of container ("web" or "worker")
6
+
7
+ # Exit on error
8
+ set -e
9
+
10
+ echo "🚀 Running Deployment Script..."
11
+
12
+ cd "$APP_BASE_DIR"
13
+
14
+ echo "🚀 Running PHP Artisan Optimize..."
15
+ php artisan optimize
16
+
17
+ if [ "$CONTAINER_TYPE" = "web" ]; then
18
+ echo "🚀 Running Laravel Migrations..."
19
+ php artisan migrate --force
20
+ else
21
+ echo "👉 Skipping Laravel Migrations since this is not the web container"
22
+ fi
@@ -14,12 +14,23 @@
14
14
  environment: {
15
15
  file: `.env.${$app.stage}`,
16
16
  },
17
+ deployment: {
18
+ script: 'infra/deploy.sh',
19
+ },
17
20
  },
18
21
 
19
22
  web: {
20
- domain: $app.stage === "production"
21
- ? "example.com"
22
- : `${$app.stage}.example.com`,
23
+ domain: {
24
+ // if your domain is managed via Route53 in the same account, SST will handle the DNS for you
25
+ // you can also use Cloudflare DNS (see https://sst.dev/docs/component/cloudflare/dns/)
26
+ // you can also manually configure DNS. Check all "domain" options in "loadBalancer.domain" here: https://sst.dev/docs/component/aws/service/#loadbalancer-domain.
27
+ // dns: false,
28
+
29
+ // if you don't provide a domain name, you will be able to use the load balancer domain for testing (http only)
30
+ name: $app.stage === "production"
31
+ ? "example.com"
32
+ : `${$app.stage}.example.com`,
33
+ }
23
34
  },
24
35
 
25
36
  workers: [{
@@ -1,47 +0,0 @@
1
- /// <reference path="./.sst/platform/config.d.ts" />
2
-
3
- export default $config({
4
- app(input) {
5
- return {
6
- name: "my-laravel-app",
7
- removal: input?.stage === "production" ? "retain" : "remove",
8
- protect: ["production"].includes(input?.stage),
9
- home: "aws",
10
- };
11
- },
12
- async run() {
13
- const { Laravel } = await import("@kirschbaum-development/sst-laravel");
14
- const vpc = new sst.aws.Vpc("MyVpc");
15
- // you can also use an existing VPC
16
- // const vpc = sst.aws.Vpc.get("DefaultVpc", "vpc-12345678901234567");
17
-
18
- const database = new sst.aws.Postgres('MyDB', { vpc });
19
-
20
- const app = new Laravel("MyLaravelApp", {
21
- vpc,
22
- link: [database],
23
-
24
- config: {
25
- php: 8.4,
26
- environment: {
27
- file: `.env.${$app.stage}`,
28
- },
29
- },
30
-
31
- web: {
32
- domain: $app.stage === "production"
33
- ? "example.com"
34
- : `${$app.stage}.example.com`,
35
- },
36
-
37
- workers: [{
38
- horizon: true,
39
- scheduler: true,
40
- }]
41
- });
42
-
43
- return {
44
- url: app.url,
45
- };
46
- },
47
- });