Skip to content

Commit 18ef54b

Browse files
adjust clientmetadata interface to match specification
1 parent e1d6879 commit 18ef54b

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

src/cmap/handshake/client_metadata.ts

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,14 @@ export interface ClientMetadata {
4747
};
4848
/** FaaS environment information */
4949
env?: {
50-
name: 'aws.lambda' | 'gcp.func' | 'azure.func' | 'vercel';
50+
name?: 'aws.lambda' | 'gcp.func' | 'azure.func' | 'vercel';
5151
timeout_sec?: Int32;
5252
memory_mb?: Int32;
5353
region?: string;
54-
url?: string;
54+
container?: {
55+
runtime?: string;
56+
orchestrator?: string;
57+
};
5558
};
5659
}
5760

@@ -194,15 +197,17 @@ export async function makeClientMetadata(
194197
}
195198

196199
let dockerPromise: Promise<boolean>;
200+
type ContainerMetadata = NonNullable<NonNullable<ClientMetadata['env']>['container']>;
197201
/** @internal */
198-
async function getContainerMetadata() {
199-
const containerMetadata: Record<string, any> = {};
202+
async function getContainerMetadata(): Promise<ContainerMetadata> {
200203
dockerPromise ??= fileIsAccessible('/.dockerenv');
201204
const isDocker = await dockerPromise;
202205

203206
const { KUBERNETES_SERVICE_HOST = '' } = process.env;
204207
const isKubernetes = KUBERNETES_SERVICE_HOST.length > 0 ? true : false;
205208

209+
const containerMetadata: ContainerMetadata = {};
210+
206211
if (isDocker) containerMetadata.runtime = 'docker';
207212
if (isKubernetes) containerMetadata.orchestrator = 'kubernetes';
208213

@@ -220,7 +225,10 @@ async function addContainerMetadata(originalMetadata: ClientMetadata): Promise<C
220225

221226
const extendedMetadata = new LimitedSizeDocument(512);
222227

223-
const extendedEnvMetadata = { ...originalMetadata?.env, container: containerMetadata };
228+
const extendedEnvMetadata: NonNullable<ClientMetadata['env']> = {
229+
...originalMetadata?.env,
230+
container: containerMetadata
231+
};
224232

225233
for (const [key, val] of Object.entries(originalMetadata)) {
226234
if (key !== 'env') {

0 commit comments

Comments
 (0)