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