0.24.0-alpha.0 • Published 13 days ago

@toa.io/pointer v0.24.0-alpha.0

Weekly downloads
-
License
MIT
Repository
github
Last release
13 days ago

Pointer

Library to declare, deploy and resolve URL to connect to at the runtime. Used by connectors.

Pointer class

Pointer builds URL for a given locator, protocol and a package prefix. Prefix must be unique value for a given package conforming label format (ex.: bindings-ampq).

Constructor signature

Local Environment

If TOA_ENV is local then these values are used:

PropertyValue
hostnamelocalhost
usernamedeveloper
passwordsecret

In the local environment there is no way to provide values for protocol or port.

See types and tests for details.

Annotation

Declaration of a set of hosts, matching exact components, namespaces with a default value for non-matched ones.

something:
  default: protocol://host1
  namespace1: protocol://host2
  namespace1.component1: protocol://host3
  namespace2.component2: protocol://host4

See the schema.

Concise Declaration

Next two declarations are equivalent.

something: host1
something:
  default: host1

Usage

const { uris } = require('@toa.io/pointer')

const annotation = uris.construct(declaration)
const url = uris.resolve(annotation, locator)

See types and tests for details.

Custom Extensions

Packages using Pointer Annotation may use or require additional properties. See Deployment Extensions below.

Deployment

Deployment function builds global^1 variables: containing Annotation and a set of variables for pointer credentials.

See types and tests for details.

Credentials

Each entry of the Annotation requires values for username and password. These values are being deployed as global^1 secret variables. Secret names are following the convention: toa-package-prefix-entry-label and key names match corresponding URL properties (username and password).

Note that declaration is made of Locator.id while secret names contain Locator.label. See Locator.

Example

# context.toa.yaml
amqp:
  default: amqp://host0
  dummies.dummy: amqps://host1:5671
$ toa conceal bindings-amqp-default username admin
$ toa conceal bindings-amqp-default password ibreakthings
$ toa conceal bindings-amqp-dummies-dummy username developer
$ toa conceal bindings-amqp-dummies-dummy password iluvtests

See toa conceal.

Extensions

For each custom extension additional proxy is being deployed.

Example

AMQP binding is a systematic binding used by the runtime. That is a system proxy must be deployed and compositions require variables to establish connection through that proxy.

Therefore, AMQP binding declares a system extension and deployment function declares additional proxy bindings-amqp-system.

^1: #174

1.0.0-alpha.34

13 days ago

1.0.0-alpha.33

13 days ago

1.0.0-alpha.36

13 days ago

1.0.0-alpha.35

13 days ago

1.0.0-alpha.32

15 days ago

1.0.0-alpha.30

18 days ago

1.0.0-alpha.31

17 days ago

1.0.0-alpha.29

18 days ago

1.0.0-alpha.27

23 days ago

1.0.0-alpha.28

23 days ago

1.0.0-alpha.26

1 month ago

1.0.0-alpha.25

1 month ago

1.0.0-alpha.24

2 months ago

1.0.0-alpha.23

2 months ago

1.0.0-alpha.22

2 months ago

1.0.0-alpha.21

2 months ago

1.0.0-alpha.20

2 months ago

1.0.0-alpha.19

2 months ago

1.0.0-alpha.18

2 months ago

1.0.0-alpha.17

2 months ago

1.0.0-alpha.16

2 months ago

1.0.0-alpha.15

2 months ago

1.0.0-alpha.14

2 months ago

1.0.0-alpha.13

2 months ago

1.0.0-alpha.12

3 months ago

1.0.0-alpha.10

3 months ago

1.0.0-alpha.11

3 months ago

1.0.0-alpha.9

3 months ago

1.0.0-alpha.8

3 months ago

1.0.0-alpha.7

3 months ago

1.0.0-alpha.6

3 months ago

1.0.0-alpha.5

3 months ago

1.0.0-alpha.4

3 months ago

1.0.0-alpha.3

3 months ago

1.0.0-alpha.2

3 months ago

0.24.0-alpha.23

3 months ago

0.24.0-alpha.22

3 months ago

0.24.0-alpha.21

3 months ago

0.24.0-alpha.20

3 months ago

0.24.0-alpha.19

3 months ago

0.24.0-alpha.16

5 months ago

0.24.0-alpha.17

5 months ago

0.24.0-alpha.18

5 months ago

0.24.0-alpha.15

6 months ago

0.24.0-alpha.13

6 months ago

0.24.0-alpha.14

6 months ago

0.23.0-dev.0

7 months ago

0.20.0

7 months ago

1.0.0-alpha.0

6 months ago

0.20.0-dev.29

11 months ago

0.24.0-alpha.4

6 months ago

0.24.0-alpha.3

6 months ago

0.24.0-alpha.10

6 months ago

0.24.0-alpha.6

6 months ago

0.24.0-alpha.11

6 months ago

0.24.0-alpha.5

6 months ago

0.24.0-alpha.12

6 months ago

0.24.0-alpha.8

6 months ago

0.24.0-alpha.7

6 months ago

0.24.0-alpha.9

6 months ago

0.24.0-alpha.0

6 months ago

0.24.0-alpha.2

6 months ago

0.22.0

7 months ago

0.20.0-dev.40

9 months ago

0.20.0-alpha.0

8 months ago

0.20.0-alpha.1

8 months ago

0.20.0-alpha.2

7 months ago

0.20.0-dev.36

9 months ago

0.20.0-dev.35

9 months ago

0.20.0-dev.34

9 months ago

0.20.0-dev.39

9 months ago

0.20.0-dev.38

9 months ago

0.20.0-dev.37

9 months ago

0.20.0-dev.31

11 months ago

0.20.0-dev.30

11 months ago

0.20.1-alpha.0

7 months ago

0.20.0-dev.28

11 months ago

0.20.0-dev.24

11 months ago

0.20.0-dev.23

11 months ago

0.20.0-dev.22

11 months ago

0.20.0-dev.21

11 months ago

0.20.0-dev.20

11 months ago

0.20.0-dev.19

11 months ago

0.20.0-dev.14

12 months ago

0.20.0-dev.18

11 months ago

0.20.0-dev.17

11 months ago

0.20.0-dev.16

11 months ago

0.20.0-dev.15

12 months ago

0.8.4-alpha.56

12 months ago

0.8.4-canary.0

12 months ago

0.8.3-dev.0

1 year ago

0.8.4-canary.1

12 months ago

0.20.0-dev.7

12 months ago

0.20.0-dev.6

12 months ago

0.20.0-dev.5

12 months ago

0.8.2-dev.1

1 year ago

0.20.0-dev.4

12 months ago

0.8.2-dev.0

1 year ago

0.20.0-dev.3

12 months ago

0.20.0-dev.2

12 months ago

0.20.0-dev.1

12 months ago

0.8.4-dev.13

12 months ago

0.8.4-dev.15

12 months ago

0.8.4-dev.16

12 months ago

0.8.4-dev.10

12 months ago

0.8.4-dev.11

12 months ago

0.8.4-dev.12

12 months ago

0.20.0-dev.9

12 months ago

0.20.0-dev.8

12 months ago

0.20.0-dev.13

12 months ago

0.20.0-dev.12

12 months ago

0.20.0-dev.11

12 months ago

0.20.0-dev.10

12 months ago

0.8.4-dev.8

1 year ago

0.8.4-dev.9

1 year ago

0.8.4-dev.6

1 year ago

0.8.4-dev.7

1 year ago

0.8.4-dev.4

1 year ago

0.8.4-dev.5

1 year ago

0.8.4-dev.2

1 year ago

0.8.4-dev.3

1 year ago

0.8.4-dev.0

1 year ago

0.9.0-canary.2

12 months ago

0.8.4-dev.1

1 year ago

0.8.3

1 year ago

0.8.2

1 year ago

0.7.2-dev.0

1 year ago

0.8.0-dev.1

1 year ago

0.8.0-dev.0

1 year ago

0.7.0-dev.0

1 year ago

0.7.0-dev.1

1 year ago

0.7.0-dev.2

1 year ago

0.8.0-dev.5

1 year ago

0.8.0-dev.4

1 year ago

0.8.0-dev.3

1 year ago

0.8.0-dev.2

1 year ago

0.6.0-dev.2

1 year ago

0.7.1-dev.0

1 year ago

0.8.1-dev.0

1 year ago

0.8.1

1 year ago

0.8.1-dev.2

1 year ago

0.8.1-dev.1

1 year ago

0.8.0

1 year ago

0.7.1

1 year ago

0.7.1-dev.2

1 year ago

0.7.0

1 year ago

0.6.0

1 year ago

0.6.0-dev.1

1 year ago

0.4.0

1 year ago

0.4.0-dev.9

1 year ago

0.4.0-dev.8

1 year ago

0.4.0-dev.6

1 year ago

0.4.0-dev.2

1 year ago

0.4.0-dev.0

1 year ago

0.3.0

1 year ago

0.2.1-dev.4

1 year ago

0.2.1-dev.3

1 year ago