@openreply/ecs-inspector

1.0.0 • Public • Published

AWS ECS Inspection

this node module allows you to retrieve information about an ecs instance for the current process.

During discovery this module will perform several http calls against the local ecs agent and the ec2 metadata service. AWS throttles queries to the instance metadata service on a per-instance basis and places limits on the number of simultaneous connections from an instance to the instance metadata service.

Getting Started

Installing

you can install this package via npm

npm i @openreply/ecs-inspector

Usage

const inspector = require('@openreply/ecs-inspector');
// using the promise interface
inspector().then( result => console.log(result) ).catch( error => console.error(error.message) );
// using callbacks
inspector({callback: (err, result) => {
  if (err) {
    return console.error(err.message);
  }
  console.log(result);
}});

Example result

{
  cluster: 'default',
  arn: 'arn:aws:ecs:eu-central-1:123456789012:task/9c621769-1a09-42c7-8d5d-2ba3319682c7',
  dockerId: '2418684f95999553475079f1c6845f5b6cc99a057cbe680a82ad3396db799542',
  containerName: 'service-b',
  ports: [{
    protocol: 'tcp',
    container: 3000,
    host: 36092
  }],
  publicHostname: 'some-host.example.com',
  publicIpv4: '134.102.200.14',
  localHostname: 'private-hostname.internal',
  localIpv4: '10.0.1.10'
}

ECSTaskInformationPortInfo : Object

Kind: global typedef
Properties

Name Type Description
protocol string protocol used e.g. tcp
container number port on the container side
host number port on the host side

ECSTaskInformation : Object

Kind: global typedef
Properties

Name Type Description
arn string aws arn uniquely identifying the task
cluster string name of the cluster
dockerId string docker id
containerName string name of the container
publicHostname string public dns domain name of the ec2 instance (if available)
publicIpv4 string public ipv4 address of the ec2 instance (if available)
localHostname string private dns domain name of the ec2 instance (if available)
localIpv4 string private ipv4 address of the ec2 instance (if available)
ports Array. docker to host port mapping

See the API documentation for more details.

Running the tests

You can run the test suite via

npm test

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See also the list of authors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

References

Package Sidebar

Install

npm i @openreply/ecs-inspector

Weekly Downloads

2

Version

1.0.0

License

MIT

Unpacked Size

1.07 MB

Total Files

52

Last publish

Collaborators

  • reply-prustic
  • mthoden
  • ihojdanic-reply
  • dcuturilo
  • thomasdorfer
  • k.seehrich
  • pranavea
  • d.tuksar-or
  • karl_rep
  • laszlotarkanyi
  • laurentiu.ilici
  • obi-companion-bots
  • vinidilavari
  • leandrofernandes
  • kpollock-reply
  • keklireply
  • i.sahoo
  • tim1797
  • leoven26
  • a.saidani
  • molitor
  • poppe-neofonie
  • melissa.schmidt
  • j.zaengle
  • kasmamytov
  • timkranich-reply
  • srt-order-bots
  • f.ferko
  • egidiocarbone
  • lxkrmr
  • m.kallert
  • sarvsingh
  • flolu
  • maira.diaz
  • b.akupuome
  • agrawalramakant
  • christiansutter
  • mic.takac
  • rodion.hagin.reply
  • g.fathallah
  • tabea_schuster_reply
  • sophia99
  • paulakwlk
  • dcoune
  • arminjazi
  • pooriakarimi
  • esahin90
  • dconradobi
  • schokriben
  • s.walsen
  • mzwigl
  • driedel
  • fschaper
  • mathiaslam
  • fjunge-reply
  • or-dleinhaeuser
  • timhannemannreply
  • t.meier
  • h.hamm
  • r.arzaroli
  • sscheinert
  • eugenk
  • arditshala
  • mhorn
  • erikstoll
  • ovstackelberg
  • v_yilmaz
  • romedius_reply
  • sebastianwernicke
  • r.nevet
  • ralfboesch