@ossy/deployment-tools 1.17.9 → 1.17.11
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/CHANGELOG.md +16 -0
- package/package.json +2 -2
- package/src/infrastructure/container-deployment-target/caddy.service.js +26 -0
- package/src/infrastructure/container-deployment-target/container-deployment-target.js +10 -2
- package/src/infrastructure/container-deployment-target/ossy-website-ossy.service.js +52 -0
- package/src/infrastructure/container-deployment-target/ossy-website-plexus-sanitas.service.js +52 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,22 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## 1.17.11 (2026-05-25)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @ossy/deployment-tools
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## 1.17.10 (2026-05-25)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @ossy/deployment-tools
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
6
22
|
## 1.17.9 (2026-05-25)
|
|
7
23
|
|
|
8
24
|
**Note:** Version bump only for package @ossy/deployment-tools
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ossy/deployment-tools",
|
|
3
|
-
"version": "1.17.
|
|
3
|
+
"version": "1.17.11",
|
|
4
4
|
"description": "Collection of scripts and tools to aid deployment of containers and static files to Amazon Web Services through GitHub Actions",
|
|
5
5
|
"source": "./src/index.js",
|
|
6
6
|
"main": "./src/index.js",
|
|
@@ -26,5 +26,5 @@
|
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"jest": "^27.5.1"
|
|
28
28
|
},
|
|
29
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "c50aee3d73f8c3f71ce2d8a91e9be2de90c6c4d9"
|
|
30
30
|
}
|
|
@@ -15,6 +15,32 @@ api.ossy.se {
|
|
|
15
15
|
reverse_proxy localhost:3001
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
+
# TODO: remove this block once ossy.se traffic flows through the platform runtime.
|
|
19
|
+
# Once ossy app publish is validated for ossy.se, delete this block and the
|
|
20
|
+
# ossy-website-ossy.service so the catch-all below serves it via the platform.
|
|
21
|
+
ossy.se {
|
|
22
|
+
tls {
|
|
23
|
+
dns route53 {
|
|
24
|
+
max_retries 10
|
|
25
|
+
profile ci-client
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
reverse_proxy localhost:3002
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
# TODO: remove this block once www.plexus-sanitas.com traffic flows through the platform runtime.
|
|
32
|
+
# Once ossy app publish is validated for plexus-sanitas, delete this block and the
|
|
33
|
+
# ossy-website-plexus-sanitas.service so the catch-all below serves it via the platform.
|
|
34
|
+
www.plexus-sanitas.com {
|
|
35
|
+
tls {
|
|
36
|
+
dns route53 {
|
|
37
|
+
max_retries 10
|
|
38
|
+
profile ci-client
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
reverse_proxy localhost:3003
|
|
42
|
+
}
|
|
43
|
+
|
|
18
44
|
:443 {
|
|
19
45
|
tls {
|
|
20
46
|
on_demand
|
|
@@ -19,6 +19,8 @@ const { getInstallNodeJs, getInstallNpm, getInstallDocker } = require('./user-da
|
|
|
19
19
|
const { CaddyService } = require('./caddy.service')
|
|
20
20
|
const { OssyRuntimeService } = require('./ossy-runtime.service')
|
|
21
21
|
const { OssyApiService } = require('./ossy-api.service')
|
|
22
|
+
const { OssyWebsiteOssyService } = require('./ossy-website-ossy.service')
|
|
23
|
+
const { OssyWebsitePlexusSanitasService } = require('./ossy-website-plexus-sanitas.service')
|
|
22
24
|
const { AwsProfile } = require('./aws-profile')
|
|
23
25
|
const { SupportedRegions } = require('../../config')
|
|
24
26
|
|
|
@@ -120,7 +122,9 @@ class ContainerDeploymentTarget extends Construct {
|
|
|
120
122
|
'docker network create ossy-network || true',
|
|
121
123
|
...CaddyService.install(),
|
|
122
124
|
...OssyRuntimeService.install(),
|
|
123
|
-
...OssyApiService.install()
|
|
125
|
+
...OssyApiService.install(),
|
|
126
|
+
...OssyWebsiteOssyService.install(),
|
|
127
|
+
...OssyWebsitePlexusSanitasService.install()
|
|
124
128
|
)
|
|
125
129
|
|
|
126
130
|
userData.addS3DownloadCommand({
|
|
@@ -136,7 +140,11 @@ class ContainerDeploymentTarget extends Construct {
|
|
|
136
140
|
...OssyRuntimeService.enable(),
|
|
137
141
|
...OssyRuntimeService.start(),
|
|
138
142
|
...OssyApiService.enable(),
|
|
139
|
-
...OssyApiService.start()
|
|
143
|
+
...OssyApiService.start(),
|
|
144
|
+
...OssyWebsiteOssyService.enable(),
|
|
145
|
+
...OssyWebsiteOssyService.start(),
|
|
146
|
+
...OssyWebsitePlexusSanitasService.enable(),
|
|
147
|
+
...OssyWebsitePlexusSanitasService.start()
|
|
140
148
|
)
|
|
141
149
|
|
|
142
150
|
const ec2Instance = new Instance(this, 'Ec2Instance', {
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// TODO: remove this service once ossy.se traffic flows through the platform runtime.
|
|
2
|
+
// The platform runtime (ghcr.io/ossy-se/platform) is the long-term host for all
|
|
3
|
+
// tenant sites including ossy.se. This service is a stopgap while the CMS-based
|
|
4
|
+
// publish flow is validated in production.
|
|
5
|
+
|
|
6
|
+
const systemdServiceFile = `
|
|
7
|
+
[Unit]
|
|
8
|
+
Description=Ossy Website (ossy.se)
|
|
9
|
+
After=network.target docker.service
|
|
10
|
+
Requires=docker.service
|
|
11
|
+
|
|
12
|
+
[Service]
|
|
13
|
+
EnvironmentFile=/etc/environment
|
|
14
|
+
ExecStartPre=-/usr/bin/docker rm -f ossy-website-ossy
|
|
15
|
+
ExecStartPre=/usr/bin/docker pull ghcr.io/ossy-se/website-ossy:latest
|
|
16
|
+
ExecStart=/usr/bin/docker run --name ossy-website-ossy \\
|
|
17
|
+
--network ossy-network \\
|
|
18
|
+
-p 3002:3000 \\
|
|
19
|
+
-e PORT=3000 \\
|
|
20
|
+
-e OSSY_API_URL=http://ossy-api:3001 \\
|
|
21
|
+
-e OSSY_COOKIE_SECRET=\${OSSY_COOKIE_SECRET} \\
|
|
22
|
+
ghcr.io/ossy-se/website-ossy:latest
|
|
23
|
+
ExecStop=/usr/bin/docker stop ossy-website-ossy
|
|
24
|
+
Restart=on-failure
|
|
25
|
+
RestartSec=5
|
|
26
|
+
|
|
27
|
+
[Install]
|
|
28
|
+
WantedBy=multi-user.target
|
|
29
|
+
`
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @class
|
|
33
|
+
*/
|
|
34
|
+
class OssyWebsiteOssyService {
|
|
35
|
+
|
|
36
|
+
static install() {
|
|
37
|
+
return [`sudo tee /etc/systemd/system/ossy-website-ossy.service > /dev/null << 'EOF'\n${systemdServiceFile}\nEOF`]
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
static enable() {
|
|
41
|
+
return ['sudo systemctl enable ossy-website-ossy']
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
static start() {
|
|
45
|
+
return ['sudo systemctl start ossy-website-ossy']
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
module.exports = {
|
|
51
|
+
OssyWebsiteOssyService
|
|
52
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// TODO: remove this service once www.plexus-sanitas.com traffic flows through the platform runtime.
|
|
2
|
+
// The platform runtime (ghcr.io/ossy-se/platform) is the long-term host for all
|
|
3
|
+
// tenant sites including plexus-sanitas. This service is a stopgap while the CMS-based
|
|
4
|
+
// publish flow is validated in production.
|
|
5
|
+
|
|
6
|
+
const systemdServiceFile = `
|
|
7
|
+
[Unit]
|
|
8
|
+
Description=Ossy Website (www.plexus-sanitas.com)
|
|
9
|
+
After=network.target docker.service
|
|
10
|
+
Requires=docker.service
|
|
11
|
+
|
|
12
|
+
[Service]
|
|
13
|
+
EnvironmentFile=/etc/environment
|
|
14
|
+
ExecStartPre=-/usr/bin/docker rm -f ossy-website-plexus-sanitas
|
|
15
|
+
ExecStartPre=/usr/bin/docker pull ghcr.io/ossy-se/website-plexus-sanitas:latest
|
|
16
|
+
ExecStart=/usr/bin/docker run --name ossy-website-plexus-sanitas \\
|
|
17
|
+
--network ossy-network \\
|
|
18
|
+
-p 3003:3000 \\
|
|
19
|
+
-e PORT=3000 \\
|
|
20
|
+
-e OSSY_API_URL=http://ossy-api:3001 \\
|
|
21
|
+
-e OSSY_COOKIE_SECRET=\${OSSY_COOKIE_SECRET} \\
|
|
22
|
+
ghcr.io/ossy-se/website-plexus-sanitas:latest
|
|
23
|
+
ExecStop=/usr/bin/docker stop ossy-website-plexus-sanitas
|
|
24
|
+
Restart=on-failure
|
|
25
|
+
RestartSec=5
|
|
26
|
+
|
|
27
|
+
[Install]
|
|
28
|
+
WantedBy=multi-user.target
|
|
29
|
+
`
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @class
|
|
33
|
+
*/
|
|
34
|
+
class OssyWebsitePlexusSanitasService {
|
|
35
|
+
|
|
36
|
+
static install() {
|
|
37
|
+
return [`sudo tee /etc/systemd/system/ossy-website-plexus-sanitas.service > /dev/null << 'EOF'\n${systemdServiceFile}\nEOF`]
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
static enable() {
|
|
41
|
+
return ['sudo systemctl enable ossy-website-plexus-sanitas']
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
static start() {
|
|
45
|
+
return ['sudo systemctl start ossy-website-plexus-sanitas']
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
module.exports = {
|
|
51
|
+
OssyWebsitePlexusSanitasService
|
|
52
|
+
}
|