Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions .github/workflows/releases.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
MODULE: ${{ inputs.module_name }}
RELEASE_TYPE: ${{ inputs.release_type }}
IS_DEV_RELEASE: ${{ inputs.is_dev_release }}
CURRENT_FULL_VERSION: ${{ vars.FULL_VERSION || '0.0.0' }}
CURRENT_FULL_VERSION: ${{ vars.MODULE_VERSION || '0.0.0' }}
outputs:
version: ${{ steps.version.outputs.NEXT_RELEASE_VERSION }}
changelog: ${{ steps.changelog.outputs.NOTES }}
Expand Down Expand Up @@ -166,15 +166,17 @@ jobs:
echo "EOF" >> $GITHUB_OUTPUT

- name: Printing out the release information as a step summary for validation
env:
CHANGELOG_NOTES: ${{ steps.changelog.outputs.NOTES }}
run: |
echo "### Release Preview: ${{ inputs.module_name }}" >> $GITHUB_STEP_SUMMARY
echo "**New Version:** \`${{ steps.version.outputs.NEXT_RELEASE_VERSION }}\`" >> $GITHUB_STEP_SUMMARY
echo "**Release Type:** ${{ inputs.is_dev_release && 'In Development (Dev)' || 'Stable' }}" >> $GITHUB_STEP_SUMMARY
echo "#### Proposed Changelogs:" >> $GITHUB_STEP_SUMMARY
if [ -z "${{ steps.changelog.outputs.NOTES }}" ]; then
if [ -z "$CHANGELOG_NOTES" ]; then
echo "*No descriptive changes found (commits may lack the 'Implemented Changes' section).*" >> $GITHUB_STEP_SUMMARY
else
echo "${{ steps.changelog.outputs.NOTES }}" >> $GITHUB_STEP_SUMMARY
echo "$CHANGELOG_NOTES" >> $GITHUB_STEP_SUMMARY
fi
echo "" >> $GITHUB_STEP_SUMMARY
echo "> **Note:** Please review the details above. If correct, approve the next job to finalize the release." >> $GITHUB_STEP_SUMMARY
Expand Down
4 changes: 1 addition & 3 deletions modules/helm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ OpenTofu Module to deploy the following required helm charts:
2. [Cloudnative PG (including Barman Plugin)](https://cloudnative-pg.io/)
3. [Traefik](https://traefik.io/)
4. [Calico CNI](https://www.tigera.io/project-calico/)
5. [NetObserv](https://github.com/netobserv)
5. [External Secrets](https://external-secrets.io)

## Providers

Expand All @@ -22,7 +22,6 @@ OpenTofu Module to deploy the following required helm charts:
| [helm_release.cnpg](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
| [helm_release.cnpg_barman_plugin](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
| [helm_release.external_secrets](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
| [helm_release.netobserv](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
| [helm_release.traefik](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |

## Inputs
Expand All @@ -34,7 +33,6 @@ OpenTofu Module to deploy the following required helm charts:
| <a name="input_cnpg_barman_configuration"></a> [cnpg\_barman\_configuration](#input\_cnpg\_barman\_configuration) | Dictionary filled with Cloud Native PG Barman Configuration Details | `map(string)` | <pre>{<br/> "chart": "plugin-barman-cloud",<br/> "name": "cnpg-barman",<br/> "namespace": "cnpg-system",<br/> "repository": "https://cloudnative-pg.github.io/charts",<br/> "version": "v0.2.0"<br/>}</pre> | no |
| <a name="input_cnpg_configuration"></a> [cnpg\_configuration](#input\_cnpg\_configuration) | Dictionary filled with Cloud Native PG Operator Configuration Details | `map(string)` | <pre>{<br/> "chart": "cloudnative-pg",<br/> "create_namespace": true,<br/> "name": "cnpg",<br/> "namespace": "cnpg-system",<br/> "repository": "https://cloudnative-pg.github.io/charts",<br/> "version": "v0.26.0"<br/>}</pre> | no |
| <a name="input_external_secrets_configuration"></a> [external\_secrets\_configuration](#input\_external\_secrets\_configuration) | Dictionary filled with External Secrets Operator Configuration Details | `map(string)` | <pre>{<br/> "chart": "external-secrets",<br/> "create_namespace": true,<br/> "name": "external-secrets",<br/> "namespace": "external-secrets",<br/> "repository": "https://charts.external-secrets.io",<br/> "version": "2.1.0"<br/>}</pre> | no |
| <a name="input_netobserv_configuration"></a> [netobserv\_configuration](#input\_netobserv\_configuration) | Dictionary filled with Netobserv Operator Configuration Details | `map(string)` | <pre>{<br/> "chart": "netobserv-operator",<br/> "create_namespace": true,<br/> "name": "netobserv",<br/> "namespace": "netobserv",<br/> "repository": "https://netobserv.io/static/helm",<br/> "version": "1.11.0"<br/>}</pre> | no |
| <a name="input_server_node_selector"></a> [server\_node\_selector](#input\_server\_node\_selector) | Node Selector Label Value to be used for deploying required foundation components | `string` | n/a | yes |
| <a name="input_traefik_configuration"></a> [traefik\_configuration](#input\_traefik\_configuration) | Dictionary filled with Traefik Controller Configuration Details | `map(string)` | <pre>{<br/> "chart": "traefik",<br/> "create_namespace": "true",<br/> "name": "traefik",<br/> "namespace": "traefik",<br/> "repository": "https://traefik.github.io/charts",<br/> "version": "v39.0.7"<br/>}</pre> | no |

Expand Down
5 changes: 5 additions & 0 deletions modules/helm/calico.tf
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,11 @@ resource "helm_release" "calico" {
{
name = "installation.calicoNetwork.mtu"
value = "1440"
},
{
name = "kubeletVolumePluginPath"
value = "None"
type = "string"
}
]

Expand Down
12 changes: 0 additions & 12 deletions modules/helm/netobserv.tf

This file was deleted.

14 changes: 0 additions & 14 deletions modules/helm/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -66,20 +66,6 @@ variable "calico_configuration" {
}
}

# --------------- NETOBSERV VARIABLES --------------- #
variable "netobserv_configuration" {
description = "Dictionary filled with Netobserv Operator Configuration Details"
type = map(string)
default = {
"name" = "netobserv"
"namespace" = "netobserv"
"repository" = "https://netobserv.io/static/helm"
"chart" = "netobserv-operator"
"version" = "1.11.0"
"create_namespace" = true
}
}

# --------------- EXTERNAL SECRETS VARIABLES --------------- #
variable "external_secrets_configuration" {
description = "Dictionary filled with External Secrets Operator Configuration Details"
Expand Down
4 changes: 2 additions & 2 deletions modules/keycloak/deployment.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
resource "kubernetes_stateful_set" "keycloak_cluster" {
metadata {
name = "keycloak-cluster"
namespace = var.namespace
namespace = kubernetes_namespace.namespace.metadata[0].name
labels = {
app = "keycloak"
component = "statefulset"
Expand Down Expand Up @@ -238,7 +238,7 @@ resource "kubernetes_stateful_set" "keycloak_cluster" {

limits = {
"cpu" = "500m"
"memory" = "1Gi"
"memory" = "2Gi"
}
}

Expand Down
2 changes: 1 addition & 1 deletion modules/keycloak/ingress.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
resource "kubernetes_ingress_v1" "ingress" {
metadata {
name = "ingress"
namespace = var.namespace
namespace = kubernetes_namespace.namespace.metadata[0].name
labels = {
app = var.app_name
component = "ingress"
Expand Down
2 changes: 1 addition & 1 deletion modules/keycloak/networkpolicy.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
resource "kubernetes_network_policy" "keycloak_network_access_policy" {
metadata {
name = "keycloak-network-access-policy"
namespace = var.namespace
namespace = kubernetes_namespace.namespace.metadata[0].name
}
spec {
policy_types = ["Ingress", "Egress"]
Expand Down
4 changes: 2 additions & 2 deletions modules/keycloak/service.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
resource "kubernetes_service" "keycloak_discovery" {
metadata {
name = "keycloak-discovery"
namespace = var.namespace
namespace = kubernetes_namespace.namespace.metadata[0].name
}

spec {
Expand All @@ -25,7 +25,7 @@ resource "kubernetes_service" "keycloak_discovery" {
resource "kubernetes_service" "keycloak_service" {
metadata {
name = "keycloak-cluster-service"
namespace = var.namespace
namespace = kubernetes_namespace.namespace.metadata[0].name
}

spec {
Expand Down
6 changes: 3 additions & 3 deletions modules/observability/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ These components are being deployed as part of the Observability Module:
2. [VictoriaLogs](https://victoriametrics.com/products/victorialogs/) for logs storage generated from the cluster.
3. [OpenTelemetry Collector](https://opentelemetry.io/docs/collector/) for receiving and processing and export telemetry data to the storage databases.
4. [kube-state-metrics](https://github.com/kubernetes/kube-state-metrics) to generate and expose cluster-level metrics.
5. [NetObserv](https://github.com/netobserv) for components related to Network Observability in Kubernetes based on eBPF.
6. [Grafana](https://grafana.com/oss/grafana/?plcmt=oss-nav) for the visual layer for observability.
5. [Grafana](https://grafana.com/oss/grafana/?plcmt=oss-nav) for the visual layer for observability.

## Providers

Expand All @@ -26,6 +25,8 @@ These components are being deployed as part of the Observability Module:
| [helm_release.logs](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
| [helm_release.metrics](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
| [helm_release.otel_collector](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
| [kubernetes_config_map.goldmane_api_proto](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/config_map) | resource |
| [kubernetes_deployment.goldmane_otel_adapter](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/deployment) | resource |
| [kubernetes_ingress_v1.ingress](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/ingress_v1) | resource |
| [kubernetes_manifest.certificate_authority](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/manifest) | resource |
| [kubernetes_manifest.grafana_credentials_sync](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/manifest) | resource |
Expand All @@ -34,7 +35,6 @@ These components are being deployed as part of the Observability Module:
| [kubernetes_manifest.issuer](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/manifest) | resource |
| [kubernetes_manifest.middleware_buffering](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/manifest) | resource |
| [kubernetes_manifest.middleware_rewrite](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/manifest) | resource |
| [kubernetes_manifest.network_observability](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/manifest) | resource |
| [kubernetes_manifest.password_generator](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/manifest) | resource |
| [kubernetes_manifest.public_issuer](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/manifest) | resource |
| [kubernetes_manifest.push_grafana_credentials](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/manifest) | resource |
Expand Down
11 changes: 11 additions & 0 deletions modules/observability/configmap.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# ConfigMap for setting up the proto file for querying Goldmane GRPC API
resource "kubernetes_config_map" "goldmane_api_proto" {
metadata {
name = "goldmane-api-proto"
namespace = "calico-system"
}

data = {
"api.proto" = file("${path.module}/proto/api.proto")
}
}
12 changes: 6 additions & 6 deletions modules/observability/dashboards/cluster.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": 0,
"id": 9,
"links": [],
"panels": [
{
Expand Down Expand Up @@ -415,7 +415,7 @@
"uid": "P4169E866C3094E38"
},
"editorMode": "code",
"expr": "sum(container_fs_usage_bytes{device=~\"^/dev/[sv]d[a-z][1-9]$\",id=\"/\",instance=~\"^$Node$\"}) / sum(container_fs_limit_bytes{device=~\"^/dev/[sv]d[a-z][1-9]$\",id=\"/\",instance=~\"^$Node$\"}) * 100",
"expr": "sum(container_fs_usage_bytes{id=\"/\",instance=~\"^$Node$\"}) / sum(container_fs_limit_bytes{id=\"/\",instance=~\"^$Node$\"}) * 100",
"interval": "10s",
"intervalFactor": 1,
"legendFormat": "",
Expand Down Expand Up @@ -780,7 +780,7 @@
}
]
},
"unit": "bytes"
"unit": "decbytes"
},
"overrides": []
},
Expand Down Expand Up @@ -817,7 +817,7 @@
"uid": "P4169E866C3094E38"
},
"editorMode": "code",
"expr": "sum(container_fs_usage_bytes{device=~\"^/dev/[sv]d[a-z][1-9]$\",id=\"/\",instance=~\"^$Node$\"})",
"expr": "max(container_fs_usage_bytes{device=~\"^/dev/([sv]d[a-z][1-9]|nvme[0-9]n[0-9]p[0-9])$\",id=\"/\",instance=~\"^$Node$\"})",
"interval": "10s",
"intervalFactor": 1,
"range": true,
Expand Down Expand Up @@ -897,7 +897,7 @@
"uid": "P4169E866C3094E38"
},
"editorMode": "code",
"expr": "sum(container_fs_limit_bytes{device=~\"^/dev/[sv]d[a-z][1-9]$\",id=\"/\",instance=~\"^$Node$\"})",
"expr": "max(container_fs_limit_bytes{device=~\"^/dev/([sv]d[a-z][1-9]|nvme[0-9]n[0-9]p[0-9])$\",id=\"/\",instance=~\"^$Node$\"})",
"interval": "10s",
"intervalFactor": 1,
"range": true,
Expand Down Expand Up @@ -2123,5 +2123,5 @@
"timezone": "browser",
"title": "Kubernetes Cluster Level Monitoring",
"uid": "c98856d7-3f9c-4ab2-bf54-11fd6c046ef1",
"version": 4
"version": 1
}
Loading
Loading