helix_web_services.gemspec #5

  • //
  • guest/
  • perforce_software/
  • helix-web-services/
  • main/
  • source/
  • helix_web_services/
  • helix_web_services.gemspec
  • Commits
# Change User Description Committed
#5 17271 tjuricek Remove deprecated Ruby implementation.
#4 16285 tjuricek Deploy/install improvements

- Include nginx in Omnibus distribution, do not conflict with system nginx install

- Use old-school sysvinit scripts

- Create 'hws_launch' wrapper to initiate nginx and unicorn, which also reads system config file for settings
#3 15969 tjuricek Add support for repo creation/update and deletion, same for SSH keys.

Add util module for supporting methods, modify temp client to dissapear.

(Modified submit of review 15549 by @ptomiak)
#2 15724 tjuricek Removed sequel and sqlite dependencies
#1 15622 tjuricek Move source code to 'source/' subdirectory of branch.

build/ will remain where it is.
//guest/perforce_software/helix-web-services/main/helix_web_services/helix_web_services.gemspec
#8 15077 tjuricek Add new 'model' technique, revised branch spec operations, test Auth::Middleware.

The Ruby client now does *not* strictly type anything, but extends OpenStruct with helper methods to help deal with inconsistent data formats.
See the OpenModel class documentation for more details.

The Auth::Middleware class is also *finally* implemented as well. This does not take into account all possible variations of server behavior (yet), but that will happen in follow-up work.
#7 15032 tjuricek Starting config and doc revisions.
System is now broken while revisions underway.

Configuration of the p4d connection is now done via a single HWSSettings middleware object injected into the Rack env.

The HWSP4Cleanup middleware now cleans up any p4 injected into the Rack env.

The Auth::App class now mostly just contains one method to generate a p4 ticket. /auth/v1/login.

Added yard documentation for the main project.

Yard docs have been reconfigured to dump into build/ directories. This should probably be done with each release. Hm...

The top level rake file contains a task, 'all:doc', to update our documentation. This should probably be run for each checkin. Hm...

Specs are now using Rack::Test on top of a 'live' p4d. I'd suggest you still use the p4util mechanism, which now dumps to a /tmp folder, so we can safely add P4IGNORE rules back into your local .p4config file.

Old 'perforce' application now called 'helix_versioning_engine'.

Removing cache data. Helix Sync may be slow. It may also get axed. We'll see.
#6 14932 tjuricek CentOS 6 deployment support.

I need a reliable way of detecting platform information. So I'm installing ohai, which comes from Chef, and seems to be a stable way of determing things like "I'm running on CentOS 6.5".
#5 14841 tjuricek Add *very basic* shell script wrappers to configure and launch the unicorn server.

hws_configure: post-install script to setup or migrate the DB

helix_web_services: bash script to point out the embedded Ruby setup

This is far from complete, just the next step in getting to a basic package-based deployment.
#4 14192 tjuricek Starting work on running tests via the command line again.

The current system seems to run into problems with local .p4config settings. I'm investigating workarounds. We may need to move "working folders" into a location outside of this tree by default.
#3 13891 tjuricek Added a 'member' concept to projects.

members is the start of a basic project 'role' definition. In Helix sync, this is mostly just used to indicate this is a "my Project" in the UI and a project member can have the ability to leave the project or add someone else.

Eventually, we expect "members" to mean more, like, is part of a group that has write access to the files of the project. But that sort of definition is very TBD.
#2 13839 tjuricek Conversion of the p4_project_service microservice to new monolithic system.

This may not have an HTTP front end in the monolithic system. Project services are really just about how the core object model is structured. It's likely that each application will add their own wrinkles and extensions to the system, so it's unlikely we'll need a generic "project model".

Exactly how extensions are registered and used is still a bit TBD at the moment. Previously they were to be registered webhooks, that model may change.

Does not include tests yet.
#1 13799 tjuricek Start with branch specs hosting in a new monolithic 'helix web services' project.

Converting from a microservice to a monolithic architecture due to resource constraints at getting a deployable system running. Additionally, since it's not expected that people will upgrade often, the major benefit of microservices - being able to add services individually without affecting others - is not really a major benefit.

The Ruby SDK will be consolidated into a single 'helix web services client' project. It may end up being distributed via Rubygems.

This only runs branch specs at the moment. I want to get a CD pipeline setup for the monolithic server before revising more methods.