sct 0.1.22 → 0.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/cluster/lib/cluster/commands_generator.rb +10 -10
- data/cluster/lib/cluster/runner.rb +7 -15
- data/sct/lib/sct/version.rb +1 -1
- data/sct_core/lib/sct_core/helper.rb +8 -0
- data/shell/lib/shell/docker/composer.rb +5 -5
- data/shell/lib/shell/docker/docker.rb +48 -29
- data/shell/lib/shell/docker/php.rb +45 -8
- data/shell/lib/shell/docker/yarn.rb +6 -6
- metadata +3 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 795f84864a77f3e67efdbba2318ba62ca9958f665512f8d0b0f52eaffef5d191
         | 
| 4 | 
            +
              data.tar.gz: 91ca3561de5f9418aaad5d99faf4f2d38cedf5e0063723ddad774345c96bff1d
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: feffcc74dba1ebdcce727e9718f70d88d22bacc6643d17a69f2dc05716bd7c440e95988a2387421185f6e0d0ea0294ad83cad166759a570fa70cd649120943fc
         | 
| 7 | 
            +
              data.tar.gz: e40cbed1e28216b1e68190eef67e383966015bae5c6ad24ddcac745826279a01175ce42021aa175fe93e755aa154f2e6f51effc0c5a2e3a2c88f7623de2aa118
         | 
| @@ -9,7 +9,7 @@ module Cluster | |
| 9 9 | 
             
                        self.new.run
         | 
| 10 10 | 
             
                    end
         | 
| 11 11 |  | 
| 12 | 
            -
                    def run
         | 
| 12 | 
            +
                    def run 
         | 
| 13 13 | 
             
                        program :name, 'cluster'
         | 
| 14 14 | 
             
                        program :version, Sct::VERSION
         | 
| 15 15 | 
             
                        program :description, 'CLI for \'cluster\' - Manage your local kubernetes cluster'
         | 
| @@ -22,8 +22,8 @@ module Cluster | |
| 22 22 | 
             
                            c.description = "Start the cluster"
         | 
| 23 23 | 
             
                            c.option '--clean', 'start a clean cluster. Old cluster will be purged if available.'
         | 
| 24 24 |  | 
| 25 | 
            -
                            c.action do |args, options|
         | 
| 26 | 
            -
                                if options.clean
         | 
| 25 | 
            +
                            c.action do |args, options| 
         | 
| 26 | 
            +
                                if options.clean 
         | 
| 27 27 | 
             
                                    Cluster::Runner.new.reset
         | 
| 28 28 | 
             
                                else
         | 
| 29 29 | 
             
                                    Cluster::Runner.new.launch
         | 
| @@ -37,17 +37,17 @@ module Cluster | |
| 37 37 | 
             
                            c.syntax = 'sct cluster down'
         | 
| 38 38 | 
             
                            c.description = 'stop the cluster'
         | 
| 39 39 |  | 
| 40 | 
            -
                            c.action do |args, options|
         | 
| 40 | 
            +
                            c.action do |args, options| 
         | 
| 41 41 | 
             
                                Cluster::Runner.new.down
         | 
| 42 42 | 
             
                            end
         | 
| 43 43 | 
             
                        end
         | 
| 44 44 |  | 
| 45 | 
            -
                        command :reset do |c|
         | 
| 45 | 
            +
                        command :reset do |c| 
         | 
| 46 46 |  | 
| 47 47 | 
             
                            c.syntax = 'sct cluster reset'
         | 
| 48 48 | 
             
                            c.description = 'reset your cluster and start with a clean cluster'
         | 
| 49 49 |  | 
| 50 | 
            -
                            c.action do |args, options|
         | 
| 50 | 
            +
                            c.action do |args, options| 
         | 
| 51 51 | 
             
                                Cluster::Runner.new.reset
         | 
| 52 52 | 
             
                            end
         | 
| 53 53 | 
             
                        end
         | 
| @@ -59,13 +59,13 @@ module Cluster | |
| 59 59 | 
             
                            c.syntax = 'sct cluster status'
         | 
| 60 60 | 
             
                            c.description = 'see the status of your cluster'
         | 
| 61 61 |  | 
| 62 | 
            -
                            c.action do |args, options|
         | 
| 62 | 
            +
                            c.action do |args, options| 
         | 
| 63 63 | 
             
                                Cluster::Runner.new.status
         | 
| 64 64 | 
             
                            end
         | 
| 65 65 | 
             
                        end
         | 
| 66 66 |  | 
| 67 67 | 
             
                        command :'update config' do |c|
         | 
| 68 | 
            -
             | 
| 68 | 
            +
                            
         | 
| 69 69 | 
             
                            c.syntax = 'sct cluster update config'
         | 
| 70 70 | 
             
                            c.description = 'update the cluster configuration'
         | 
| 71 71 |  | 
| @@ -84,7 +84,7 @@ module Cluster | |
| 84 84 |  | 
| 85 85 | 
             
                                Cluster::Runner.new.delete_stalled_pods if options.stalled
         | 
| 86 86 | 
             
                                Cluster::Runner.new.delete_all_pods if options.all
         | 
| 87 | 
            -
             | 
| 87 | 
            +
                                
         | 
| 88 88 | 
             
                                Cluster::Runner.new.delete_pods(args) if !args.empty?
         | 
| 89 89 |  | 
| 90 90 | 
             
                            end
         | 
| @@ -106,4 +106,4 @@ module Cluster | |
| 106 106 | 
             
                        run!
         | 
| 107 107 | 
             
                    end
         | 
| 108 108 | 
             
                end
         | 
| 109 | 
            -
            end
         | 
| 109 | 
            +
            end
         | 
| @@ -11,11 +11,11 @@ module Cluster | |
| 11 11 |  | 
| 12 12 | 
             
                    def start_cluster
         | 
| 13 13 | 
             
                        if SctCore::Helper.operatingSystem == SctCore::Helper::MAC_OS
         | 
| 14 | 
            -
                            run_command "#{minikube} start --cpus=$(sysctl -n hw.ncpu) --memory=8G"
         | 
| 14 | 
            +
                            run_command "#{SctCore::Helper.minikube} start --cpus=$(sysctl -n hw.ncpu) --memory=8G"
         | 
| 15 15 | 
             
                        else
         | 
| 16 | 
            -
                            run_command "#{minikube} start --cpus=$(cat /proc/cpuinfo | grep processor | wc -l) --memory=10G"
         | 
| 16 | 
            +
                            run_command "#{SctCore::Helper.minikube} start --cpus=$(cat /proc/cpuinfo | grep processor | wc -l) --memory=10G"
         | 
| 17 17 | 
             
                        end
         | 
| 18 | 
            -
                        run_command "#{minikube} ssh -- 'sudo su -c \"echo 10048576 > /proc/sys/fs/inotify/max_user_watches\"'"
         | 
| 18 | 
            +
                        run_command "#{SctCore::Helper.minikube} ssh -- 'sudo su -c \"echo 10048576 > /proc/sys/fs/inotify/max_user_watches\"'"
         | 
| 19 19 | 
             
                        update_config
         | 
| 20 20 | 
             
                    end
         | 
| 21 21 |  | 
| @@ -26,11 +26,11 @@ module Cluster | |
| 26 26 | 
             
                    end
         | 
| 27 27 |  | 
| 28 28 | 
             
                    def down
         | 
| 29 | 
            -
                        run_command "#{minikube} stop"
         | 
| 29 | 
            +
                        run_command "#{SctCore::Helper.minikube} stop"
         | 
| 30 30 | 
             
                    end
         | 
| 31 31 |  | 
| 32 32 | 
             
                    def reset
         | 
| 33 | 
            -
                        run_command "#{minikube} delete"
         | 
| 33 | 
            +
                        run_command "#{SctCore::Helper.minikube} delete"
         | 
| 34 34 | 
             
                        start_cluster
         | 
| 35 35 | 
             
                        create_secrets
         | 
| 36 36 | 
             
                        enable_addons
         | 
| @@ -49,7 +49,7 @@ module Cluster | |
| 49 49 | 
             
                    end
         | 
| 50 50 |  | 
| 51 51 | 
             
                    def enable_addon(addon)
         | 
| 52 | 
            -
                        run_command "#{minikube} addons enable #{addon}"
         | 
| 52 | 
            +
                        run_command "#{SctCore::Helper.minikube} addons enable #{addon}"
         | 
| 53 53 |  | 
| 54 54 | 
             
                        deployment = deployments("kube-system").find { |deployment| deployment[:name].include? addon }
         | 
| 55 55 |  | 
| @@ -228,7 +228,7 @@ module Cluster | |
| 228 228 | 
             
                    end
         | 
| 229 229 |  | 
| 230 230 | 
             
                    def get_minikube_status
         | 
| 231 | 
            -
                      output = `#{minikube} status`
         | 
| 231 | 
            +
                      output = `#{SctCore::Helper.minikube} status`
         | 
| 232 232 |  | 
| 233 233 | 
             
                      lines = output.split "\n"
         | 
| 234 234 |  | 
| @@ -262,13 +262,5 @@ module Cluster | |
| 262 262 | 
             
                            raise command.red
         | 
| 263 263 | 
             
                        end
         | 
| 264 264 | 
             
                    end
         | 
| 265 | 
            -
             | 
| 266 | 
            -
                    def minikube
         | 
| 267 | 
            -
                        if SctCore::Helper.operatingSystem == SctCore::Helper::WINDOWS
         | 
| 268 | 
            -
                            return "minikube.exe"
         | 
| 269 | 
            -
                        else
         | 
| 270 | 
            -
                            return "minikube"
         | 
| 271 | 
            -
                        end
         | 
| 272 | 
            -
                    end
         | 
| 273 265 | 
             
                end
         | 
| 274 266 | 
             
            end
         | 
    
        data/sct/lib/sct/version.rb
    CHANGED
    
    
| @@ -6,11 +6,11 @@ module Shell | |
| 6 6 |  | 
| 7 7 | 
             
                    # Configure the Yarn command
         | 
| 8 8 | 
             
                   def self.config
         | 
| 9 | 
            -
                        self. | 
| 10 | 
            -
                        self. | 
| 11 | 
            -
                        self. | 
| 12 | 
            -
                        self. | 
| 13 | 
            -
                        self. | 
| 9 | 
            +
                        self.set_image("eu.gcr.io/dev-pasc-vcdm/helpers-composer:latest", true)
         | 
| 10 | 
            +
                        self.set_pwd_as_volume("/app")
         | 
| 11 | 
            +
                        self.add_volume(SctCore::Helper.convertWSLToWindowsPath("#{SctCore::Helper.windowsHomePath || SctCore::Helper.homePath}/.composer") , "/tmp")
         | 
| 12 | 
            +
                        self.set_current_user_and_group()
         | 
| 13 | 
            +
                        self.set_entrypoint("composer")
         | 
| 14 14 | 
             
                    end
         | 
| 15 15 | 
             
                end
         | 
| 16 16 | 
             
            end
         | 
| @@ -4,7 +4,7 @@ require "shell/ClassLevelInheritableAttributes" | |
| 4 4 | 
             
            module Shell
         | 
| 5 5 | 
             
                class Docker
         | 
| 6 6 | 
             
                    include ClassLevelInheritableAttributes
         | 
| 7 | 
            -
                    inheritable_attributes :image, :is_private_registry, :entrypoint, :volumes, :ports, :extra_arguments
         | 
| 7 | 
            +
                    inheritable_attributes :image, :is_private_registry, :entrypoint, :volumes, :ports, :extra_arguments, :env_variables
         | 
| 8 8 |  | 
| 9 9 | 
             
                    @image = nil
         | 
| 10 10 | 
             
                    @is_private_registry = false
         | 
| @@ -14,6 +14,7 @@ module Shell | |
| 14 14 | 
             
                    @ports = {}
         | 
| 15 15 | 
             
                    @user_group = []
         | 
| 16 16 | 
             
                    @extra_arguments = {}
         | 
| 17 | 
            +
                    @env_variables = {}
         | 
| 17 18 |  | 
| 18 19 | 
             
                    ###
         | 
| 19 20 | 
             
                    # The Docker command configuration. This has to be able to execute the command properly
         | 
| @@ -27,28 +28,28 @@ module Shell | |
| 27 28 | 
             
                    ###
         | 
| 28 29 | 
             
                    def self.exec(cli_arguments)
         | 
| 29 30 |  | 
| 30 | 
            -
                        self. | 
| 31 | 
            +
                        self.add_extra_argument(cli_arguments)
         | 
| 31 32 |  | 
| 32 | 
            -
                        self.config | 
| 33 | 
            +
                        self.config
         | 
| 33 34 |  | 
| 34 35 | 
             
                        # Check if the basic variables are set
         | 
| 35 36 | 
             
                        if !@image || @image.empty?
         | 
| 36 37 | 
             
                            raise LoadError, "The required image is not defined for this command"
         | 
| 37 38 | 
             
                        end
         | 
| 38 39 |  | 
| 39 | 
            -
                        if !self. | 
| 40 | 
            -
                             | 
| 40 | 
            +
                        if !self.check_for_image && @is_private_registry
         | 
| 41 | 
            +
                            unless self.login_to_private_registry
         | 
| 41 42 | 
             
                                raise RuntimeError, "Could not authenticate to GCR (" + $?.exitstatus + ")"
         | 
| 42 43 | 
             
                            end
         | 
| 43 44 | 
             
                        end
         | 
| 44 45 |  | 
| 45 | 
            -
                        self. | 
| 46 | 
            +
                        self.run_command
         | 
| 46 47 | 
             
                    end
         | 
| 47 48 |  | 
| 48 49 | 
             
                    ###
         | 
| 49 50 | 
             
                    # The image for this Docker command
         | 
| 50 51 | 
             
                    ###
         | 
| 51 | 
            -
                    def self. | 
| 52 | 
            +
                    def self.set_image(image, is_private_registry=false)
         | 
| 52 53 | 
             
                        @image = image
         | 
| 53 54 | 
             
                        @is_private_registry = is_private_registry
         | 
| 54 55 | 
             
                    end
         | 
| @@ -56,27 +57,27 @@ module Shell | |
| 56 57 | 
             
                    ###
         | 
| 57 58 | 
             
                    # Set the current PWD as a volume on the specified path in the container
         | 
| 58 59 | 
             
                    ###
         | 
| 59 | 
            -
                    def self. | 
| 60 | 
            +
                    def self.set_pwd_as_volume(volume_path)
         | 
| 60 61 | 
             
                        pwd = `pwd -P`
         | 
| 61 62 |  | 
| 62 63 | 
             
                        if SctCore::Helper.operatingSystem == SctCore::Helper::WINDOWS
         | 
| 63 64 | 
             
                            pwd=SctCore::Helper.convertWSLToWindowsPath(pwd)
         | 
| 64 65 | 
             
                        end
         | 
| 65 66 |  | 
| 66 | 
            -
                         | 
| 67 | 
            +
                        add_volume(pwd, volume_path)
         | 
| 67 68 | 
             
                    end
         | 
| 68 69 |  | 
| 69 70 | 
             
                    ###
         | 
| 70 71 | 
             
                    # Add an extra volume in the container
         | 
| 71 72 | 
             
                    ###
         | 
| 72 | 
            -
                    def self. | 
| 73 | 
            -
                        @volumes[ | 
| 73 | 
            +
                    def self.add_volume(local_path, volume_path)
         | 
| 74 | 
            +
                        @volumes[local_path] = volume_path
         | 
| 74 75 | 
             
                    end
         | 
| 75 76 |  | 
| 76 77 | 
             
                    ###
         | 
| 77 78 | 
             
                    # Add a port mapping for the container
         | 
| 78 79 | 
             
                    ###
         | 
| 79 | 
            -
                    def self. | 
| 80 | 
            +
                    def self.map_port(external_port, container_port = nil)
         | 
| 80 81 |  | 
| 81 82 | 
             
                        external_port=String(external_port)
         | 
| 82 83 | 
             
                        container_port=String(container_port)
         | 
| @@ -91,7 +92,7 @@ module Shell | |
| 91 92 | 
             
                    ###
         | 
| 92 93 | 
             
                    # Set the current user and group in the container
         | 
| 93 94 | 
             
                    ###
         | 
| 94 | 
            -
                    def self. | 
| 95 | 
            +
                    def self.set_current_user_and_group
         | 
| 95 96 | 
             
                        @user_group = []
         | 
| 96 97 | 
             
                        @user_group << `id -u`
         | 
| 97 98 | 
             
                        @user_group << `id -g`
         | 
| @@ -100,14 +101,14 @@ module Shell | |
| 100 101 | 
             
                    ###
         | 
| 101 102 | 
             
                    # Set the entrypoint for the command in the container
         | 
| 102 103 | 
             
                    ###
         | 
| 103 | 
            -
                    def self. | 
| 104 | 
            +
                    def self.set_entrypoint(entrypoint)
         | 
| 104 105 | 
             
                        @entrypoint=entrypoint
         | 
| 105 106 | 
             
                    end
         | 
| 106 107 |  | 
| 107 108 | 
             
                    ###
         | 
| 108 109 | 
             
                    # Add extra arguments to be configured for the container
         | 
| 109 110 | 
             
                    ###
         | 
| 110 | 
            -
                    def self. | 
| 111 | 
            +
                    def self.add_extra_argument(argument, value=nil)
         | 
| 111 112 | 
             
                        argument = String(argument)
         | 
| 112 113 |  | 
| 113 114 | 
             
                        if value
         | 
| @@ -117,10 +118,17 @@ module Shell | |
| 117 118 | 
             
                        self.extra_arguments[argument] = value
         | 
| 118 119 | 
             
                    end
         | 
| 119 120 |  | 
| 121 | 
            +
                    ###
         | 
| 122 | 
            +
                    # Set environment variables for the container
         | 
| 123 | 
            +
                    ###
         | 
| 124 | 
            +
                    def self.set_environment_variables(env_variables)
         | 
| 125 | 
            +
                        @env_variables = env_variables
         | 
| 126 | 
            +
                    end
         | 
| 127 | 
            +
             | 
| 120 128 | 
             
                    ###
         | 
| 121 129 | 
             
                    # Check if the image is already present in the system
         | 
| 122 130 | 
             
                    ###
         | 
| 123 | 
            -
                    def self. | 
| 131 | 
            +
                    def self.check_for_image
         | 
| 124 132 | 
             
                        image_list=`docker images -q #{@image} 2> /dev/null`
         | 
| 125 133 |  | 
| 126 134 | 
             
                        return image_list && !image_list.empty?
         | 
| @@ -129,7 +137,7 @@ module Shell | |
| 129 137 | 
             
                    ###
         | 
| 130 138 | 
             
                    # Login to the private container registry with the cloud credentials
         | 
| 131 139 | 
             
                    ###
         | 
| 132 | 
            -
                    def self. | 
| 140 | 
            +
                    def self.login_to_private_registry
         | 
| 133 141 | 
             
                        `docker login -u oauth2accesstoken -p "$(gcloud auth application-default print-access-token)" https://eu.gcr.io &> /dev/null`
         | 
| 134 142 | 
             
                        return $?.success?
         | 
| 135 143 | 
             
                    end
         | 
| @@ -137,8 +145,8 @@ module Shell | |
| 137 145 | 
             
                    ###
         | 
| 138 146 | 
             
                    # Run the command
         | 
| 139 147 | 
             
                    ###
         | 
| 140 | 
            -
                    def self. | 
| 141 | 
            -
                        command = self. | 
| 148 | 
            +
                    def self.run_command
         | 
| 149 | 
            +
                        command = self.compile_command
         | 
| 142 150 |  | 
| 143 151 | 
             
                        SctCore::CommandExecutor.execute(command: command, print_all: true, suppress_output: false)
         | 
| 144 152 | 
             
                    end
         | 
| @@ -146,42 +154,53 @@ module Shell | |
| 146 154 | 
             
                    ###
         | 
| 147 155 | 
             
                    # Compile the command with all options
         | 
| 148 156 | 
             
                    ###
         | 
| 149 | 
            -
                    def self. | 
| 157 | 
            +
                    def self.compile_command
         | 
| 150 158 | 
             
                        # Basic docker run command
         | 
| 151 | 
            -
                        command = self. | 
| 159 | 
            +
                        command = self.add_to_command_string("" , "docker run --rm -it")
         | 
| 160 | 
            +
             | 
| 161 | 
            +
                        # Attach environment variables
         | 
| 162 | 
            +
                        if @env_variables
         | 
| 163 | 
            +
                            @env_variables.each do |key, value|
         | 
| 164 | 
            +
                                if value && !value.empty?
         | 
| 165 | 
            +
                                    command  = self.add_to_command_string(command, "-e " + key+"="+value)
         | 
| 166 | 
            +
                                else
         | 
| 167 | 
            +
                                    command  = self.add_to_command_string("-e " + key, value)
         | 
| 168 | 
            +
                                end
         | 
| 169 | 
            +
                            end
         | 
| 170 | 
            +
                        end
         | 
| 152 171 |  | 
| 153 172 | 
             
                        # Attach configured volumes
         | 
| 154 173 | 
             
                        if @volumes
         | 
| 155 174 | 
             
                            @volumes.each do |local_path, container_path|
         | 
| 156 | 
            -
                                command = self. | 
| 175 | 
            +
                                command = self.add_to_command_string(command, "--volume " + local_path +":"+ container_path)
         | 
| 157 176 | 
             
                            end
         | 
| 158 177 | 
             
                        end
         | 
| 159 178 |  | 
| 160 179 | 
             
                        # Map configured ports
         | 
| 161 180 | 
             
                        if @ports
         | 
| 162 181 | 
             
                            @ports.each do |external_port, container_port|
         | 
| 163 | 
            -
                                command = self. | 
| 182 | 
            +
                                command = self.add_to_command_string(command, "-p " + external_port +":"+ container_port)
         | 
| 164 183 | 
             
                            end
         | 
| 165 184 | 
             
                        end
         | 
| 166 185 |  | 
| 167 186 | 
             
                        if @user_group
         | 
| 168 | 
            -
                            command  = self. | 
| 187 | 
            +
                            command  = self.add_to_command_string(command, "--user "+ String(@user_group.shift) +":"+ String(@user_group.shift))
         | 
| 169 188 | 
             
                        end
         | 
| 170 189 |  | 
| 171 190 | 
             
                        # Add image to command
         | 
| 172 | 
            -
                        command  = self. | 
| 191 | 
            +
                        command  = self.add_to_command_string(command, @image)
         | 
| 173 192 |  | 
| 174 193 | 
             
                        if @entrypoint
         | 
| 175 | 
            -
                            command  = self. | 
| 194 | 
            +
                            command  = self.add_to_command_string(command, String(@entrypoint))
         | 
| 176 195 | 
             
                        end
         | 
| 177 196 |  | 
| 178 197 | 
             
                        # Append arguments and options to command
         | 
| 179 198 | 
             
                        if @extra_arguments
         | 
| 180 199 | 
             
                            @extra_arguments.each do |argument, value|
         | 
| 181 200 | 
             
                                if value && !value.empty?
         | 
| 182 | 
            -
                                    command  = self. | 
| 201 | 
            +
                                    command  = self.add_to_command_string(command, argument+"="+value)
         | 
| 183 202 | 
             
                                else
         | 
| 184 | 
            -
                                    command  = self. | 
| 203 | 
            +
                                    command  = self.add_to_command_string(command, argument)
         | 
| 185 204 | 
             
                                end
         | 
| 186 205 | 
             
                            end
         | 
| 187 206 | 
             
                        end
         | 
| @@ -192,7 +211,7 @@ module Shell | |
| 192 211 | 
             
                    ###
         | 
| 193 212 | 
             
                    # Append a part to the command string and remove any unwanted characters
         | 
| 194 213 | 
             
                    ###
         | 
| 195 | 
            -
                    def self. | 
| 214 | 
            +
                    def self.add_to_command_string(command_string, append)
         | 
| 196 215 | 
             
                        return command_string + append.gsub(/\r?\n/, "") + " "
         | 
| 197 216 | 
             
                    end
         | 
| 198 217 | 
             
                end
         | 
| @@ -1,15 +1,52 @@ | |
| 1 1 | 
             
            require "sct_core"
         | 
| 2 | 
            +
             | 
| 2 3 | 
             
            require_relative "docker"
         | 
| 3 4 |  | 
| 4 5 | 
             
            module Shell
         | 
| 5 | 
            -
             | 
| 6 | 
            -
             | 
| 7 | 
            -
             | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 6 | 
            +
              class Php < Docker
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                attr_accessor :make
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                # Configure the Yarn command
         | 
| 11 | 
            +
                def self.config
         | 
| 12 | 
            +
                  self.set_image("eu.gcr.io/dev-pasc-vcdm/proactive-base:latest", true)
         | 
| 13 | 
            +
                  self.set_pwd_as_volume("/var/www")
         | 
| 14 | 
            +
                  self.set_current_user_and_group
         | 
| 15 | 
            +
                  self.set_entrypoint("php")
         | 
| 16 | 
            +
                  self.set_environment_variables(get_service_ip_and_port)
         | 
| 17 | 
            +
                end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                def self.get_service_ip_and_port
         | 
| 20 | 
            +
                  service_names = %w[mysql-service redis-service]
         | 
| 21 | 
            +
                  environment_variables = {}
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                  minikube_status
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                  service_names.each { |service_name|
         | 
| 26 | 
            +
                    url = `#{SctCore::Helper.minikube} service #{service_name} --url`
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                    ip_and_port = url.match /(?<ip>[0-9]+(?:\.[0-9]+){3}):(?<port>[0-9]+)/
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                    case service_name
         | 
| 31 | 
            +
                    when "mysql-service"
         | 
| 32 | 
            +
                      environment_variables.store("DB_HOST", ip_and_port[:ip])
         | 
| 33 | 
            +
                      environment_variables.store("DB_PORT", ip_and_port[:port])
         | 
| 34 | 
            +
                    when "redis-service"
         | 
| 35 | 
            +
                      environment_variables.store("REDIS_HOST", ip_and_port[:ip])
         | 
| 36 | 
            +
                      environment_variables.store("REDIS_PORT", ip_and_port[:port])
         | 
| 13 37 | 
             
                    end
         | 
| 38 | 
            +
                  }
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                  return environment_variables
         | 
| 41 | 
            +
                end
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                def self.minikube_status
         | 
| 44 | 
            +
                  output = `#{SctCore::Helper.minikube} status`
         | 
| 45 | 
            +
             | 
| 46 | 
            +
                  if output.scan(/Running/).length != 3 && output.scan(/Configured/).length != 1
         | 
| 47 | 
            +
                    UI.important("Please check your minikube status. If all services are stopped you should start the minikube first.")
         | 
| 48 | 
            +
                    exit
         | 
| 49 | 
            +
                  end
         | 
| 14 50 | 
             
                end
         | 
| 51 | 
            +
              end
         | 
| 15 52 | 
             
            end
         | 
| @@ -6,12 +6,12 @@ module Shell | |
| 6 6 |  | 
| 7 7 | 
             
                    # Configure the Yarn command
         | 
| 8 8 | 
             
                   def self.config
         | 
| 9 | 
            -
                        self. | 
| 10 | 
            -
                        self. | 
| 11 | 
            -
                        self. | 
| 12 | 
            -
                        self. | 
| 13 | 
            -
                        self. | 
| 14 | 
            -
                        self. | 
| 9 | 
            +
                        self.set_image("eu.gcr.io/dev-pasc-vcdm/helpers-yarn:latest", true)
         | 
| 10 | 
            +
                        self.set_pwd_as_volume("/app")
         | 
| 11 | 
            +
                        self.add_volume(SctCore::Helper.convertWSLToWindowsPath("#{SctCore::Helper.windowsHomePath || SctCore::Helper.homePath}/.cache") , "/.cache")
         | 
| 12 | 
            +
                        self.map_port(8081, 8080)
         | 
| 13 | 
            +
                        self.map_port(9001)
         | 
| 14 | 
            +
                        self.set_current_user_and_group()
         | 
| 15 15 | 
             
                    end
         | 
| 16 16 | 
             
                end
         | 
| 17 17 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: sct
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.23
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Reshad Farid
         | 
| @@ -249,9 +249,9 @@ post_install_message: | |
| 249 249 | 
             
            rdoc_options: []
         | 
| 250 250 | 
             
            require_paths:
         | 
| 251 251 | 
             
            - cluster/lib
         | 
| 252 | 
            -
            - shell/lib
         | 
| 253 252 | 
             
            - sct/lib
         | 
| 254 253 | 
             
            - sct_core/lib
         | 
| 254 | 
            +
            - shell/lib
         | 
| 255 255 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 256 256 | 
             
              requirements:
         | 
| 257 257 | 
             
              - - ">="
         | 
| @@ -263,7 +263,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 263 263 | 
             
                - !ruby/object:Gem::Version
         | 
| 264 264 | 
             
                  version: '0'
         | 
| 265 265 | 
             
            requirements: []
         | 
| 266 | 
            -
            rubygems_version: 3.0. | 
| 266 | 
            +
            rubygems_version: 3.0.6
         | 
| 267 267 | 
             
            signing_key: 
         | 
| 268 268 | 
             
            specification_version: 4
         | 
| 269 269 | 
             
            summary: Spend Cloud Tool.
         |