Please note this is alpha software.
The Helix Web Services are a group of microservices used to provide additional features and easier application integration on a Helix Versioning Engine.
Official deployment and documentation is in progress.
Our bootstrapping system will set up a single machine with all required services.
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ ┌───┐ │
│ │ │ ┌─────────────────────────────────┐ ┌────┐ │
│ │ ├──▶ p4_web_api (Unicorn) ┣━━━━━━━━━━━━━━━━━━━━━━━━━▶p4d │ │
│ │ │ └─────────────────────────────────◀ ─ ┐ ┏━━━━━━━━━━━┻━━──┘ │
│ │ │ ┃ │
│ │ │ ┌─────────────────────────────────┐ │ ┃ │
│ │ ├──▶ p4_project_services (Puma) ├────────────┐┃ │
│ │ │ └─────────────────────────────────◀ ─ ┤ │┃ ┌───────────────────────────────┐ │
│ │ n │ │┃ │ project_services DB │ │
│ │ g │ ┌─────────────────────────────────┐ │ └╋───────────▶ (PostgreSQL) │ │
│ │ i ├──▶ p4_phoenix_services (Puma) ├────────────┐┃ └───────────────────────────────┘ │
│ │ n │ └─────────────────────────────────◀ ─ ┤ │┃ ┌───────────────────────────────┐ │
│ │ x │ │┃ │ phoenix_services DB │ │
│ │ │ ┌─────────────────────────────────┐ │ └╋───────────▶ (PostgreSQL) │ │
│ │ ├──▶ phoenix_updater (EM-WebSocket) ◀ ─ ─ ┃ └───────────────────────────────┘ │
│ │ │ └─────────────────────────────────┘ │ ┃ ┌───────────────────────────────┐ │
│ │ │ ┌╋───────────▶ notification_services DB │ │
│ │ │ ┌─────────────────────────────────◀━━━╋━━━━━━━━╋┛ │ (PostgreSQL) │ │
│ │ ├──▶ notification_services (Puma) ◀ ─ ─ │ └───────────────────────────────┘ │
│ │ │ └─────────────────────────────────┴───┼────────┤ │
│ │ │ │ │
│ └───┘ │ │ ┌───────────────────────────────┐ │
│ └────────────▶ notification_queue (Redis) │ │
│ ┌───┴───────────┐ └───────────────────────────────┘ │
│ │ │ │
│ │ god │ │
│ │ │ │
│ └───────────────┘ │
│ │
│ │
│ │
│ │
│ │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Helix Web Services (HWS) ------------------------ Please note this is **alpha** software. The Helix Web Services are a group of microservices used to provide additional features and easier application integration on a Helix Versioning Engine. Official deployment and documentation is in progress. ## Architectural Overview Our bootstrapping system will set up a single machine with all required services. ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ ┌───┐ │ │ │ │ ┌─────────────────────────────────┐ ┌────┐ │ │ │ ├──▶ p4_web_api (Unicorn) ┣━━━━━━━━━━━━━━━━━━━━━━━━━▶p4d │ │ │ │ │ └─────────────────────────────────◀ ─ ┐ ┏━━━━━━━━━━━┻━━──┘ │ │ │ │ ┃ │ │ │ │ ┌─────────────────────────────────┐ │ ┃ │ │ │ ├──▶ p4_project_services (Puma) ├────────────┐┃ │ │ │ │ └─────────────────────────────────◀ ─ ┤ │┃ ┌───────────────────────────────┐ │ │ │ n │ │┃ │ project_services DB │ │ │ │ g │ ┌─────────────────────────────────┐ │ └╋───────────▶ (PostgreSQL) │ │ │ │ i ├──▶ p4_phoenix_services (Puma) ├────────────┐┃ └───────────────────────────────┘ │ │ │ n │ └─────────────────────────────────◀ ─ ┤ │┃ ┌───────────────────────────────┐ │ │ │ x │ │┃ │ phoenix_services DB │ │ │ │ │ ┌─────────────────────────────────┐ │ └╋───────────▶ (PostgreSQL) │ │ │ │ ├──▶ phoenix_updater (EM-WebSocket) ◀ ─ ─ ┃ └───────────────────────────────┘ │ │ │ │ └─────────────────────────────────┘ │ ┃ ┌───────────────────────────────┐ │ │ │ │ ┌╋───────────▶ notification_services DB │ │ │ │ │ ┌─────────────────────────────────◀━━━╋━━━━━━━━╋┛ │ (PostgreSQL) │ │ │ │ ├──▶ notification_services (Puma) ◀ ─ ─ │ └───────────────────────────────┘ │ │ │ │ └─────────────────────────────────┴───┼────────┤ │ │ │ │ │ │ │ └───┘ │ │ ┌───────────────────────────────┐ │ │ └────────────▶ notification_queue (Redis) │ │ │ ┌───┴───────────┐ └───────────────────────────────┘ │ │ │ │ │ │ │ god │ │ │ │ │ │ │ └───────────────┘ │ │ │ │ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#10 | 17194 | tjuricek | Remove obsolete instructions and links. | ||
#9 | 15686 | tjuricek | Removed Qt SDK (will be maintained with Helix Sync), updated README | ||
#8 | 15622 | tjuricek |
Move source code to 'source/' subdirectory of branch. build/ will remain where it is. |
||
#7 | 13974 | tjuricek |
Moving 'ui/static' to 'helix_web_components' project, and altering some notes. Also, removed obsolete top-level Rake tasks. The "Helix Web Components" project will likely get moved elsewhere in the future. |
||
#6 | 13558 | tjuricek | Removing the text diagram (looks horrible) and replacing with just a list. | ||
#5 | 13557 | tjuricek |
Revise the README.md Right now just want a basic overview of what the project is for people to gain basic understanding. Real documentation is underway with an Asciidoc conversion. |
||
#4 | 13520 | tjuricek |
Created a 'cluster' build procedure that creates an installer on build, and executes the install on a test instance. The main change is to package all gem dependencies via 'vendor/cache' (using the 'bundle package' command). Right now, there appears to be an issue with test data initialization, which may need a revised approach. |
||
#3 | 13519 | tjuricek |
Added a 'buildmaster' environment. The 'buildmaster' sets up Ruby locally for doing some work via Rake. Additional steps are now being figured out in the README.md, which may end up being a bash script that executes on the master. |
||
#2 | 13518 | tjuricek | Revised the 'build' environment to not hard-code the vagrant user, and not assume we have the p4ws tree available for state.highstate. | ||
#1 | 13514 | tjuricek |
Revised some of the p4_web_api tests to work under the installed 'production' perforce system. Notes on data resets: sudo p4dctl stop helix-evaluation sudo rm -rf /var/lib/perforce/p4d sudo /opt/perforce/sbin/configure-perforce-server.sh helix-evaluation -n -p 1666 -r /var/lib/perforce/p4d -u super -P 'superuser1A!' --unicode sudo su webservices /home/webservices/.rvm/wrappers/ruby-2.2.2@p4webapi/p4util init -p :1666 /home/vagrant/p4ws/p4init |
||
//guest/perforce_software/helix-web-services/main/README | |||||
#1 | 13412 | tjuricek |
Initial version of the web-services mainline. This is a collection of several projects, that will likely often get released together, though many of them may not always be relevant. See the README for more information. |