@ossy/deployment-tools 3.7.0 → 3.12.0
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
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
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
|
+
# [3.12.0](https://github.com/ossy-se/ossy/compare/v3.11.1...v3.12.0) (2026-09-06)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* default the API to same-origin and drop api.ossy.se ([#794](https://github.com/ossy-se/ossy/issues/794)) ([397a06f](https://github.com/ossy-se/ossy/commit/397a06f88b01e297fb76f35c429f3e687bdd6af9))
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* **analytics:** Host visitor locations from connection geo ([#772](https://github.com/ossy-se/ossy/issues/772)) ([a565c1b](https://github.com/ossy-se/ossy/commit/a565c1b5078219ef412148d77dc33697f2079612)), closes [#769](https://github.com/ossy-se/ossy/issues/769) [#797](https://github.com/ossy-se/ossy/issues/797) [#797](https://github.com/ossy-se/ossy/issues/797) [#797](https://github.com/ossy-se/ossy/issues/797) [#797](https://github.com/ossy-se/ossy/issues/797) [#769](https://github.com/ossy-se/ossy/issues/769) [#797](https://github.com/ossy-se/ossy/issues/797) [#769](https://github.com/ossy-se/ossy/issues/769)
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [3.7.0](https://github.com/ossy-se/ossy/compare/v3.6.2...v3.7.0) (2026-08-22)
|
|
7
18
|
|
|
8
19
|
### Features
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ Infrastructure and CDK tooling for the Ossy platform.
|
|
|
9
9
|
```
|
|
10
10
|
Internet → CloudFront (ACM TLS, us-east-1) → WAF → ALB (:80)
|
|
11
11
|
├── host rules from platforms.json `services[].hosts|domain`
|
|
12
|
-
│ e.g. ossy.se
|
|
12
|
+
│ e.g. ossy.se → website-ossy Fargate service
|
|
13
13
|
├── other known hosts / *.ossy.se → platform-runtime Fargate service
|
|
14
14
|
└── default action → platform-runtime
|
|
15
15
|
```
|
|
@@ -64,7 +64,7 @@ HTTP services (default) become Fargate services with ALB host rules. The contain
|
|
|
64
64
|
"name": "ossy-website-ossy",
|
|
65
65
|
"domain": "ossy.se",
|
|
66
66
|
"image": "ghcr.io/ossy-se/website-ossy:latest",
|
|
67
|
-
"hosts": ["ossy.se"
|
|
67
|
+
"hosts": ["ossy.se"]
|
|
68
68
|
}
|
|
69
69
|
]
|
|
70
70
|
```
|
|
@@ -73,7 +73,7 @@ HTTP services (default) become Fargate services with ALB host rules. The contain
|
|
|
73
73
|
|---|---|
|
|
74
74
|
| `name` | Unique service name — Secrets Manager / ECS key strips a leading `ossy-` (`website-ossy`). |
|
|
75
75
|
| `domain` | Primary hostname (default ALB host when `hosts` is omitted). |
|
|
76
|
-
| `hosts` | Optional ALB host-header list. Example: `["ossy.se"
|
|
76
|
+
| `hosts` | Optional ALB host-header list. Example: `["ossy.se"]` so the website image serves the apex. Defaults to `[domain]`. |
|
|
77
77
|
| `image` | Docker image to pull and run (GHCR). |
|
|
78
78
|
|
|
79
79
|
**Built-in (always present):**
|
|
@@ -264,6 +264,8 @@ Other common env vars:
|
|
|
264
264
|
| `AWS_SECRET_ACCESS_KEY` | API | AWS credentials for S3 |
|
|
265
265
|
| `OSSY_API_KEY` | Platform, websites | API JWT for CMS reads |
|
|
266
266
|
| `OSSY_COOKIE_SECRET` | Websites | Cookie signing secret |
|
|
267
|
+
| `GEOLITE2_COUNTRY_MMDB` | App (`@ossy/analytics` location projection) | Absolute path to MaxMind GeoLite2-Country `.mmdb` (#769). Used by `PageViewLocationProjection` / `ProjectionRebuild` — not at ingest. Optional; without it `countryCode` is omitted (IP still stored on the event). |
|
|
268
|
+
| `OSSY_TRUST_PROXY_HOPS` | Platform / websites | Express `trust proxy` hop count behind CloudFront→ALB (default: `2`). |
|
|
267
269
|
| `OPENAI_API_KEY` | Worker | OpenAI API key |
|
|
268
270
|
| `OPENAI_ORGANIZATION` | Worker | OpenAI organisation ID |
|
|
269
271
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ossy/deployment-tools",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.12.0",
|
|
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",
|
|
@@ -24,5 +24,5 @@
|
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"jest": "^30.4.2"
|
|
26
26
|
},
|
|
27
|
-
"gitHead": "
|
|
27
|
+
"gitHead": "c2650803219ad1831559b512848358d9550ffad2"
|
|
28
28
|
}
|
|
@@ -106,8 +106,8 @@ describe('hostsFromServiceEntry', () => {
|
|
|
106
106
|
it('uses hosts when provided', () => {
|
|
107
107
|
expect(hostsFromServiceEntry({
|
|
108
108
|
domain: 'ossy.se',
|
|
109
|
-
hosts: ['ossy.se', '
|
|
110
|
-
})).toEqual(['ossy.se', '
|
|
109
|
+
hosts: ['ossy.se', 'www.ossy.se'],
|
|
110
|
+
})).toEqual(['ossy.se', 'www.ossy.se'])
|
|
111
111
|
})
|
|
112
112
|
|
|
113
113
|
it('falls back to domain', () => {
|
|
@@ -120,7 +120,6 @@ describe('listPlatformEcsServices', () => {
|
|
|
120
120
|
const services = listPlatformEcsServices({
|
|
121
121
|
platformName: 'ossybot',
|
|
122
122
|
domains: [
|
|
123
|
-
'api.ossy.se',
|
|
124
123
|
'ossy.se',
|
|
125
124
|
'*.ossy.se',
|
|
126
125
|
'www.plexus-sanitas.com',
|
|
@@ -130,7 +129,7 @@ describe('listPlatformEcsServices', () => {
|
|
|
130
129
|
{
|
|
131
130
|
name: 'ossy-website-ossy',
|
|
132
131
|
domain: 'ossy.se',
|
|
133
|
-
hosts: ['ossy.se'
|
|
132
|
+
hosts: ['ossy.se'],
|
|
134
133
|
image: 'ghcr.io/ossy-se/website-ossy:latest',
|
|
135
134
|
cpu: 1024,
|
|
136
135
|
memoryLimitMiB: 4096,
|
|
@@ -165,7 +164,7 @@ describe('listPlatformEcsServices', () => {
|
|
|
165
164
|
|
|
166
165
|
const website = services.find(s => s.key === 'website-ossy')
|
|
167
166
|
expect(website.isDefault).toBe(false)
|
|
168
|
-
expect(website.hosts).toEqual(['ossy.se'
|
|
167
|
+
expect(website.hosts).toEqual(['ossy.se'])
|
|
169
168
|
expect(website.image).toBe('ghcr.io/ossy-se/website-ossy:latest')
|
|
170
169
|
expect(website.secretName).toBe('ossybot/website-ossy')
|
|
171
170
|
expect(website.cpu).toBe(1024)
|
|
@@ -281,7 +281,7 @@ class PlatformEcsStack extends Stack {
|
|
|
281
281
|
})
|
|
282
282
|
|
|
283
283
|
// Lower priority number = evaluated first. Specific hosts before wildcards
|
|
284
|
-
// so `
|
|
284
|
+
// so `ossy.se` is not swallowed by `*.ossy.se`.
|
|
285
285
|
// Priorities are hash-stable per host — sequential 10,11,12… renumbers
|
|
286
286
|
// every insert and CloudFormation cannot swap ALB priorities in one update.
|
|
287
287
|
const usedPriorities = new Set()
|