@serve.zone/interfaces 5.4.5 → 5.4.6

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.
@@ -1,3 +1,4 @@
1
+ import type { IRegistryPushEvent } from './registry.js';
1
2
  export interface IImage {
2
3
  id: string;
3
4
  data: {
@@ -10,9 +11,14 @@ export interface IImage {
10
11
  description: string;
11
12
  versions: Array<{
12
13
  versionString: string;
14
+ digest?: string;
15
+ registryRepository?: string;
16
+ registryTag?: string;
17
+ source?: 'upload' | 'registry';
13
18
  storagePath?: string;
14
19
  size: number;
15
20
  createdAt: number;
16
21
  }>;
22
+ lastPushEvent?: IRegistryPushEvent;
17
23
  };
18
24
  }
@@ -8,6 +8,7 @@ export * from './domain.js';
8
8
  export * from './event.js';
9
9
  export * from './externalregistry.js';
10
10
  export * from './image.js';
11
+ export * from './registry.js';
11
12
  export * from './secretbundle.js';
12
13
  export * from './secretgroup.js';
13
14
  export * from './baremetal.js';
@@ -8,6 +8,7 @@ export * from './domain.js';
8
8
  export * from './event.js';
9
9
  export * from './externalregistry.js';
10
10
  export * from './image.js';
11
+ export * from './registry.js';
11
12
  export * from './secretbundle.js';
12
13
  export * from './secretgroup.js';
13
14
  export * from './baremetal.js';
@@ -19,4 +20,4 @@ export * from './taskexecution.js';
19
20
  export * from './traffic.js';
20
21
  export * from './user.js';
21
22
  export * from './version.js';
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9kYXRhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQyJ9
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9kYXRhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQyJ9
@@ -0,0 +1,23 @@
1
+ export type TRegistryProtocol = 'oci';
2
+ export interface IRegistryTarget {
3
+ protocol: TRegistryProtocol;
4
+ registryHost: string;
5
+ repository: string;
6
+ tag: string;
7
+ imageUrl: string;
8
+ serviceId?: string;
9
+ imageId?: string;
10
+ }
11
+ export interface IRegistryPushEvent {
12
+ protocol: TRegistryProtocol;
13
+ registryHost: string;
14
+ repository: string;
15
+ tag: string;
16
+ digest: string;
17
+ imageUrl: string;
18
+ pushedAt: number;
19
+ serviceId?: string;
20
+ imageId?: string;
21
+ actorUserId?: string;
22
+ manifestMediaType?: string;
23
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9kYXRhL3JlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -1,4 +1,5 @@
1
1
  import type { IServiceRessources } from './docker.js';
2
+ import type { IRegistryTarget } from './registry.js';
2
3
  export interface IService {
3
4
  id: string;
4
5
  data: {
@@ -6,6 +7,8 @@ export interface IService {
6
7
  description: string;
7
8
  imageId: string;
8
9
  imageVersion: string;
10
+ registryTarget?: IRegistryTarget;
11
+ deployOnPush?: boolean;
9
12
  environment: {
10
13
  [key: string]: string;
11
14
  };
@@ -1,5 +1,6 @@
1
1
  import * as plugins from '../plugins.js';
2
2
  import type { IService } from '../data/service.js';
3
+ import type { IRegistryTarget } from '../data/registry.js';
3
4
  import type { IIdentity } from '../data/user.js';
4
5
  export interface IRequest_Any_Cloudly_GetServiceById extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IRequest_Any_Cloudly_GetServiceById> {
5
6
  method: 'getServiceById';
@@ -20,6 +21,17 @@ export interface IRequest_Any_Cloudly_GetServices extends plugins.typedrequestIn
20
21
  services: IService[];
21
22
  };
22
23
  }
24
+ export interface IRequest_Any_Cloudly_GetServiceRegistryTarget extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IRequest_Any_Cloudly_GetServiceRegistryTarget> {
25
+ method: 'getServiceRegistryTarget';
26
+ request: {
27
+ identity: IIdentity;
28
+ serviceId: string;
29
+ tag?: string;
30
+ };
31
+ response: {
32
+ registryTarget: IRegistryTarget;
33
+ };
34
+ }
23
35
  export interface IRequest_Any_Cloudly_CreateService extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IRequest_Any_Cloudly_CreateService> {
24
36
  method: 'createService';
25
37
  request: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serve.zone/interfaces",
3
- "version": "5.4.5",
3
+ "version": "5.4.6",
4
4
  "private": false,
5
5
  "description": "Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.",
6
6
  "exports": {
package/ts/data/image.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import * as plugins from '../plugins.js';
2
+ import type { IRegistryPushEvent } from './registry.js';
2
3
 
3
4
  export interface IImage {
4
5
  id: string;
@@ -12,9 +13,14 @@ export interface IImage {
12
13
  description: string;
13
14
  versions: Array<{
14
15
  versionString: string;
16
+ digest?: string;
17
+ registryRepository?: string;
18
+ registryTag?: string;
19
+ source?: 'upload' | 'registry';
15
20
  storagePath?: string;
16
21
  size: number;
17
22
  createdAt: number;
18
23
  }>;
24
+ lastPushEvent?: IRegistryPushEvent;
19
25
  };
20
26
  }
package/ts/data/index.ts CHANGED
@@ -8,6 +8,7 @@ export * from './domain.js';
8
8
  export * from './event.js';
9
9
  export * from './externalregistry.js';
10
10
  export * from './image.js';
11
+ export * from './registry.js';
11
12
  export * from './secretbundle.js';
12
13
  export * from './secretgroup.js';
13
14
  export * from './baremetal.js';
@@ -0,0 +1,25 @@
1
+ export type TRegistryProtocol = 'oci';
2
+
3
+ export interface IRegistryTarget {
4
+ protocol: TRegistryProtocol;
5
+ registryHost: string;
6
+ repository: string;
7
+ tag: string;
8
+ imageUrl: string;
9
+ serviceId?: string;
10
+ imageId?: string;
11
+ }
12
+
13
+ export interface IRegistryPushEvent {
14
+ protocol: TRegistryProtocol;
15
+ registryHost: string;
16
+ repository: string;
17
+ tag: string;
18
+ digest: string;
19
+ imageUrl: string;
20
+ pushedAt: number;
21
+ serviceId?: string;
22
+ imageId?: string;
23
+ actorUserId?: string;
24
+ manifestMediaType?: string;
25
+ }
@@ -1,4 +1,5 @@
1
1
  import type { IServiceRessources } from './docker.js';
2
+ import type { IRegistryTarget } from './registry.js';
2
3
 
3
4
  export interface IService {
4
5
  id: string;
@@ -7,6 +8,8 @@ export interface IService {
7
8
  description: string;
8
9
  imageId: string;
9
10
  imageVersion: string;
11
+ registryTarget?: IRegistryTarget;
12
+ deployOnPush?: boolean;
10
13
  environment: { [key: string]: string };
11
14
  /**
12
15
  * the main secret bundle id, exclusive to the service
@@ -1,5 +1,6 @@
1
1
  import * as plugins from '../plugins.js';
2
2
  import type { IService } from '../data/service.js';
3
+ import type { IRegistryTarget } from '../data/registry.js';
3
4
  import type { IIdentity } from '../data/user.js';
4
5
  import type { IServiceRessources } from '../data/docker.js';
5
6
 
@@ -32,6 +33,22 @@ extends plugins.typedrequestInterfaces.implementsTR<
32
33
  };
33
34
  }
34
35
 
36
+ export interface IRequest_Any_Cloudly_GetServiceRegistryTarget
37
+ extends plugins.typedrequestInterfaces.implementsTR<
38
+ plugins.typedrequestInterfaces.ITypedRequest,
39
+ IRequest_Any_Cloudly_GetServiceRegistryTarget
40
+ > {
41
+ method: 'getServiceRegistryTarget';
42
+ request: {
43
+ identity: IIdentity;
44
+ serviceId: string;
45
+ tag?: string;
46
+ };
47
+ response: {
48
+ registryTarget: IRegistryTarget;
49
+ };
50
+ }
51
+
35
52
  export interface IRequest_Any_Cloudly_CreateService
36
53
  extends plugins.typedrequestInterfaces.implementsTR<
37
54
  plugins.typedrequestInterfaces.ITypedRequest,