From b39c8c0f335d14bbfe8816d624ff856fec590bb9 Mon Sep 17 00:00:00 2001 From: Celina Lopez Date: Mon, 25 Aug 2025 11:10:06 -0700 Subject: [PATCH] remove username from user model --- app/models/user.rb | 1 - app/services/k8/client.rb | 12 +++++++++++- app/services/portainer/client.rb | 6 +++--- db/migrate/20250819200812_jwt_on_users.rb | 1 - db/schema.rb | 1 - spec/factories/users.rb | 1 - 6 files changed, 14 insertions(+), 8 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index fd225d93..8ae90daa 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -12,7 +12,6 @@ # remember_created_at :datetime # reset_password_sent_at :datetime # reset_password_token :string -# username :string # created_at :datetime not null # updated_at :datetime not null # diff --git a/app/services/k8/client.rb b/app/services/k8/client.rb index 50a76c1c..e63b9648 100644 --- a/app/services/k8/client.rb +++ b/app/services/k8/client.rb @@ -23,7 +23,7 @@ module K8 new(cluster) end - def initialize(connection) + def initialize(connection, user = nil) @connection = connection @_kubeconfig = connection.kubeconfig @kubeconfig = @_kubeconfig.is_a?(String) ? JSON.parse(@_kubeconfig) : @_kubeconfig @@ -83,6 +83,16 @@ module K8 raise "Invalid YAML in kubeconfig: #{e.message}" end + def build_kubeconfig(kubeconfig_string) + if kubeconfig_string.is_a?(String) + load_kubeconfig(kubeconfig_string) + elsif kubeconfig_string.nil? + K8Stack.fetch_kubeconfig(@connection.cluster, @connection.user) + else + kubeconfig_string + end + end + def build_client cluster_name = @kubeconfig["contexts"].find { |ctx| ctx["name"] == kubecontext }["context"]["cluster"] user_name = @kubeconfig["contexts"].find { |ctx| ctx["name"] == kubecontext }["context"]["user"] diff --git a/app/services/portainer/client.rb b/app/services/portainer/client.rb index 2bbdfc0d..d0f9ade5 100644 --- a/app/services/portainer/client.rb +++ b/app/services/portainer/client.rb @@ -27,13 +27,13 @@ module Portainer end end - def self.authenticate(user, auth_code) - response = if user.username.present? + def self.authenticate(auth_code, username: nil) + response = if username.present? post( '/api/auth', headers: { 'Content-Type' => 'application/json' }, body: { - username: user.username, + username: username, password: auth_code }.to_json ) diff --git a/db/migrate/20250819200812_jwt_on_users.rb b/db/migrate/20250819200812_jwt_on_users.rb index dc103b5f..ba2a564e 100644 --- a/db/migrate/20250819200812_jwt_on_users.rb +++ b/db/migrate/20250819200812_jwt_on_users.rb @@ -1,6 +1,5 @@ class JwtOnUsers < ActiveRecord::Migration[7.2] def change - add_column :users, :username, :string add_column :clusters, :external_id, :string change_column_null :clusters, :kubeconfig, true end diff --git a/db/schema.rb b/db/schema.rb index 92f79363..627be5e3 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -420,7 +420,6 @@ ActiveRecord::Schema[7.2].define(version: 2025_08_19_200812) do t.boolean "admin", default: false t.datetime "created_at", null: false t.datetime "updated_at", null: false - t.string "username" t.index ["email"], name: "index_users_on_email", unique: true t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true end diff --git a/spec/factories/users.rb b/spec/factories/users.rb index acc20133..c9ab3075 100644 --- a/spec/factories/users.rb +++ b/spec/factories/users.rb @@ -12,7 +12,6 @@ # remember_created_at :datetime # reset_password_sent_at :datetime # reset_password_token :string -# username :string # created_at :datetime not null # updated_at :datetime not null #