@ankhorage/infra 4.1.1 → 4.1.3
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 +12 -0
- package/dist/adapters/minikube/base/index.js +23 -19
- package/dist/adapters/minikube/base/index.js.map +1 -1
- package/package.json +1 -1
- package/src/adapters/minikube/README.md +6 -3
- package/src/adapters/minikube/base/appImageBuild.test.ts +103 -14
- package/src/adapters/minikube/base/index.test.ts +12 -2
- package/src/adapters/minikube/base/index.ts +23 -19
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @ankhorage/infra
|
|
2
2
|
|
|
3
|
+
## 4.1.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 9cb5d75: Require generated app-image builds to execute the app-installed Expo CLI and fail before export when dependencies are missing.
|
|
8
|
+
|
|
9
|
+
## 4.1.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- b25415f: Emit Minikube README and Kong templates in their canonical generated format.
|
|
14
|
+
|
|
3
15
|
## 4.1.1
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -236,7 +236,7 @@ function getReadmeMarkdown(args) {
|
|
|
236
236
|
? `- Provider namespaces: \`${providerNamespaces.join('`, `')}\`\n`
|
|
237
237
|
: '';
|
|
238
238
|
const providerLifecycleLines = providerLifecycle.length > 0
|
|
239
|
-
?
|
|
239
|
+
? `## Provider Lifecycle Contributions\n\n${providerLifecycle
|
|
240
240
|
.map((provider) => {
|
|
241
241
|
const readiness = provider.readinessChecks.length > 0
|
|
242
242
|
? provider.readinessChecks
|
|
@@ -250,10 +250,10 @@ function getReadmeMarkdown(args) {
|
|
|
250
250
|
: 'none';
|
|
251
251
|
return `- \`${provider.id}\`: namespace \`${provider.namespace}\`; readiness ${readiness}; endpoints ${endpoints}`;
|
|
252
252
|
})
|
|
253
|
-
.join('\n')}
|
|
253
|
+
.join('\n')}`
|
|
254
254
|
: '';
|
|
255
255
|
const oauthDescription = oauthProviders.length > 0
|
|
256
|
-
? `\nConfigured OAuth providers are wired into GoTrue through generated \`GOTRUE_EXTERNAL_*\` runtime keys. The keys are named in \`.env.example\`; values must come from trusted secret resolution for the configured \`credentialsRef\` entries
|
|
256
|
+
? `\nConfigured OAuth providers are wired into GoTrue through generated \`GOTRUE_EXTERNAL_*\` runtime keys. The keys are named in \`.env.example\`; values must come from trusted secret resolution for the configured \`credentialsRef\` entries.`
|
|
257
257
|
: '';
|
|
258
258
|
const runtimeForwardDescription = appRuntimeEnabled
|
|
259
259
|
? supabaseKubernetesEnabled
|
|
@@ -351,10 +351,12 @@ ${appRuntimeEnabled ? `- App: \`http://127.0.0.1:${supabaseHostPorts.app}\`\n` :
|
|
|
351
351
|
|
|
352
352
|
## App Image Export
|
|
353
353
|
|
|
354
|
-
\`build-app-image.sh\`
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
354
|
+
\`build-app-image.sh\` requires the app-installed \`node_modules/.bin/expo\` and never resolves
|
|
355
|
+
Expo globally or through the network. It clears the Expo/Metro bundler cache before every web
|
|
356
|
+
export. Expo inlines \`EXPO_PUBLIC_*\` values into the browser bundle, so cache invalidation
|
|
357
|
+
ensures a rotated browser-safe Supabase URL or anon key replaces the previous value before the
|
|
358
|
+
Docker image is built. Privileged Supabase credentials are not written to the app's public env
|
|
359
|
+
file.
|
|
358
360
|
|
|
359
361
|
## Runtime Conventions
|
|
360
362
|
|
|
@@ -1579,7 +1581,7 @@ spec:
|
|
|
1579
1581
|
`;
|
|
1580
1582
|
}
|
|
1581
1583
|
function getSupabaseGatewayTemplate() {
|
|
1582
|
-
return `_format_version:
|
|
1584
|
+
return `_format_version: "2.1"
|
|
1583
1585
|
_transform: true
|
|
1584
1586
|
|
|
1585
1587
|
consumers:
|
|
@@ -1601,8 +1603,8 @@ acls:
|
|
|
1601
1603
|
|
|
1602
1604
|
basicauth_credentials:
|
|
1603
1605
|
- consumer: DASHBOARD
|
|
1604
|
-
username:
|
|
1605
|
-
password:
|
|
1606
|
+
username: "$DASHBOARD_USERNAME"
|
|
1607
|
+
password: "$DASHBOARD_PASSWORD"
|
|
1606
1608
|
|
|
1607
1609
|
services:
|
|
1608
1610
|
- name: auth-v1-open
|
|
@@ -2675,29 +2677,31 @@ if [[ "\${APP_BUILD_ENABLED}" != "true" ]]; then
|
|
|
2675
2677
|
exit 0
|
|
2676
2678
|
fi
|
|
2677
2679
|
|
|
2678
|
-
if !
|
|
2679
|
-
echo "
|
|
2680
|
+
if [[ ! -f "\${APP_SOURCE_DIR}/package.json" ]]; then
|
|
2681
|
+
echo "APP_SOURCE_DIR does not look like an app root: \${APP_SOURCE_DIR}"
|
|
2680
2682
|
exit 1
|
|
2681
2683
|
fi
|
|
2682
2684
|
|
|
2683
|
-
if !
|
|
2684
|
-
echo "
|
|
2685
|
+
if [[ ! -f "\${DOCKERFILE_PATH}" ]]; then
|
|
2686
|
+
echo "Dockerfile for app image build is missing: \${DOCKERFILE_PATH}"
|
|
2685
2687
|
exit 1
|
|
2686
2688
|
fi
|
|
2687
2689
|
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
+
EXPO_CLI="\${APP_SOURCE_DIR}/node_modules/.bin/expo"
|
|
2691
|
+
if [[ ! -x "\${EXPO_CLI}" ]]; then
|
|
2692
|
+
echo "App-owned Expo CLI is missing: \${EXPO_CLI}" >&2
|
|
2693
|
+
echo "Run 'bun install --frozen-lockfile' in \${APP_SOURCE_DIR} before building the app image." >&2
|
|
2690
2694
|
exit 1
|
|
2691
2695
|
fi
|
|
2692
2696
|
|
|
2693
|
-
if
|
|
2694
|
-
echo "
|
|
2697
|
+
if ! command -v docker >/dev/null 2>&1; then
|
|
2698
|
+
echo "docker is required to build app image."
|
|
2695
2699
|
exit 1
|
|
2696
2700
|
fi
|
|
2697
2701
|
|
|
2698
2702
|
(
|
|
2699
2703
|
cd "\${APP_SOURCE_DIR}"
|
|
2700
|
-
|
|
2704
|
+
"\${EXPO_CLI}" export --platform web --clear --output-dir "\${APP_WEB_EXPORT_DIR}"
|
|
2701
2705
|
)
|
|
2702
2706
|
|
|
2703
2707
|
if [[ "\${APP_WEB_EXPORT_DIR}" = /* ]]; then
|