@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, api.ossy.se → website-ossy Fargate service
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", "api.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","api.ossy.se"]` so the website image serves apex and API host. Defaults to `[domain]`. |
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.7.0",
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": "622d97535abad08415963405ace2f5aaaecd7ca4"
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', 'api.ossy.se'],
110
- })).toEqual(['ossy.se', 'api.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', 'api.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', 'api.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 `api.ossy.se` is not swallowed by `*.ossy.se`.
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()