X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=ansible%2Froles%2Fkube_token_creation%2Ftasks%2Fmain.yml;fp=ansible%2Froles%2Fkube_token_creation%2Ftasks%2Fmain.yml;h=6b440aa61cad4af8550a5af1bbdf2323a939ef91;hb=8321feb501701dcb4023e3c052cb6a982d5db3fa;hp=0000000000000000000000000000000000000000;hpb=5c0c2acd0caea77595026e996555547312518395;p=ta%2Fcaas-kubernetes.git diff --git a/ansible/roles/kube_token_creation/tasks/main.yml b/ansible/roles/kube_token_creation/tasks/main.yml new file mode 100644 index 0000000..6b440aa --- /dev/null +++ b/ansible/roles/kube_token_creation/tasks/main.yml @@ -0,0 +1,74 @@ +--- +# Copyright 2019 Nokia +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +- name: create directory for kube token + file: + path: "{{ caas.cert_path }}" + state: directory + recurse: yes + +- name: Check token + stat: + path: "{{ caas.cert_path }}/{{ caas.token_filename }}" + register: token_file + +- name: Generate token + shell: "head -c 16 /dev/urandom | od -An -t x | tr -d ' '" + register: kube_token_output + no_log: true + when: not token_file.stat.exists + +- name: Set token fact + set_fact: + kube_token: "{{ kube_token_output.stdout }}" + no_log: true + when: not token_file.stat.exists + +- name: Save token + copy: + content: "{{ kube_token }}" + dest: "{{ caas.cert_path }}/{{ caas.token_filename }}" + when: not token_file.stat.exists + +- name: Set permissions on token + acl: + name: "{{ caas.cert_path }}/{{ caas.token_filename }}" + entity: "{{ item }}" + etype: user + permissions: r + state: present + when: not token_file.stat.exists + with_items: + - "{{ users.admin_user_name }}" + - "kube" + +- name: Generate tokens.csv + template: + src: "tokens.csv" + dest: "{{ caas.cert_path }}/{{ caas.tokenscsv_filename }}" + mode: 0000 + when: not token_file.stat.exists + +- name: Set permissions on tokens.csv + acl: + name: "{{ caas.cert_path }}/{{ caas.tokenscsv_filename }}" + entity: "{{ item }}" + etype: user + permissions: r + state: present + when: not token_file.stat.exists + with_items: + - "{{ users.admin_user_name }}" + - "kube"