Skip to content

Commit 5dc07ce

Browse files
1.1.0
1 parent 1dcd37d commit 5dc07ce

File tree

8 files changed

+99
-8
lines changed

8 files changed

+99
-8
lines changed

.github/workflows/release.yml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,23 @@ jobs:
3232
- name: Test
3333
run: go test -v $(go list ./... | grep -v vendor | grep -v mocks) -race -coverprofile=coverage.txt -covermode=atomic
3434

35-
- name: Build
36-
run: GOOS=linux GOARCH=amd64 go build -o ssh-manager
35+
- name: Build AMD64
36+
run: |
37+
GOOS=linux GOARCH=amd64 go build -o ssh-manager
38+
zip ssh-manager-linux-amd64.zip ssh-manager LICENSE.md
39+
rm -f ssh-manager
3740
38-
- name: Pack
39-
run: zip ssh-manager.zip ssh-manager LICENSE.md
41+
- name: Build ARM64
42+
run: |
43+
GOOS=linux GOARCH=arm64 go build -o ssh-manager
44+
zip ssh-manager-linux-arm64.zip ssh-manager LICENSE.md
45+
rm -f ssh-manager
4046
4147
- name: Release
4248
uses: docker://antonyurchenko/git-release:v4
4349
env:
4450
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4551
with:
46-
args: ssh-manager.zip
52+
args: |
53+
ssh-manager-linux-amd64.zip
54+
ssh-manager-linux-arm64.zip

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Changelog
22

3+
## [1.1.0] - 2022-01-29
4+
## Added
5+
- Support ARM64 architecture
6+
7+
## Changed
8+
- Updated dependencies
9+
310
## [1.0.6] - 2021-07-28
411
## Changed
512
- Updated dependencies
@@ -35,6 +42,7 @@
3542
## [1.0.0] - 2021-02-10
3643
- First release
3744

45+
[1.1.0]: https://github.com/ReasonSoftware/ssh-manager/compare/v1.0.6...v1.1.0
3846
[1.0.6]: https://github.com/ReasonSoftware/ssh-manager/compare/v1.0.5...v1.0.6
3947
[1.0.5]: https://github.com/ReasonSoftware/ssh-manager/compare/v1.0.4...v1.0.5
4048
[1.0.4]: https://github.com/ReasonSoftware/ssh-manager/compare/v1.0.3...v1.0.4

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
- Only public SSH key is used, private key never leave user's workstation
1818
- Leverage AWS IAM for service authentication
1919
- SystemD Service
20+
- Supports AMD64/ARM64
2021

2122
## Manual
2223

@@ -119,8 +120,8 @@
119120

120121
### Installation
121122

122-
- Download installation script: `curl https://raw.githubusercontent.com/ReasonSoftware/ssh-manager/master/scripts/install.sh --output install.sh`
123-
- Alternative script that relies on **crontab**: `curl https://raw.githubusercontent.com/ReasonSoftware/ssh-manager/master/scripts/install_cronjob.sh --output install.sh`
123+
- Download installation script: `curl https://raw.githubusercontent.com/ReasonSoftware/ssh-manager/master/scripts/install.sh --output install.sh` (or `install_arm64.sh`)
124+
- Alternative script that relies on **crontab**: `curl https://raw.githubusercontent.com/ReasonSoftware/ssh-manager/master/scripts/install_cronjob.sh --output install.sh` (or `install_cronjob_arm64.sh`)
124125
- Execute with elevated privileges: `sudo bash install.sh`
125126

126127
<details><summary>:information_source: Manual Installation</summary>

internal/app/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
)
1010

1111
// Version contains current application version
12-
const Version string = "1.0.6"
12+
const Version string = "1.1.0"
1313

1414
// Config represents a remote configuration
1515
type Config struct {

scripts/install.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ mkdir -p /var/lib/ssh-manager
66

77
wget $(curl -si https://api.github.com/repos/ReasonSoftware/ssh-manager/releases/latest | \
88
grep browser_download_url | \
9+
grep linux-amd64 | \
910
awk -F': ' '{print $2}' | \
1011
tr -d '"') -O /var/lib/ssh-manager/ssh-manager.zip
1112

scripts/install_arm64.sh

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#!/usr/bin/env bash
2+
set -e
3+
4+
rm -rf /var/lib/ssh-manager
5+
mkdir -p /var/lib/ssh-manager
6+
7+
wget $(curl -si https://api.github.com/repos/ReasonSoftware/ssh-manager/releases/latest | \
8+
grep browser_download_url | \
9+
grep linux-arm64 | \
10+
awk -F': ' '{print $2}' | \
11+
tr -d '"') -O /var/lib/ssh-manager/ssh-manager.zip
12+
13+
unzip -j /var/lib/ssh-manager/ssh-manager.zip -d /var/lib/ssh-manager
14+
rm -f /var/lib/ssh-manager/ssh-manager.zip
15+
16+
SERVICE=$(cat <<-EOF
17+
[Unit]
18+
Description=Central SSH Management Service for AWS Linux EC2
19+
Wants=network-online.target
20+
After=network-online.target
21+
22+
[Service]
23+
Type=oneshot
24+
ExecStart=/var/lib/ssh-manager/ssh-manager
25+
StandardOutput=journal
26+
User=root
27+
28+
[Install]
29+
WantedBy=multi-user.target
30+
EOF
31+
)
32+
33+
echo "$SERVICE" > /etc/systemd/system/ssh-manager.service
34+
35+
TIMER=$(cat <<-EOF
36+
[Unit]
37+
Description=Timer for Central SSH Management Service
38+
Wants=network-online.target
39+
After=network-online.target
40+
41+
[Timer]
42+
Unit=ssh-manager.service
43+
OnBootSec=1min
44+
OnUnitInactiveSec=60min
45+
Persistent=true
46+
47+
[Install]
48+
WantedBy=multi-user.target
49+
EOF
50+
)
51+
52+
echo "$TIMER" > /etc/systemd/system/ssh-manager.timer
53+
54+
systemctl daemon-reload
55+
systemctl enable ssh-manager.service
56+
systemctl enable --now ssh-manager.timer

scripts/install_cronjob.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ mkdir -p /var/lib/ssh-manager
66

77
wget $(curl -si https://api.github.com/repos/ReasonSoftware/ssh-manager/releases/latest | \
88
grep browser_download_url | \
9+
grep linux-amd64 | \
910
awk -F': ' '{print $2}' | \
1011
tr -d '"') -O /var/lib/ssh-manager/ssh-manager.zip
1112

scripts/install_cronjob_arm64.sh

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/usr/bin/env bash
2+
set -e
3+
4+
rm -rf /var/lib/ssh-manager
5+
mkdir -p /var/lib/ssh-manager
6+
7+
wget $(curl -si https://api.github.com/repos/ReasonSoftware/ssh-manager/releases/latest | \
8+
grep browser_download_url | \
9+
grep linux-arm64 | \
10+
awk -F': ' '{print $2}' | \
11+
tr -d '"') -O /var/lib/ssh-manager/ssh-manager.zip
12+
13+
unzip -j /var/lib/ssh-manager/ssh-manager.zip -d /var/lib/ssh-manager
14+
rm -f /var/lib/ssh-manager/ssh-manager.zip
15+
16+
(echo "0 * * * * bash -lc '/var/lib/ssh-manager/ssh-manager > /var/lib/ssh-manager/execution.log'") | crontab -

0 commit comments

Comments
 (0)