Materialized Gem Sources

Usually, you add a configset to your Gemfile to make it available for use. Sometimes configsets are not specified by you though. Instead they are inferred by a blueprint or dependency of another configset. These types of configsets are automatically downloaded. These are known as “materialized” configsets.

Setting Materialized Source

The source for materialized configsets can be control in a few ways. Here they are in the order of highest to lowest precedence.

  1. configset option
  2. Environment Variable
  3. configs/settings.yml

configset option

configset("cfn-hup", resource: "Instance", source: "git@github.com:boltopspro/cfn-hup")

Environment

Setting the LONO_MATERIALIZED_GEMS_SOURCE env variable will set the source. Example:

export LONO_MATERIALIZED_GEMS_SOURCE=git@github.com:boltopspro

configs/settings.yml

Setting the materialized_gems.source settings will set the source. Example:

base:
  materialized_gems:
    source: git@github.com:boltopspro

Materialized source GitHub orgs support

Notice with the “configset option”, you specify the full source with the repo name. With the Environment and configs/settings.yml, you do not specify the repo name.

Materialized sources are not typical Gemfile gem sources. They infer the repo name from the configset name. If the repo name is different from configset, then you can explicitly specify repo in the configset definition. Example:

app/blueprints/ec2/config/configsets.rb:

configset "cfn-hup", resource: "Instance", repo: "cfn-hup-repo"

Pro tip: Use the <- and -> arrow keys to move back and forward.

Edit this page

See a typo or an error? You can improve this page. This website is available on GitHub and contributions are encouraged and welcomed. We love pull requests from you!