Exemplo n.º 1
0
    def _create_supervisor_user_data(self) -> str:
        """Returns the user_data with the script required for downloading
        the specified version of faas-supervisor in mime-multipart format
        and encoded in base64

        Generic mime-multipart file:
        Content-Type: multipart/mixed; boundary="===============3595946014116037730=="
        MIME-Version: 1.0

        --===============3595946014116037730==
        Content-Type: text/x-shellscript; charset="us-ascii"
        MIME-Version: 1.0
        Content-Transfer-Encoding: 7bit

        #!/bin/bash
        mkdir -p /opt/faas-supervisor/bin
        curl https://github.com/grycap/faas-supervisor/releases/download/1.0.11/supervisor -L -o /opt/faas-supervisor/bin/supervisor
        chmod +x /opt/faas-supervisor/bin/supervisor
        --===============3595946014116037730==--"""
        multipart = MIMEMultipart()
        url = GitHubUtils.get_asset_url(self._SUPERVISOR_GITHUB_USER,
                                        self._SUPERVISOR_GITHUB_REPO,
                                        self._SUPERVISOR_GITHUB_ASSET_NAME,
                                        self.supervisor_version)
        script = self._LAUNCH_TEMPLATE_SCRIPT.substitute(
            supervisor_binary_url=url)
        content = MIMEText(script, 'x-shellscript')
        multipart.attach(content)
        return StrUtils.utf8_to_base64_string(str(multipart))
Exemplo n.º 2
0
 def _get_user_script(self) -> str:
     script = ''
     if self.resources_info.get('lambda').get('init_script', False):
         file_content = FileUtils.read_file(
             self.resources_info.get('lambda').get('init_script'))
         script = StrUtils.utf8_to_base64_string(file_content)
     return script
Exemplo n.º 3
0
 def _get_config_file(self) -> str:
     cfg_file = ''
     config = create_function_config(self.resources_info)
     yaml_str = yaml.safe_dump(config)
     cfg_file = StrUtils.utf8_to_base64_string(yaml_str)
     return cfg_file
Exemplo n.º 4
0
 def _get_user_script(self):
     script = ''
     if hasattr(self.aws.lambdaf, "init_script"):
         file_content = FileUtils.read_file(self.aws.lambdaf.init_script)
         script = StrUtils.utf8_to_base64_string(file_content)
     return script