Skip to content

Commit

Permalink
[346] added k8s version option to uffizzi dev
Browse files Browse the repository at this point in the history
  • Loading branch information
moklidia committed Oct 11, 2023
1 parent cd4909e commit e3c7673
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 11 deletions.
4 changes: 1 addition & 3 deletions lib/uffizzi/cli/cluster.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@
require 'uffizzi/services/kubeconfig_service'
require 'uffizzi/services/cluster/disconnect_service'

MANUAL = 'manual'

module Uffizzi
class Cli::Cluster < Thor
class Error < StandardError; end
Expand Down Expand Up @@ -116,7 +114,7 @@ def handle_create_command(project_slug, command_args)
end

cluster_name = command_args[:name] || options[:name] || ClusterService.generate_name
creation_source = options[:"creation-source"] || MANUAL
creation_source = options[:"creation-source"] || ClusterService::MANUAL_CREATION_SOURCE
k8s_version = options[:"k8s-version"]
Uffizzi.ui.say_error_and_exit("Cluster name: #{cluster_name} is not valid.") unless ClusterService.valid_name?(cluster_name)

Expand Down
12 changes: 8 additions & 4 deletions lib/uffizzi/cli/dev.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ class Cli::Dev < Thor
method_option :quiet, type: :boolean, aliases: :q
method_option :'default-repo', type: :string
method_option :kubeconfig, type: :string
method_option :'k8s-version', required: false, type: :string
def start(config_path = 'skaffold.yaml')
DevService.check_skaffold_existence
DevService.check_running_daemon if options[:quiet]
Expand Down Expand Up @@ -55,9 +56,11 @@ def check_login
end

def start_create_cluster
cluster_name = ClusterService.generate_name
creation_source = ClusterService::MANUAL_CREATION_SOURCE
params = cluster_creation_params(cluster_name, creation_source)
params = cluster_creation_params(
name: ClusterService.generate_name,
creation_source: ClusterService::MANUAL_CREATION_SOURCE,
k8s_version: options[:"k8s-version"],
)
Uffizzi.ui.say('Start creating a cluster')
response = create_cluster(ConfigFile.read_option(:server), project_slug, params)
return ResponseHelper.handle_failed_response(response) unless ResponseHelper.created?(response)
Expand Down Expand Up @@ -110,14 +113,15 @@ def update_clusters_config(id, params)
ConfigFile.write_option(:clusters, clusters_config)
end

def cluster_creation_params(name, creation_source)
def cluster_creation_params(name:, creation_source:, k8s_version:)
oidc_token = Uffizzi::ConfigFile.read_option(:oidc_token)

{
cluster: {
name: name,
manifest: nil,
creation_source: creation_source,
k8s_version: k8s_version,
},
token: oidc_token,
}
Expand Down
9 changes: 5 additions & 4 deletions man/uffizzi-dev-start.ronn
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,11 @@ uffizzi-dev-start - start a development environment
Currently supports skaffold.yaml files.

## FLAGS
--build="<local-or-remote>"
This option specifies whether to build images on the
local environment or on the remote Uffizzi cluster.
Possible values are "local" or "remote".
--k8s-version=<api-version>
Specify which version of the Kubernetes API to use when creating
the cluster, formatted as [MAJOR].[MINOR]. Defaults to 1.27.
Minor versions point to the latest release of the corresponding k3s
minor version. See https://github.com/k3s-io/k3s/releases

--default-repo="<container-registry-domain>"
A public or private repo used to push/pull build
Expand Down

0 comments on commit e3c7673

Please sign in to comment.