@@ -21,6 +21,16 @@ data "template_file" "etcd-cfssl-new-cert" {
2121 }
2222}
2323
24+ data "ignition_file" "etcd" {
25+ mode = 493
26+ filesystem = " root"
27+ path = " /opt/bin/etcd.tar.gz"
28+
29+ source {
30+ source = " https://storage.googleapis.com/etcd/${ var . etcd_image_tag } /etcd-${ var . etcd_image_tag } -linux-amd64.tar.gz"
31+ }
32+ }
33+
2434data "ignition_file" "etcd-cfssl-new-cert" {
2535 count = length (var. etcd_addresses )
2636 mode = 493
@@ -45,6 +55,15 @@ data "ignition_file" "etcd-prom-machine-role" {
4555 }
4656}
4757
58+ data "template_file" "etcd-setup" {
59+ template = file (" ${ path . module } /resources/etcd-setup.service" )
60+ }
61+
62+ data "ignition_systemd_unit" "etcd-setup" {
63+ name = " etcd-setup.service"
64+ content = data. template_file . etcd-setup . rendered
65+ }
66+
4867data "template_file" "etcdctl-wrapper" {
4968 count = length (var. etcd_addresses )
5069 template = file (" ${ path . module } /resources/etcdctl-wrapper" )
@@ -97,28 +116,23 @@ resource "null_resource" "etcd_member" {
97116 }
98117}
99118
100- data "template_file" "etcd-member-dropin " {
119+ data "template_file" "etcd-member" {
101120 count = length (var. etcd_addresses )
102- template = file (" ${ path . module } /resources/etcd-member-dropin.conf " )
121+ template = file (" ${ path . module } /resources/etcd-member.service " )
103122
104123 vars = {
105124 etcd_image_url = var.etcd_image_url
106125 etcd_image_tag = var.etcd_image_tag
107126 index = count.index
108127 etcd_initial_cluster = join (" ," , formatlist (" member%s=https://%s:2380" , null_resource. etcd_member . * . triggers . index , var. etcd_addresses ))
109128 private_ipv4 = var.etcd_addresses[count.index]
110- uuid_file = " /var/lib/${ var . container_linux_distribution } /etcd-member-wrapper.uuid"
111129 }
112130}
113131
114- data "ignition_systemd_unit" "etcd-member-dropin" {
115- count = length (var. etcd_addresses )
116- name = " etcd-member.service"
117-
118- dropin {
119- name = " 10-custom-options.conf"
120- content = element (data. template_file . etcd-member-dropin . * . rendered , count. index )
121- }
132+ data "ignition_systemd_unit" "etcd-member" {
133+ count = length (var. etcd_addresses )
134+ name = " etcd-member.service"
135+ content = element (data. template_file . etcd-member . * . rendered , count. index )
122136}
123137
124138module "etcd-cert-fetcher" {
@@ -135,6 +149,7 @@ data "ignition_config" "etcd" {
135149 data . ignition_file . cfssl . id ,
136150 data . ignition_file . cfssljson . id ,
137151 data . ignition_file . cfssl-client-config . id ,
152+ data . ignition_file . etcd . id ,
138153 element (data. ignition_file . etcd-cfssl-new-cert . * . id , count. index ),
139154 data . ignition_file . etcd-prom-machine-role . id ,
140155 element (data. ignition_file . etcdctl-wrapper . * . id , count. index ),
@@ -149,7 +164,8 @@ data "ignition_config" "etcd" {
149164 data . ignition_systemd_unit . locksmithd_etcd . id ,
150165 data . ignition_systemd_unit . docker-opts-dropin . id ,
151166 data . ignition_systemd_unit . node-exporter . id ,
152- element (data. ignition_systemd_unit . etcd-member-dropin . * . id , count. index ),
167+ data . ignition_systemd_unit . etcd-setup . id ,
168+ element (data. ignition_systemd_unit . etcd-member . * . id , count. index ),
153169 element (data. ignition_systemd_unit . etcd-disk-mounter . * . id , count. index )
154170 ],
155171 module. etcd-cert-fetcher . systemd_units ,
0 commit comments