namespace 'ak8s' do
desc 'Port forwards the current project using the `kube/deployment.yml` file' task :port_forward_current, [:namespace, :service, :local_port, :target_port] do |_t, args| begin service_yaml = File.read('kube/deployment.yml').split('---')[1] deployment_hash = Psych.load(service_yaml) own_name = deployment_hash['metadata']['name'] rescue docs_location = 'CHECK DOCS AT -> https://github.com/fdoxyz/activek8s' raise "WARNING: Unable to load `kube/deployment.yml`. #{docs_location}" end args.with_defaults(namespace: 'dev', service: own_name, local_port: '3000', target_port: '3000') service = "svc/#{args.service}" port_mapping = "#{args.local_port}:#{args.target_port}" namespace = "-n #{args.namespace}" sh %{kubectl port-forward #{service} #{port_mapping} #{namespace}} end
end