Module: Covalence

Defined in:
lib/covalence.rb,
lib/covalence/version.rb,
lib/covalence/sops_tasks.rb,
lib/covalence/spec_tasks.rb,
lib/covalence/consul_tasks.rb,
lib/covalence/environment_tasks.rb,
lib/covalence/core/entities/input.rb,
lib/covalence/core/entities/stack.rb,
lib/covalence/core/state_stores/s3.rb,
lib/covalence/rake/rspec/envs_spec.rb,
lib/covalence/rake/rspec/yaml_spec.rb,
lib/covalence/core/entities/context.rb,
lib/covalence/core/data_stores/hiera.rb,
lib/covalence/core/state_stores/consul.rb,
lib/covalence/core/entities/environment.rb,
lib/covalence/core/entities/state_store.rb,
lib/covalence/helpers/spec_dependencies.rb,
lib/covalence/core/cli_wrappers/sops_cli.rb,
lib/covalence/helpers/shell_interpolation.rb,
lib/covalence/core/cli_wrappers/packer_cli.rb,
lib/covalence/core/cli_wrappers/popen_wrapper.rb,
lib/covalence/core/cli_wrappers/terraform_cli.rb,
lib/covalence/core/services/packer_stack_tasks.rb,
lib/covalence/core/repositories/input_repository.rb,
lib/covalence/core/repositories/stack_repository.rb,
lib/covalence/core/services/hiera_syntax_service.rb,
lib/covalence/core/services/terraform_stack_tasks.rb,
lib/covalence/core/repositories/context_repository.rb,
lib/covalence/core/repositories/environment_repository.rb,
lib/covalence/core/repositories/state_store_repository.rb

Overview

:reek:TooManyConstants

Defined Under Namespace

Modules: Consul, Helpers, HieraDB, S3 Classes: ConsulTasks, Context, ContextRepository, Environment, EnvironmentRepository, EnvironmentTasks, HieraSyntaxService, Input, InputRepository, PackerCli, PackerStackTasks, PopenWrapper, SopsCli, SopsTasks, SpecTasks, Stack, StackRepository, StateStore, StateStoreRepository, TerraformCli, TerraformStackTasks

Constant Summary collapse

WORKSPACE =

Configurable constants TODO: look into how WORKSPACE is being used, maybe this can just be an internal ROOT and make CONFIG not depend on WORKSPACE

File.absolute_path(ENV['COVALENCE_WORKSPACE'] || '.')
CONFIG =
File.join(WORKSPACE, (ENV['COVALENCE_CONFIG'] || 'covalence.yaml'))
PACKER =

TODO: could use better naming

File.absolute_path(File.join(WORKSPACE, (ENV['COVALENCE_PACKER_DIR'] || '.')))
TERRAFORM =
File.absolute_path(File.join(WORKSPACE, (ENV['COVALENCE_TERRAFORM_DIR'] || '.')))
STACK_EXPORT =
File.absolute_path(File.join(WORKSPACE, (ENV['COVALENCE_STACK_EXPORT_DIR'] || './stack-exports')))
TEST_ENVS =
(ENV['COVALENCE_TEST_ENVS'] || "").split(',')
RESERVED_NS =

Reserved namespace including default ci and spec

[(ENV['COVALENCE_RESERVED_NAMESPACE'] || "").split(','), 'ci', 'spec', 'sops']
TERRAFORM_CMD =
ENV['TERRAFORM_CMD'] || "terraform"
TERRAFORM_VERSION =
ENV['TERRAFORM_VERSION'] || `#{TERRAFORM_CMD} version`.split("\n", 2)[0].gsub('Terraform v','')
TERRAFORM_PLUGIN_CACHE =
File.absolute_path("#{ENV['TF_PLUGIN_CACHE_DIR']}/linux_amd64" || "#{ENV['HOME']}/.terraform.d/plugin-cache/linus_amd64")
TERRAFORM_GET_PLUGINS =
(ENV['COVALENCE_TERRAFORM_GET_PLUGINS'] || "true") =~ (/(true|t|yes|y|1)$/i)
PACKER_CMD =
ENV['PACKER_CMD'] || "packer"
SOPS_CMD =
ENV['SOPS_CMD'] || "sops"
SOPS_VERSION =
ENV['SOPS_VERSION'] || (`#{SOPS_CMD} --version`.split("\n", 2)[0].gsub(/[^\d\.]/, '') rescue "0.0.0")
SOPS_ENCRYPTED_SUFFIX =
ENV['SOPS_ENCRYPTED_SUFFIX'] || "-encrypted"
SOPS_DECRYPTED_SUFFIX =
ENV['SOPS_DECRYPTED_SUFFIX'] || "-decrypted"
DRY_RUN_CMD =

No-op shell command. Should not need to modify for most unix shells.

(ENV['COVALENCE_DRY_RUN_CMD'] || "true")
DEBUG_CLI =
(ENV['COVALENCE_DEBUG'] || 'false') =~ (/(true|t|yes|y|1)$/i)
GEM_ROOT =

Internal constants

File.expand_path('covalence', File.dirname(__FILE__)).freeze
LOGGER =

look into logger-colors

Logger.new(STDOUT)
LOG_LEVEL =
String(ENV['COVALENCE_LOG'] || "warn").upcase
WORKER_COUNT =

worker count

ENV.has_key?('WORKER_COUNT') ? ENV['WORKER_COUNT'].to_i : Etc.nprocessors
VERSION =
"0.9.9"