=========================== OpenStack Skyline APIServer =========================== .. image:: https://governance.openstack.org/tc/badges/skyline-apiserver.svg :target: https://governance.openstack.org/tc/reference/tags/index.html .. Change things from this point on OpenStack Skyline APIServer is the back-end server of Skyline. Skyline is an OpenStack dashboard optimized by UI and UE, support OpenStack Train+. It has a modern technology stack and ecology, is easier for developers to maintain and operate by users, and has higher concurrency performance. You can learn more about Skyline APIServer at: * `Wiki `__ * `Developer Docs `__ * `Blueprints `__ * `Release notes `__ Getting Started --------------- If you'd like to run from the master branch, you can clone the git repo: git clone https://opendev.org/openstack/skyline-apiserver You can raise bugs on `Launchpad `__ Develop Skyline-apiserver ------------------------- **Support Linux & Mac OS (Recommend Linux OS) (Because uvloop & cython)** Dependent tools ~~~~~~~~~~~~~~~ Use the new feature Context Variables of python37 & uvloop(0.15.0+ requires python37). Considering that most systems do not support python37, we choose to support python38 at least. - make >= 3.82 - python >= 3.8 - node >= 10.22.0 (Optional if you only develop with apiserver) - yarn >= 1.22.4 (Optional if you only develop with apiserver) Install & Run ~~~~~~~~~~~~~ 1. Installing dependency packages .. code:: bash tox -e venv 2. Set skyline.yaml config file .. code:: bash cp etc/skyline.yaml.sample etc/skyline.yaml export OS_CONFIG_DIR=$(pwd)/etc Maybe you should change the params with your real environment as followed: .. code:: yaml - database_url - keystone_url - default_region - interface_type - system_project_domain - system_project - system_user_domain - system_user_name - system_user_password .. If you set such as ``sqlite:////tmp/skyline.db`` for ``database_url`` , just do as followed. If you set such as ``mysql://root:root@localhost:3306/skyline`` for ``database_url`` , you should refer to steps ``1`` and ``2`` of the chapter ``Deployment with MariaDB`` at first. 3. Init skyline database .. code:: bash source .tox/venv/bin/activate make db_sync deactivate 4. Run skyline-apiserver .. code:: console $ source .tox/venv/bin/activate $ uvicorn --reload --reload-dir skyline_apiserver --port 28000 --log-level debug skyline_apiserver.main:app INFO: Uvicorn running on http://127.0.0.1:28000 (Press CTRL+C to quit) INFO: Started reloader process [154033] using statreload INFO: Started server process [154037] INFO: Waiting for application startup. INFO: Application startup complete. You can now access the online API documentation: ``http://127.0.0.1:28000/docs``. Or, you can launch debugger with ``.vscode/lauch.json`` with vscode. 5. Build Image .. code:: bash make build Devstack Integration -------------------- `Fast integration with Devstack to build an environment. <./devstack/README.rst>`__ Kolla Ansible Deployment ------------------------ `Kolla Ansible to build an environment. <./kolla/README.md>`__ |image1| .. |image1| image:: docs/images/nine-color-deer-64.png