48e77cd8bb
* Drop linux capabilities for unprivileged containerized worlkoads Kargo configures for deployments. * Configure required securityContext/user/group/groups for kube components' static manifests, etcd, calico-rr and k8s apps, like dnsmasq daemonset. * Rework cloud-init (etcd) users creation for CoreOS. * Fix nologin paths, adjust defaults for addusers role and ensure supplementary groups membership added for users. * Add netplug user for network plugins (yet unused by privileged networking containers though). * Grant the kube and netplug users read access for etcd certs via the etcd certs group. * Grant group read access to kube certs via the kube cert group. * Remove priveleged mode for calico-rr and run it under its uid/gid and supplementary etcd_cert group. * Adjust docs. * Align cpu/memory limits and dropped caps with added rkt support for control plane. Signed-off-by: Bogdan Dobrelya <bogdando@mail.ru>
40 lines
1.2 KiB
YAML
40 lines
1.2 KiB
YAML
---
|
|
addusers:
|
|
etcd:
|
|
name: "{{ etcd_user }}"
|
|
comment: "Etcd user"
|
|
createhome: >-
|
|
{% if ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] %}no{% else %}yes{% endif %}
|
|
home: "/var/lib/etcd"
|
|
system: yes
|
|
shell: /usr/sbin/nologin
|
|
group: "{{ etcd_group }}"
|
|
groups: "{{ etcd_cert_group }}"
|
|
type: >-
|
|
{% if ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] %}cloud-init{% endif %}
|
|
kube:
|
|
name: "{{ kubelet_user }}"
|
|
comment: "Kubernetes user"
|
|
shell: /usr/sbin/nologin
|
|
system: yes
|
|
group: "{{ kubelet_group }}"
|
|
groups: "{{ etcd_cert_group }},{{ kube_cert_group }}"
|
|
createhome: no
|
|
netplug:
|
|
name: "{{ netplug_user }}"
|
|
comment: "Network plugin user"
|
|
createhome: no
|
|
system: yes
|
|
shell: /usr/sbin/nologin
|
|
group: "{{ netplug_group }}"
|
|
groups: "{{ etcd_cert_group }}"
|
|
|
|
adduser:
|
|
name: "{{ user.name }}"
|
|
group: "{{ user.name|default(None) }}"
|
|
groups: "{{ user.groups|default(None) }}"
|
|
comment: "{{ user.comment|default(None) }}"
|
|
shell: "{{ user.shell|default(None) }}"
|
|
system: "{{ user.system|default(None) }}"
|
|
createhome: "{{ user.createhome|default(None) }}"
|
|
type: "{{ user.type|default(None) }}"
|