Puppet Class: kubeinstall::calico::calicoctl
- Defined in:
- manifests/calico/calicoctl.pp
Summary
Installing calicoctl as a binary on a single hostOverview
Installing calicoctl as a binary on a single host docs.projectcalico.org/getting-started/clis/calicoctl/install#installing-calicoctl-as-a-binary-on-a-single-host
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'manifests/calico/calicoctl.pp', line 8
class kubeinstall::calico::calicoctl (
String $version = $kubeinstall::calicoctl_version,
)
{
$download_url = "https://github.com/projectcalico/calicoctl/releases/download/${version}/calicoctl-linux-amd64"
exec { 'install-calicoctl':
command => "curl -L ${download_url} -o calicoctl",
creates => '/usr/local/bin/calicoctl',
path => '/bin:/usr/bin',
cwd => '/usr/local/bin',
}
file { '/usr/local/bin/calicoctl':
ensure => file,
mode => '0755',
owner => 'root',
group => 'root',
require => Exec['install-calicoctl'],
}
# https://godoc.org/github.com/projectcalico/libcalico-go/lib/apiconfig#CalicoAPIConfig
$calicoctl_config = {
'apiVersion' => 'projectcalico.org/v3',
'kind' => 'CalicoAPIConfig',
'metadata' => {},
'spec' => {
'datastoreType' => 'kubernetes',
'kubeconfig' => '/etc/kubernetes/admin.conf',
}
}
file { '/etc/calico/calicoctl.cfg':
ensure => file,
content => to_yaml($calicoctl_config),
mode => '0600',
}
}
|