This is the top-level project for the Erlang implementation of OPC's
REST API. It corresponds to the erchef
project in OSC but includes
additional support for multitenancy and role based access controls
(authz).
This project exists to build the oc_erchef
OTP release system and
manage the complete list of dependencies that constitute an
oc_erchef
release.
All files in the repository are licensed under the Apache 2.0 license. If any file is missing the License header it should assume the following is attached;
Copyright 2014 Chef Software Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
All dependencies are locked via rebar.config.lock
. We update the
lock file on master and tag releases off of master.
You can update the lock file (pull in latest versions of dependencies) as follows:
-
Decide if this should be a patch, minor, or major version bump for oc_erchef.
-
Prepare a new release. This removes all local deps, pulls new deps not using the lock file, updates the lock file, compiles, and builds the OTP release, and increments the release version in
rel/reltool.config
based on the value of theBUMP
environment variable. For example, to prepare a minor release:BUMP=minor make prepare_release && rebar commit-release
-
Review the commit log produced via
rebar commit-release
. It will show you which dependencies were added, removed, or changed. For changed deps, it will summarize the changes.
Note that you can perform the above steps on a feature branch of this repo and push that through CI for testing or pull it into an opscode-omnibus build locally (you will need to push your feature branch).