- update
etcd
tov3.5.16
- add support for Ubuntu 24.04
- update
.yamllint
- Molecule: update test
- update
etcd
tov3.5.13
- update Github workflow
- Molecule: change IP addresses
systemd
serviceetcd
should start after network is online
NOTE: This version contains some potential breaking changes to increase security related settings. So please test thoroughly before upgrading!
- BREAKING: Remove support for Ubuntu
18.04
(reached EOL) - BREAKING: This update introduces quite a few new variables mainly for managing permissions and for security. These variables are:
etcd_service_options
,etcd_data_dir_group
,etcd_data_dir_user
,etcd_data_dir_mode
,etcd_bin_dir_group
,etcd_bin_dir_user
,etcd_download_dir_group
,etcd_download_dir_user
,etcd_conf_dir_group
,etcd_conf_dir_user
,etcd_group_system
,etcd_group_gid
,etcd_group
,etcd_user_home
,etcd_user_system
,etcd_user_shell
,etcd_user_uid
,etcd_user
. Please seedefaults/main.yml
what these variables are good for. In general the defaults should be fine. Previouslyetcd
was running withroot
account which is not optimal. This was changed so that it runs with useretcd
by default now as specified inetcd_user
. The role will take care that all the directories and files will change their owner and group accordingly. In general upgrading should work pretty flawlessly but as said above please test! - BREAKING:
etcd_service_options
contains options for the[Service]
section in the systemdetcd.service
file. Besides a few other settings in also includes security/sandbox related settings and limit the exposure of the system towards the unit's processes. - update
etcd
tov3.5.9
- add support for Ubuntu
22.04
- Molecule: rename scenario from
kvm
todefault
- Molecule: rename
githubixx.kubernetes-ca
togithubixx.kubernetes_ca
- Molecule: remove provider options / add memory + cpu parameter to VMs
- Molecule: adjust settings + adding host variables to cover different settings
- fix ansible-lint issues
- update
etcd
tov3.5.8
- update
etcd
tov3.5.6
- introduce
etcd_download_url
variable to allow custometcd
download URL (contribution by @DanOPT) - introduce
etcd_download_url_checksum
variable to allow custom checksum for download URL (contribution by @DanOPT) - better variables formatting (only cosmetic change)
- add
.yamllint
- introduce new variables:
etcd_conf_dir_mode
,etcd_download_dir_mode
andetcd_bin_dir_mode
(see README) - fix various
ansible-lint
issues - add Github release action to push new release to Ansible Galaxy
- This is mainly a "cosmetic" change. Makes Ansible's linter
ansible-lint
happy, fixes a few typos and use FQDN module names
- Add
discovery-srv
setting for initial cluster setup (contribution by @cgoubert )
- update
etcd
tov3.5.4
- introduce
etcd_ansible_group
variable to allow setting the Ansible group variable for the etcd hosts. The group was formerly hardcoded tok8s_etcd
. - add
no_log
to certificate copy task to avoid private key leakage - add Molecule test
- checksum etcd binaries after download
- update
etcd
tov3.5.1
- remove
log-package-levels
setting frometcd_settings
as etcd3.5
does not like empty values for this parameter. So if you need this parameter just add it toetcd_settings_user
with a sensible value. Otherwiseetcd
wont start. - remove unneeded files/directories
- remove Ubuntu 16.04 support
- fix typos
- add support for multiple architectures
- update
etcd
tov3.4.14
etcd_data_dir
permissions changed to0700
. Before the permissions were not set so in most cases that ended up with0755
. This was needed because of https://github.com/etcd-io/etcd/blob/master/CHANGELOG-3.4.md#breaking-changes
- changed some default values for
etcd_settings
.(cert|key)-file
andpeer-(cert|key)-file
now uses different certificates:
"cert-file": "{{etcd_conf_dir}}/cert-etcd-server.pem"
"key-file": "{{etcd_conf_dir}}/cert-etcd-server-key.pem"
"peer-cert-file": "{{etcd_conf_dir}}/cert-etcd-peer.pem"
"peer-key-file": "{{etcd_conf_dir}}/cert-etcd-peer-key.pem"
Therefore etcd_certificates
list was also adjusted accordingly.
- enable v2 API again like in
etcd
v3.3.x.etcd
v3.4.x disables v2 API by default (see https://github.com/etcd-io/etcd/blob/master/Documentation/upgrades/upgrade_3_4.md#make-etcd---enable-v2false-default). v2 API is needed forflannel
e.g.
Removed old tags below as the format is not supported by Ansible Galaxy and also not compatible with semver.org:
r1.0.0_v3.2.8
r2.0.0_v3.2.13
r3.0.0_v3.2.13
r3.1.0_v3.2.13
r4.0.0_v3.2.13
r4.1.0_v3.2.13
r4.2.0_v3.2.13
r4.2.1_v3.2.13
r5.0.0_v3.2.13
r6.0.0_v3.2.18
r6.0.1_v3.2.24
- upgrade to
etcd
v3.4.7 (latest version supported/recommended for Kubernetes v1.17) - rename deprecated log-output flag to log-outputs
- remove flag
--cors=""
as this causesetcd
to fail to start - set
--log-outputs="systemd/journal"
and add flag--logger="zap"
(for structured logging) as mentioned in CHANGELOG-3.4
- upgrade to
etcd
v3.3.13 (latest version supported/recommended for Kubernetes v1.14)
- use correct semantic versioning as described in https://semver.org. Needed for Ansible Galaxy importer as it now insists on using semantic versioning.
- make Ansible linter happy
- no major changes but decided to start a new major release as versioning scheme changed quite heavily
- upgrade to
etcd
v3.2.24 (latest version supported/recommended for Kubernetes v1.12)
- upgrade to
etcd
v3.2.18 (latest version supported/recommended for Kubernetes v1.11)
- rename variable
k8s_ca_conf_directory
toetcd_ca_conf_directory
. As this role can be used standalone with Kubernetes (as I do in the blog post mentioned above) the former name makes no sense. For people who used this role before just setetcd_ca_conf_directory: "{{k8s_ca_conf_directory}}"
ingroup_vars/all.yml
and you have the same behavior as before (granted that you havek8s_ca_conf_directory
also set if you don't use the default values ;-) .
- works with Ubuntu 18.04
- update README
- changed
listen-client-urls
scheme for 127.0.0.1 from http to https
- use full path for destination in download etcd task
- chown/chgrp to "root" user for unarchived etcd files
- fix bug
etcd_data_dir
variable missing
- move some variables into etcd_settings dictionary. As they're not needed outside of the etcd role there is no need to keep them separate.
- introduce flexible etcd parameter settings via
etcd_settings/etcd_settings_user
variables. This way all flags/settings of the current and future etcd version's can be set and there is no need to adjust the etcd systemd service file template with every release
- updated etcd to 3.2.13
- added new etcd flags (see role variables below)
- change default for
k8s_ca_conf_directory
(see role variables below). If you already definedk8s_ca_conf_directory
by yourself ingroup_vars/k8s.yml
orgroup_vars/all.yml
nothing changes for you - more documentation for role variables
- updated etcd to 3.2.8
- rename
local_cert_dir
tok8s_ca_conf_directory
and change default location - smaller changes needed for Kubernetes v1.8