Advanced Parameters
Configuring credentials for direct remote storage access
Format
The file is in the YAML format and located at /etc/mediakind/mkp/charts/customer-values.yaml. A specific script must be executed to apply the changes brought to the file that remain after a product update. If no value is specified or if a value is removed from the file, default values from installer are used.
Each entry contains the following elements:
url: the base URL of a storage.type: the type of credential to be used for this base URL. It can be:userfor access with username and passwords3for access using AWS S3 object store credentialsazureSasTokenfor access using Blob Azure credentialcertificatefor HTTPS access
User credential
The entry should contain the following elements:
usernamepassword
It can be used for FTP or SFTP access (ftp://… or sftp://…).
credentials:
[ {"type": "user", "url": "sftp://myServer/share1", "username": "test", "password": "1234"} ]Blob Azure credential
To configure the Azure authentication for your system, the entry in the credential file should contain the following elements:
url: URL provided at the Blob storage creation.type: Type of credential to be used for this URL. It must be:azureSasToken.sasToken: Token provided at the Blob storage creation.
credentials:
[{"type" : "azureSasToken", "url" : "https://myaccount.blob.core.windows.net/mycontainer", "sasToken" : "?sv=2020-02-10&ss=bfqt&srt=o&sp=rwdlacupx&se=2021-02-24T00:46:59Z&st=2021-02-23T16:46:59Z&spr=https&sig=..."} ]AWS S3 object store credential
This credential corresponds to an AWS access key.
The entry should contain the following elements:
accessKeyId: The ID of the access keysecretAccessKey: The secret access key
credentials:
[{ "type": "s3", "url" : "https://mk-cr8-poc.s3.us-east.cloud-object-storage.appdomain.cloud", "accessKeyId" : "e45d9e87d91421f2f3c69fca4c", "secretAccessKey":"236e8cc37c9ccc355b9ffb17fe8"} ]Certificate credentials
The entry should contain the following elements:
certificateFile: to be defined in client_crt_certificate valueprivateKeyFile: to be defined in client_key_certificate valueprivateKeyPassword
Use section Managing HTTPS certificates for the Origin Server to define your certificate values
credentials:
[ {"type": "certificate", "url": "https://mysecure-webdav.com/secure", "certificateFile": "/tmp/client-crt.pem", "privateKeyFile": "/tmp/client-key.pem", "privateKeyPassword": "xxyyzz"} ]Multiple credentials display
credentials:
[
{"type": "user", "url": "sftp://myServer/share1", "username": "test", "password": "1234"},
{"type" : "azureSasToken", "url" : "https://myaccount.blob.core.windows.net/mycontainer", "sasToken" : "?sv=2020-02-10&ss=bfqt&srt=o&sp=rwdlacupx&se=2021-02-24T00:46:59Z&st=2021-02-23T16:46:59Z&spr=https&sig=..."},
{ "type": "s3", "url" : "https://mk-cr8-poc.s3.us-east.cloud-object-storage.appdomain.cloud", "accessKeyId" : "e45d9e87d91421f2f3c69fca4c", "secretAccessKey":"236e8cc37c9ccc355b9ffb17fe8"}
]Deployment
This configuration file should be created by the user and needs to be deployed on every Packager server under the following path: /etc/mediakind/mkp/charts/customer-values.yaml.
Once the file customer-values.yaml is configured, the following script must be executed to apply the changes:
/etc/mediakind/mkp/charts/apply_customer_values.shExample
When a job is created, it will parse this file to find the associated credentials of the file URL it needs to access.
For example, if the file contains the following credentials:
credentials:
[
{"type" : "user", "url" : "sftp://server1", "username" : "admin", "password":"1234"},
{"type" : "user", "url" : "sftp://server2/share", "username" : "admin", "password":"4321"}
]If a job input file is sftp://server2/share/video.ts, the second credential will be used: the input URL matches with the base URL of the second credential.
The selected credentials configuration is logged into the high-level logs of the job.
Managing HTTPS certificates for the Origin Server
Packaging is configured with a self-signed certificate that is used to deliver contents using HTTPS.
This certificate must be replaced by a new certificate that is provided by a trusted authority on all the servers of your headend. To apply dedicated certificates on your server:
-
Edit the file
customer-values.yaml:vi /etc/mediakind/mkp/charts/customer-values.yaml
-
Update the credentials section of the file
/etc/mediakind/mkp/charts/customer-values.yamland copy in here the content of thecert.pemandkey.pemfiles:client_crt_certificate: |- -----BEGIN CERTIFICATE----- MIIE3DCCA8QCCQD+258[...]tkcdSo5oqACMq -----END CERTIFICATE----- client_key_certificate: |- -----BEGIN RSA PRIVATE KEY----- MIIJKQIBAAKCAgEA49D6[...]xdWOOnjI2NmH -----END RSA PRIVATE KEY-----This operation requires inserting spaces at the beginning of each line, but you can automate it by running a script. Navigate to
/etc/mediakind/mkp/charts/, copy your certificate files there, and execute the following commands:yq w -i -- customer-values.yaml "client_crt_certificate" "$(cat client-certificate.pem)" yq w -i -- customer-values.yaml "client_key_certificate" "$(cat client-key.pem)" -
Define the path to the new certificates (by default defined in the
/tmp/directory):originserver: security: origin: certificate: /tmp/client-crt.pem privateKey: /tmp/client-key.pem -
Execute the following script to apply the changes:
/etc/mediakind/mkp/charts/apply_customer_values.sh