Skip to content

Commit 10b6024

Browse files
Zettenscotty-c
authored andcommitted
Allow additional configuration of API Server (#47)
1 parent c8563ea commit 10b6024

File tree

5 files changed

+18
-0
lines changed

5 files changed

+18
-0
lines changed

manifests/config.pp

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
Optional[String] $apiserver_kubelet_client_key = $kubernetes::apiserver_kubelet_client_key,
3939
Optional[String] $apiserver_crt = $kubernetes::apiserver_crt,
4040
Optional[String] $apiserver_key = $kubernetes::apiserver_key,
41+
Array $apiserver_extra_arguments = $kubernetes::apiserver_extra_arguments,
4142
Optional[String] $ca_crt = $kubernetes::ca_crt,
4243
Optional[String] $ca_key = $kubernetes::ca_key,
4344
Optional[String] $front_proxy_ca_crt = $kubernetes::front_proxy_ca_crt,

manifests/init.pp

+5
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,10 @@
152152
# The api server key. Must be passed as cert not a file.
153153
# Defaults to undef
154154
#
155+
# [*apiserver_extra_arguments*]
156+
# A string array of extra arguments to be passed to the api server.
157+
# Defaults to []
158+
#
155159
# [*ca_crt*]
156160
# The clusters ca certificate. Must be passed as cert not a file.
157161
# Defaults to undef
@@ -240,6 +244,7 @@
240244
Optional[String] $apiserver_kubelet_client_key = $kubernetes::params::apiserver_kubelet_client_key,
241245
Optional[String] $apiserver_crt = $kubernetes::params::apiserver_crt,
242246
Optional[String] $apiserver_key = $kubernetes::params::apiserver_key,
247+
Array $apiserver_extra_arguments = $kubernetes::params::apiserver_extra_arguments,
243248
Optional[String] $ca_crt = $kubernetes::params::ca_crt,
244249
Optional[String] $ca_key = $kubernetes::params::ca_key,
245250
Optional[String] $front_proxy_ca_crt = $kubernetes::params::front_proxy_ca_crt,

manifests/params.pp

+1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
$apiserver_kubelet_client_key = undef
4949
$apiserver_crt = undef
5050
$apiserver_key = undef
51+
$apiserver_extra_arguments = []
5152
$ca_crt = undef
5253
$ca_key = undef
5354
$front_proxy_ca_crt = undef

spec/classes/config_spec.rb

+8
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
'apiserver_kubelet_client_key' => 'foo',
5050
'apiserver_crt' => 'foo',
5151
'apiserver_key' => 'foo',
52+
'apiserver_extra_arguments' => ['--some-extra-arg=foo'],
5253
'kubernetes_fqdn' => 'kube.foo.dev',
5354
'ca_crt' => 'foo',
5455
'ca_key' => 'foo',
@@ -98,6 +99,13 @@
9899
it { should contain_file('/etc/kubernetes/secrets/bootstraptoken.yaml') }
99100
it { should contain_file('/root/admin.conf') }
100101
it { should contain_file('/etc/profile.d/kubectl.sh') }
102+
103+
# Check API server config
104+
it {
105+
should contain_file('/etc/kubernetes/manifests/kube-apiserver.yaml')
106+
.with_content(/^\s*- --experimental-bootstrap-token-auth=true$/) # with kubernetes_version = 1.7.x
107+
.with_content(/^\s*- --some-extra-arg=foo$/)
108+
}
101109
end
102110

103111
context 'with worker => true' do

templates/kube-apiserver.yaml.erb

+3
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ spec:
3535
<% if @kubernetes_version =~ /1[.](6|7)[.]\d/ -%>- --authorization-mode=RBAC<% end %>
3636
- --advertise-address=<%= @kube_api_advertise_address %>
3737
- --etcd-servers=http://127.0.0.1:2379
38+
<% @apiserver_extra_arguments.each do |arg| -%>
39+
- <%= arg %>
40+
<% end -%>
3841
image: gcr.io/google_containers/kube-apiserver-amd64:v<%= @kubernetes_version %>
3942
livenessProbe:
4043
failureThreshold: 8

0 commit comments

Comments
 (0)