You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by GitBox <gi...@apache.org> on 2019/12/09 14:12:27 UTC

[GitHub] [camel-k] nicolaferraro opened a new pull request #1127: Don't write to platform spec to allow upgrades

nicolaferraro opened a new pull request #1127: Don't write to platform spec to allow upgrades
URL: https://github.com/apache/camel-k/pull/1127
 
 
   <!-- Description -->
   Without this, upgrades to newer versions are not possible, as we used to encode even defaults in the platform specs, but defaults change in every new version (e.g. for instance the default Camel version).
   
   I've moved the full platform config in a `fullConfig` field in the `status`, to allow it to be inspected and at the same time to allow the users to set their preference only on what matters for them.
   
   A typical platform on Minikube now looks like:
   
   ```
   apiVersion: camel.apache.org/v1alpha1
   kind: IntegrationPlatform
   metadata:
     creationTimestamp: "2019-12-09T13:56:32Z"
     generation: 1
     labels:
       app: camel-k
     name: camel-k
     namespace: default
     resourceVersion: "562760"
     selfLink: /apis/camel.apache.org/v1alpha1/namespaces/default/integrationplatforms/camel-k
     uid: b4b273c5-1a8b-11ea-8c9d-5cdf4ec533fd
   spec:
     build:
       maven:
         settings: {}
       registry:
         address: 10.96.56.193
         insecure: true
     resources: {}
   status:
     fullConfig:
       build:
         baseImage: fabric8/s2i-java:3.0-java8
         buildStrategy: pod
         camelVersion: '>=3.0.0-RC3'
         kanikoBuildCache: true
         maven:
           localRepository: /tmp/artifacts/m2
           settings:
             configMapKeyRef:
               key: settings.xml
               name: camel-k-maven-settings
           timeout: 3m45s
         persistentVolumeClaim: camel-k
         publishStrategy: Kaniko
         registry:
           address: 10.96.56.193
           insecure: true
         runtimeVersion: '>=1.0.7'
         timeout: 5m0s
       cluster: Kubernetes
       profile: Knative
     phase: Warming
     version: 1.0.0-M5-SNAPSHOT
   ```
   
   Note that only the relevant information (registry address and kind) are present in spec, all other values are computed in the status.
   
   The `fullConfig` is kept in sync by the platform controller.
   
   <!--
   Enter your extended release note in the below block. If the PR requires
   additional action from users switching to the new release, include the string
   "action required". If no release note is required, write "NONE". 
   
   You can (optionally) mark this PR with labels "kind/bug" or "kind/feature" to make sure
   the text is added to the right section of the release notes. 
   -->
   
   **Release Note**
   ```release-note
   IntegrationPlatform specification does no longer contain default values in order to ease upgrades
   ```
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services