From e3ca493876ab71ed29817a0af436fc563f564bbe Mon Sep 17 00:00:00 2001 From: Mayra Cabrera Date: Tue, 16 Oct 2018 15:03:59 -0500 Subject: Add Clusters::KubernetesNamespace model This model will be used to persist into database Kubernetes properties, such as namespace, service account name and service account token. --- ...190428_create_clusters_kubernetes_namespaces.rb | 24 ++++++++++++++++++++++ db/schema.rb | 20 ++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 db/migrate/20181009190428_create_clusters_kubernetes_namespaces.rb (limited to 'db') diff --git a/db/migrate/20181009190428_create_clusters_kubernetes_namespaces.rb b/db/migrate/20181009190428_create_clusters_kubernetes_namespaces.rb new file mode 100644 index 00000000000..a58c190e1d6 --- /dev/null +++ b/db/migrate/20181009190428_create_clusters_kubernetes_namespaces.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +class CreateClustersKubernetesNamespaces < ActiveRecord::Migration + DOWNTIME = false + INDEX_NAME = 'kubernetes_namespaces_cluster_and_namespace' + + def change + create_table :clusters_kubernetes_namespaces, id: :bigserial do |t| + t.references :cluster, null: false, index: true, foreign_key: { on_delete: :cascade } + t.references :project, index: true, foreign_key: { on_delete: :nullify } + t.references :cluster_project, index: true, foreign_key: { on_delete: :nullify } + + t.timestamps_with_timezone null: false + + t.string :encrypted_service_account_token_iv + t.string :namespace, null: false + t.string :service_account_name + + t.text :encrypted_service_account_token + + t.index [:cluster_id, :namespace], name: INDEX_NAME, unique: true + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 3f3bec0ce04..50989960aa9 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -691,6 +691,23 @@ ActiveRecord::Schema.define(version: 20181013005024) do add_index "clusters_applications_runners", ["cluster_id"], name: "index_clusters_applications_runners_on_cluster_id", unique: true, using: :btree add_index "clusters_applications_runners", ["runner_id"], name: "index_clusters_applications_runners_on_runner_id", using: :btree + create_table "clusters_kubernetes_namespaces", id: :bigserial, force: :cascade do |t| + t.integer "cluster_id", null: false + t.integer "project_id" + t.integer "cluster_project_id" + t.datetime_with_timezone "created_at", null: false + t.datetime_with_timezone "updated_at", null: false + t.text "encrypted_service_account_token" + t.string "encrypted_service_account_token_iv" + t.string "namespace", null: false + t.string "service_account_name" + end + + add_index "clusters_kubernetes_namespaces", ["cluster_id", "namespace"], name: "kubernetes_namespaces_cluster_and_namespace", unique: true, using: :btree + add_index "clusters_kubernetes_namespaces", ["cluster_id"], name: "index_clusters_kubernetes_namespaces_on_cluster_id", using: :btree + add_index "clusters_kubernetes_namespaces", ["cluster_project_id"], name: "index_clusters_kubernetes_namespaces_on_cluster_project_id", using: :btree + add_index "clusters_kubernetes_namespaces", ["project_id"], name: "index_clusters_kubernetes_namespaces_on_project_id", using: :btree + create_table "container_repositories", force: :cascade do |t| t.integer "project_id", null: false t.string "name", null: false @@ -2325,6 +2342,9 @@ ActiveRecord::Schema.define(version: 20181013005024) do add_foreign_key "clusters_applications_prometheus", "clusters", name: "fk_557e773639", on_delete: :cascade add_foreign_key "clusters_applications_runners", "ci_runners", column: "runner_id", name: "fk_02de2ded36", on_delete: :nullify add_foreign_key "clusters_applications_runners", "clusters", on_delete: :cascade + add_foreign_key "clusters_kubernetes_namespaces", "cluster_projects", on_delete: :nullify + add_foreign_key "clusters_kubernetes_namespaces", "clusters", on_delete: :cascade + add_foreign_key "clusters_kubernetes_namespaces", "projects", on_delete: :nullify add_foreign_key "container_repositories", "projects" add_foreign_key "deploy_keys_projects", "projects", name: "fk_58a901ca7e", on_delete: :cascade add_foreign_key "deployments", "projects", name: "fk_b9a3851b82", on_delete: :cascade -- cgit v1.2.1