-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pull-based deploy to Kubernetes clusters #7
Comments
cc @sduranc @bengtfredh - part 2 of k8s/platform related ADRs. Feel free to correct and rewrite as needed |
@martinothamar |
@martinothamar Nice! I think we should change the title of this decision to reflect the main architectural change: Pull-based deploy to Kubernetes app clusters. |
Cool! Added the "For more concrete technical information, read the platform team RFC..." paragraph with a link
Done |
LGTM. Although, it sounds more like it's specific for Altinn Studio.
Currently we're pushing the OCI artifacts to ACR, using OCI repositories. But that's just implementation details, so it shouldn't matter, ie. we could also end up pushing the OCI artifact to buckets in some point, if that makes sense. |
Status
Proposed
Context
While working on Maskinporten integration and automation in Altinn 3, we also discussed more general improvements around app clusters and integration with Altinn Studio. This is something that has been discussed before in the Platform team.
Azure DevOps (ADO) pipelines are currently used for deployment from Studio to service owner app clusters.
When users click the deploy button in Altinn Studio, a pipeline is run that is parameterized by Altinn Studio backend code to target the correct environment, git-repo, cluster and Azure subscription among other things.
The pipeline
In the future we will be dynamically provisioning per-app infrastructure using Kubernetes operators (some of which won't live in the app Git repo), which will lead to more configuration that needs to work well at deployment-time.
For instance, the configuration for which Maskinporten scopes the app needs will be mutated at design-time,
but not stored in Gitea. So pulling the repo in the pipeline is not sufficient to build the whole artifact.
There are some drawbacks to the ADO approach
Decision
Rather than extending ADO pipelines to accommodate our new configuration needs, we suggest that Altinn Studio
Then in the app clusters we can
Building the artifact could consist of
values.yaml
files from dynamic configuration that is not in the Gitea repoHelmRelease
or similarFor more concrete technical information, read the platform team RFC: https://github.com/Altinn/altinn-platform/blob/rfc/pull-based-cd/rfcs/0000-pull-based-cd.md
Consequences
The text was updated successfully, but these errors were encountered: