Skip to content

mgrzybek/cloud-appliance-compute-node

Repository files navigation

cloud-appliance-compute-node

cloud-init-based Hashicorp nomad compute node:

  • nomad agent
  • consul agent

Available platorms:

  • docker service
  • java runtime
  • binary artifacts can also be deployed

Monitoring is available using:

  • an embbed netdata service
  • a remote influxdb / syslog endpoint

Requirements

Name Version
terraform >= 0.13

Providers

Name Version
openstack n/a

Inputs

Name Description Type Default Required
back_net_id Backoffice network ID to use for the appliance string n/a yes
consul_allowed_inbound_security_group_count The number of entries in var.allowed_inbound_security_group_ids. Ideally, this value could be computed dynamically, but we pass this variable to a Terraform resource's 'count' property and Terraform requires that 'count' be computed with literals or data sources only. number 0 no
consul_allowed_inbound_security_group_ids A list of security group IDs that will be allowed to connect to Consul list(string) [] no
consul_cli_rpc_port The port used by all agents to handle RPC from the CLI. number 8400 no
consul_datacenter Datacenter name used by Consul agent string n/a yes
consul_dns_domain DNS domain used by Consul agent string n/a yes
consul_dns_port The port used to resolve DNS queries. number 8600 no
consul_dns_server IP address to use for non-consul-managed domains string n/a yes
consul_encrypt Consul shared secret for cluster communication string n/a yes
consul_http_api_port The port used by clients to talk to the HTTP API number 8500 no
consul_serf_lan_port The port used to handle gossip in the LAN. Required by all agents. number 8301 no
consul_serf_wan_port The port used by servers to gossip over the WAN to other servers. number 8302 no
consul_server Consul server IP address to join string n/a yes
consul_server_rpc_port The port used by servers to handle incoming requests from other agents. number 8300 no
default_secgroup_id Default security group to use string n/a yes
flavor_name Cloud flavor to use string n/a yes
front_net_id Network ID to use for the appliance string n/a yes
git_repo_checkout branch/tag/commit to use string "master" no
git_repo_password git password string "" no
git_repo_url cloud-appliance repo string "https://github.com/mgrzybek/cloud-appliance-compute-node" no
git_repo_username git username string "" no
image_name Operating system image to use string n/a yes
internet_http_no_proxy Proxy skiplist string "" no
internet_http_proxy_url HTTP proxy string "" no
nomad_http_port The port to use for HTTP number 4646 no
nomad_rpc_port The port to use for RPC number 4647 no
nomad_serf_port The port to use for Serf number 4648 no
ntp_server Remote NTP to use for sync string "" no
os_auth_url Cloud auth URL string n/a yes
os_password Cloud password for some internal batches string n/a yes
os_region_name Cloud region name string n/a yes
os_username Cloud username for some internal batches string n/a yes
static_hosts JSON array of host:ip tuples string "" no
traefik_consul_prefix Prefix used in services metadata to manage traefik's attributes string "admin" no

Outputs

Name Description
appliance_back_ip Back office IPv4 address
appliance_front_ip Front office IPv4 address