regolith 0.1.30 → 0.1.32

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 25e890947b62730f38bc5ad78253819f5c7a52d9c604d8ff6167347282d70ca0
4
- data.tar.gz: 85d0b5420d0eb830438011f9a3640c498746525735abfcc761475796c33a52c2
3
+ metadata.gz: c8160ffb867123dc4c885ac58612c18757c97947ec40dbcb3872f79fadc2678a
4
+ data.tar.gz: d50c20a4548c0cda47eac9411939fe97ad7caaa045d56ecb4ada2fca642a8e33
5
5
  SHA512:
6
- metadata.gz: 74e5f7521b2ce9fcd73217dcf29dfd5f0af7200116883624cd9e6514cd0ca388acb24476e47ca2b249b16ba7860f8d644a0fdc1aedf7dd9fb1d6c8fbfa3b2292
7
- data.tar.gz: 2630ddbfdf6a2ba082552f77d82d211234ba37e6644898f85c3aa6b08f22385ab2b27f64c41e33f835e1f56de2cefbad2fbf7c0d97e5a86b018cd00154dc17b4
6
+ metadata.gz: ff04550e0d104035bd7e778b600268489443729997486a7a31c7d3e2e93110d15d94210700a44b9d97703d905e34c3848ec2a3e74211cf662cfb2e0661804eb0
7
+ data.tar.gz: 712196a11f54d54a382f6a9192a73b41294e373dff17c413e9fa3e89e80109b4697a7ace9b3261c990f5a5fa1ad6732f706336d402969e264a8ed3a897220a19
data/lib/regolith/cli.rb CHANGED
@@ -22,6 +22,18 @@ module Regolith
22
22
  generate_resource(@subcommand, @name)
23
23
  when 'server'
24
24
  start_server
25
+ when 'stop'
26
+ stop_services
27
+ when 'down'
28
+ down_services
29
+ when 'restart'
30
+ restart_services
31
+ when 'logs'
32
+ show_logs(@subcommand)
33
+ when 'status'
34
+ show_status
35
+ when 'start'
36
+ start_service(@subcommand)
25
37
  when 'console'
26
38
  open_console(@subcommand)
27
39
  when 'version'
@@ -319,6 +331,90 @@ module Regolith
319
331
  exec("docker-compose up --build")
320
332
  end
321
333
 
334
+ def stop_services
335
+ unless File.exist?('docker-compose.yml')
336
+ puts "❌ Error: Not in a Regolith app directory"
337
+ exit 1
338
+ end
339
+
340
+ puts "🛑 Stopping Regolith services..."
341
+ exec("docker-compose stop")
342
+ end
343
+
344
+ def down_services
345
+ unless File.exist?('docker-compose.yml')
346
+ puts "❌ Error: Not in a Regolith app directory"
347
+ exit 1
348
+ end
349
+
350
+ puts "⬇️ Stopping and removing Regolith containers..."
351
+ exec("docker-compose down")
352
+ end
353
+
354
+ def restart_services
355
+ unless File.exist?('docker-compose.yml')
356
+ puts "❌ Error: Not in a Regolith app directory"
357
+ exit 1
358
+ end
359
+
360
+ puts "🔄 Restarting Regolith services..."
361
+ exec("docker-compose restart")
362
+ end
363
+
364
+ def show_logs(service_name = nil)
365
+ unless File.exist?('docker-compose.yml')
366
+ puts "❌ Error: Not in a Regolith app directory"
367
+ exit 1
368
+ end
369
+
370
+ if service_name
371
+ config = load_regolith_config
372
+ unless config['services'][service_name]
373
+ puts "❌ Error: Service '#{service_name}' not found"
374
+ puts "Available services: #{config['services'].keys.join(', ')}"
375
+ exit 1
376
+ end
377
+ puts "📋 Showing logs for #{service_name}_service..."
378
+ exec("docker-compose logs -f #{service_name}")
379
+ else
380
+ puts "📋 Showing logs for all services..."
381
+ exec("docker-compose logs -f")
382
+ end
383
+ end
384
+
385
+ def show_status
386
+ unless File.exist?('docker-compose.yml')
387
+ puts "❌ Error: Not in a Regolith app directory"
388
+ exit 1
389
+ end
390
+
391
+ puts "📊 Regolith services status:"
392
+ exec("docker-compose ps")
393
+ end
394
+
395
+ def start_service(service_name)
396
+ unless service_name
397
+ puts "❌ Error: Service name required"
398
+ puts "Usage: regolith start <service_name>"
399
+ exit 1
400
+ end
401
+
402
+ unless File.exist?('docker-compose.yml')
403
+ puts "❌ Error: Not in a Regolith app directory"
404
+ exit 1
405
+ end
406
+
407
+ config = load_regolith_config
408
+ unless config['services'][service_name]
409
+ puts "❌ Error: Service '#{service_name}' not found"
410
+ puts "Available services: #{config['services'].keys.join(', ')}"
411
+ exit 1
412
+ end
413
+
414
+ puts "▶️ Starting #{service_name}_service..."
415
+ exec("docker-compose start #{service_name}")
416
+ end
417
+
322
418
  def open_console(service_name)
323
419
  unless service_name
324
420
  puts "❌ Error: Service name required"
@@ -377,7 +473,11 @@ module Regolith
377
473
  depends_on:
378
474
  - <%= name %>_db
379
475
  environment:
380
- DATABASE_URL: postgresql://postgres:password@<%= name %>_db:5432/<%= name %>_development
476
+ POSTGRES_HOST: <%= name %>_db
477
+ POSTGRES_PORT: 5432
478
+ POSTGRES_DB: <%= name %>_development
479
+ POSTGRES_USER: postgres
480
+ POSTGRES_PASSWORD: password
381
481
  REGOLITH_SERVICE_NAME: <%= name %>
382
482
  REGOLITH_SERVICE_PORT: <%= service['port'] %>
383
483
  volumes:
@@ -467,17 +567,31 @@ module Regolith
467
567
 
468
568
  COMMANDS:
469
569
  new <app_name> Create a new Regolith application
470
- generate service <n> Generate a new microservice
570
+ generate service <name> Generate a new microservice
571
+
471
572
  server Start all services with Docker Compose
573
+ stop Stop all running services
574
+ down Stop and remove all containers
575
+ restart Restart all services
576
+ start <service_name> Start a specific service
577
+
578
+ logs [service_name] Show logs (all services or specific service)
579
+ status Show status of all services
472
580
  console <service_name> Open Rails console for a service
473
581
  version Show version information
474
582
 
475
583
  EXAMPLES:
476
- regolith new observatory
477
- regolith generate service telescope
478
- regolith generate service records
584
+ regolith new ecommerce
585
+ regolith generate service users
586
+ regolith generate service orders
479
587
  regolith server
480
- regolith console telescope
588
+
589
+ regolith stop
590
+ regolith restart
591
+ regolith logs users
592
+ regolith status
593
+ regolith start users
594
+ regolith console users
481
595
 
482
596
  Get started:
483
597
  regolith new myapp
@@ -1,4 +1,4 @@
1
1
  # lib/regolith/version.rb
2
2
  module Regolith
3
- VERSION = "0.1.30"
3
+ VERSION = "0.1.32"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: regolith
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.30
4
+ version: 0.1.32
5
5
  platform: ruby
6
6
  authors:
7
7
  - Regolith Team