diff --git a/CHANGELOG.md b/CHANGELOG.md index 436fa5ebe6f5e801edf8a226cdea476d275a9948..903c6b80f783b68e63aaea4cf97926d81f9ba83f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,21 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## 1.3.1 - 2023-01-31 + +### Added +- Ability to set iprange that can access the kubapi (port 6443) + +### Changed +- disabled argocd deployment of monitoring since it never synchronizes in argocd + +## 1.3.0 - 2022-11-21 + +### Changed +- monitoring is now managed in argocd, this will make it such that the latest version will be installed/upgraded + +### Removed +- removed the argocd-master flag, now all clusters are assumed to be external, including where argocd runs ## 1.2.2 - 2022-10-24 diff --git a/charts/apps/templates/healthmonitor.yaml b/charts/apps/templates/monitoring/healthmonitor.yaml similarity index 100% rename from charts/apps/templates/healthmonitor.yaml rename to charts/apps/templates/monitoring/healthmonitor.yaml diff --git a/charts/apps/templates/monitoring/monitoring.yaml b/charts/apps/templates/monitoring/monitoring.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c6da14f776c2ce7631dc53f2e98c696ddec8be3f --- /dev/null +++ b/charts/apps/templates/monitoring/monitoring.yaml @@ -0,0 +1,80 @@ +{{- if and .Values.monitoring .Values.monitoring.enabled }} +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: {{ .Values.cluster.name }}-rancher-monitoring + labels: + cluster: {{ .Values.cluster.name | quote }} + app: rancher-monitoring + namespace: argocd + annotations: + {{- toYaml .Values.notifications | nindent 4 }} +spec: + project: {{ .Values.cluster.name }} + destination: + server: {{ .Values.cluster.url }} + namespace: cattle-monitoring-system + syncPolicy: + {{- if .Values.sync }} + automated: + prune: true + selfHeal: true + allowEmpty: false + {{- end }} + syncOptions: + - CreateNamespace=true + source: + repoURL: https://charts.rancher.io + chart: rancher-monitoring + targetRevision: {{ .Values.rancherMonitoring.version | quote }} + helm: + version: v3 + releaseName: rancher-monitoring + values: | + global: + cattle: + clusterId: {{ .Values.cluster.rancher.id }} + clusterName: {{ .Values.cluster.name }} + systemDefaultRegistry: "" + systemDefaultRegistry: "" +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: {{ .Values.cluster.name }}-rancher-monitoring-crd + labels: + cluster: {{ .Values.cluster.name | quote }} + app: rancher-monitoring-crd + namespace: argocd + annotations: + {{- toYaml .Values.notifications | nindent 4 }} +spec: + project: {{ .Values.cluster.name }} + destination: + server: {{ .Values.cluster.url }} + namespace: cattle-monitoring-system + syncPolicy: + {{- if .Values.sync }} + automated: + prune: true + selfHeal: true + allowEmpty: false + {{- end }} + syncOptions: + - Replace=true + - CreateNamespace=true + source: + repoURL: https://charts.rancher.io + chart: rancher-monitoring-crd + targetRevision: {{ .Values.rancherMonitoring.version | quote }} + helm: + version: v3 + releaseName: rancher-monitoring-crd + values: | + global: + cattle: + clusterId: {{ .Values.cluster.rancher.id }} + clusterName: {{ .Values.cluster.name }} + systemDefaultRegistry: "" + systemDefaultRegistry: "" +{{- end }} diff --git a/charts/apps/templates/storage/nfs.yaml b/charts/apps/templates/storage/nfs.yaml index 95d56b058e5c8e401bf3ee264036d424f59ff430..ea93da235b25ae346d1b653571fb34c83c148e62 100644 --- a/charts/apps/templates/storage/nfs.yaml +++ b/charts/apps/templates/storage/nfs.yaml @@ -35,7 +35,7 @@ spec: values: | image: repository: kooper/nfs-subdir-external-provisioner - tag: v4.0.3 + tag: v4.0.17 storageClass: name: nfs-{{ $k }} @@ -48,6 +48,8 @@ spec: pathPattern: {{ $v.pathPattern | quote }} {{- else if $.Values.nfs.pathPattern }} pathPattern: {{ $.Values.nfs.pathPattern | quote }} + {{- else }} + pathPattern: "{{ $.Values.cluster.name }}/${.PVC.namespace}-${.PVC.name}-${.PVC.pvname}" {{- end }} nfs: diff --git a/charts/apps/values.yaml b/charts/apps/values.yaml index 134b44b157c43bc78007aebcfd6464942b1c73ca..68bc1b63f7e15a678afb48a484823ed3de202b7e 100644 --- a/charts/apps/values.yaml +++ b/charts/apps/values.yaml @@ -15,14 +15,10 @@ notifications: {} sync: false -healthmonitor: +metallb: enabled: false - targetRevision: HEAD - nfs: false - notifiers: - console: - report: change - threshold: 0 + version: "0.13.*" + addresses: [] ingresscontroller: enabled: false @@ -47,10 +43,22 @@ sealedsecrets: enabled: false version: "2.*" -metallb: +# ---------------------------------------------------------------------- +# MONITORING +# ---------------------------------------------------------------------- + +monitoring: enabled: false - version: "0.13.*" - addresses: [] + version: "101.*" + +healthmonitor: + enabled: false + targetRevision: HEAD + nfs: false + notifiers: + console: + report: change + threshold: 0 # ---------------------------------------------------------------------- # STORAGE @@ -60,10 +68,7 @@ nfs: enabled: false version: "4.*" servers: - taiga: {} - # pathPattern: - # defaultClass: true - # custom: + # special: # server: server1 # path: /export/ # pathPattern: diff --git a/terraform/modules/argocd/argocd.tf b/terraform/modules/argocd/argocd.tf index 3faaa5f10913d64d6f25678cf251c3848d3b7591..2f767e3af9cf4ef6258e93e9efe55da38f8feb4c 100644 --- a/terraform/modules/argocd/argocd.tf +++ b/terraform/modules/argocd/argocd.tf @@ -1,5 +1,5 @@ locals { - cluster_argocd_url = var.argocd_master ? "https://kubernetes.default.svc" : "${var.rancher_url}/k8s/clusters/${var.cluster_kube_id}" + cluster_argocd_url = "${var.rancher_url}/k8s/clusters/${var.cluster_kube_id}" argocd_cluster = templatefile("${path.module}/templates/cluster.yaml.tmpl", { cluster_name = var.cluster_name @@ -25,6 +25,7 @@ locals { argocd_annotations = var.argocd_annotations argocd_sync = var.argocd_sync argocd_repo_url = var.argocd_repo_url + argocd_repo_version = var.argocd_repo_version openstack_url = var.openstack_url openstack_credential_id = var.openstack_credential_id openstack_credential_secret = var.openstack_credential_secret @@ -42,6 +43,7 @@ locals { acme_staging = var.acme_staging acme_email = var.acme_email sealedsecrets_enabled = var.sealedsecrets_enabled + monitoring_enabled = var.monitoring_enabled healthmonitor_enabled = var.healthmonitor_enabled healthmonitor_nfs = var.healthmonitor_nfs healthmonitor_secrets = var.healthmonitor_secrets @@ -52,7 +54,7 @@ locals { # upload to central argocd server # ---------------------------------------------------------------------- resource "kubectl_manifest" "argocd_cluster" { - count = var.argocd_kube_id == "" || var.argocd_master ? 0 : 1 + count = var.argocd_kube_id != "" ? 1 : 0 yaml_body = local.argocd_cluster } diff --git a/terraform/modules/argocd/templates/argocd.yaml.tmpl b/terraform/modules/argocd/templates/argocd.yaml.tmpl index 41a2256fa4e6911554769dd649189b769e3724cc..1442ab3a7e304ace49135a1355753dbd2643a34e 100644 --- a/terraform/modules/argocd/templates/argocd.yaml.tmpl +++ b/terraform/modules/argocd/templates/argocd.yaml.tmpl @@ -27,7 +27,7 @@ spec: source: repoURL: ${argocd_repo_url} path: charts/apps - targetRevision: HEAD + targetRevision: ${argocd_repo_version} helm: version: v3 releaseName: ${cluster_name} @@ -90,6 +90,14 @@ spec: %{~ endif ~} %{~ endif ~} + sealedsecrets: + enabled: ${sealedsecrets_enabled} + + monitoring: + # broken, use rancher to deply + enabled: false + #enabled: ${monitoring_enabled} + healthmonitor: enabled: ${healthmonitor_enabled} %{~ if healthmonitor_enabled ~} @@ -97,8 +105,15 @@ spec: existingSecret: ${healthmonitor_secrets} %{~ endif ~} - sealedsecrets: - enabled: ${sealedsecrets_enabled} + nfs: + enabled: ${nfs_enabled} + %{~ if nfs_enabled ~} + servers: + taiga: + server: taiga-nfs.ncsa.illinois.edu + path: "/taiga/ncsa/radiant/${openstack_project}" + defaultClass: true + %{~ endif ~} longhorn: enabled: ${longhorn_enabled} @@ -106,11 +121,5 @@ spec: replicas: ${longhorn_replicas} %{~ endif ~} - nfs: - enabled: ${nfs_enabled} - %{~ if nfs_enabled ~} - pathPattern: "${cluster_name}/$${.PVC.namespace}-$${.PVC.name}-$${.PVC.volume}" - %{~ endif ~} - cinder: enabled: ${cinder_enabled} diff --git a/terraform/modules/argocd/variables.tf b/terraform/modules/argocd/variables.tf index fa068b1690fd3770182f5278fec369d608f47ad8..341151301c154ca89c9cc5300e2bafd1c360e7a1 100644 --- a/terraform/modules/argocd/variables.tf +++ b/terraform/modules/argocd/variables.tf @@ -67,12 +67,6 @@ variable "openstack_project" { # ---------------------------------------------------------------------- # ARGOCD # ---------------------------------------------------------------------- -variable "argocd_master" { - type = bool - description = "Is this the master argocd cluster, you most likely don't need to modify this value" - default = false -} - variable "argocd_kube_id" { type = string description = "Rancher argocd cluster, set to blank to not install argocd" @@ -90,6 +84,12 @@ variable "argocd_repo_url" { default = "https://github.com/ncsa/radiant-cluster.git" } +variable "argocd_repo_version" { + type = string + description = "What version of the application to deploy" + default = "HEAD" +} + variable "argocd_annotations" { type = set(string) description = "Should argocd be used for infrastructure"