k8s_users

k8s_users

This role create roles and cluster roles.

Requirements

Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.

Role Variables

Por defecto el rol se encuentra deshabilitado:

  • m7s_users_enabled: false

Setear esta varaible a true para poder agregar/eliminar usuarios.

  • Para crear un usuario setear la variable action con el valor create.
  • Para eliminar un usuario setear la variable action con el valor delete.

Añadir un usuario a un ClusterRole existente definiendo la variable m7s_user_to_cluster_role. El alcance de esta sera a todo el cluster.

ClusterRoles permitidos:

  • cluster-admin
  • admin
  • edit
  • view

Ejemplo:

#Cluster scope
m7s_user_to_cluster_role:
  - user: prueba-admin
    cluster_role: cluster-admin
    action: create
    namespace: kube-system
  - user: prueba-view
    cluster_role: view
    action: create
    namespace: kube-system

Añadir un usuario a un ClusterRole existente definiendo la variable m7s_user_to_cluster_role. El alcance de este sera solo al namespace indicado.

ClusterRoles permitidos:

  • cluster-admin
  • admin
  • edit
  • view

Ejemplo:

# Namespace scope
m7s_user_to_role:
  - user: user-admin-test-view-ns
    role: view
    action: create
    namespace: jenkins
  - user: user-admin-test-edit-ns
    role: edit
    action: create
    namespace: jenkins
  - user: user-admin-test-ns
    role: admin
    action: create
    namespace: jenkins

Crear custom Cluster roles:

m7s_rbac_cluster_role:
  - name: test-cluster-role
    user: cluster-role-user
    namespace: default
    action: create
    api_groups:
      - name:
          - ""
          - "extensions"
          - "apps"
        resources:
          - "*"
        verbs:
          - "*"

Crear custom Roles:

m7s_rbac_role:
  - name: test-role
    namespace: testing
    user: test-r
    action: create
    api_groups:
      - name:
          - ""
          - "extensions"
          - "apps"
        resources:
          - "pods"
          - "pods/log"
        verbs:
          - "*"
  • k8s_rbac_role: si esta presente creara custom Roles.

  • k8s_rbac_cluster_role: si esta presente creara custom Cluster Roles.

  • name: nombre de un Role o Cluster Role

  • namespace:

    • Namespace para el cual tendra alcance el Role.
    • Namespace donde se creara el Service Account, tanto para el Rol como para ClusterRol.
  • user: nombre con el cual se creara el ServiceAccount.

  • api_groups: en esta variable se especfican los permisos para cada Rol y ClusterRol.

    • name: nombre de cada api_group.
    • resources: listado de recursos a los cuales se asignaran permisos. Para asignar a todos: "*".
    • verbs: permisos asignados a cada uno de los recursos. Para asignar a todos. "*"
  • action: con esta variable vamos a indicar si se creara o eliminara un Role o ClusterRole.

    • Valores posibles: create o delete.

Dependencies

A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.

Example Playbook

Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:

- hosts: servers
  roles:
     - { role: geroafonso.k8s_users, x: 42 }

License

BSD

Author Information

An optional section for the role authors to include contact information, or a website (HTML is not allowed).

About

your description

Install
ansible-galaxy install afonsog/geroafonso.k8s_users
GitHub repository
License
Unknown
Downloads
39
Owner