Weblinc CLI 1.0.8 (2018-06-28)

  • WLIT-3688: added intermediate certificate from let's encrypt to the OpenVPN configuration Jason Hill

  • use specified env_class if defined for terraform env_builder

    when generating an environment settings file for terraform, use the predefined env_class if it exists, otherwise get the env_class defined for the client_environment.

    Resolves: CLI-146 William Ferri

  • WLIT-3688: joined properly- feedback from code review Jason Hill

  • WLIT-3688: more rubocop fixes Jason Hill

  • WLIT-3688: rubocop fixes Jason Hill

  • WLIT-3688:

    • Restrict cipher suites, TLS in OpenVPN
    • Restrict ciphers, macs in SSH
    • Use Let's Encrypt to get a valid certificate for OpenVPN's public face Jason Hill
  • Update documentation for new app generator

    Noticed a couple mistakes in the docs for the new new commands.

    CLI-137 Tom Scott

Weblinc CLI 1.0.7 (2018-06-13)

  • CLI-144 - Fix YAML Safe Load issue Alex Knight

Weblinc CLI 1.0.6 (2018-06-13)

  • CLI-144 - Fix YAML Safe Load issue Alex Knight

Weblinc CLI 1.0.6 (2018-05-22)

  • Generate new applications and plugins

    Codifies the recommended generation strategy into a single command. Isolates Ruby and Workarea/Rails dependencies into their own directory, and allows for overriding all aspects of generation. When generating apps, a symlink is created into ~/.puma-dev if the user has one, and rails restart is invoked, letting one get to work immediately. Apps can also choose what plugins to install by specifying --plugins=api clothing wish_lists. For both plugins and apps, passing --version=3.1 specifies an exact version of Workarea to install. You can also pass --no-seed to prevent seeding the app when you initially install.

    To generate a new host application:

    workarea new app NAME [--version=WORKAREA_VERSION] [--no-seed] [--plugins=PLUGIN_NAME ANOTHER_PLUGIN_NAME] [--ruby-version=2.5.0]
    

    To generate a new plugin:

    workarea new plugin NAME [--version=WORKAREA_VERSION] [--no-seed] [--plugins=PLUGIN_NAME ANOTHER_PLUGIN_NAME] [--ruby-version=2.5.0]
    

    CLI-137 Tom Scott

Weblinc CLI 1.0.5 (2018-04-12)

  • Merge branch 'improvement/CLI-126-s3-env-config' of ssh://stash.tools.weblinc.com:7999/wli/weblinc-cli Matt Martyn

  • Move application environment configuration file into S3 and out of app repo.

    CLI-126 Thomas Vendetta

Weblinc CLI 1.0.4 (2018-04-02)

Weblinc CLI 1.0.4 (2018-04-02)

  • CLI-136 - whitelisting Symbol in yaml safe_load Matt Martyn

  • CLI-105 - Command to check running sidekiq jobs Matt Martyn

Weblinc CLI 1.0.3 (2018-03-05)

  • CLI-133 - check for existence of the maintenance window to flip on auto patching Matt Martyn

  • CLI-132 - moving operations commands out of general view as permissions will need to be figured out around running them Matt Martyn

  • CLI-131 - Fixes the update check Matt Martyn

  • CLI-127 - allowing version to be passed into create environment Matt Martyn

  • Return empty array if redis cache cluster not found in ElastiCache

    The CLI attempts to pull default JSON values from the VPC CloudFormation stack for the update_json command. This update catches the error and returns an empty array.

    CLI-125 William Ferri

  • CLI-80 - use the same ami of the other running app servers, if there are none then use the latest ami Matt Martyn

  • Add command that allows users to view the public key used for deploy/read-only users.

    CLI-124 Thomas Vendetta

  • CLI-117 - adding more validation to make sure user is in a weblinc project while creating a new environment

    Rubocop update Matt Martyn

  • CLI-117 - adding more validation to make sure user is in a weblinc project while creating a new environment

    If the user isn't in a weblinc project the process will fail when it goes to create the stack json since it don't have a gemfile Matt Martyn

  • CLI-84 - Enforcing 30 character max on pull zone name Matt Martyn

  • CLI-84 - enforcing that url has a protocol Matt Martyn

  • CLI-123 - imposing an order on the mongo instances Matt Martyn

  • Fix verify command to work w/ Omnibus CLI

    CLI-121 Thomas Vendetta

  • CLI-120 Rubocop updates Matt Martyn

  • CLI-120 Rubocop updates Matt Martyn

  • CLI-120 Rubocop updates Matt Martyn

  • CLI-120 Fix instance table Matt Martyn

  • CLI-119 - Fix the migrations when run more then once Matt Martyn

Weblinc CLI 1.0.2 (2018-01-23)

  • Fix a bug with jumpcloud system association group ids

    Make jumpcloud_system_association_group_ids available to VPC template options.

    CLI-110 Thomas Vendetta

Weblinc CLI 1.0.1 (2017-12-20)

  • Fix an issue where ~/.weblinc wasn't properly initialized

    CLI-108 Thomas Vendetta

  • Better debug logging on missing client env

    CLI-83 Thomas Vendetta

Weblinc CLI 1.0.0 (2017-12-15)

  • Add ability to check for new versions released

    CLI-106 Thomas Vendetta

Weblinc CLI 0.1.26 (2017-12-12)

  • Update environment templating to support system_association_group_ids

    IT-20243 Thomas Vendetta

Weblinc CLI 0.1.25 (2017-12-06)

  • Update environment templating to support system_association_group_ids

    IT-20243 Thomas Vendetta

Weblinc CLI 0.1.24 (2017-11-21)

  • Automatically tag Environments w/ persistent/cache DB numbers

    CLI-57 Thomas Vendetta

  • Add Redis database number tags to an OpsWorks Stack

    CLI-57 Thomas Vendetta

  • Write Terraform environment files for VPC/Environment

    Adds a new command that can be run inside a project directory:

    weblinc ops terraform build_env --env-name=staging
    

    This command generates a terraform env.sh file which can be sourced prior to running a terrform command to provision new infrastructure components.

    CLI-69 Thomas Vendetta

Weblinc CLI 0.1.23 (2017-11-01)

Weblinc CLI 0.1.22 (2017-11-01)

  • Update VPN Setup to Support Newest OpenVPN AMI

    Rubocop updates.

    CLI-98 Matt Martyn

  • Update VPN Setup to Support Newest OpenVPN AMI

    The newest ami's use Ubuntu 16, and they don't set the /etc/issue to what is expected for jumpcloud to install correctly, so you need to create the /etc/system-release to tell jumpcloud what version of the OS this is

    CLI-98 Matt Martyn

  • Removed "bundle exec" from messages

    CLI-97 Aaron Yu

  • Fixed error message and updated expected test result

    CLI-97 Aaron Yu

  • Add ability to package/vendor CLI

    CLI-71 Thomas Vendetta

Weblinc CLI 0.1.21 (2017-10-10)

  • Disallow updating stack JSON if required env-vars are missing.

    CLI-96 Thomas Vendetta

  • Support stack names w/ multiple dashes

    CLI-95 Thomas Vendetta

Weblinc CLI 0.1.20 (2017-10-02)

  • Only update cookbooks if there are instances in an environment

    CLI-92 Thomas Vendetta

Weblinc CLI 0.1.19 (2017-09-27)

  • Open a console into the Rails app server directly from the CLI

    This feature allows you to run weblinc {env} console to open the configured Rails console (Pry or IRB, depending on your app's Gemfile) in the current shell. It relieves the user from needing to remember exactly how to get their webapp user's environment set up correctly so they can run Rails commands.

    Example:

    $ weblinc production console
    Ubuntu 14.04.5 LTS
    Loading production environment (Rails 4.2.8)
    irb(main):001:0> User.find_by_email('tscott@weblinc.com')
    => #<Weblinc::User _id: 57d1b63a69702d6f70003ada ...>
    

    CLI-79 Tom Scott

  • Run 'Update Cookbooks' command after weblinc <env> update_cookbooks

    CLI-92 Thomas Vendetta

  • Default to v0.0.0 in Stack JSON if workarea|weblinc not found

    CLI-89 Thomas Vendetta

  • Use PAM auth in VPN server initialization

    CLI-87 Thomas Vendetta

Weblinc CLI 0.1.18 (2017-09-19)

  • Update version number regex to handle multiple digits per part

    CLI-85 William Ferri

  • Changes for new AWS Login Page

    CLI-52 Thomas Vendetta

  • Print errors to $STDERR instead of $STDOUT

    CLI-77 Thomas Vendetta

Weblinc CLI 0.1.17 (2017-08-30)

  • Run a single SSH command on the server(s)

    This allows commands to be run with the CLI. You still need to sudo su into the webapp user for most things, but this is the starting point to creating more high-level tools like weblinc {env} console, weblinc {env} rake TASK, or weblinc {env} {dump|restore} TO_LOCAL_FILE.

    Example:

    weblinc production|staging|qa ssh app --command="touch /var/www/weblinc_direct/current/tmp/restart.txt"
    

    CLI-78 Tom Scott

Weblinc CLI 0.1.16 (2017-08-23)

  • Add ability to skip running of wa_app::task_update_secrets when editing secrets

    CLI-23

Weblinc CLI 0.1.15 (2017-08-22)

  • Standardize the SSH key the CLI uses

    Adds the ability to use the WEBLINC_SSH_KEY_NAME environment variable, which defaults to id_rsa, to determine which SSH private key is used in outbound SSH connections.

    CLI-74 Thomas Vendetta

  • Only pass unique public subnet ids to CFN ELB

    CLI-72 Thomas Vendetta

  • Add ability to see OpsWorks deploy logs

    Adds --id and --index flags to weblinc <env> app history command.

    After running a deploy, users are given the option to read Chef output from each instance the deploy was run on.

    Given a staging deployment with id d0a7509a-fa34-f19f-b3s-tdv run on 3 instances, a can run the following command to see the output from the first instance:

    $ weblinc staging app history --id d0a7509a-fa34-f19f-b3s-tdv --index 0
    

    CLI-64 Thomas Vendetta

Weblinc CLI 0.1.14 (2017-08-10)

  • Properly tag and commit Infrastructure artifact releases

    We now tag releases by release-v1.0.0 or sandbox-v1.0.0.

    Additionally, any changes to VERSION.<env>, Berksfile and Berksfile.lock are commited and pushed to the currently checked out branch.

    CLI-70 Thomas Vendetta

Weblinc CLI 0.1.13 (2017-08-10)

  • Add weblinc <env> edit secrets command

    Adds a command which will pull secrets from S3, open them in a text editor, and then push them back to S3 after saving the file.

    Add export EDITOR=vim or another editor to your .bash_profile or .zshrc.

    CLI-23 Thomas Vendetta

Weblinc CLI 0.1.12 (2017-07-27)

  • Fix minor issues w/ Berkshelf + Automated AMI creation

    • Fix an issue where berks vendor will recursively generate vendor dependencies inside the opsworks base cookbooks directory
    • Fix an issue where the CLI tries to build an OpsWorks AMI in the weblinc_general account instead of the weblinc_payer account when building a Release AMI.

    CLI-65 Thomas Vendetta

  • Updates AWS Account Creation to work with changes in AWS

    Moves from consolidated billing to organizations and moves vpn terms to a separate command as provisioning of ec2 accounts is now an out of band process for AWS that can take up to 24 hours

    CLI-52 Matt Martyn

  • Updates AWS Account Creation to work with changes in AWS

    Moves from consolidated billing to organizations and moves vpn terms to a separate command as provisioning of ec2 accounts is now an out of band process for AWS that can take up to 24 hours

    CLI-52 Matt Martyn

Weblinc CLI 0.1.11 (2017-07-17)

  • Add ability to override deterministic bucket names

    Adds the ability to override deterministic bucket names. By adding key/value pairs of tags to an OpsWorks stack you can override the S3 bucket names which get templated into stack/layer JSON.

    Available keys are: vpc_bucket_name_for_stack, config_bucket_name_for_stack, integration_bucket_name_for_stack, and resources_bucket_name_for_stack.

    CLI-63 Thomas Vendetta

Weblinc CLI 0.1.10 (2017-07-10)

  • Fix an issue SSH'ing into QA servers

    Fix an issue that occurs when attempting to connect to a QA server via SSH where the incorrect bastian domain was used.

    CLI-62 Thomas Vendetta

  • Add ability to detect ELB by tag name.

    Adds ability to detect ELB by tag name. If an ELB has a tag "LoadBalancerFor" => "clientid-staging-elasticsearch", that ELB's DNS name is used as the ES host.

    CLI-58 Thomas Vendetta

Weblinc CLI 0.1.9 (2017-06-28)

  • Template app version in Stack JSON

    Templates the application and infra version in the Stack JSON.

    Adds the following:

    node['workarea']['version'] = '3.0.0'
    node['workarea']['major_version'] = 3
    node['workarea']['minor_version'] = 0
    node['workarea']['patch_version'] = 0
    node['workarea']['infra_version'] = 1.0.0
    

    CLI-55 Thomas Vendetta

  • Add sysward setup on VPN initalization

    Installs and tags systems in sysward

    CLI-59 Thomas Vendetta

Weblinc CLI 0.1.8 (2017-06-21)

  • Rename client-id file

    Renames the client-id file from .weblinc-client-id to .client-id

    CLI-50 Thomas Vendetta

  • Update version and add iifferent access to template_options

    IT-16663 Matt Martyn

  • JumpCloud Fix Sys-User Group to allow webapp access

    Fixing method name mismatch

    IT-16663 Matt Martyn

  • Remove direnv dependency

    Rather than requiring direnv to source the WEBLINC_CLIENT_ID in an envrc file we now write a .weblinc-client-id file with the contents of the client id.

    We also use the existence of this .weblinc-client-id file to determine that the CLI is being invoked from the Rails project's root directory.

    CLI-50 Thomas Vendetta

  • Connect to environment instances w/ SSH

    Adds the ability to connect to environment instances via SSH.

    Connect to a single instance by IP address: weblinc production ssh 10.27.55.50

    Connect to multiple instances by IP address (requires csshX): weblinc production ssh --all 10.27.55.50 10.27.80.85

    Connect to the first instance with mongo-xyz in it's name: weblinc production ssh mongo-xyz

    Connect to all instances with mongo-xyz in their name: weblinc production ssh --all mongo-xyz

    CLI-46 Thomas Vendetta

Weblinc CLI 0.1.7 (2017-06-19)

  • Update version and add indifferent access to template_options

    IT-16663 Matt Martyn

Weblinc CLI 0.1.6 (2017-06-19)

  • JumpCloud Fix Sys-User Group to allow webapp access

    Fixing method name mismatch

    IT-16663 Matt Martyn

Weblinc CLI 0.1.5 (2017-06-15)

  • Fixing the JumpCloud sudo tagging

    CLI-56 Matt Martyn

  • Add ability to override Stack defaults in config

    Adds the ability to override Opsworks Stack settings in local app configuration.

    An example of overriding a stack setting in a configuration file:

    stack:
      nginx:
        real_ip_header: X-Real-Ip
    

    CLI-51 Thomas Vendetta

  • IT-16663: JumpCloud fix sys-user group - fix typo MMartyn

  • IT-16663: JumpCloud fix sys-user group MMartyn

Weblinc CLI 0.1.4 (2017-05-26)

  • Remove a user from N different AWS accounts.

    • Adds the ability to remove a user from multiple aws accounts, or all AWS accounts for which you have an environment profile setup.
    • Adds EnvironmentProfile#all and EnvironmentProfile#each

    be weblinc ops aws user delete --remove-from-all --username=jsmith be weblinc ops aws user delete --client-ids=foo bar --username=jsmith

    IT-16984 Thomas Vendetta

Weblinc CLI 0.1.3 (2017-05-15)

  • IT-16852: moved the truncating of ELB names to only truncate the client env, leaving the date and role intact jhill