@toa.io/operations 1.0.0-alpha.284 → 1.0.0-alpha.287

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.
Files changed (50) hide show
  1. package/CHANGELOG.md +1 -224
  2. package/package.json +4 -4
  3. package/readme.md +43 -0
  4. package/src/deployment/.deployment/.describe/compositions.js +7 -5
  5. package/src/deployment/.deployment/.describe/events.js +7 -7
  6. package/src/deployment/.deployment/.describe/fold.js +10 -3
  7. package/src/deployment/.deployment/.describe/fold.test.js +30 -14
  8. package/src/deployment/.deployment/.describe/mounts.js +4 -7
  9. package/src/deployment/.deployment/.describe/resources.js +7 -5
  10. package/src/deployment/.deployment/.describe/resources.test.js +13 -6
  11. package/src/deployment/.deployment/.describe/services.js +10 -9
  12. package/src/deployment/.deployment/.describe/services.test.js +22 -5
  13. package/src/deployment/.deployment/.describe/variables.js +2 -3
  14. package/src/deployment/.deployment/describe.js +11 -7
  15. package/src/deployment/.deployment/merge.js +11 -6
  16. package/src/deployment/.deployment/merge.test.js +41 -10
  17. package/src/deployment/composition.js +1 -1
  18. package/src/deployment/deployment.js +35 -16
  19. package/src/deployment/factory.js +39 -19
  20. package/src/deployment/images/composition.Dockerfile +1 -1
  21. package/src/deployment/images/composition.js +10 -9
  22. package/src/deployment/images/factory.js +17 -6
  23. package/src/deployment/images/format.js +9 -5
  24. package/src/deployment/images/image.fixtures.js +2 -2
  25. package/src/deployment/images/image.js +38 -21
  26. package/src/deployment/images/image.test.js +7 -2
  27. package/src/deployment/images/mono.Dockerfile +1 -1
  28. package/src/deployment/images/mono.js +10 -9
  29. package/src/deployment/images/publish.js +98 -0
  30. package/src/deployment/images/runtime-base.test.js +12 -6
  31. package/src/deployment/images/service.Dockerfile +1 -1
  32. package/src/deployment/images/service.js +4 -4
  33. package/src/deployment/operator.js +8 -8
  34. package/src/deployment/registry.js +89 -61
  35. package/src/deployment/registry.test.js +117 -43
  36. package/src/deployment/service.js +3 -1
  37. package/src/deployment/workspace.js +1 -1
  38. package/src/process.js +1 -1
  39. package/src/process.test.js +8 -4
  40. package/types/_deployment/composition.d.ts +0 -2
  41. package/types/_deployment/dependency.d.ts +10 -6
  42. package/types/_deployment/deployment.d.ts +0 -4
  43. package/types/_deployment/factory.d.ts +0 -2
  44. package/types/_deployment/images/factory.d.ts +4 -6
  45. package/types/_deployment/images/image.d.ts +2 -4
  46. package/types/_deployment/images/registry.d.ts +7 -10
  47. package/types/_deployment/operator.d.ts +5 -7
  48. package/types/_deployment/registry.d.ts +6 -8
  49. package/types/_deployment/service.d.ts +0 -2
  50. package/types/dependency.ts +3 -0
@@ -5,13 +5,11 @@ import type { Image } from './image.js'
5
5
  import type { dependency } from '../dependency.js'
6
6
 
7
7
  declare namespace toa.deployment.images {
8
+ interface Factory {
9
+ composition(composition: Composition): Image
8
10
 
9
- interface Factory {
10
- composition(composition: Composition): Image
11
-
12
- service(path: string, service: dependency.Service): Image
13
- }
14
-
11
+ service(path: string, service: dependency.Service): Image
12
+ }
15
13
  }
16
14
 
17
15
  export type Factory = toa.deployment.images.Factory
@@ -1,16 +1,14 @@
1
1
  declare namespace toa.deployment.images {
2
-
3
2
  export interface Image {
4
3
  readonly reference: string
5
4
  readonly context: string
6
5
 
7
6
  name: string
8
7
 
9
- tag (): void
8
+ tag(): void
10
9
 
11
- prepare (root: string): Promise<string>
10
+ prepare(root: string): Promise<string>
12
11
  }
13
-
14
12
  }
15
13
 
16
14
  export type Image = toa.deployment.images.Image
@@ -2,19 +2,16 @@
2
2
 
3
3
  import type { Composition } from '@toa.io/norm'
4
4
  import type { dependency } from '../dependency.js'
5
- import type { Image } from "./image.js"
5
+ import type { Image } from './image.js'
6
6
 
7
7
  declare namespace toa.deployment.images {
8
+ interface Registry {
9
+ composition(composition: Composition): Image
8
10
 
9
- interface Registry {
10
- composition(composition: Composition): Image
11
+ service(path: string, service: dependency.Service): Image
11
12
 
12
- service(path: string, service: dependency.Service): Image
13
-
14
- prepare(target: string): Promise<void>
15
-
16
- push(): Promise<void>
17
- }
13
+ prepare(target: string): Promise<void>
18
14
 
15
+ push(): Promise<void>
16
+ }
19
17
  }
20
-
@@ -2,19 +2,17 @@ import * as _deployment from './deployment.js'
2
2
  import * as _dependency from './dependency.js'
3
3
 
4
4
  declare namespace toa.deployment {
5
-
6
5
  interface Operator {
7
- export (path?: string): Promise<string>
6
+ export(path?: string): Promise<string>
8
7
 
9
- install (options?: _deployment.installation.Options): Promise<void>
8
+ install(options?: _deployment.installation.Options): Promise<void>
10
9
 
11
- template (options?: _deployment.template.Options): Promise<string>
10
+ template(options?: _deployment.template.Options): Promise<string>
12
11
 
13
- variables (): _dependency.Variables
12
+ variables(): _dependency.Variables
14
13
 
15
- listVariables (): _dependency.Variable[]
14
+ listVariables(): _dependency.Variable[]
16
15
  }
17
-
18
16
  }
19
17
 
20
18
  export type Operator = toa.deployment.Operator
@@ -3,21 +3,19 @@ import type * as _dependency from './dependency.js'
3
3
  import type * as _image from './images/image.js'
4
4
 
5
5
  declare namespace toa.deployment {
6
-
7
6
  interface Registry {
8
- composition (composition: _norm.Composition): _image.Image
7
+ composition(composition: _norm.Composition): _image.Image
9
8
 
10
- service (path: string, service: _dependency.Service): _image.Image
9
+ service(path: string, service: _dependency.Service): _image.Image
11
10
 
12
- prepare (path: string): Promise<string>
11
+ prepare(path: string): Promise<string>
13
12
 
14
- build (): Promise<void>
13
+ build(): Promise<void>
15
14
 
16
- push (): Promise<void>
15
+ push(): Promise<void>
17
16
 
18
- tags (): string[]
17
+ tags(): string[]
19
18
  }
20
-
21
19
  }
22
20
 
23
21
  export type Registry = toa.deployment.Registry
@@ -1,7 +1,6 @@
1
1
  import type * as _deployment from './deployment.js'
2
2
 
3
3
  declare namespace toa.deployment {
4
-
5
4
  interface Ingress {
6
5
  host: string
7
6
  class: string
@@ -15,7 +14,6 @@ declare namespace toa.deployment {
15
14
  /** Annotations for the Service itself, as opposed to `ingress.annotations`. */
16
15
  annotations?: object
17
16
  }
18
-
19
17
  }
20
18
 
21
19
  export type Service = toa.deployment.Service
@@ -5,6 +5,9 @@ export interface Service {
5
5
  group: string
6
6
  name: string
7
7
  version: string
8
+ /** The repository the extension publishes this service's image to, without a tag.
9
+ * Stating it lets an application take the published image instead of building one. */
10
+ image?: string
8
11
  port?: number
9
12
  ingress?: Ingress
10
13
  /** Annotations for the Service itself, as opposed to `ingress.annotations`. */