You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pp...@apache.org on 2021/11/12 10:14:45 UTC

[camel-quarkus-examples] 03/04: Ensure app.kubernetes.io/version labels stay in sync with project version

This is an automated email from the ASF dual-hosted git repository.

ppalaga pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus-examples.git

commit dffac83df45879b7eb62193245124a158c45edac
Author: James Netherton <ja...@gmail.com>
AuthorDate: Tue Nov 2 08:03:18 2021 +0000

    Ensure app.kubernetes.io/version labels stay in sync with project version
---
 file-bindy-ftp/pom.xml                            | 38 +++++++++++++++++++++++
 file-bindy-ftp/src/main/kubernetes/kubernetes.yml | 12 +++----
 file-bindy-ftp/src/main/kubernetes/openshift.yml  | 12 +++----
 3 files changed, 50 insertions(+), 12 deletions(-)

diff --git a/file-bindy-ftp/pom.xml b/file-bindy-ftp/pom.xml
index 1afe0df..5bbfff1 100644
--- a/file-bindy-ftp/pom.xml
+++ b/file-bindy-ftp/pom.xml
@@ -44,6 +44,7 @@
         <maven.compiler.testSource>${maven.compiler.source}</maven.compiler.testSource>
 
         <formatter-maven-plugin.version>2.11.0</formatter-maven-plugin.version>
+        <groovy-maven-plugin.version>2.1.1</groovy-maven-plugin.version>
         <impsort-maven-plugin.version>1.3.2</impsort-maven-plugin.version>
         <maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version>
         <maven-jar-plugin.version>3.2.0</maven-jar-plugin.version>
@@ -267,6 +268,43 @@
                     </execution>
                 </executions>
             </plugin>
+
+            <plugin>
+                <groupId>org.codehaus.gmaven</groupId>
+                <artifactId>groovy-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>sync-k8s-resource-versions</id>
+                        <inherited>false</inherited>
+                        <goals>
+                            <goal>execute</goal>
+                        </goals>
+                        <phase>process-sources</phase>
+                        <configuration>
+                            <source>
+                                import java.util.regex.Matcher
+                                import java.util.regex.Pattern
+
+                                Pattern pattern = Pattern.compile("app.kubernetes.io/version: .*")
+
+                                ["kubernetes", "openshift"].each { k8sResource ->
+                                    File file = new File("${project.basedir}/src/main/kubernetes/${k8sResource}.yml")
+                                    String content = file.text
+                                    Matcher matcher = pattern.matcher(content)
+
+                                    if (matcher.find()) {
+                                        String updatedContent = matcher.replaceAll("app.kubernetes.io/version: ${project.version}")
+                                        if (updatedContent != content) {
+                                            log.info("Updating app.kubernetes.io/version label to ${project.version} in ${file.path}")
+                                            file.write(updatedContent)
+                                        }
+                                    }
+                                }
+                            </source>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
     </build>
 
diff --git a/file-bindy-ftp/src/main/kubernetes/kubernetes.yml b/file-bindy-ftp/src/main/kubernetes/kubernetes.yml
index 7d6d3dc..559bb32 100644
--- a/file-bindy-ftp/src/main/kubernetes/kubernetes.yml
+++ b/file-bindy-ftp/src/main/kubernetes/kubernetes.yml
@@ -21,18 +21,18 @@ metadata:
   name: ssh-server-deployment
   labels:
     app.kubernetes.io/name: camel-quarkus-examples-file-bindy-ftp
-    app.kubernetes.io/version: 1.6.0-SNAPSHOT
+    app.kubernetes.io/version: 2.4.0-SNAPSHOT
 spec:
   replicas: 1
   selector:
     matchLabels:
       app.kubernetes.io/name: camel-quarkus-examples-file-bindy-ftp
-      app.kubernetes.io/version: 1.6.0-SNAPSHOT
+      app.kubernetes.io/version: 2.4.0-SNAPSHOT
   template:
     metadata:
       labels:
         app.kubernetes.io/name: camel-quarkus-examples-file-bindy-ftp
-        app.kubernetes.io/version: 1.6.0-SNAPSHOT
+        app.kubernetes.io/version: 2.4.0-SNAPSHOT
     spec:
       containers:
         - name: openssh-server
@@ -57,7 +57,7 @@ kind: Service
 metadata:
   labels:
     app.kubernetes.io/name: camel-quarkus-examples-file-bindy-ftp
-    app.kubernetes.io/version: 1.6.0-SNAPSHOT
+    app.kubernetes.io/version: 2.4.0-SNAPSHOT
   name: ftp-server
 spec:
   ports:
@@ -66,7 +66,7 @@ spec:
       targetPort: 2222
   selector:
     app.kubernetes.io/name: camel-quarkus-examples-file-bindy-ftp
-    app.kubernetes.io/version: 1.6.0-SNAPSHOT
+    app.kubernetes.io/version: 2.4.0-SNAPSHOT
   type: ClusterIP
 ---
 apiVersion: v1
@@ -77,7 +77,7 @@ kind: Secret
 metadata:
   labels:
     app.kubernetes.io/name: camel-quarkus-examples-file-bindy-ftp
-    app.kubernetes.io/version: 1.6.0-SNAPSHOT
+    app.kubernetes.io/version: 2.4.0-SNAPSHOT
   name: ftp-credentials
 type: Opaque
 ---
diff --git a/file-bindy-ftp/src/main/kubernetes/openshift.yml b/file-bindy-ftp/src/main/kubernetes/openshift.yml
index 7d6d3dc..559bb32 100644
--- a/file-bindy-ftp/src/main/kubernetes/openshift.yml
+++ b/file-bindy-ftp/src/main/kubernetes/openshift.yml
@@ -21,18 +21,18 @@ metadata:
   name: ssh-server-deployment
   labels:
     app.kubernetes.io/name: camel-quarkus-examples-file-bindy-ftp
-    app.kubernetes.io/version: 1.6.0-SNAPSHOT
+    app.kubernetes.io/version: 2.4.0-SNAPSHOT
 spec:
   replicas: 1
   selector:
     matchLabels:
       app.kubernetes.io/name: camel-quarkus-examples-file-bindy-ftp
-      app.kubernetes.io/version: 1.6.0-SNAPSHOT
+      app.kubernetes.io/version: 2.4.0-SNAPSHOT
   template:
     metadata:
       labels:
         app.kubernetes.io/name: camel-quarkus-examples-file-bindy-ftp
-        app.kubernetes.io/version: 1.6.0-SNAPSHOT
+        app.kubernetes.io/version: 2.4.0-SNAPSHOT
     spec:
       containers:
         - name: openssh-server
@@ -57,7 +57,7 @@ kind: Service
 metadata:
   labels:
     app.kubernetes.io/name: camel-quarkus-examples-file-bindy-ftp
-    app.kubernetes.io/version: 1.6.0-SNAPSHOT
+    app.kubernetes.io/version: 2.4.0-SNAPSHOT
   name: ftp-server
 spec:
   ports:
@@ -66,7 +66,7 @@ spec:
       targetPort: 2222
   selector:
     app.kubernetes.io/name: camel-quarkus-examples-file-bindy-ftp
-    app.kubernetes.io/version: 1.6.0-SNAPSHOT
+    app.kubernetes.io/version: 2.4.0-SNAPSHOT
   type: ClusterIP
 ---
 apiVersion: v1
@@ -77,7 +77,7 @@ kind: Secret
 metadata:
   labels:
     app.kubernetes.io/name: camel-quarkus-examples-file-bindy-ftp
-    app.kubernetes.io/version: 1.6.0-SNAPSHOT
+    app.kubernetes.io/version: 2.4.0-SNAPSHOT
   name: ftp-credentials
 type: Opaque
 ---