@toa.io/operations 1.0.0-alpha.33 → 1.0.0-alpha.331
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 +378 -0
- package/image/runtime.Dockerfile +20 -0
- package/package.json +10 -10
- package/readme.md +224 -0
- package/src/deployment/.deployment/.describe/components.js +1 -5
- package/src/deployment/.deployment/.describe/compositions.js +26 -7
- package/src/deployment/.deployment/.describe/dependencies.js +1 -6
- package/src/deployment/.deployment/.describe/events.js +63 -0
- package/src/deployment/.deployment/.describe/fold.js +42 -0
- package/src/deployment/.deployment/.describe/fold.test.js +108 -0
- package/src/deployment/.deployment/.describe/index.js +4 -13
- package/src/deployment/.deployment/.describe/mounts.js +17 -0
- package/src/deployment/.deployment/.describe/resources.js +129 -0
- package/src/deployment/.deployment/.describe/resources.test.js +129 -0
- package/src/deployment/.deployment/.describe/services.js +32 -6
- package/src/deployment/.deployment/.describe/services.test.js +78 -0
- package/src/deployment/.deployment/.describe/variables.js +5 -9
- package/src/deployment/.deployment/declare.js +1 -5
- package/src/deployment/.deployment/describe.js +160 -10
- package/src/deployment/.deployment/index.js +3 -9
- package/src/deployment/.deployment/merge.js +66 -6
- package/src/deployment/.deployment/merge.test.js +133 -0
- package/src/deployment/chart/templates/components.configmap.yaml +13 -0
- package/src/deployment/chart/templates/components.yaml +4 -3
- package/src/deployment/chart/templates/compositions.yaml +109 -4
- package/src/deployment/chart/templates/mono.yaml +195 -0
- package/src/deployment/chart/templates/services.yaml +97 -7
- package/src/deployment/chart/values.yaml +23 -1
- package/src/deployment/composition.js +8 -6
- package/src/deployment/deployment.js +175 -35
- package/src/deployment/drain.js +70 -0
- package/src/deployment/drain.test.js +64 -0
- package/src/deployment/factory.js +172 -37
- package/src/deployment/images/bundle.js +93 -0
- package/src/deployment/images/composition.Dockerfile +9 -17
- package/src/deployment/images/composition.js +9 -56
- package/src/deployment/images/dependencies.Dockerfile +23 -0
- package/src/deployment/images/dependencies.js +171 -0
- package/src/deployment/images/dependencies.test.js +271 -0
- package/src/deployment/images/factory.js +31 -15
- package/src/deployment/images/format.js +66 -0
- package/src/deployment/images/format.test.js +150 -0
- package/src/deployment/images/image.fixtures.js +17 -19
- package/src/deployment/images/image.js +79 -38
- package/src/deployment/images/image.test.js +11 -5
- package/src/deployment/images/index.js +1 -5
- package/src/deployment/images/mono.Dockerfile +11 -0
- package/src/deployment/images/mono.js +15 -0
- package/src/deployment/images/publish.js +91 -0
- package/src/deployment/images/runtime-base.test.js +97 -0
- package/src/deployment/images/service.Dockerfile +17 -5
- package/src/deployment/images/service.js +63 -14
- package/src/deployment/index.js +1 -5
- package/src/deployment/operator.js +25 -16
- package/src/deployment/operator.test.js +98 -7
- package/src/deployment/registry.js +210 -46
- package/src/deployment/registry.test.js +539 -0
- package/src/deployment/secrets.js +92 -0
- package/src/deployment/secrets.test.js +180 -0
- package/src/deployment/service.js +4 -6
- package/src/deployment/workspace.js +13 -8
- package/src/index.js +3 -2
- package/src/process.js +51 -13
- package/src/process.test.js +33 -0
- package/types/_deployment/composition.d.ts +2 -3
- package/types/_deployment/dependency.d.ts +15 -7
- package/types/_deployment/deployment.d.ts +10 -8
- package/types/_deployment/factory.d.ts +2 -4
- package/types/_deployment/images/factory.d.ts +6 -8
- package/types/_deployment/images/image.d.ts +16 -1
- package/types/_deployment/images/registry.d.ts +8 -11
- package/types/_deployment/operator.d.ts +10 -9
- package/types/_deployment/registry.d.ts +7 -4
- package/types/_deployment/service.d.ts +4 -3
- package/types/dependency.ts +79 -0
- package/types/index.ts +1 -0
- package/types/dependency.d.ts +0 -39
- package/types/index.d.ts +0 -1
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type { Manifest } from '@toa.io/norm'
|
|
2
|
+
import type { Locator } from '@toa.io/core'
|
|
3
|
+
|
|
4
|
+
export interface Service {
|
|
5
|
+
group: string
|
|
6
|
+
name: string
|
|
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
|
|
11
|
+
port?: number
|
|
12
|
+
ingress?: Ingress
|
|
13
|
+
/** Annotations for the Service itself, as opposed to `ingress.annotations`. */
|
|
14
|
+
annotations?: object
|
|
15
|
+
resources?: Resources
|
|
16
|
+
variables?: Variable[]
|
|
17
|
+
components?: string[]
|
|
18
|
+
probe?: Probe | false
|
|
19
|
+
/** The workloads running this service, when compositions declared it instead of letting
|
|
20
|
+
* it deploy on its own. Set by the deployment, never by an extension. */
|
|
21
|
+
workload?: string[]
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface Variable {
|
|
25
|
+
name: string
|
|
26
|
+
value?: string
|
|
27
|
+
secret?: {
|
|
28
|
+
name: string
|
|
29
|
+
key: string
|
|
30
|
+
optional?: boolean
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface Instance<T> {
|
|
35
|
+
locator: Locator
|
|
36
|
+
manifest: T
|
|
37
|
+
component: Manifest
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export type Instances<T> = Array<Instance<T>>
|
|
41
|
+
|
|
42
|
+
export type Variables = Record<'global' | string, Variable[]>
|
|
43
|
+
export type Mounts = Record<'global' | string, Mount[]>
|
|
44
|
+
|
|
45
|
+
export interface Dependency {
|
|
46
|
+
services?: Service[]
|
|
47
|
+
variables?: Variables
|
|
48
|
+
mounts?: Mounts
|
|
49
|
+
/** Event labels (`namespace.name.event`) this dependency consumes. */
|
|
50
|
+
events?: string[]
|
|
51
|
+
/** Default probe for compositions and services without their own probe. `false` disables. */
|
|
52
|
+
probe?: Probe | false
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
interface Ingress {
|
|
56
|
+
/** Path prefix this service claims on the host. Defaults to `/`. */
|
|
57
|
+
path?: string
|
|
58
|
+
default?: boolean
|
|
59
|
+
hosts?: string[]
|
|
60
|
+
class?: string
|
|
61
|
+
annotations?: object
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface Probe {
|
|
65
|
+
port: number
|
|
66
|
+
path: string
|
|
67
|
+
delay?: number
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
interface Mount {
|
|
71
|
+
name: string
|
|
72
|
+
path: string
|
|
73
|
+
claim: string
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export interface Resources {
|
|
77
|
+
cpu: string[]
|
|
78
|
+
memory: string[]
|
|
79
|
+
}
|
package/types/index.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './dependency.ts'
|
package/types/dependency.d.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
export type Service = {
|
|
2
|
-
group: string
|
|
3
|
-
name: string
|
|
4
|
-
version: string
|
|
5
|
-
port: number
|
|
6
|
-
ingress: Ingress
|
|
7
|
-
variables: Variable[]
|
|
8
|
-
components?: string[]
|
|
9
|
-
probe?: Probe
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export type Variable = {
|
|
13
|
-
name: string
|
|
14
|
-
value?: string
|
|
15
|
-
secret?: {
|
|
16
|
-
name: string,
|
|
17
|
-
key: string
|
|
18
|
-
optional?: boolean
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export type Variables = Record<'global' | string, Variable[]>
|
|
23
|
-
|
|
24
|
-
export type Dependency = {
|
|
25
|
-
services?: Service[]
|
|
26
|
-
variables?: Variables
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
type Ingress = {
|
|
30
|
-
hosts: string[]
|
|
31
|
-
class?: string
|
|
32
|
-
annotations?: object
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
interface Probe {
|
|
36
|
-
port: number
|
|
37
|
-
path: string
|
|
38
|
-
delay?: number
|
|
39
|
-
}
|
package/types/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './dependency'
|