Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Custom init package for Nutanix CSI driver #42

Merged
merged 22 commits into from
May 13, 2024
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
4a9ad12
Initial custom init package for Nutanix CSI driver
jacobbmay Mar 20, 2024
5f543ee
Add zarf config env var and cleanup a couple things
anthonywendt Mar 20, 2024
d2d464d
pull main and get bundle to deploy successfully with nutanix-csi driver
jacobbmay Mar 29, 2024
5adf04b
update example uds-configs
jacobbmay Mar 29, 2024
88c027c
update example uds-configs
jacobbmay Mar 29, 2024
ae2e2d3
Pull main from origin
jacobbmay Apr 17, 2024
363c9f2
Update UDS Core to fix API issues
jacobbmay Apr 17, 2024
344910a
remove benchmarks directory unintentionally committed
jacobbmay Apr 17, 2024
8c02366
Init package with nutanix csi, RWO, and RWX SC
jacobbmay Apr 26, 2024
bef3fb0
sync with main
jacobbmay Apr 26, 2024
e587b21
Update Keycloak for nutanix csi and move nutanix variables into custo…
jacobbmay Apr 29, 2024
a9a6611
Merge branch 'main' of github.com:defenseunicorns/uds-bundle-software…
jacobbmay May 1, 2024
9230e7c
Update pepr policy exemptions for nutanix-csi and delete SCs before d…
jacobbmay May 1, 2024
c945978
fix configurations
jacobbmay May 2, 2024
3864333
Merge branch 'main' into NutanixCSI
blancharda May 3, 2024
783cd25
Document requirements for nutanix-csi driver
jacobbmay May 9, 2024
40a0d8a
readme formatting
jacobbmay May 9, 2024
9721355
Add recursive flag back to clean task
jacobbmay May 10, 2024
b0c60f1
Merge branch 'main' into NutanixCSI
blancharda May 10, 2024
9f24568
Change nutanix-helm fork to defenseunicorns owned fork
jacobbmay May 13, 2024
2da5b26
Merge branch 'NutanixCSI' of github.com:defenseunicorns/uds-bundle-so…
jacobbmay May 13, 2024
8cdb77c
Change rook references to nutanix csi
jacobbmay May 13, 2024
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
16 changes: 3 additions & 13 deletions bundles/uds-core-swf/uds-bundle.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,10 @@ metadata:
packages:
# Zarf init
- name: init
repository: ghcr.io/defenseunicorns/uds-capability/rook-ceph/init
path: ../../build
optionalComponents:
- git-server
ref: v0.33.0-0.2.7
overrides:
rook-ceph-cluster:
rook-ceph-cluster:
variables:
- path: cephClusterSpec.resources.osd.requests.memory
name: CEPH_OSD_MEM_REQUESTS
- path: cephClusterSpec.resources.osd.limits.memory
name: CEPH_OSD_MEM_LIMITS
- path: toolbox.enabled
name: ENABLE_CEPH_TOOLBOX
ref: v0.33.0

# Namespace pre-reqs for swf capabilities
- name: software-factory-namespaces
Expand Down Expand Up @@ -135,7 +125,7 @@ packages:
- path: "persistence.accessMode"
value: "ReadWriteMany"
- path: "persistence.storageClassName"
value: "ceph-filesystem"
value: "nutanix-dynamicfile"
variables:
- name: KEYCLOAK_DB_USERNAME
description: "keycloak database username"
Expand Down
9 changes: 4 additions & 5 deletions config/uds-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@ shared:
variables:
init:
REGISTRY_HPA_ENABLE: false
CEPH_OSD_MEM_REQUESTS: "4Gi"
CEPH_OSD_MEM_LIMITS: "4Gi"
ENABLE_CEPH_TOOLBOX: "true"
PRISM_ENDPOINT: "PRISM element IP address"
PRISM_USERNAME: "csi-user-prism-element-user"
PRISM_PASSWORD: "csi-user-passoword"
STORAGE_CONTAINER: "nutanix-storage-container"
metallb:
# Replace with a valid IP address range
IP_ADDRESS_POOL: "10.0.0.10-10.0.0.20"
Expand Down Expand Up @@ -108,7 +109,6 @@ variables:
JIRA_DB_USERNAME: "postgres"
JIRA_LOCAL_HOME_ENABLED: "true"
JIRA_LOCAL_HOME_SIZE: "128Gi"
JIRA_RWO_STORAGE_CLASS: "ceph-block"
JIRA_DB_ENDPOINT: "jira-pg.replace.with.db.url"
confluence-database-secret:
CONFLUENCE_DB_PASSWORD: "replace-me-db-passwords"
Expand All @@ -117,7 +117,6 @@ variables:
CONFLUENCE_DB_USERNAME: "postgres"
CONFLUENCE_LOCAL_HOME_ENABLED: "true"
CONFLUENCE_LOCAL_HOME_SIZE: "128Gi"
CONFLUENCE_RWO_STORAGE_CLASS: "ceph-block"
CONFLUENCE_DB_ENDPOINT: "confluence-pg.replace.with.db.url"
mattermost:
ACCESS_KEY: "replace-me-object-store-access-key"
Expand Down
2 changes: 2 additions & 0 deletions packages/init/values/namespaces.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
namespaces:
- name: ntnx-system
33 changes: 33 additions & 0 deletions packages/init/values/nutanix-snapshot-values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Default values for nutanix-csi-snapshot.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

# Global Settings for all pods

nodeSelector: {}
tolerations: []
imagePullPolicy: IfNotPresent

controller:
replicas: 2
image: ###ZARF_REGISTRY###/sig-storage/snapshot-controller
nodeSelector: {}
tolerations: []

validationWebHook:
replicas: 2
timeout: 2
failurePolicy: Fail
image: ###ZARF_REGISTRY###/sig-storage/snapshot-validation-webhook
nodeSelector: {}
tolerations: []

tls:
# Where to get the cert for the webhook. - "generate, secret"
source: generate
# Allow to renew self-signed generated certificate
renew: false
# Name of the secret where certificate are stored
secretName: "csi-snapshot-validation-webhook-cert"
# Validity of certificate when generated by Helm
validityDuration: 3650
161 changes: 161 additions & 0 deletions packages/init/values/nutanix-storage-values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
# Default values for nutanix-csi-storage.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

# parameters

# Legacy mode
#
# if legacy set to true we keep the old reverse domain notation for CSI driver name (com.nutanix.csi).
# need to be set to true only if upgrade and initialy installed with helm package before 2.2.x
legacy: false

# Openshift settings
#

openshift:
scc: false
masterIscsiConfig: false
workerIscsiConfig: false

# kubeletDir allows overriding the host location of kubelet's internal state.
kubeletDir: "/var/lib/kubelet"

# Global Settings for all pods

nodeSelector: {}
tolerations: []
imagePullPolicy: IfNotPresent

# Storage Class settings
#
# choose for which mode (Volume, File, Dynamic File) storageclass need to be created
volumeClass: true
volumeClassName: "nutanix-volume"
volumeClassRetention: "Delete"
# volumeClassDescription: ""
# volumeClassAnnotations: {}
# volumeClassLabels: {}

volumeSnapshotClassName: "nutanix-snapshot-class"
# volumeSnapshotClassAnnotations: {}
# volumeSnapshotClassLabels: {}

fileClass: false
fileClassName: "nutanix-file"
fileClassRetention: "Delete"
# fileClassAnnotations: {}
# fileClassLabels: {}

dynamicFileClass: true
dynamicFileClassName: "nutanix-dynamicfile"
dynamicFileClassRetention: "Delete"
# dynamicFileClassDescription: ""
# dynamicFileClassAnnotations: {}
# dynamicFileClassLabels: {}

# Default Storage Class settings
#
# Decide wich storageclass will be the default
# value are: none, volume, file, dynfile
defaultStorageClass: volume

# Nutanix Prism Elements settings
#
# Allow dynamic creation of Volumes and Fileshare
# needed if volumeClass or dynamicFileClass is set to true

## fully qualified domain name (FQDN) or the cluster virtual IP address (if one is not configured, use the virtual IP address of any Controller VM in the cluster).
prismEndPoint: ###ZARF_VAR_PRISM_ENDPOINT###
prismPort: 9440

## username of the Prism Element (PE) cluster admin
username: ###ZARF_VAR_PRISM_USERNAME###

## password for the PE cluster admin.
password: ###ZARF_VAR_PRISM_PASSWORD###

## secret name that stores Nutanix cluster credentials
secretName: ntnx-secret

## Nutanix Prism Elements Existing Secret
#

# if set to false a new secret will not be created
createSecret: true

## Volumes Settings
#

## name of the Nutanix storage container
storageContainer: ###ZARF_VAR_STORAGE_CONTAINER###

## Filesystem used in volume PV
fsType: xfs

lvmVolume: false
lvmDisks: 4

networkSegmentation: false

# Files Settings
#

## NFS server fully qualified domain name (FQDN) or IP address
# fileHost:

## path for the NFS share
# filePath:

# Dynamic Files Settings
#

## name of the file server. (As seen in the Prism Interface)
fileServerName: ###ZARF_VAR_DYNAMIC_FILE_STORE_NAME###

# Squash-type for dynamic files.
# Values are: none, root-squash, all-squash. Default is root-squash
dynamicFileSquashType: root-squash

# Volume metrics and CSI operations metrics configuration
#

servicemonitor:
enabled: false
labels:
# This should match the serviceMonitorSelector logic configured
# on the prometheus.
k8s-app: csi-driver

# Pod pecific Settings
#

controller:
replicas: 2
image: ###ZARF_REGISTRY###/karbon/ntnx-csi:v2.6.6
nodeSelector: {}
tolerations: []

node:
image: ###ZARF_REGISTRY###/karbon/ntnx-csi:v2.6.6
nodeSelector: {}
tolerations: []

sidecars:
registrar:
image: ###ZARF_REGISTRY###/sig-storage/csi-node-driver-registrar:v2.9.1
provisioner:
image: ###ZARF_REGISTRY###/sig-storage/csi-provisioner:v3.6.2
imageLegacy: ###ZARF_REGISTRY###/sig-storage/csi-provisioner:v2.2.2
snapshotter:
image: ###ZARF_REGISTRY###/sig-storage/csi-snapshotter:v6.3.2
imageBeta: ###ZARF_REGISTRY###/sig-storage/csi-snapshotter:v3.0.3
resizer:
image: ###ZARF_REGISTRY###/sig-storage/csi-resizer:v1.9.2
livenessprobe:
image: ###ZARF_REGISTRY###/sig-storage/livenessprobe:v2.11.0

# Used for deployment test in kind cluster
#

kindtest: false
8 changes: 8 additions & 0 deletions packages/init/values/registry-values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
persistence:
enabled: ###ZARF_VAR_UPGRADE_PERSISTENCE###

autoscaling:
enabled: false

extraEnvVars:
###ZARF_VAR_UPGRADE_ENV_VARS###
17 changes: 17 additions & 0 deletions packages/init/zarf-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package:
create:
max_package_size: "1000000000"
# These values are sourced from and updated with https://github.com/defenseunicorns/zarf/blob/main/zarf-config.toml
set:
agent_image_domain: "ghcr.io/"
agent_image: "defenseunicorns/zarf/agent"

injector_version: "2023-08-02"
injector_amd64_shasum: "91de0768855ee2606a4f85a92bb480ff3a14ca205fd8d05eb397c18e15aa0247"
injector_arm64_shasum: "663df681deea957b0ec53538eab221691a83de8e95d86b8a29008af711934bee"

registry_image_domain: ""
registry_image: "library/registry"
registry_image_tag: "2.8.3"

gitea_image: "gitea/gitea:1.21.2-rootless"
Loading