diff --git a/Jenkinsfile b/Jenkinsfile index bcca18f..becbefb 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -9,16 +9,17 @@ symfonyAppPipeline('ubuntu:22.04', [ // Run docker image build, verification and publication stages 'postSymfonyAppPipeline': { stage('Build and publish hydra-dispatcher image') { - steps { - echo "Building docker images" - script { - make - } - echo "Publish docker images" - script { - make release - } - } + // Retrieve current tag + String currentTag = sh(script: 'git tag --points-at HEAD | head -n 1', returnStdout: true).trim() + // Retrieve default tag + String defaultTag = sh(returnStdout: true, script: 'git describe --always').trim() + container.buildAndPublishImage([ + 'imageName': 'reg.cadoles.com/pcaseiro/myapplication', + // Use current tag or default tag if not defined + 'imageTag': defaultTag, + 'dockerfile': './misc/images/hydra-sql-standalone/Dockerfile', + 'dryRun': false + ]) } } ] diff --git a/init-app b/init-app index c19e80b..6cf7095 100755 --- a/init-app +++ b/init-app @@ -79,26 +79,26 @@ init_app() { rm -rf .git echo "Setting Dockerfiles" - dirs=$(find ${DOCKERFILES_ROOT}/* -type d -name 'MYAPPLICATION-*') + dirs=$(find ${DOCKERFILES_ROOT}/* -type d -name 'myapplication-*') for d in ${dirs}; do - mv ${d} $(echo ${d} | sed "s/MYAPPLICATION/${appName}/g") + mv ${d} $(echo ${d} | sed "s/myapplication/${appName}/g") done echo "Setting Kustomization directories" - dirs=$(find ${KUSTOMIZE_DIR}/* -type d -name 'MYAPPLICATION-*') + dirs=$(find ${KUSTOMIZE_DIR}/* -type d -name 'myapplication-*') for d in ${dirs}; do - mv ${d} $(echo ${d} | sed "s/MYAPPLICATION/${appName}/g") + mv ${d} $(echo ${d} | sed "s/myapplication/${appName}/g") done echo "Setting Kustomization files" - dirs=$(find ${KUSTOMIZE_DIR}/* -type f -name 'MYAPPLICATION-*') + dirs=$(find ${KUSTOMIZE_DIR}/* -type f -name 'myapplication-*') for d in ${dirs}; do - mv ${d} $(echo ${d} | sed "s/MYAPPLICATION/${appName}/g") + mv ${d} $(echo ${d} | sed "s/myapplication/${appName}/g") done - grep -rl "MYAPPLICATION" ${KUSTOMIZE_DIR} | xargs sed -i "s/MYAPPLICATION/${appName}/g" + grep -rl "myapplication" ${KUSTOMIZE_DIR} | xargs sed -i "s/myapplication/${appName}/g" echo "Setting Skaffold configuration" - sed -i "s/MYAPPLICATION/${appName}/g" ${appDest}/skaffold.yaml + sed -i "s/myapplication/${appName}/g" ${appDest}/skaffold.yaml echo "Setting docker registry secrets" create_docker_secret ${conf} diff --git a/misc/k8s/kustomization/base/components/MYAPPLICATION-cnpg/configurations/cnpg-cluster.yaml b/misc/k8s/kustomization/base/components/myapplication-cnpg/configurations/cnpg-cluster.yaml similarity index 100% rename from misc/k8s/kustomization/base/components/MYAPPLICATION-cnpg/configurations/cnpg-cluster.yaml rename to misc/k8s/kustomization/base/components/myapplication-cnpg/configurations/cnpg-cluster.yaml diff --git a/misc/k8s/kustomization/base/components/MYAPPLICATION-cnpg/kustomization.yaml b/misc/k8s/kustomization/base/components/myapplication-cnpg/kustomization.yaml similarity index 66% rename from misc/k8s/kustomization/base/components/MYAPPLICATION-cnpg/kustomization.yaml rename to misc/k8s/kustomization/base/components/myapplication-cnpg/kustomization.yaml index f66d9fe..774bbd7 100644 --- a/misc/k8s/kustomization/base/components/MYAPPLICATION-cnpg/kustomization.yaml +++ b/misc/k8s/kustomization/base/components/myapplication-cnpg/kustomization.yaml @@ -8,24 +8,24 @@ configurations: - ./configurations/cnpg-cluster.yaml resources: -- ./resources/MYAPPLICATION-cnpg-cluster.yaml +- ./resources/myapplication-cnpg-cluster.yaml secretgenerator: -- name: MYAPPLICATION-postgres-admin +- name: myapplication-postgres-admin type: secret literals: - username=postgres - password=notsosecret -- name: MYAPPLICATION-postgres-user +- name: myapplication-postgres-user type: Secret literals: - - username=MYAPPLICATION + - username=myapplication - password=NotSoSecretButThisIsBad vars: -- name: MYAPPLICATION_DATABASE_SERVICE_NAME +- name: myapplication_DATABASE_SERVICE_NAME objref: - name: MYAPPLICATION-postgres + name: myapplication-postgres kind: Cluster apiVersion: postgresql.cnpg.io/v1 fieldref: diff --git a/misc/k8s/kustomization/base/components/MYAPPLICATION-cnpg/resources/MYAPPLICATION-cnpg-cluster.yaml b/misc/k8s/kustomization/base/components/myapplication-cnpg/resources/myapplication-cnpg-cluster.yaml similarity index 54% rename from misc/k8s/kustomization/base/components/MYAPPLICATION-cnpg/resources/MYAPPLICATION-cnpg-cluster.yaml rename to misc/k8s/kustomization/base/components/myapplication-cnpg/resources/myapplication-cnpg-cluster.yaml index 94c9e00..4432691 100644 --- a/misc/k8s/kustomization/base/components/MYAPPLICATION-cnpg/resources/MYAPPLICATION-cnpg-cluster.yaml +++ b/misc/k8s/kustomization/base/components/myapplication-cnpg/resources/myapplication-cnpg-cluster.yaml @@ -1,17 +1,17 @@ apiVersion: postgresql.cnpg.io/v1 kind: Cluster metadata: - name: MYAPPLICATION-postgres + name: myapplication-postgres spec: instances: 3 primaryUpdateStrategy: unsupervised superuserSecret: - name: MYAPPLICATION-postgres-admin + name: myapplication-postgres-admin bootstrap: initdb: - database: MYAPPLICATION - owner: MYAPPLICATION + database: myapplication + owner: myapplication secret: - name: MYAPPLICATION-postgres-user + name: myapplication-postgres-user storage: size: 20Gi diff --git a/misc/k8s/kustomization/base/kustomization.yaml b/misc/k8s/kustomization/base/kustomization.yaml index 7c35edb..afc81fb 100644 --- a/misc/k8s/kustomization/base/kustomization.yaml +++ b/misc/k8s/kustomization/base/kustomization.yaml @@ -1,10 +1,10 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization -namePrefix: MYAPPLICATION- +namePrefix: myapplication- components: -- components/MYAPPLICATION-cnpg +- components/myapplication-cnpg resources: -- resources/MYAPPLICATION-kube +- resources/myapplication-kube diff --git a/misc/k8s/kustomization/base/resources/MYAPPLICATION-kube/kustomization.yaml b/misc/k8s/kustomization/base/resources/MYAPPLICATION-kube/kustomization.yaml deleted file mode 100644 index 880026b..0000000 --- a/misc/k8s/kustomization/base/resources/MYAPPLICATION-kube/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: -- ./resources/MYAPPLICATION-service.yaml -- ./resources/MYAPPLICATION-deployment.yaml diff --git a/misc/k8s/kustomization/base/resources/myapplication-kube/kustomization.yaml b/misc/k8s/kustomization/base/resources/myapplication-kube/kustomization.yaml new file mode 100644 index 0000000..1922147 --- /dev/null +++ b/misc/k8s/kustomization/base/resources/myapplication-kube/kustomization.yaml @@ -0,0 +1,6 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: +- ./resources/myapplication-service.yaml +- ./resources/myapplication-deployment.yaml diff --git a/misc/k8s/kustomization/base/resources/MYAPPLICATION-kube/resources/MYAPPLICATION-deployment.yaml b/misc/k8s/kustomization/base/resources/myapplication-kube/resources/myapplication-deployment.yaml similarity index 58% rename from misc/k8s/kustomization/base/resources/MYAPPLICATION-kube/resources/MYAPPLICATION-deployment.yaml rename to misc/k8s/kustomization/base/resources/myapplication-kube/resources/myapplication-deployment.yaml index 3721a59..e5b0497 100644 --- a/misc/k8s/kustomization/base/resources/MYAPPLICATION-kube/resources/MYAPPLICATION-deployment.yaml +++ b/misc/k8s/kustomization/base/resources/myapplication-kube/resources/myapplication-deployment.yaml @@ -2,26 +2,26 @@ apiVersion: apps/v1 kind: Deployment metadata: labels: - io.kompose.service: MYAPPLICATION - name: MYAPPLICATION + io.kompose.service: myapplication + name: myapplication spec: replicas: 3 selector: matchLabels: - io.kompose.service: MYAPPLICATION + io.kompose.service: myapplication strategy: type: Recreate template: metadata: labels: - io.kompose.service: MYAPPLICATION + io.kompose.service: myapplication spec: restartPolicy: Always containers: - - image: reg.cadoles.com/cadoles/MYAPPLICATION-kube + - image: reg.cadoles.com/cadoles/myapplication-kube imagePullPolicy: Always - name: MYAPPLICATION-php-fpm + name: myapplication-php-fpm args: ["/usr/sbin/php-fpm81", "-F", "-e"] resources: {} env: @@ -33,22 +33,22 @@ spec: value: 128m - name: PHP_FPM_LOG_LEVEL value: warning - - name: MYAPPLICATION_DATABASE_SERVICE_NAME - value: $(MYAPPLICATION_DATABASE_SERVICE_NAME)-rw - - image: reg.cadoles.com/cadoles/MYAPPLICATION-kube + - name: myapplication_DATABASE_SERVICE_NAME + value: $(myapplication_DATABASE_SERVICE_NAME)-rw + - image: reg.cadoles.com/cadoles/myapplication-kube imagePullPolicy: Always - name: MYAPPLICATION-nginx + name: myapplication-nginx args: ["/usr/sbin/nginx"] env: - - name: NGINX_MYAPPLICATION_UPSTREAM_BACKEND_SERVER + - name: NGINX_myapplication_UPSTREAM_BACKEND_SERVER value: 127.0.0.1:9000 - - name: NGINX_MYAPPLICATION_ROOT + - name: NGINX_myapplication_ROOT value: "/public" - - name: NGINX_MYAPPLICATION_PHP_INDEX + - name: NGINX_myapplication_PHP_INDEX value: "/index.php" - name: NGINX_ERROR_LOG_LEVEL value: "warn" - - name: NGINX_MYAPPLICATION_PHP_NON_FILE_PATTERN + - name: NGINX_myapplication_PHP_NON_FILE_PATTERN value: "^/index\\.php(/|$)" ports: - containerPort: 8080 diff --git a/misc/k8s/kustomization/base/resources/MYAPPLICATION-kube/resources/MYAPPLICATION-service.yaml b/misc/k8s/kustomization/base/resources/myapplication-kube/resources/myapplication-service.yaml similarity index 50% rename from misc/k8s/kustomization/base/resources/MYAPPLICATION-kube/resources/MYAPPLICATION-service.yaml rename to misc/k8s/kustomization/base/resources/myapplication-kube/resources/myapplication-service.yaml index 4887dd7..a7d55e3 100644 --- a/misc/k8s/kustomization/base/resources/MYAPPLICATION-kube/resources/MYAPPLICATION-service.yaml +++ b/misc/k8s/kustomization/base/resources/myapplication-kube/resources/myapplication-service.yaml @@ -2,13 +2,13 @@ apiVersion: v1 kind: Service metadata: labels: - io.kompose.service: MYAPPLICATION - name: MYAPPLICATION + io.kompose.service: myapplication + name: myapplication spec: type: ClusterIP ports: - - name: MYAPPLICATION-http + - name: myapplication-http port: 80 targetPort: 8080 selector: - io.kompose.service: MYAPPLICATION + io.kompose.service: myapplication diff --git a/misc/k8s/kustomization/overlays/dev/kustomization.yaml b/misc/k8s/kustomization/overlays/dev/kustomization.yaml index bf798dc..0f5d3bc 100644 --- a/misc/k8s/kustomization/overlays/dev/kustomization.yaml +++ b/misc/k8s/kustomization/overlays/dev/kustomization.yaml @@ -1,6 +1,6 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization -namespace: MYAPPLICATION-dev +namespace: myapplication-dev resources: - ../../base @@ -8,7 +8,7 @@ resources: - resources/ingress.yaml patches: -- path: patches/MYAPPLICATION-update-replicas.yaml +- path: patches/myapplication-update-replicas.yaml - path: patches/add-registry-pull-secret.yaml target: kind: Deployment diff --git a/misc/k8s/kustomization/overlays/dev/patches/MYAPPLICATION-update-replicas.yaml b/misc/k8s/kustomization/overlays/dev/patches/myapplication-update-replicas.yaml similarity index 56% rename from misc/k8s/kustomization/overlays/dev/patches/MYAPPLICATION-update-replicas.yaml rename to misc/k8s/kustomization/overlays/dev/patches/myapplication-update-replicas.yaml index 342f4b5..0627009 100644 --- a/misc/k8s/kustomization/overlays/dev/patches/MYAPPLICATION-update-replicas.yaml +++ b/misc/k8s/kustomization/overlays/dev/patches/myapplication-update-replicas.yaml @@ -2,7 +2,7 @@ apiVersion: apps/v1 kind: Deployment metadata: labels: - io.kompose.service: MYAPPLICATION - name: MYAPPLICATION + io.kompose.service: myapplication + name: myapplication spec: replicas: 1 diff --git a/misc/k8s/kustomization/overlays/dev/resources/ingress.yaml b/misc/k8s/kustomization/overlays/dev/resources/ingress.yaml index 256c5d0..e969878 100644 --- a/misc/k8s/kustomization/overlays/dev/resources/ingress.yaml +++ b/misc/k8s/kustomization/overlays/dev/resources/ingress.yaml @@ -1,7 +1,7 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: - name: MYAPPLICATION + name: myapplication annotations: nginx.ingress.kubernetes.io/proxy-body-size: "138m" nginx.ingress.kubernetes.io/enable-cors: "true" #cf 01 @@ -9,13 +9,13 @@ metadata: spec: ingressClassName: nginx rules: - - host: MYAPPLICATION.dev.local + - host: myapplication.dev.local http: paths: - path: / pathType: Prefix backend: service: - name: MYAPPLICATION + name: myapplication port: number: 8080 diff --git a/misc/k8s/kustomization/overlays/dev/resources/namespace.yaml b/misc/k8s/kustomization/overlays/dev/resources/namespace.yaml index 04c104f..fadee54 100644 --- a/misc/k8s/kustomization/overlays/dev/resources/namespace.yaml +++ b/misc/k8s/kustomization/overlays/dev/resources/namespace.yaml @@ -1,4 +1,4 @@ apiVersion: v1 kind: Namespace metadata: - name: MYAPPLICATION-dev + name: myapplication-dev diff --git a/skaffold.yaml b/skaffold.yaml index 519bf13..101b977 100644 --- a/skaffold.yaml +++ b/skaffold.yaml @@ -29,7 +29,7 @@ build: sha256: {} artifacts: - - image: reg.cadoles.com/cadoles/MYAPPLICATION-kube + - image: reg.cadoles.com/cadoles/myapplication-kube context: . sync: infer: @@ -41,7 +41,7 @@ build: - composer.json - composer.lock kaniko: - dockerfile: misc/images/MYAPPLICATION-kube/Dockerfile + dockerfile: misc/images/myapplication-kube/Dockerfile cache: {} deploy: