Skip to content
This repository has been archived by the owner on Feb 13, 2019. It is now read-only.

Configuration

Justin McWilliams edited this page Jan 4, 2016 · 4 revisions

Overview

The path /etc/simian/ is used to store all Simian configurations. This directory must include the configuration file, settings.cfg, as well as several certificates.

A path for editing a working copy of the configuration directory is created by the distribution at PWD/etc/simian/.

Configuration Files

The configuration file /etc/simian/settings.cfg is read by the client each time it runs.

settings.cfg values

Required

  • subdomain: the subdomain to your app. i.e. "example" if your app is available at http://example.appspot.com
  • domain: the domain your app is hosted on. This is typically appspot.com, unless you're using Google App Engine for Business.
  • required_issuer: the DN of the required issuer of your certificates; Simian's server verifies the client certificate was signed by this issuer.

Example

[settings]

subdomain = example 
domain = appspot.com

# The full DN of the CA that Simian certificates are signed by. 
required_issuer = CN=ca-server.example.com

Optional

Simian is designed to harvest necessary machine info from Puppet's "facter" command. The binary simianfacter wraps facter, so that if facter doesn't exist or lacks any of the below configurations the values are pulled from settings.cfg:

  • certname: name of certificate to load from /etc/simian/ssl, omitting the ".pem" extension.
  • primary_user: the primary user of the machine.
    • default: most common user from last -100
  • hostname: the Mac machine name.
    • default: value from Obj-C SystemConfiguration.SCDynamicStoreCopyComputerName
  • configtrack: the Puppet manifest release track, for reporting purposes only; does not effect Simian functionality.
    • default: empty
  • simiantrack: determines which base manifest the client will receive: unstable, testing or stable.
    • default: empty, which the server will treat as "stable"
  • site: the site or campus the machine is located in, for reporting purposes only (i.e. NYC)
    • default: empty
  • location: the location the machine is located in, for reporting purposes only (i.e. US-NYC-LOC1)
    • default: empty

Example

[settings]

subdomain = example 
domain = appspot.com
required_issuer = CN=ca-server.example.com

applesus = true
# Variables to supplement Puppet's facter. 
# Any variables not returned by facter will be populated from the values here.
# For deployments lacking Puppet/facter, these will be used exhaustively.
certname = foo-cert-name
primary_user = foouser
hostname = foohost
configtrack = stable
simiantrack = stable
site = MTV
location = US-MTV-FOO

Validation

Running make client_config from the working directory will validate the above configuration.