Puppet Class: profile::openstack::capi

Defined in:
modules/profile/manifests/openstack/capi.pp

Overview

SPDX-License-Identifier: Apache-2.0

Create a capi worker node for OpenStack Magnum.

Installs k3s, helm, and capi

Parameters:

  • helm_repo (Stdlib::HTTPSUrl) (defaults to: lookup('profile::openstack::capi::helm_repo', {'default_value' => 'https://chartmuseum.wmcloud.org'}))
  • cluster_ctl_url (Stdlib::HTTPSUrl) (defaults to: lookup('profile::openstack::capi::cluster_ctl_url', {'default_value' => 'https://object.eqiad1.wikimediacloud.org/swift/v1/AUTH_c2c23ceb46404a62a80492b07dac4685/clusterctl'}))
  • docker_repo_base (Stdlib::Host) (defaults to: lookup('profile::openstack::capi::docker_repo_base', {'default_value' => 'docker-registry.wmcloud.org'}))
  • cluster_api_version (String) (defaults to: lookup('profile::openstack::capi::cluster_api_version', {'default_value' => 'v1.9.6'}))
  • cluster_api_provider_openstack_version (String) (defaults to: lookup('profile::openstack::capi::cluster_api_provider_openstack_version', {'default_value' => 'v0.11.3'}))


6
7
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
# File 'modules/profile/manifests/openstack/capi.pp', line 6

class profile::openstack::capi(
  Stdlib::HTTPSUrl $helm_repo = lookup('profile::openstack::capi::helm_repo', {'default_value' => 'https://chartmuseum.wmcloud.org'}),
  Stdlib::HTTPSUrl $cluster_ctl_url = lookup('profile::openstack::capi::cluster_ctl_url', {'default_value' => 'https://object.eqiad1.wikimediacloud.org/swift/v1/AUTH_c2c23ceb46404a62a80492b07dac4685/clusterctl'}),
  Stdlib::Host     $docker_repo_base = lookup('profile::openstack::capi::docker_repo_base', {'default_value' => 'docker-registry.wmcloud.org'}),
  String           $cluster_api_version = lookup('profile::openstack::capi::cluster_api_version', {'default_value' => 'v1.9.6'}),
  String           $cluster_api_provider_openstack_version = lookup('profile::openstack::capi::cluster_api_provider_openstack_version', {'default_value' => 'v0.11.3'}),
) {
    class { '::k3s':
        k3s_args => '--disable traefik',
    }

    class { '::helm':
        helm_user_group => root,
        repositories    => {
            'magnum' => 'https://object.eqiad1.wikimediacloud.org/swift/v1/AUTH_c2c23ceb46404a62a80492b07dac4685/helmcharts',
        },
    }

    class { '::openstack::capihelm::service':
        helm_repo                              => $helm_repo,
        cluster_ctl_url                        => $cluster_ctl_url,
        docker_repo_base                       => $docker_repo_base,
        cluster_api_version                    => $cluster_api_version,
        cluster_api_provider_openstack_version => $cluster_api_provider_openstack_version,
        require                                => [Exec['install k3s'], Class['helm']],
    }
}