Files
nplus/samples/blobstore
2025-01-24 16:18:47 +01:00
..
2025-01-24 16:18:47 +01:00
2025-01-24 16:18:47 +01:00
2025-01-24 16:18:47 +01:00
2025-01-24 16:18:47 +01:00
2025-01-24 16:18:47 +01:00

Using Object Stores

Blobstores aka Objectstores have a REST Interface that you can upload your Payload to and receive an ID for it. They are normally structured into Buckets or Containers to privide some sort of pooling payload within the store.

The nscale Server Storage Layer supports multiple brands of objectstores, the most popular being Amazon S3 and Microsoft Azure Blobstore.

In order to use them, you need to

  • get an account for the store
  • configure the nstl with the url, credentials etc.
  • Add firewall rules to access to store

Have a look at the sample files

  • s3-env.yaml
    for Amazon S3 compatible storage, and
  • azureblob.yaml
    for Azure Blobstore

For S3 compatible storage, there are multiple S3 flavours available.

Custom Environment Variables

There are multiple ways of how to set custom environment variables in addition to the named values, you set in helm:

Using env

Please have a look at s3-env.yaml to see how custom environment variables can be injected into a component:

nstl:
  env:
    # Archivtyp
    NSTL_ARCHIVETYPE_900_NAME: "S3"
    NSTL_ARCHIVETYPE_900_ID: "900"
    NSTL_ARCHIVETYPE_900_LOCALMIGRATION: "0"
    NSTL_ARCHIVETYPE_900_LOCALMIGRATIONTYPE: "NONE"
    NSTL_ARCHIVETYPE_900_S3MIGRATION: "1"

This will set the environment variables in the storage layer to add an archive type with id 900.

Using envMap and envSecret

Alternatively to the standard envsetting, you can also use configmaps and secrets for additional environment variables.

The file s3-envres.yaml creates a configmap and a secret with the same variables as used in the s3-env.yaml sample. s3-envfrom.yaml shows how to import them.

Please be aware, that data in secrets need to be base64 encoded:

echo "xxx" | base64

So in order to use the envFrom mechanism,

  • prepare the resources (as in s3-envres.yaml)
  • upload the resources to your cluster
    kubectl apply -f s3-envres.yaml
    
  • add it to your configuration
    nstl:
      # These resources are set in the s3-envres.yaml sample file
      # you can set single values (envMap or envSecret) or lists (envMaps or envSecrets)
      envMaps:
        - env-sample-archivetype
        - env-sample-device
      envSecret: env-sample-device-secret