diff --git a/templates/config-to-aks-k8s.jsonnet b/templates/config-to-aks-k8s.jsonnet new file mode 100644 index 00000000..c603a0d8 --- /dev/null +++ b/templates/config-to-aks-k8s.jsonnet @@ -0,0 +1,16 @@ + +local engine = import "engine/aks-k8s.jsonnet"; +local decode = import "util/decode-config.jsonnet"; +local components = import "components.jsonnet"; + +// Import config +local config = import "config.json"; + +// Produce patterns from config +local patterns = decode(config); + +// Extract resources usnig the engine +local resourceList = engine.package(patterns); + +resourceList + diff --git a/templates/engine/aks-k8s.jsonnet b/templates/engine/aks-k8s.jsonnet new file mode 100644 index 00000000..69bca03f --- /dev/null +++ b/templates/engine/aks-k8s.jsonnet @@ -0,0 +1,45 @@ + +local k8s = import "k8s.jsonnet"; + +local ns = { + apiVersion: "v1", + kind: "Namespace", + metadata: { + name: "trustgraph", + }, + "spec": { + }, +}; + +local sc = { + apiVersion: "storage.k8s.io/v1", + kind: "StorageClass", + metadata: { + name: "tg", + }, + provisioner: "disk.csi.azure.com", + parameters: { + // Standard disks (spinning magnetic), Locally Redundant Storage + // Cheapest, basically + skuName: "Standard_LRS", + }, + reclaimPolicy: "Delete", + volumeBindingMode: "WaitForFirstConsumer", +}; + +k8s + { + + // Extract resources usnig the engine + package:: function(patterns) + local resources = [sc, ns] + std.flattenArrays([ + p.create(self) for p in std.objectValues(patterns) + ]); + local resourceList = { + apiVersion: "v1", + kind: "List", + items: [ns, sc] + resources, + }; + resourceList + +} + diff --git a/templates/generate b/templates/generate index 2569a4c0..2640a125 100755 --- a/templates/generate +++ b/templates/generate @@ -121,7 +121,7 @@ class Packager: return self.generate_docker_compose( "docker-compose", version, config ) - elif platform in set(["minikube-k8s", "gcp-k8s"]): + elif platform in set(["minikube-k8s", "gcp-k8s", "aks-k8s"]): return self.generate_k8s( platform, version, config )