diff --git a/gcp/template/gcp/artifactories/instances/default.json b/gcp/template/gcp/artifactories/instances/default.json new file mode 100644 index 00000000..dbe03084 --- /dev/null +++ b/gcp/template/gcp/artifactories/instances/default.json @@ -0,0 +1,16 @@ +{ + "version": "0.2", + "flavor": "standard", + "kind": "artifactories", + "disabled": true, + "spec": { + "include_all": true + }, + "inputs": { + "kubernetes_details": { + "resource_name": "default", + "resource_type": "kubernetes_cluster" + } + }, + "uiProps": {} +} diff --git a/gcp/template/gcp/cert_manager/instances/default.json b/gcp/template/gcp/cert_manager/instances/default.json new file mode 100644 index 00000000..37778fac --- /dev/null +++ b/gcp/template/gcp/cert_manager/instances/default.json @@ -0,0 +1,25 @@ +{ + "flavor": "standard", + "metadata": {}, + "kind": "cert_manager", + "inputs": { + "kubernetes_details": { + "resource_name": "default", + "resource_type": "kubernetes_cluster" + }, + "prometheus_details": { + "resource_name": "default", + "resource_type": "prometheus" + }, + "kubernetes_node_pool_details": { + "resource_name": "default", + "resource_type": "kubernetes_node_pool" + } + }, + "disabled": false, + "version": "0.1", + "spec": { + "cname_strategy": "Follow", + "cert_manager": {} + } +} diff --git a/gcp/template/gcp/cloud_account/instances/default.json b/gcp/template/gcp/cloud_account/instances/default.json new file mode 100644 index 00000000..8823f65b --- /dev/null +++ b/gcp/template/gcp/cloud_account/instances/default.json @@ -0,0 +1,7 @@ +{ + "flavor": "gcp_provider", + "kind": "cloud_account", + "disabled": true, + "version": "1.0", + "spec": {} +} diff --git a/gcp/template/gcp/k8s_callback/instances/default.json b/gcp/template/gcp/k8s_callback/instances/default.json new file mode 100644 index 00000000..eaa5d873 --- /dev/null +++ b/gcp/template/gcp/k8s_callback/instances/default.json @@ -0,0 +1,13 @@ +{ + "flavor": "default", + "kind": "k8s_callback", + "inputs": { + "kubernetes_details": { + "resource_name": "default", + "resource_type": "kubernetes_cluster" + } + }, + "disabled": false, + "version": "1.0", + "spec": {} +} diff --git a/gcp/template/gcp/k8s_resource/instances/facets-critical.json b/gcp/template/gcp/k8s_resource/instances/facets-critical.json new file mode 100644 index 00000000..a790a49e --- /dev/null +++ b/gcp/template/gcp/k8s_resource/instances/facets-critical.json @@ -0,0 +1,28 @@ +{ + "flavor": "k8s-custom", + "metadata": { + "name": "facets-critical" + }, + "kind": "k8s_resource", + "inputs": { + "kubernetes_details": { + "resource_name": "default", + "resource_type": "kubernetes_cluster" + } + }, + "disabled": false, + "version": "0.3", + "spec": { + "additional_resources": {}, + "resource": { + "apiVersion": "scheduling.k8s.io/v1", + "kind": "PriorityClass", + "metadata": { + "name": "facets-critical" + }, + "value": 1000000000, + "globalDefault": false, + "description": "Critical priority for Facets system components" + } + } +} diff --git a/gcp/template/gcp/kubernetes_cluster/instances/default.json b/gcp/template/gcp/kubernetes_cluster/instances/default.json new file mode 100644 index 00000000..4707d8a0 --- /dev/null +++ b/gcp/template/gcp/kubernetes_cluster/instances/default.json @@ -0,0 +1,30 @@ +{ + "flavor": "gke", + "ui": { + "base_resource": true + }, + "advanced": { + "inherit_from_base": true + }, + "kind": "kubernetes_cluster", + "inputs": { + "cloud_account": { + "resource_name": "default", + "resource_type": "cloud_account" + }, + "network_details": { + "resource_name": "default", + "resource_type": "network" + } + }, + "provided": false, + "disabled": false, + "version": "1.0", + "spec": { + "auto_upgrade": true, + "whitelisted_cidrs": [ + "0.0.0.0/0" + ] + }, + "uiProps": {} +} diff --git a/gcp/template/gcp/kubernetes_node_pool/instances/default.json b/gcp/template/gcp/kubernetes_node_pool/instances/default.json new file mode 100644 index 00000000..39dc00ba --- /dev/null +++ b/gcp/template/gcp/kubernetes_node_pool/instances/default.json @@ -0,0 +1,30 @@ +{ + "flavor": "gke_custom_node_pool", + "metadata": {}, + "kind": "kubernetes_node_pool", + "inputs": { + "kubernetes_details": { + "resource_name": "default", + "resource_type": "kubernetes_cluster" + }, + "cloud_account": { + "resource_name": "default", + "resource_type": "cloud_account" + }, + "network_details": { + "resource_name": "default", + "resource_type": "network" + } + }, + "disabled": false, + "version": "1.0", + "spec": { + "instance_type": "n2d-standard-2", + "min_node_count": 1, + "max_node_count": 10, + "disk_size": 100, + "taints": [], + "labels": {}, + "is_public": false + } +} diff --git a/gcp/template/gcp/network/instances/default.json b/gcp/template/gcp/network/instances/default.json new file mode 100644 index 00000000..1a1a41e5 --- /dev/null +++ b/gcp/template/gcp/network/instances/default.json @@ -0,0 +1,26 @@ +{ + "kind": "network", + "flavor": "gcp-vpc", + "version": "1.0", + "ui": { + "base_resource": true + }, + "spec": { + "include_cluster_code": true + }, + "provided": false, + "disabled": true, + "advanced": { + "inherit_from_base": true + }, + "inputs": { + "cloud_account": { + "resource_name": "default", + "resource_type": "cloud_account" + } + }, + "out": { + "attributes": { + } + } +} diff --git a/gcp/template/gcp/prometheus/instances/default.json b/gcp/template/gcp/prometheus/instances/default.json new file mode 100644 index 00000000..4cb4073a --- /dev/null +++ b/gcp/template/gcp/prometheus/instances/default.json @@ -0,0 +1,104 @@ +{ + "flavor": "k8s-custom", + "metadata": { + "namespace": "default" + }, + "kind": "prometheus", + "inputs": { + "kubernetes_details": { + "resource_name": "default", + "resource_type": "kubernetes_cluster" + }, + "kubernetes_node_pool_details": { + "resource_name": "default", + "resource_type": "kubernetes_node_pool" + } + }, + "disabled": false, + "version": "0.1", + "spec": { + "enable_crds": true, + "node_selector": {}, + "tolerations": [], + "values": {}, + "operator": { + "enabled": true, + "size": { + "resources": { + "requests": { + "cpu": "200m", + "memory": "512Mi" + }, + "limits": { + "cpu": "200m", + "memory": "512Mi" + } + } + } + }, + "prometheus": { + "enabled": true, + "retention": "100d", + "size": { + "volume": "100Gi", + "resources": { + "requests": { + "cpu": "1000m", + "memory": "4Gi" + }, + "limits": { + "cpu": "1000m", + "memory": "4Gi" + } + } + } + }, + "grafana": { + "enabled": true, + "size": { + "resources": { + "requests": { + "cpu": "200m", + "memory": "512Mi" + }, + "limits": { + "cpu": "200m", + "memory": "512Mi" + } + } + } + }, + "alertmanager": { + "enabled": true, + "size": { + "volume": "10Gi", + "resources": { + "requests": { + "cpu": "1000m", + "memory": "2Gi" + }, + "limits": { + "cpu": "1000m", + "memory": "2Gi" + } + } + } + }, + "kube-state-metrics": { + "enabled": true, + "collectors": [], + "size": { + "resources": { + "requests": { + "cpu": "200m", + "memory": "512Mi" + }, + "limits": { + "cpu": "200m", + "memory": "512Mi" + } + } + } + } + } +} diff --git a/gcp/template/gcp/security.json b/gcp/template/gcp/security.json new file mode 100644 index 00000000..9a17a149 --- /dev/null +++ b/gcp/template/gcp/security.json @@ -0,0 +1,10 @@ +{ + "apiVersion": "v1", + "kind": "facets.modules.common.security", + "disabled": true, + "spec": { + "falco": { + "disabled": true + } + } +} diff --git a/gcp/template/gcp/stack.json b/gcp/template/gcp/stack.json new file mode 100644 index 00000000..2c79916a --- /dev/null +++ b/gcp/template/gcp/stack.json @@ -0,0 +1,3 @@ +{ + "clusterVariablesMeta": {} +} diff --git a/gcp/template/gcp/template.facets.yaml b/gcp/template/gcp/template.facets.yaml new file mode 100644 index 00000000..f6c497c2 --- /dev/null +++ b/gcp/template/gcp/template.facets.yaml @@ -0,0 +1,9 @@ +name: gcp +clouds: + - gcp + - kubernetes +version: 0.1 +type: MULTI_INSTANCE +group: Capabilities +displayName: GCP Project Template +description: Template to create GCP Projects with predefined configurations. diff --git a/gcp/template/gcp/vpa/instances/default.json b/gcp/template/gcp/vpa/instances/default.json new file mode 100644 index 00000000..6e3571b2 --- /dev/null +++ b/gcp/template/gcp/vpa/instances/default.json @@ -0,0 +1,50 @@ +{ + "flavor": "standard", + "metadata": {}, + "kind": "vpa", + "inputs": { + "kubernetes_details": { + "resource_name": "default", + "resource_type": "kubernetes_cluster" + }, + "prometheus_details": { + "resource_name": "default", + "resource_type": "prometheus" + }, + "kubernetes_node_pool_details": { + "resource_name": "default", + "resource_type": "kubernetes_node_pool" + } + }, + "disabled": false, + "version": "0.1", + "spec": { + "version": "2.5.1", + "namespace": "vpa-system", + "create_namespace": true, + "deployment": { + "cleanup_on_fail": true, + "wait": false, + "atomic": false, + "timeout": 600, + "recreate_pods": false + }, + "recommender": { + "enabled": true, + "storage": "prometheus", + "size": { + "cpu": "500m", + "memory": "500Mi", + "cpu_limits": "1500m", + "memory_limits": "1500Mi" + } + }, + "updater": { + "enabled": false + }, + "admission_controller": { + "enabled": false + } + }, + "uiProps": {} +}