Skip to content

Commit 0615bb8

Browse files
authored
Merge pull request #14 from projectsyn/feat/manage-image-version
Update component to make CCM container image configurable
2 parents b36c7e1 + 212c053 commit 0615bb8

3 files changed

Lines changed: 38 additions & 3 deletions

File tree

class/defaults.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@ parameters:
44
multi_tenant: true
55
namespace: syn-cloudscale-cloud-controller-manager
66

7-
manifests_version: 1.1.0
7+
manifests_version: ${cloudscale_cloud_controller_manager:images:cloudscale_cloud_controller_manager:tag}
8+
images:
9+
cloudscale_cloud_controller_manager:
10+
registry: quay.io
11+
repository: cloudscalech/cloudscale-cloud-controller-manager
12+
tag: 1.1.0
813

914
args: []
1015

component/main.jsonnet

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,21 @@ local inv = kap.inventory();
55
local params = inv.parameters.cloudscale_cloud_controller_manager;
66
local isOpenShift = std.member([ 'openshift4', 'oke' ], inv.parameters.facts.distribution);
77

8+
local manifests_version =
9+
local ccm_tag = params.images.cloudscale_cloud_controller_manager.tag;
10+
if params.manifests_version != ccm_tag then
11+
std.trace(
12+
'Parameter `manifests_version` is deprecated, we recommend using ' +
13+
'`images.cloudscale_cloud_controller_manager.tag` to configure the CCM version.',
14+
params.manifests_version
15+
)
16+
else
17+
ccm_tag;
18+
819
local manifests = std.parseJson(
920
kap.yaml_load_stream(
1021
'%s/manifests/%s/config.yml'
11-
% [ inv.parameters._base_directory, params.manifests_version ]
22+
% [ inv.parameters._base_directory, manifests_version ]
1223
)
1324
);
1425

@@ -21,6 +32,9 @@ local patchDaemonset(obj) =
2132
containers: [
2233
if c.name == 'cloudscale-cloud-controller-manager' then
2334
c {
35+
image:
36+
'%(registry)s/%(repository)s:%(tag)s' %
37+
params.images.cloudscale_cloud_controller_manager,
2438
command+: params.args,
2539
}
2640
else

docs/modules/ROOT/pages/references/parameters.adoc

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,26 @@ The namespace in which to deploy this component.
1414

1515
[horizontal]
1616
type:: string
17-
defaults:: [See `class/defaults.yml`]
17+
defaults:: `${cloudscale_cloud_controller_manager:images:cloudscale_cloud_controller_manager:tag}`
18+
19+
[IMPORTANT]
20+
====
21+
This parameter is deprecated.
22+
Users should use parameter `images.cloudscale_cloud_controller_manager.tag` to select the manifests version that the component uses.
23+
====
1824

1925
The cloudscale CCM version to deploy.
2026

27+
== `images`
28+
29+
[horizontal]
30+
type:: object
31+
defaults:: [See `class/defaults.yml`]
32+
33+
The container images to use.
34+
35+
NOTE: The component uses the value of `images.cloudscale_cloud_controller_manager.tag` when downloading the upstream manifests which form the base for the manifests generated by the component.
36+
2137
== `args`
2238

2339
[horizontal]

0 commit comments

Comments
 (0)