smartmachine 1.2.1 → 1.2.2

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: 833d8ed724136d6baf6c1fadd3e0fe8522d52560b5e6688726724b38e81b707f
4
- data.tar.gz: b58f169a8a460527a819dc15d3cbdc701ba27ef14e5f630065fcff9b1b51e9b8
3
+ metadata.gz: 4ead0adeacd301bcd2ef709762b390ebdd7391bd22b1281bfb5816c61d5e5898
4
+ data.tar.gz: 951b8525f250d09e74c2a9941e4f9ced364368094f3be6ab1c7f0a3d237f8b3c
5
5
  SHA512:
6
- metadata.gz: af4e6122341a3c96a3afe4076734c84e10e912872f7cc7288aeb771b6349161a91f6746cd9131f42cab30b70b935d1ed998d2c3166439decae3a1f03131512c7
7
- data.tar.gz: 0ad34213b75873b2cd7f9b3b61566b13a7ba804955ce18185adac6ce71869f3f3e5e857e47d5e049e557f1a624d0c62e487f7fe4db12be230355811769d413e3
6
+ metadata.gz: 42c85a60e0a958b1b0261c44cace2a9aedadb9615341e098e274068284e71643525ffe2793ecc026c55023fb017ae8b4cc2c6fb3c8cb2436b4c69f09eea5dd16
7
+ data.tar.gz: 1dfaf1d47f11b054831f69507c07acafd80f55ec3af82cceefd718212c72636fa6332d079e17a552741601957e313f59afe5d001ffcaaf89110a96b4e384e09c
data/README.md CHANGED
@@ -65,6 +65,11 @@ Install the engine and buildpacker:
65
65
 
66
66
  ## Usage
67
67
 
68
+ ### Setup your Network
69
+
70
+ $ smartmachine machine network up
71
+ $ smartmachine machine network down
72
+
68
73
  ### Choose Your Grids
69
74
 
70
75
  Choose only the grids you need. You can start or stop a grid at anytime using <b>up</b> or <b>down</b> commands respectively.
@@ -33,10 +33,11 @@ module SmartMachine
33
33
  "--volume='#{@home_dir}/smartmachine/apps/containers/#{@appname}/app/public/packs:/app/public/packs'",
34
34
  "--volume='#{@home_dir}/smartmachine/apps/containers/#{@appname}/app/node_modules:/app/node_modules'",
35
35
  "--volume='#{@home_dir}/smartmachine/apps/containers/#{@appname}/app/storage:/app/storage'",
36
+ (using_buildpacker ? "--cpus=1 --memory=512m --memory-swap=1024m" : nil),
36
37
  "--restart='always'",
37
38
  "--init",
38
39
  # "--network='nginx-network'",
39
- "#{using_buildpacker ? "smartmachine/buildpackers/rails:#{SmartMachine.version}" : @appimage}"
40
+ (using_buildpacker ? "smartmachine/buildpackers/rails:#{SmartMachine.version}" : @appimage)
40
41
  ]
41
42
  command.push(using_command) if using_command.present?
42
43
 
@@ -95,7 +95,7 @@ module SmartMachine
95
95
  poppler-utils && \
96
96
  rm -rf /var/lib/apt/lists/* && \
97
97
  # ImageMagick 7. Remove this after its dependency is gone from ruby on rails.
98
- cd /opt && wget https://download.imagemagick.org/archive/ImageMagick-7.1.1-29.tar.gz && \
98
+ cd /opt && wget https://download.imagemagick.org/archive/releases/ImageMagick-7.1.1-29.tar.gz && \
99
99
  tar xvzf ImageMagick-7.1.1-29.tar.gz && \
100
100
  cd ImageMagick-7.1.1-29 && \
101
101
  ./configure && \
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
  require "net/ssh"
2
3
 
3
4
  module SmartMachine
@@ -60,36 +61,23 @@ module SmartMachine
60
61
  def setup
61
62
  getting_started
62
63
  securing_your_server
64
+ setup_services
63
65
  end
64
66
 
65
67
  private
66
68
 
67
69
  def getting_started
68
- run_on_machine(commands: "sudo apt update && sudo apt upgrade")
70
+ end
69
71
 
70
- sysctl_lines = []
71
- # sysctl_lines.push('# KVM uses this.')
72
- # sysctl_lines.push('# These lines should only be activated for VM hosts and not for VM guests.')
73
- # sysctl_lines.push('# When getting a VM from a service provider, you will usually get a VM guest and not a VM host and hence these lines should not be added.')
74
- # sysctl_lines.push('# Prevent bridged traffic from being processed by iptables rules.')
75
- # sysctl_lines.push('net.bridge.bridge-nf-call-ip6tables=0')
76
- # sysctl_lines.push('net.bridge.bridge-nf-call-iptables=0')
77
- # sysctl_lines.push('net.bridge.bridge-nf-call-arptables=0')
78
- sysctl_lines.push('# Redis uses this.')
79
- sysctl_lines.push('vm.overcommit_memory=1')
80
- sysctl_lines.push('# Elasticsearch uses this.')
81
- sysctl_lines.push('vm.max_map_count=262144')
82
- commands = [
83
- "sudo touch /etc/sysctl.d/99-smartmachine.conf",
84
- "echo -e '#{sysctl_lines.join('\n')}' | sudo tee /etc/sysctl.d/99-smartmachine.conf",
85
- "sudo sysctl -p /etc/sysctl.d/99-smartmachine.conf"
86
- ]
87
- run_on_machine(commands: commands)
72
+ def securing_your_server
73
+ # apt update && apt upgrade
74
+ # puts 'When updating some packages, you may be prompted to use updated configuration files. If prompted, it is typically safer to keep the locally installed version.'
88
75
 
89
76
  # apt install locales-all
90
-
91
77
  # puts 'You may be prompted to make a menu selection when the Grub package is updated on Ubuntu. If prompted, select keep the local version currently installed.'
92
- # apt update && apt upgrade
78
+
79
+ # dpkg-reconfigure tzdata
80
+ # date
93
81
 
94
82
  # hostnamectl set-hostname SmartMachine.credentials.machine[:name]
95
83
 
@@ -99,24 +87,6 @@ module SmartMachine
99
87
  # 203.0.113.10 SmartMachine.credentials.machine[:name].example.com SmartMachine.credentials.machine[:name]
100
88
  # 2600:3c01::a123:b456:c789:d012 SmartMachine.credentials.machine[:name].example.com SmartMachine.credentials.machine[:name]
101
89
 
102
- # dpkg-reconfigure tzdata
103
- # date
104
- end
105
-
106
- def securing_your_server
107
- # apt install unattended-upgrades
108
- # dpkg-reconfigure --priority=low unattended-upgrades
109
-
110
- # nano /etc/apt/apt.conf.d/20auto-upgrades
111
- # APT::Periodic::Update-Package-Lists "1";
112
- # APT::Periodic::Download-Upgradeable-Packages "1";
113
- # APT::Periodic::AutocleanInterval "7";
114
- # APT::Periodic::Unattended-Upgrade "1";
115
-
116
- # apt install apticron
117
- # /usr/lib/apticron/apticron.conf
118
- # EMAIL="root@example.com"
119
-
120
90
  # adduser example_user
121
91
  # adduser example_user sudo
122
92
 
@@ -143,10 +113,53 @@ module SmartMachine
143
113
  # sudo apt install sendmail
144
114
  # sudo cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
145
115
  # sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
146
- # Change destmail, sendername, sender
116
+ # Change destmail
147
117
  # Change action = %(action_mwl)s
148
118
  # sudo fail2ban-client reload
149
119
  # sudo fail2ban-client status
120
+
121
+ # Send email to show that there is a need for pending updates to be completed
122
+ # apt install apticron
123
+ # /usr/lib/apticron/apticron.conf
124
+ # EMAIL="root@example.com"
125
+
126
+ # Automatic Updates
127
+ # apt install unattended-upgrades
128
+ # sudo systemctl enable unattended-upgrades
129
+ # sudo systemctl start unattended-upgrades
130
+ # nano /etc/apt/apt.conf.d/50unattended-upgrades
131
+ # Unattended-Upgrade::Mail "destemail@domain.com";
132
+ # Unattended-Upgrade::SyslogEnable "true";
133
+ # Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
134
+ # Unattended-Upgrade::Remove-New-Unused-Dependencies "true";
135
+ # Unattended-Upgrade::Remove-Unused-Dependencies "true";
136
+ # nano /etc/apt/apt.conf.d/20auto-upgrades
137
+ # APT::Periodic::Update-Package-Lists "1";
138
+ # APT::Periodic::Unattended-Upgrade "1";
139
+ # APT::Periodic::AutocleanInterval "7";
140
+ end
141
+
142
+ def setup_services
143
+ run_on_machine(commands: "sudo apt update && sudo apt upgrade")
144
+
145
+ sysctl_lines = []
146
+ # sysctl_lines.push('# KVM uses this.')
147
+ # sysctl_lines.push('# These lines should only be activated for VM hosts and not for VM guests.')
148
+ # sysctl_lines.push('# When getting a VM from a service provider, you will get a VM guest and not a VM host and hence these lines should not be added.')
149
+ # sysctl_lines.push('# Prevent bridged traffic from being processed by iptables rules.')
150
+ # sysctl_lines.push('net.bridge.bridge-nf-call-ip6tables=0')
151
+ # sysctl_lines.push('net.bridge.bridge-nf-call-iptables=0')
152
+ # sysctl_lines.push('net.bridge.bridge-nf-call-arptables=0')
153
+ sysctl_lines.push('# Redis uses this.')
154
+ sysctl_lines.push('vm.overcommit_memory=1')
155
+ sysctl_lines.push('# Elasticsearch uses this.')
156
+ sysctl_lines.push('vm.max_map_count=262144')
157
+ commands = [
158
+ "sudo touch /etc/sysctl.d/99-smartmachine.conf",
159
+ "echo -e '#{sysctl_lines.join('\n')}' | sudo tee /etc/sysctl.d/99-smartmachine.conf",
160
+ "sudo sysctl -p /etc/sysctl.d/99-smartmachine.conf"
161
+ ]
162
+ run_on_machine(commands: commands)
150
163
  end
151
164
  end
152
165
  end
@@ -8,7 +8,9 @@ module SmartMachine
8
8
 
9
9
  push if initial
10
10
 
11
- pull
11
+ # Uncomment this if you want to implement pull in sync.
12
+ # Ideally please remove this functionality in favour of entire server folder backup feature.
13
+ #pull
12
14
  push
13
15
 
14
16
  puts "-----> Syncing SmartMachine Complete"
@@ -17,7 +17,7 @@ module SmartMachine
17
17
  module VERSION
18
18
  MAJOR = 1
19
19
  MINOR = 2
20
- TINY = 1
20
+ TINY = 2
21
21
  PRE = nil
22
22
 
23
23
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smartmachine
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - plainsource
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-03-05 00:00:00.000000000 Z
11
+ date: 2024-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-ssh
@@ -417,8 +417,8 @@ licenses:
417
417
  metadata:
418
418
  homepage_uri: https://github.com/plainsource/smartmachine
419
419
  bug_tracker_uri: https://github.com/plainsource/smartmachine/issues
420
- changelog_uri: https://github.com/plainsource/smartmachine/releases/tag/v1.2.1
421
- source_code_uri: https://github.com/plainsource/smartmachine/tree/v1.2.1
420
+ changelog_uri: https://github.com/plainsource/smartmachine/releases/tag/v1.2.2
421
+ source_code_uri: https://github.com/plainsource/smartmachine/tree/v1.2.2
422
422
  post_install_message:
423
423
  rdoc_options: []
424
424
  require_paths: