@hasna/uptime 0.1.14 → 0.1.16
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 +18 -0
- package/Dockerfile.package +13 -4
- package/dist/cli/index.js +1 -1
- package/dist/cloud-plan.js +1 -1
- package/dist/index.js +1 -1
- package/infra/aws/terraform.tfvars.example +1 -1
- package/infra/aws/variables.tf +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,24 @@ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.1.16] - 2026-06-28
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- Changed the packaged production Dockerfile to install Bun in an ECR Public
|
|
14
|
+
Node Alpine build stage, then copy only Bun, app files, and production
|
|
15
|
+
dependencies into an ECR Public Alpine runtime with CA certificates. This
|
|
16
|
+
reduces inherited OS vulnerability findings before live AWS scale-up.
|
|
17
|
+
|
|
18
|
+
## [0.1.15] - 2026-06-28
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- Changed the packaged production Dockerfile to use Docker Official
|
|
23
|
+
`node:22-slim` from Amazon ECR Public and install Bun inside the image. This
|
|
24
|
+
avoids Docker Hub unauthenticated pull-rate limits during AWS CodeBuild image
|
|
25
|
+
builds.
|
|
26
|
+
|
|
9
27
|
## [0.1.14] - 2026-06-28
|
|
10
28
|
|
|
11
29
|
### Added
|
package/Dockerfile.package
CHANGED
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
# syntax=docker/dockerfile:1
|
|
2
2
|
|
|
3
|
-
FROM
|
|
3
|
+
FROM public.ecr.aws/docker/library/node:22-alpine AS bun
|
|
4
|
+
|
|
5
|
+
RUN npm install -g bun@1.3.13
|
|
6
|
+
|
|
7
|
+
FROM public.ecr.aws/docker/library/alpine:3.22 AS runtime
|
|
4
8
|
ENV NODE_ENV=production \
|
|
5
9
|
HASNA_UPTIME_MODE=hosted
|
|
6
10
|
WORKDIR /app
|
|
7
11
|
|
|
8
|
-
RUN
|
|
9
|
-
&&
|
|
12
|
+
RUN apk add --no-cache ca-certificates \
|
|
13
|
+
&& addgroup -g 10001 -S uptime \
|
|
14
|
+
&& adduser -S -D -H -u 10001 -G uptime uptime
|
|
15
|
+
|
|
16
|
+
COPY --from=bun /usr/local/bin/bun /usr/local/bin/bun
|
|
17
|
+
COPY --from=bun /usr/local/lib/node_modules/bun /usr/local/lib/node_modules/bun
|
|
10
18
|
|
|
11
19
|
COPY package.json ./package.json
|
|
12
20
|
COPY dist ./dist
|
|
13
21
|
|
|
14
|
-
RUN bun install --production
|
|
22
|
+
RUN bun install --production \
|
|
23
|
+
&& chown -R uptime:uptime /app
|
|
15
24
|
|
|
16
25
|
USER uptime
|
|
17
26
|
EXPOSE 3899
|
package/dist/cli/index.js
CHANGED
|
@@ -6932,7 +6932,7 @@ function buildAwsDeploymentPlan(options = {}) {
|
|
|
6932
6932
|
const image = clean(options.image, `${imageRepositoryUri}@sha256:<image-digest>`);
|
|
6933
6933
|
const evidenceBucket = clean(options.evidenceBucket, `hasna-${stage}-${prefix}-evidence`);
|
|
6934
6934
|
const hostedSqliteDbPath = clean(options.hostedSqliteDbPath, DEFAULT_HOSTED_SQLITE_DB);
|
|
6935
|
-
const runtimePackageVersion = clean(options.runtimePackageVersion, "0.1.
|
|
6935
|
+
const runtimePackageVersion = clean(options.runtimePackageVersion, "0.1.16");
|
|
6936
6936
|
const protectedAccessMode = options.protectedAccessMode ?? DEFAULT_PROTECTED_ACCESS_MODE;
|
|
6937
6937
|
const protectedAccessUrl = protectedAccessMode === "cloudfront_default_domain" ? "https://<cloudfront-domain>" : `https://${hostname}`;
|
|
6938
6938
|
const cluster = `${prefix}-${stage}`;
|
package/dist/cloud-plan.js
CHANGED
|
@@ -21,7 +21,7 @@ function buildAwsDeploymentPlan(options = {}) {
|
|
|
21
21
|
const image = clean(options.image, `${imageRepositoryUri}@sha256:<image-digest>`);
|
|
22
22
|
const evidenceBucket = clean(options.evidenceBucket, `hasna-${stage}-${prefix}-evidence`);
|
|
23
23
|
const hostedSqliteDbPath = clean(options.hostedSqliteDbPath, DEFAULT_HOSTED_SQLITE_DB);
|
|
24
|
-
const runtimePackageVersion = clean(options.runtimePackageVersion, "0.1.
|
|
24
|
+
const runtimePackageVersion = clean(options.runtimePackageVersion, "0.1.16");
|
|
25
25
|
const protectedAccessMode = options.protectedAccessMode ?? DEFAULT_PROTECTED_ACCESS_MODE;
|
|
26
26
|
const protectedAccessUrl = protectedAccessMode === "cloudfront_default_domain" ? "https://<cloudfront-domain>" : `https://${hostname}`;
|
|
27
27
|
const cluster = `${prefix}-${stage}`;
|
package/dist/index.js
CHANGED
|
@@ -4338,7 +4338,7 @@ function buildAwsDeploymentPlan(options = {}) {
|
|
|
4338
4338
|
const image = clean(options.image, `${imageRepositoryUri}@sha256:<image-digest>`);
|
|
4339
4339
|
const evidenceBucket = clean(options.evidenceBucket, `hasna-${stage}-${prefix}-evidence`);
|
|
4340
4340
|
const hostedSqliteDbPath = clean(options.hostedSqliteDbPath, DEFAULT_HOSTED_SQLITE_DB);
|
|
4341
|
-
const runtimePackageVersion = clean(options.runtimePackageVersion, "0.1.
|
|
4341
|
+
const runtimePackageVersion = clean(options.runtimePackageVersion, "0.1.16");
|
|
4342
4342
|
const protectedAccessMode = options.protectedAccessMode ?? DEFAULT_PROTECTED_ACCESS_MODE;
|
|
4343
4343
|
const protectedAccessUrl = protectedAccessMode === "cloudfront_default_domain" ? "https://<cloudfront-domain>" : `https://${hostname}`;
|
|
4344
4344
|
const cluster = `${prefix}-${stage}`;
|
|
@@ -16,7 +16,7 @@ alb_ingress_cidr_blocks = []
|
|
|
16
16
|
private_subnet_ids = ["subnet-replace-private-a", "subnet-replace-private-b"]
|
|
17
17
|
private_route_table_ids = ["rtb-replace-private"]
|
|
18
18
|
container_image = "123456789012.dkr.ecr.us-east-1.amazonaws.com/open-uptime@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
|
19
|
-
runtime_package_version = "0.1.
|
|
19
|
+
runtime_package_version = "0.1.16"
|
|
20
20
|
certificate_arn = null
|
|
21
21
|
hosted_zone_id = null
|
|
22
22
|
app_env_secret_arn = "arn:aws:secretsmanager:us-east-1:123456789012:secret:open-uptime/prod/app/env"
|
package/infra/aws/variables.tf
CHANGED
|
@@ -116,7 +116,7 @@ variable "container_image" {
|
|
|
116
116
|
variable "runtime_package_version" {
|
|
117
117
|
description = "Published @hasna/uptime package version that CodeBuild should build into the ECR image."
|
|
118
118
|
type = string
|
|
119
|
-
default = "0.1.
|
|
119
|
+
default = "0.1.16"
|
|
120
120
|
|
|
121
121
|
validation {
|
|
122
122
|
condition = can(regex("^[0-9]+\\.[0-9]+\\.[0-9]+(-[0-9A-Za-z.-]+)?$", var.runtime_package_version))
|
package/package.json
CHANGED