Public Information

This commit is contained in:
2025-01-24 16:18:47 +01:00
commit 0bd2038c86
449 changed files with 108655 additions and 0 deletions

47
samples/pinning/README.md Normal file
View File

@@ -0,0 +1,47 @@
# Pinning Versions
## Old Version
If you like to test rolling updates and the updates to new minor versions, check out the *e90* sample:
This sample will install a version 9.0.1400 for you to test. Since the Cluster Node Discovery changed due to a new jGroups version in nscale, the chart will notice the old version and turn on the legacy discovery mechanism to allow the Pod to find its peers in Versions prior to 9.1.1200.
```
helm install \
--values samples/empty.yaml \
--values samples/demo.yaml \
--values versions/9.0.1400.yaml \
sample-e90 nplus/nplus-instance
```
## New Version Sample
Some nscale Versions are License-Compatible, meaning that for example a Version 9.1 License File will also be able to run a nscale Version 9.0 Software. But that is not always the case.
So you might need to set individual licenses per instance:
```
kubectl create secret generic nscale-license-e10 \
--from-file=license.xml=license10.xml
```
Check, if the license has been created:
```
# kubectl get secret | grep license
nscale-license Opaque 1 7d22h
nscale-license-e10 Opaque 1 17s
```
Now, we install the instance:
```
helm upgrade -i \
--values samples/empty.yaml \
--values samples/demo.yaml \
--values versions/10.0.yaml \
--set global.license=nscale-license-e10 \
sample-e10 nplus/nplus-instance
```

93
samples/pinning/build.sh Executable file
View File

@@ -0,0 +1,93 @@
#!/bin/bash
#
# This sample script builds the example as described. It is also used to build the test environment in our lab,
# so it should be well tested.
#
# Make sure it fails immediately, if anything goes wrong
set -e
# -- ENVironment variables:
# CHARTS: The path to the source code
# DEST: The path to the build destination
# SAMPLE: The directory of the sample
# NAME: The name of the sample, used as the .Release.Name
# KUBE_CONTEXT: The name of the kube context, used to build this sample depending on where you run it against. You might have different Environments such as lab, dev, qa, prod, demo, local, ...
# Check, if we have the source code available
if [ ! -d "$CHARTS" ]; then
echo "ERROR Building $SAMPLE example: The Charts Sources folder is not set. Please make sure to run this script with the full Source Code available"
exit 1
fi
if [ ! -d "$DEST" ]; then
echo "ERROR Building $SAMPLE example: DEST folder not found."
exit 1
fi
if [ ! -d "$CHARTS/instance" ]; then
echo "ERROR Building $SAMPLE example: Chart Sources in $CHARTS/instance not found. Are you running this script as a subscriber?"
exit 1
fi
#
# VERSION 9.0
#
# Set the Variables
SAMPLE="nscale-90"
NAME="sample-$SAMPLE"
# Output what is happening
echo "Building $NAME"
# Create the manifest
mkdir -p $DEST/instance
helm template --debug \
--values $SAMPLES/application/empty.yaml \
--values $SAMPLES/environment/$KUBE_CONTEXT.yaml \
--values $SAMPLES/resources/$KUBE_CONTEXT.yaml \
--values $WORKSPACE/versions/9.0.1400.yaml \
--set global.license=nscale-license-e92 \
$NAME $CHARTS/instance > $DEST/instance/$SAMPLE.yaml
# creating the Argo manifest
mkdir -p $DEST/instance-argo
helm template --debug \
--values $SAMPLES/application/empty.yaml \
--values $SAMPLES/environment/$KUBE_CONTEXT.yaml \
--values $SAMPLES/resources/$KUBE_CONTEXT.yaml \
--values $WORKSPACE/versions/9.0.1400.yaml \
--set global.license=nscale-license-e92 \
$NAME-argo $CHARTS/instance-argo > $DEST/instance-argo/$SAMPLE-argo.yaml
#
# VERSION 9.1
#
# Set the Variables
SAMPLE="nscale-91"
NAME="sample-$SAMPLE"
# Output what is happening
echo "Building $NAME"
# Create the manifest
mkdir -p $DEST/instance
helm template --debug \
--values $SAMPLES/application/empty.yaml \
--values $SAMPLES/environment/$KUBE_CONTEXT.yaml \
--values $SAMPLES/resources/$KUBE_CONTEXT.yaml \
--values $WORKSPACE/versions/9.1.1506.yaml \
--set global.license=nscale-license-e92 \
$NAME $CHARTS/instance > $DEST/instance/$SAMPLE.yaml
# creating the Argo manifest
mkdir -p $DEST/instance-argo
helm template --debug \
--values $SAMPLES/application/empty.yaml \
--values $SAMPLES/environment/$KUBE_CONTEXT.yaml \
--values $SAMPLES/resources/$KUBE_CONTEXT.yaml \
--values $WORKSPACE/versions/9.1.1506.yaml \
--set global.license=nscale-license-e92 \
$NAME-argo $CHARTS/instance-argo > $DEST/instance-argo/$SAMPLE-argo.yaml