etcd-aws-configurer

command module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 19, 2016 License: MIT Imports: 15 Imported by: 0

README

etcd-aws-configurer

Tool which resolves etcd configuration from AWS ELB information.

Tool can be used at server startup to configure etcd without hard coding ip addresses or using the etcd discovery service.

Command Line usage

./etcd-aws-configurer --target-file /etc/etcd_aws_configs.env

Creates file to /etc/etcd_aws_configs.env with content like:

ETCD_NAME=i-1a1b1c1d
ETCD_ADVERTISE_CLIENT_URLS=http://172.20.19.321:2379
ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379
ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380
ETCD_INITIAL_CLUSTER_STATE=new
ETCD_INITIAL_CLUSTER=i-3a3b3c3d=http://172.20.29.323:2380,i-2a2b2c2d=http://172.20.19.322:2380,i-1a1b1c1d=http://172.20.19.321:2380
ETCD_INITIAL_ADVERTISE_PEER_URLS=http://172.20.19.321:2380

ETCD_INITIAL_CLUSTER_STATE can be either new or existing. The tool tries to call each node API and resolve is there leader already. If it finds leader, ETCD_INITIAL_CLUSTER_STATE=new otherwise existing.

CoreOS usage in EC2

Add following into your cloudinit

coreos:
  units:
    - name: etcd-configure.service
      command: start
      content: |
        [Unit]
        Description=Configure etcd based on AWS ELB information
        Documentation=https://github.com/ernoaapa/etcd-aws-configurer
        Requires=network-online.target
        After=network-online.target

        [Service]
        ExecStartPre=/usr/bin/curl -s -L -o /opt/bin/etcd-aws-configurer https://github.com/ernoaapa/etcd-aws-configurer/releases/download/v0.1.0/etcd-aws-configurer-Linux-x86_64
        ExecStartPre=/usr/bin/chmod +x /opt/bin/etcd-aws-configurer
        ExecStart=/opt/bin/etcd-aws-configurer
        RemainAfterExit=yes
        Type=oneshot

    - name: etcd2.service
      command: start
      drop-ins:
        - name: 30-use-aws-etcd-configs.conf
          content: |
            [Unit]
            After=etcd-configure.service
            Requires=etcd-configure.service

            [Service]
            EnvironmentFile=/etc/etcd_aws_configs.env

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL