This document describes possible operations that developers may need to perform.
Adding a new municipality works mostly by copy-pasting city-specific manifests and by replacing any reference to the city.
- Copy manifests in
manifests/*/<city>
- Add pulsar topics to
streamnative/environment/<env>/topics_source.tf
and apply the terraform. - Update
FEED_MAP
inmanifests/journey-matcher/overlays/<env>/kustomization.yaml
andmanifests/vehicle-position-splitter/<city>/overlays/<env>/kustomization.yaml
- Update
PULSAR_CATALOGUE_READERS
inmanifests/vehicle-anonymization-profiler/overlays/<env>/kustomization.yaml
- Copy ArgoCD settings in
k8s/argocd-settings/
and apply them to kubernetes.
README.md
contains instructions on bypassing the vehicle registry on early stages of municipality integration, seeIS_INITIAL_PROFILE_READING_REQUIRED
andPROFILE_COLLECTION_BASE
- If the load for journey-matcher gets too high, consider separating it per-municipality
- Create staging and production credentials for MQTT.
- Set the topic permissions so that they can only see their own topic subtree
- Vendors should initially only have write permission to staging.
- Deliver new MQTT credentials through a secure channel.
- Monitor the behaviour, and promote to production if the data is okay.
- Nothing needs to be done
Vehicle should send passenger data only from one counting system.
This should only be relevant in pilot/testing cases where there might be systems from multiple vendors aboard.
For more inforation, see ACCEPTED_DEVICE_MAP
in waltti-apc-anonymizer
- You can set the version GKE uses from
environments/<env>/cluster.tf
- It's recommended to keep development one k8s version ahead, as there is no rollback.
- GCP will force updates eventually, so it's better to handle them in advance.
- Download the preferred install.yaml version from argocd releases (pick non-HA) and add it to
k8s/argocd/argocd-install-<version>.yaml
- Diff the old and new version
- If it looks okay, remove the old file and apply the new installation to kubernetes. Make sure you are on the same cluster as the old argocd installation.
- You can set the RabbitMQ version from
cloudamqp/environments/<env>/variables.tf
- The current provider is very finicky, as it can't update the major/minor versions. To properly update:
- Update the RabbitMQ version in CloudAMQP
- Change the version in
variables.tf
- Plan and apply