Skip to content
Snippets Groups Projects
Select Git revision
  • 91b23caa1916b617cad31625389c1082ee0c9c8e
  • master default protected
  • v2.27.1
  • v2.28.0
  • v2.27.0
  • v2.25.1
  • v2.24.3
  • v2.26.0
  • v2.24.2
  • v2.25.0
  • v2.24.1
  • v2.22.2
  • v2.23.3
  • v2.24.0
  • v2.23.2
  • v2.23.1
  • v2.23.0
  • v2.22.1
  • v2.22.0
  • v2.21.0
  • v2.20.0
  • v2.19.1
22 results

kubernetes-reliability.md

Blame
  • ipaserver_setup_kra.py 2.97 KiB
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    # Authors:
    #   Thomas Woerner <twoerner@redhat.com>
    #
    # Based on ipa-client-install code
    #
    # Copyright (C) 2017  Red Hat
    # see file 'COPYING' for use and warranty information
    #
    # This program is free software; you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation, either version 3 of the License, or
    # (at your option) any later version.
    #
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    # GNU General Public License for more details.
    #
    # You should have received a copy of the GNU General Public License
    # along with this program.  If not, see <http://www.gnu.org/licenses/>.
    
    from __future__ import print_function
    
    ANSIBLE_METADATA = {
        'metadata_version': '1.0',
        'supported_by': 'community',
        'status': ['preview'],
    }
    
    DOCUMENTATION = '''
    ---
    module: setup_kra
    short description: 
    description:
    options:
    author:
        - Thomas Woerner
    '''
    
    EXAMPLES = '''
    '''
    
    RETURN = '''
    '''
    
    from ansible.module_utils.basic import AnsibleModule
    from ansible.module_utils.ansible_ipa_server import *
    
    def main():
        ansible_module = AnsibleModule(
            argument_spec = dict(
                # basic
                dm_password=dict(required=True, no_log=True),
                hostname=dict(required=True),
                setup_ca=dict(required=True, type='bool'),
                setup_kra=dict(required=True, type='bool'),
                realm=dict(required=True),
            ),
        )
    
        ansible_module._ansible_debug = True
        ansible_log = AnsibleModuleLog(ansible_module)
    
        # set values ####################################################
    
        options.dm_password = ansible_module.params.get('dm_password')
        options.host_name = ansible_module.params.get('hostname')
        options.setup_ca = ansible_module.params.get('setup_ca')
        options.setup_kra = ansible_module.params.get('setup_kra')
        options.realm_name = ansible_module.params.get('realm')
        options.promote = False  # first master, no promotion
    
        # init ##########################################################
    
        fstore = sysrestore.FileStore(paths.SYSRESTORE)
        sstore = sysrestore.StateFile(paths.SYSRESTORE)
    
        api_Backend_ldap2(options.host_name, options.setup_ca, connect=True)
    
        # setup kra #####################################################
    
        with redirect_stdout(ansible_log):
            if hasattr(custodiainstance, "get_custodia_instance"):
                custodia = custodiainstance.get_custodia_instance(
                    options, custodiainstance.CustodiaModes.MASTER_PEER)
                custodia.create_instance()
    
                kra.install(api, None, options, custodia=custodia)
            else:
                kra.install(api, None, options)
    
        # done ##########################################################
    
        ansible_module.exit_json(changed=True)
    
    if __name__ == '__main__':
        main()