Skip to content
This repository has been archived by the owner on Feb 5, 2020. It is now read-only.

Commit

Permalink
Trust the Kubernetes CA on nodes
Browse files Browse the repository at this point in the history
  • Loading branch information
coreypobrien committed Jul 27, 2017
1 parent a4035b4 commit 9a2eb6f
Show file tree
Hide file tree
Showing 19 changed files with 266 additions and 0 deletions.
33 changes: 33 additions & 0 deletions modules/aws/ignition/ignition.tf
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ data "ignition_config" "main" {
"${data.ignition_file.s3-puller.id}",
"${data.ignition_file.init-assets.id}",
"${data.ignition_file.detect-master.id}",
"${data.ignition_file.kube_ca.id}",
]

systemd = [
Expand All @@ -14,6 +15,38 @@ data "ignition_config" "main" {
"${data.ignition_systemd_unit.init-assets.id}",
"${data.ignition_systemd_unit.bootkube.id}",
"${data.ignition_systemd_unit.tectonic.id}",
"${data.ignition_systemd_unit.update-ca-certificates.id}",
]
}

data "ignition_file" "kube_ca" {
path = "/etc/ssl/certs/kube_ca.pem"
mode = 0400
uid = 0
gid = 0
filesystem = "root"

content {
content = "${var.kube_ca_crt_pem}"
}
}

data "ignition_systemd_unit" "update-ca-certificates" {
name = "update-ca-certificates.service"
enable = true

dropin = [
{
name = "10-alwaysrun.conf"
content = <<EOF
[Unit]
ConditionPathIsSymbolicLink=
[Service]
ExecStart=
ExecStart=/usr/sbin/update-ca-certificates
EOF
},
]
}

Expand Down
4 changes: 4 additions & 0 deletions modules/aws/ignition/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,7 @@ EOF

type = "string"
}

variable "kube_ca_crt_pem" {
type = "string"
}
33 changes: 33 additions & 0 deletions modules/azure/master-as/ignition-master.tf
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ data "ignition_config" "master" {
"${data.ignition_file.kubelet-env.id}",
"${data.ignition_file.max-user-watches.id}",
"${data.ignition_file.cloud-provider-config.id}",
"${data.ignition_file.kube_ca.id}",
]

systemd = [
Expand All @@ -12,6 +13,7 @@ data "ignition_config" "master" {
"${data.ignition_systemd_unit.kubelet-master.id}",
"${data.ignition_systemd_unit.tectonic.id}",
"${data.ignition_systemd_unit.bootkube.id}",
"${data.ignition_systemd_unit.update-ca-certificates.id}",
]

users = [
Expand All @@ -27,6 +29,37 @@ data "ignition_user" "core" {
]
}

data "ignition_file" "kube_ca" {
path = "/etc/ssl/certs/kube_ca.pem"
mode = 0400
uid = 0
gid = 0
filesystem = "root"

content {
content = "${var.kube_ca_crt_pem}"
}
}

data "ignition_systemd_unit" "update-ca-certificates" {
name = "update-ca-certificates.service"
enable = true

dropin = [
{
name = "10-alwaysrun.conf"
content = <<EOF
[Unit]
ConditionPathIsSymbolicLink=
[Service]
ExecStart=
ExecStart=/usr/sbin/update-ca-certificates
EOF
},
]
}

data "ignition_systemd_unit" "docker" {
name = "docker.service"
enable = true
Expand Down
4 changes: 4 additions & 0 deletions modules/azure/master-as/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -107,3 +107,7 @@ variable "versions" {
variable "cl_channel" {
type = "string"
}

variable "kube_ca_crt_pem" {
type = "string"
}
33 changes: 33 additions & 0 deletions modules/azure/master-ss/ignition-master.tf
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ data "ignition_config" "master" {
"${data.ignition_file.kubeconfig.id}",
"${data.ignition_file.kubelet-env.id}",
"${data.ignition_file.max-user-watches.id}",
"${data.ignition_file.kube_ca.id}",
]

systemd = [
Expand All @@ -11,6 +12,7 @@ data "ignition_config" "master" {
"${data.ignition_systemd_unit.kubelet-master.id}",
"${data.ignition_systemd_unit.tectonic.id}",
"${data.ignition_systemd_unit.bootkube.id}",
"${data.ignition_systemd_unit.update-ca-certificates.id}",
]

users = [
Expand All @@ -26,6 +28,37 @@ data "ignition_user" "core" {
]
}

data "ignition_file" "kube_ca" {
path = "/etc/ssl/certs/kube_ca.pem"
mode = 0400
uid = 0
gid = 0
filesystem = "root"

content {
content = "${var.kube_ca_crt_pem}"
}
}

data "ignition_systemd_unit" "update-ca-certificates" {
name = "update-ca-certificates.service"
enable = true

dropin = [
{
name = "10-alwaysrun.conf"
content = <<EOF
[Unit]
ConditionPathIsSymbolicLink=
[Service]
ExecStart=
ExecStart=/usr/sbin/update-ca-certificates
EOF
},
]
}

data "ignition_systemd_unit" "docker" {
name = "docker.service"
enable = true
Expand Down
4 changes: 4 additions & 0 deletions modules/azure/master-ss/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -92,3 +92,7 @@ variable "tectonic_service_disabled" {
description = "Specifies whether the tectonic installer systemd unit will be disabled. If true, no tectonic assets will be deployed"
default = false
}

variable "kube_ca_crt_pem" {
type = "string"
}
33 changes: 33 additions & 0 deletions modules/azure/worker-as/ignition-worker.tf
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,52 @@ data "ignition_config" "worker" {
"${data.ignition_file.kubelet-env.id}",
"${data.ignition_file.max-user-watches.id}",
"${data.ignition_file.cloud-provider-config.id}",
"${data.ignition_file.kube_ca.id}",
]

systemd = [
"${data.ignition_systemd_unit.docker.id}",
"${data.ignition_systemd_unit.locksmithd.id}",
"${data.ignition_systemd_unit.kubelet-worker.id}",
"${data.ignition_systemd_unit.update-ca-certificates.id}",
]

users = [
"${data.ignition_user.core.id}",
]
}

data "ignition_file" "kube_ca" {
path = "/etc/ssl/certs/kube_ca.pem"
mode = 0400
uid = 0
gid = 0
filesystem = "root"

content {
content = "${var.kube_ca_crt_pem}"
}
}

data "ignition_systemd_unit" "update-ca-certificates" {
name = "update-ca-certificates.service"
enable = true

dropin = [
{
name = "10-alwaysrun.conf"
content = <<EOF
[Unit]
ConditionPathIsSymbolicLink=
[Service]
ExecStart=
ExecStart=/usr/sbin/update-ca-certificates
EOF
},
]
}

data "ignition_systemd_unit" "docker" {
name = "docker.service"
enable = true
Expand Down
4 changes: 4 additions & 0 deletions modules/azure/worker-as/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -83,3 +83,7 @@ variable "cl_channel" {
variable "kubelet_cni_bin_dir" {
type = "string"
}

variable "kube_ca_crt_pem" {
type = "string"
}
33 changes: 33 additions & 0 deletions modules/openstack/nodes/ignition.tf
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ data "ignition_config" "node" {
"${data.ignition_file.max-user-watches.id}",
"${data.ignition_file.resolv_conf.id}",
"${data.ignition_file.hostname.*.id[count.index]}",
"${data.ignition_file.kube_ca.id}",
]

systemd = [
Expand All @@ -19,6 +20,38 @@ data "ignition_config" "node" {
"${data.ignition_systemd_unit.kubelet.id}",
"${data.ignition_systemd_unit.bootkube.id}",
"${data.ignition_systemd_unit.tectonic.id}",
"${data.ignition_systemd_unit.update-ca-certificates.id}",
]
}

data "ignition_file" "kube_ca" {
path = "/etc/ssl/certs/kube_ca.pem"
mode = 0400
uid = 0
gid = 0
filesystem = "root"

content {
content = "${var.kube_ca_crt_pem}"
}
}

data "ignition_systemd_unit" "update-ca-certificates" {
name = "update-ca-certificates.service"
enable = true

dropin = [
{
name = "10-alwaysrun.conf"
content = <<EOF
[Unit]
ConditionPathIsSymbolicLink=
[Service]
ExecStart=
ExecStart=/usr/sbin/update-ca-certificates
EOF
},
]
}

Expand Down
4 changes: 4 additions & 0 deletions modules/openstack/nodes/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,7 @@ variable "tectonic_service_disabled" {
description = "Specifies whether the tectonic installer systemd unit will be disabled. If true, no tectonic assets will be deployed"
default = false
}

variable "kube_ca_crt_pem" {
type = "string"
}
34 changes: 34 additions & 0 deletions modules/vmware/node/ignition.tf
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ data "ignition_config" "node" {
"${data.ignition_file.max-user-watches.id}",
"${data.ignition_file.node_hostname.*.id[count.index]}",
"${data.ignition_file.kubelet-env.id}",
"${data.ignition_file.kube_ca.id}",
]

systemd = [
Expand All @@ -18,6 +19,8 @@ data "ignition_config" "node" {
"${data.ignition_systemd_unit.kubelet-env.id}",
"${data.ignition_systemd_unit.bootkube.id}",
"${data.ignition_systemd_unit.tectonic.id}",
"${data.ignition_systemd_unit.vmtoolsd_member.id}",
"${data.ignition_systemd_unit.update-ca-certificates.id}",
]

networkd = [
Expand All @@ -30,6 +33,37 @@ data "ignition_user" "core" {
ssh_authorized_keys = ["${var.core_public_keys}"]
}

data "ignition_file" "kube_ca" {
path = "/etc/ssl/certs/kube_ca.pem"
mode = 0400
uid = 0
gid = 0
filesystem = "root"

content {
content = "${var.kube_ca_crt_pem}"
}
}

data "ignition_systemd_unit" "update-ca-certificates" {
name = "update-ca-certificates.service"
enable = true

dropin = [
{
name = "10-alwaysrun.conf"
content = <<EOF
[Unit]
ConditionPathIsSymbolicLink=
[Service]
ExecStart=
ExecStart=/usr/sbin/update-ca-certificates
EOF
},
]
}

data "ignition_systemd_unit" "docker" {
name = "docker.service"
enable = true
Expand Down
4 changes: 4 additions & 0 deletions modules/vmware/node/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -142,3 +142,7 @@ EOF

type = "string"
}

variable "kube_ca_crt_pem" {
type = "string"
}
2 changes: 2 additions & 0 deletions platforms/aws/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ module "ignition-masters" {
tectonic_service_disabled = "${var.tectonic_vanilla_k8s}"
cluster_name = "${var.tectonic_cluster_name}"
image_re = "${var.tectonic_image_re}"
kube_ca_crt_pem = "${module.bootkube.ca_cert}"
}

module "masters" {
Expand Down Expand Up @@ -144,6 +145,7 @@ module "ignition-workers" {
tectonic_service = ""
cluster_name = ""
image_re = "${var.tectonic_image_re}"
kube_ca_crt_pem = "${module.bootkube.ca_cert}"
}

module "workers" {
Expand Down
2 changes: 2 additions & 0 deletions platforms/azure/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ module "masters" {
tectonic_service_disabled = "${var.tectonic_vanilla_k8s}"
versions = "${var.tectonic_versions}"
cl_channel = "${var.tectonic_cl_channel}"
kube_ca_crt_pem = "${module.bootkube.ca_cert}"
}

module "workers" {
Expand All @@ -137,6 +138,7 @@ module "workers" {
kubelet_cni_bin_dir = "${var.tectonic_calico_network_policy ? "/var/lib/cni/bin" : "" }"
versions = "${var.tectonic_versions}"
cl_channel = "${var.tectonic_cl_channel}"
kube_ca_crt_pem = "${module.bootkube.ca_cert}"
}

module "dns" {
Expand Down
Loading

0 comments on commit 9a2eb6f

Please sign in to comment.