# Moon __Version 4.3__ This directory contains all the modules for running the Moon platform. ## Platform ### Setup - [Docker installation](tools/moon_kubernetes/README.md) - [kubeadm installation](tools/moon_kubernetes/README.md) - [Moon deployment](tools/moon_kubernetes/README.md) - [OpenStack deployment](tools/openstack/README.md) ### Micro-service Architecture The Moon platform is composed on the following components/containers: - *consul*: a Consul configuration server - *db*: a MySQL database server - *keystone*: a Keystone authentication server - [gui](moon_gui/README.md): a Moon web interface - [manager](moon_manager/README.md): the Moon manager for the database - [orchestrator](moon_orchestrator/README.md): the Moon component that manage pods in te K8S platform - [wrapper](moon_wrapper/README.md): the Moon endpoint where OpenStack component connect to. ## Manipulation ### moon_gui The web access of Moon is through the URL `http://$MOON_HOST:30002` with the login and password of Keystone. The default login and password can be found here: `http://$MOON_HOST:30005/ui/#/dc1/kv/openstack/keystone/edit`. **WARNING: the password is in clear text, this is a known security issue.** ### moon_manager The REST access of Moon is through `http://$MOON_HOST:30001` **WARNING: By default, no login/password will be needed because of the configuration which is in DEV mode.** For more security, update `http://$MOON_HOST:30005/ui/#/dc1/kv/openstack/keystone/edit` by modifying the `check_token` argument to `yes` Requests to Moon API must include a valid token taken from Keystone in the header of `X-Auth-Token`. Check if the Manager API is running with: ```bash curl http://$MOON_HOST:30001 curl http://$MOON_HOST:30001/pdp curl http://$MOON_HOST:30001/policies ``` ## Tests - [Python Unit Test](tests/python_unit/README.md) - [Functional Test](tests/functional/README.md) ## Annexe ### Authentication If you configured the authentication in the Moon platform: ```bash curl -i \ -H "Content-Type: application/json" \ -d ' { "auth": { "identity": { "methods": ["password"], "password": { "user": { "name": "admin", "domain": { "id": "default" }, "password": "" } } }, "scope": { "project": { "name": "admin", "domain": { "id": "default" } } } } }' \ "http://moon_hostname:30006/v3/auth/tokens" ; echo curl --header "X-Auth-Token: " http://moon_hostname:30001 curl --header "X-Auth-Token: " http://moon_hostname:30001/pdp curl --header "X-Auth-Token: " http://moon_hostname:30001/policies ```