1.0.1 • Published 2 years ago
server-control v1.0.1
server-control
- create AMI with supervisor, git and node
- create user node with home in /var/node
- add an ssh pull only key to the node user in /var/node/.ssh/id_rsa
- clone your project
sample config to add to your app:
sc.init(app, {
prefix: '/',
repo_url: 'git@github.com:user/project.git',
repo_dir: '/var/node/project',
service_port: port,
secret: "update-secret"
});- npm install jim-lake/server-control --save
- cp node_modules/server-control/git_update_to_hash.sh /var/node/project/git_update_to_hash.sh
- chmod +x git_update_to_hash.sh
- cp node_modules/server-control/api_update.sh /var/lib/cloud/scripts/per-instance/api_update.sh
chmod +x /var/lib/cloud/scripts/per-instance/api_update.sh
create an Autoscale group with that AMI.
- pass the project dir and git HASH in your user datain the user-data:
PROJECT_DIR=/var/node/project
API_GIT_HASH=6c3xxx12348e2e97560e0081d3bf44bdbfb8ifn3- assign an IAM role with the following configuration:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1412101976000",
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances"
],
"Resource": [
"*"
]
},
{
"Sid": "Stmt1412101976001",
"Effect": "Allow",
"Action": [
"ec2:DescribeLaunchTemplateVersions",
"ec2:ModifyLaunchTemplate",
"ec2:CreateLaunchTemplateVersion"
],
"Resource": [
"*"
]
},
{
"Sid": "Stmt1412102095000",
"Effect": "Allow",
"Action": [
"autoscaling:DescribeAutoScalingGroups"
],
"Resource": [
"*"
]
}
]
}- If your config has a role, you'll also need to add passrole
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::<account>:role/<role>"
}
]
}- launch!
1.0.1
2 years ago
1.0.0
2 years ago
0.1.2
6 years ago
0.1.1
6 years ago
0.0.15
7 years ago
0.0.14
10 years ago
0.0.13
10 years ago
0.0.12
10 years ago
0.0.11
10 years ago
0.0.10
10 years ago
0.0.9
10 years ago
0.0.8
10 years ago
0.0.7
10 years ago
0.0.6
11 years ago
0.0.4
11 years ago
0.0.3
11 years ago
0.0.2
11 years ago
0.0.1
11 years ago