During the installation of the Direktiv a direktiv.yaml file is created. The fundamental configuration information in the file would include database access details, proxy information (if needed) and several other settings (such as OpenTelemetry configuration and logging information).
An example file is shown below:
ingress: host: "dev.direktiv.io" certificate: "direktiv-tls-secret" ui: replicas: 1 image: direktiv/ui-ee url: "dev.direktiv.io/api" flow: replicas: 1 functions: replicas: 1 api: replicas: 1 image: direktiv/api-ee additionalEnvs: - name: EE_DB_CONN value: "host=direktiv-primary.postgres.svc port=5432 user=<user> password=<password> dbname=<dbname> sslmode=require" database: host: "direktiv-primary.postgres.svc" user: "<username>" name: "<dbname>" password: "<password>" sslmode: "require" # Added this on the 31st October to connect to tracing.direktiv.io (Grafana) opentelemetry: enabled: true agentconfig: | receivers: otlp: protocols: grpc: http: exporters: otlp: endpoint: "tracing.direktiv.io:4317" # grc port insecure: true sending_queue: num_consumers: 4 queue_size: 100 retry_on_failure: enabled: true logging: loglevel: debug processors: batch: memory_limiter: # Same as --mem-ballast-size-mib CLI argument ballast_size_mib: 165 # 80% of maximum memory up to 2G limit_mib: 400 # 25% of limit up to 2G spike_limit_mib: 100 check_interval: 5s extensions: zpages: {} service: extensions: [zpages] pipelines: traces: receivers: [otlp] processors: [memory_limiter, batch] exporters: [logging, otlp]
Upgrading a Direktiv instance to the latest version uses this direktiv.yaml configuration file and helm installation utility. Using helm, the most current Direktiv version will be deployed.
To upgrade each component a tag value can be changed to the desired version. If the component already exists (secrets, flow, ui, api, functions) the tag value has to be added.
An example is shown below:
secrets: tag: "v0.7.1" flow: tag: "v0.7.1" ui: tag: "v0.7.1" api: tag: "v0.7.1" functions: tag: "v0.7.1"
The new configuration file would look like this (note however, this will look different for each version of Direktiv):
ingress: host: "dev.direktiv.io" certificate: "direktiv-tls-secret" secrets: tag: "v0.7.1" ui: replicas: 1 image: direktiv/ui-ee url: "dev.direktiv.io/api" tag: "v0.7.1" flow: replicas: 1 tag: "v0.7.1" functions: replicas: 1 tag: "v0.7.1" api: replicas: 1 image: direktiv/api-ee tag: "v0.7.1" additionalEnvs: - name: EE_DB_CONN value: value: "host=direktiv-primary.postgres.svc port=5432 user=<user> password=<password> dbname=<dbname> sslmode=require" database: host: "direktiv-primary.postgres.svc" user: "<username>" name: "<dbname>" password: "<password>" sslmode: "require" # Added this on the 31st October to connect to tracing.direktiv.io # for the PayPal PoC opentelemetry: # -- opentelemetry address where Direktiv is sending data to # address: "localhost:4317" # -- installs opentelemtry agent as sidecar in flow enabled: true # -- config for sidecar agent # 4317 PORT agentconfig: | receivers: otlp: protocols: grpc: http: exporters: otlp: # endpoint: "tracing.direktiv.io:4318" endpoint: "tracing.direktiv.io:4317" # endpoint: "tracing.direktiv.io:3200" insecure: true sending_queue: num_consumers: 4 queue_size: 100 retry_on_failure: enabled: true logging: loglevel: debug processors: batch: memory_limiter: # Same as --mem-ballast-size-mib CLI argument ballast_size_mib: 165 # 80% of maximum memory up to 2G limit_mib: 400 # 25% of limit up to 2G spike_limit_mib: 100 check_interval: 5s extensions: zpages: {} service: extensions: [zpages] pipelines: traces: receivers: [otlp] processors: [memory_limiter, batch] exporters: [logging, otlp]After changing the file the command for upgrading the environment depends on whether you're running Open Source or Enterprise Edition edition.
For Open Source:
helm upgrade -f direktiv.yaml direktiv direktiv/direktiv
For Enterprise Edition, there is an upgrade file in install/06_direktiv:
~/direktiv-ee/install/06_direktiv/upgrade.sh
That's it!
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article