Move to better locations for coming fragmentation
This commit is contained in:
@@ -1,12 +0,0 @@
|
|||||||
(ns utils.defaults
|
|
||||||
(:require ["path" :as path]
|
|
||||||
[configs :refer [cfg]]
|
|
||||||
[utils.k8s :as k8s]
|
|
||||||
[utils.harbor :as harbor]
|
|
||||||
[utils.docker :as docker]))
|
|
||||||
|
|
||||||
|
|
||||||
(def defaults
|
|
||||||
{:k8s k8s/defaults
|
|
||||||
:harbor harbor/defaults
|
|
||||||
:docker docker/defaults})
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
(ns utils.general
|
(ns utils.execution.general
|
||||||
(:require
|
(:require
|
||||||
[clojure.walk]))
|
[clojure.walk]))
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
(ns utils.general (:require [clojure.walk :as walk]))
|
(ns utils.execution.general (:require [clojure.walk :as walk]))
|
||||||
|
|
||||||
|
|
||||||
(defn new-resource [resource-type resource-name final-args provider dependencies]
|
(defn new-resource [resource-type resource-name final-args provider dependencies]
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
(ns utils.providers
|
(ns utils.execution.providers
|
||||||
(:require
|
(:require
|
||||||
["@pulumi/pulumi" :as pulumi] ["@pulumi/vault" :as vault] ["@pulumiverse/harbor" :as harbor] ["@pulumi/kubernetes" :as k8s]
|
["@pulumi/pulumi" :as pulumi] ["@pulumi/vault" :as vault] ["@pulumiverse/harbor" :as harbor] ["@pulumi/kubernetes" :as k8s]
|
||||||
[clojure.string :as str] [clojure.walk :as walk]
|
[clojure.string :as str] [clojure.walk :as walk]
|
||||||
[utils.general :refer [resolve-template]]
|
[utils.execution.general :refer [resolve-template]]
|
||||||
[utils.k8s :as k8s-utils]
|
[utils.providers.k8s :as k8s-utils]
|
||||||
[utils.harbor :as harbor-utils]
|
[utils.providers.harbor :as harbor-utils]
|
||||||
[utils.docker :as docker-utils] [utils.vault :as vault-utils]
|
[utils.providers.docker :as docker-utils] [utils.providers.vault :as vault-utils]
|
||||||
[utils.stack-processor :refer [deploy! component-specs]]))
|
[utils.execution.stack-processor :refer [deploy! component-specs]]))
|
||||||
|
|
||||||
(defn resolve-provider-template [constructor name config]
|
(defn resolve-provider-template [constructor name config]
|
||||||
{:constructor constructor
|
{:constructor constructor
|
||||||
@@ -19,19 +19,6 @@
|
|||||||
:harbor harbor-utils/provider-template
|
:harbor harbor-utils/provider-template
|
||||||
:k8s k8s-utils/provider-template})))
|
:k8s k8s-utils/provider-template})))
|
||||||
|
|
||||||
(defn get-provider-outputs-config []
|
|
||||||
{:vault {:stack :init
|
|
||||||
:outputs ["vaultAddress" "vaultToken"]}
|
|
||||||
:harbor {:stack :shared
|
|
||||||
:outputs ["username" "password" "url"]}
|
|
||||||
:k8s {:stack :init
|
|
||||||
:outputs ["kubeconfig"]}})
|
|
||||||
|
|
||||||
|
|
||||||
#_(defn get-stack-refs []
|
|
||||||
{:init (new pulumi/StackReference "init")
|
|
||||||
:shared (new pulumi/StackReference "shared")})
|
|
||||||
|
|
||||||
(defn get-stack-refs [stack-ref-array]
|
(defn get-stack-refs [stack-ref-array]
|
||||||
(into {}
|
(into {}
|
||||||
(map (fn [stack-name]
|
(map (fn [stack-name]
|
||||||
@@ -132,4 +119,12 @@
|
|||||||
{:pulumi-cfg pulumi-cfg
|
{:pulumi-cfg pulumi-cfg
|
||||||
:resource-configs (:resource-configs stack-resources-definition)
|
:resource-configs (:resource-configs stack-resources-definition)
|
||||||
:all-providers instantiated-providers
|
:all-providers instantiated-providers
|
||||||
:pre-deploy-deps pre-deploy-results})))))))))
|
:pre-deploy-deps pre-deploy-results})))))))))
|
||||||
|
|
||||||
|
|
||||||
|
(defn execute [configs exports]
|
||||||
|
(->
|
||||||
|
(let [pulumi-cfg (pulumi/Config.)]
|
||||||
|
(provider-apply pulumi-cfg configs))
|
||||||
|
(exports)
|
||||||
|
(clj->js)))
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
(ns utils.safe-fns)
|
(ns utils.execution.safe-fns)
|
||||||
|
|
||||||
(defn make-paths [& path-groups]
|
(defn make-paths [& path-groups]
|
||||||
(mapcat (fn [{:keys [paths backend]}]
|
(mapcat (fn [{:keys [paths backend]}]
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
(ns utils.stack-processor
|
(ns utils.execution.stack-processor
|
||||||
(:require
|
(:require
|
||||||
["@pulumi/kubernetes" :as k8s]
|
["@pulumi/kubernetes" :as k8s]
|
||||||
["@local/crds/gateway" :as gateway-api]
|
["@local/crds/gateway" :as gateway-api]
|
||||||
@@ -6,28 +6,20 @@
|
|||||||
["@pulumi/pulumi" :as pulumi]
|
["@pulumi/pulumi" :as pulumi]
|
||||||
["@pulumi/vault" :as vault]
|
["@pulumi/vault" :as vault]
|
||||||
["@pulumiverse/harbor" :as harbor]
|
["@pulumiverse/harbor" :as harbor]
|
||||||
[utils.defaults :as default]
|
[utils.providers.defaults :as default]
|
||||||
[utils.vault :as vault-utils]
|
[utils.providers.vault :as vault-utils]
|
||||||
[utils.general :refer [deep-merge new-resource resource-factory deploy-stack-factory iterate-stack]]
|
[utils.execution.general :refer [deep-merge new-resource resource-factory deploy-stack-factory iterate-stack]]
|
||||||
["@pulumi/docker" :as docker]
|
["@pulumi/docker" :as docker]
|
||||||
["@pulumi/docker-build" :as docker-build]
|
["@pulumi/docker-build" :as docker-build]
|
||||||
[clojure.walk :as walk]
|
[clojure.walk :as walk]
|
||||||
[clojure.string :as str]
|
[clojure.string :as str]
|
||||||
["path" :as path]
|
["path" :as path]
|
||||||
[configs :refer [cfg]]
|
[configs :refer [cfg]]
|
||||||
[utils.k8s :as k8s-utils]
|
[utils.providers.k8s :as k8s-utils]
|
||||||
[utils.harbor :as harbor-utils]
|
[utils.providers.harbor :as harbor-utils]
|
||||||
[utils.docker :as docker-utils]
|
[utils.providers.docker :as docker-utils]
|
||||||
[utils.safe-fns :refer [safe-fns]])
|
[utils.execution.safe-fns :refer [safe-fns]])
|
||||||
(:require-macros [utils.general :refer [p-> build-registry]]))
|
(:require-macros [utils.execution.general :refer [p-> build-registry]]))
|
||||||
|
|
||||||
|
|
||||||
#_(def component-specs-defs
|
|
||||||
{:k8s k8s-utils/component-specs-defs
|
|
||||||
:harbor harbor-utils/component-specs-defs
|
|
||||||
:docker docker-utils/component-specs-defs})
|
|
||||||
|
|
||||||
#_(def component-specs (build-registry component-specs-defs))
|
|
||||||
|
|
||||||
(defn safe-parse-int [s]
|
(defn safe-parse-int [s]
|
||||||
(let [n (js/parseInt s 10)]
|
(let [n (js/parseInt s 10)]
|
||||||
@@ -382,25 +374,23 @@
|
|||||||
stack-items)]
|
stack-items)]
|
||||||
(:resources-map result)))
|
(:resources-map result)))
|
||||||
|
|
||||||
(defn deploy! [{:keys [pulumi-cfg resource-configs all-providers]}]
|
|
||||||
(let [
|
|
||||||
|
|
||||||
deployment-results
|
(defn deploy! [{:keys [pulumi-cfg resource-configs all-providers]}]
|
||||||
|
(let [deployment-results
|
||||||
(into
|
(into
|
||||||
{}
|
{}
|
||||||
(for [config resource-configs]
|
(for [config resource-configs]
|
||||||
(let [
|
(let [{:keys [stack app-name]} config
|
||||||
{:keys [stack app-name]} config
|
|
||||||
_ (when (nil? config)
|
_ (when (nil? config)
|
||||||
(throw (js/Error. "Resource configs contain a nil value!")))
|
(throw (js/Error. "Resource configs contain a nil value!")))
|
||||||
|
|
||||||
common-opts (merge
|
common-opts (merge
|
||||||
all-providers
|
all-providers
|
||||||
(select-keys config [:app-name :app-namespace])
|
(select-keys config [:app-name :app-namespace])
|
||||||
{:pulumi-cfg pulumi-cfg})
|
{:pulumi-cfg pulumi-cfg})]
|
||||||
]
|
|
||||||
|
|
||||||
[app-name (process-stack stack config common-opts)])))
|
[app-name (process-stack stack config common-opts)])))]
|
||||||
]
|
|
||||||
(clj->js deployment-results)))
|
(clj->js deployment-results)))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
12
src/main/utils/providers/defaults.cljs
Normal file
12
src/main/utils/providers/defaults.cljs
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
(ns utils.providers.defaults
|
||||||
|
(:require ["path" :as path]
|
||||||
|
[configs :refer [cfg]]
|
||||||
|
[utils.providers.k8s :as k8s]
|
||||||
|
[utils.providers.harbor :as harbor]
|
||||||
|
[utils.providers.docker :as docker]))
|
||||||
|
|
||||||
|
|
||||||
|
(def defaults
|
||||||
|
{:k8s k8s/defaults
|
||||||
|
:harbor harbor/defaults
|
||||||
|
:docker docker/defaults})
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
(ns utils.docker
|
(ns utils.providers.docker
|
||||||
(:require
|
(:require
|
||||||
[utils.general :refer [generic-transform deep-merge new-resource component-factory resource-factory deploy-stack-factory iterate-stack]]
|
[utils.execution.general :refer [generic-transform deep-merge new-resource component-factory resource-factory deploy-stack-factory iterate-stack]]
|
||||||
["@pulumi/docker-build" :as docker]
|
["@pulumi/docker-build" :as docker]
|
||||||
["path" :as path]
|
["path" :as path]
|
||||||
[configs :refer [cfg]]))
|
[configs :refer [cfg]]))
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
(ns utils.harbor
|
(ns utils.providers.harbor
|
||||||
(:require
|
(:require
|
||||||
["@pulumiverse/harbor" :as harbor]))
|
["@pulumiverse/harbor" :as harbor]))
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
(ns utils.k8s (:require ["@pulumi/kubernetes" :as k8s]))
|
(ns utils.providers.k8s (:require ["@pulumi/kubernetes" :as k8s]))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
(ns utils.vault
|
(ns utils.providers.vault
|
||||||
(:require
|
(:require
|
||||||
["@pulumi/kubernetes" :as k8s]
|
["@pulumi/kubernetes" :as k8s]
|
||||||
["@pulumi/pulumi" :as pulumi]
|
["@pulumi/pulumi" :as pulumi]
|
||||||
Reference in New Issue
Block a user