The Network-Manager is the component in charge of:
- costumer and application network management, which includes network creation, deletion, retrieval, and listing.
- create and manage connections between applications
- member authorization to join these networks.
- DNS entry central management, which includes DNS entry creation, deletion, and listing.
The Network-Manager includes the following sub-components:
- Network-Manager Server
- Networking-Client
- DNS-Client
To launch the Network-Manager Server run:
$ ./bin/network-manager run --ztaccesstoken <ztaccesstoken> --consoleLogging --debug
Detail any component that has to be installed to run this component.
- dns-server-ui: Network manager accesses dns-server to manage DNS entries
- system-model: Network manager accesses it to ask, update, remove, etc. the entities related to the network
- nalej-bus: Network manager sends and consumes messages from the bus. These messages are applications events to manage the connections between applications and network operations to manage the network
In order to build and compile this repository use the provided Makefile:
make all
This operation generates the binaries for this repo, download dependencies, run existing tests and generate ready-to-deploy Kubernetes files.
Tests are executed using Ginkgo. To run all the available tests:
make test
Dependencies are managed using Godep. For an automatic dependencies download use:
make dep
In order to have all dependencies up-to-date run:
dep ensure -update -v
Networking-Client
Keep in mind that the System-Model must be running to execute these commands.
- Add network:
$ ./bin/networking-cli add --name <networkName> --orgid <organizationID> --consoleLogging --debug
- Delete network:
$ ./bin/networking-cli delete --netid <networkID> --orgid <organizationID> --consoleLogging --debug
- Get network:
$ ./bin/networking-cli get --netid <networkID> --orgid <organizationID> --consoleLogging --debug
- List networks:
$ ./bin/networking-cli list --orgid <organizationID> --consoleLogging --debug
- Authorize member:
$ ./bin/networking-cli authorize --orgid <organizationID> --netid <networkID> --memberid <memberID> --consoleLogging --debug
DNS-Client
Again, System-Model must be running to execute these commands.
- Add entry:
$ ./bin/dns-cli add --fqdn <FQDN> --ip <IP> --netid <networkID> --consoleLogging --debug
- Delete entry:
$ ./bin/dns-cli delete --fqdn <FQDN> --orgid <organizationID> --consoleLogging --debug
- List entries:
$ ./bin/dns-cli list --orgid <organizationID> --consoleLogging --debug
More options are available on all commands. Run -h
or --help
at any point in the command to see all available options.
Ignore this entry if it does not apply.
Please read contributing.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
See also the list of contributors who participated in this project.
This project is licensed under the Apache 2.0 License - see the LICENSE-2.0.txt file for details.