Compare commits
	
		
			13 Commits
		
	
	
		
			e03cd20d65
			...
			v1.0.0
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| cce39a5bb7 | |||
| 823cc467fa | |||
| 9cb89bf055 | |||
| 358cbe39ea | |||
| 0fee2df2a6 | |||
| e4e58e4789 | |||
| 75158a8a5b | |||
| c83d541a0d | |||
| a46610f828 | |||
| fe5147bd2e | |||
| 6d168f0517 | |||
| 68445ee13f | |||
| 31b21c9b7a | 
							
								
								
									
										316
									
								
								.drone.yml
									
									
									
									
									
								
							
							
						
						
									
										316
									
								
								.drone.yml
									
									
									
									
									
								
							@@ -32,157 +32,189 @@ steps:
 | 
			
		||||
      packer/preseed/UbuntuServer22.04/user-data \
 | 
			
		||||
      scripts
 | 
			
		||||
 | 
			
		||||
- name: Install Ansible Galaxy collections
 | 
			
		||||
- name: Semantic Release (Dry-run)
 | 
			
		||||
  depends_on:
 | 
			
		||||
  - Linting
 | 
			
		||||
  image: bv11-cr01.bessems.eu/library/packer-extended
 | 
			
		||||
  image: bv11-cr01.bessems.eu/proxy/library/node:20-slim
 | 
			
		||||
  pull: always
 | 
			
		||||
  commands:
 | 
			
		||||
  - |
 | 
			
		||||
    ansible-galaxy collection install \
 | 
			
		||||
      -r ansible/requirements.yml \
 | 
			
		||||
      -p ./ansible/collections
 | 
			
		||||
  volumes:
 | 
			
		||||
  - name: scratch
 | 
			
		||||
    path: /scratch
 | 
			
		||||
 | 
			
		||||
- name: Kubernetes Bootstrap Appliance
 | 
			
		||||
  depends_on:
 | 
			
		||||
  - Install Ansible Galaxy collections
 | 
			
		||||
  image: bv11-cr01.bessems.eu/library/packer-extended
 | 
			
		||||
  pull: always
 | 
			
		||||
  commands:
 | 
			
		||||
    apt-get update
 | 
			
		||||
  - |
 | 
			
		||||
    sed -i -e "s/<<img-password>>/$${SSH_PASSWORD}/g" \
 | 
			
		||||
      packer/preseed/UbuntuServer22.04/user-data
 | 
			
		||||
    apt-get install -y --no-install-recommends \
 | 
			
		||||
      git-core \
 | 
			
		||||
      ca-certificates
 | 
			
		||||
  - |
 | 
			
		||||
    export K8S_VERSION=$(yq '.components.clusterapi.workload.version.k8s' < ./ansible/vars/metacluster.yml)
 | 
			
		||||
    npm install \
 | 
			
		||||
      semantic-release \
 | 
			
		||||
      @semantic-release/commit-analyzer \
 | 
			
		||||
      @semantic-release/release-notes-generator\
 | 
			
		||||
      @semantic-release/exec
 | 
			
		||||
  - |
 | 
			
		||||
    packer init -upgrade \
 | 
			
		||||
      ./packer
 | 
			
		||||
    export GIT_CREDENTIALS=$${GIT_USERNAME}:$${GIT_APIKEY}
 | 
			
		||||
  - |
 | 
			
		||||
    packer validate \
 | 
			
		||||
      -only=vsphere-iso.bootstrap \
 | 
			
		||||
      -var vm_name=${DRONE_BUILD_NUMBER}-${DRONE_COMMIT_SHA:0:10}-$(openssl rand -hex 3) \
 | 
			
		||||
      -var docker_username=$${DOCKER_USERNAME} \
 | 
			
		||||
      -var docker_password=$${DOCKER_PASSWORD} \
 | 
			
		||||
      -var repo_username=$${REPO_USERNAME} \
 | 
			
		||||
      -var repo_password=$${REPO_PASSWORD} \
 | 
			
		||||
      -var ssh_password=$${SSH_PASSWORD} \
 | 
			
		||||
      -var vsphere_password=$${VSPHERE_PASSWORD} \
 | 
			
		||||
      -var k8s_version=$K8S_VERSION \
 | 
			
		||||
      ./packer
 | 
			
		||||
  - |
 | 
			
		||||
    packer build \
 | 
			
		||||
      -on-error=cleanup -timestamp-ui \
 | 
			
		||||
      -only=vsphere-iso.bootstrap \
 | 
			
		||||
      -var vm_name=${DRONE_BUILD_NUMBER}-${DRONE_COMMIT_SHA:0:10}-$(openssl rand -hex 3) \
 | 
			
		||||
      -var docker_username=$${DOCKER_USERNAME} \
 | 
			
		||||
      -var docker_password=$${DOCKER_PASSWORD} \
 | 
			
		||||
      -var repo_username=$${REPO_USERNAME} \
 | 
			
		||||
      -var repo_password=$${REPO_PASSWORD} \
 | 
			
		||||
      -var ssh_password=$${SSH_PASSWORD} \
 | 
			
		||||
      -var vsphere_password=$${VSPHERE_PASSWORD} \
 | 
			
		||||
      -var k8s_version=$K8S_VERSION \
 | 
			
		||||
      ./packer
 | 
			
		||||
    npx semantic-release \
 | 
			
		||||
      --branches ${DRONE_BRANCH} \
 | 
			
		||||
      --plugins @semantic-release/commit-analyzer,@semantic-release/release-notes-generator,@semantic-release/exec \
 | 
			
		||||
      --dry-run
 | 
			
		||||
  environment:
 | 
			
		||||
    DOCKER_USERNAME:
 | 
			
		||||
      from_secret: docker_username
 | 
			
		||||
    DOCKER_PASSWORD:
 | 
			
		||||
      from_secret: docker_password
 | 
			
		||||
    # PACKER_LOG: 1
 | 
			
		||||
    REPO_USERNAME:
 | 
			
		||||
      from_secret: repo_username
 | 
			
		||||
    REPO_PASSWORD:
 | 
			
		||||
      from_secret: repo_password
 | 
			
		||||
    SSH_PASSWORD:
 | 
			
		||||
      from_secret: ssh_password
 | 
			
		||||
    VSPHERE_PASSWORD:
 | 
			
		||||
      from_secret: vsphere_password
 | 
			
		||||
  volumes:
 | 
			
		||||
  - name: output
 | 
			
		||||
    path: /output
 | 
			
		||||
  - name: scratch
 | 
			
		||||
    path: /scratch
 | 
			
		||||
    GIT_APIKEY:
 | 
			
		||||
      from_secret: git_apikey
 | 
			
		||||
    GIT_USERNAME: djpbessems
 | 
			
		||||
 | 
			
		||||
- name: Kubernetes Upgrade Appliance
 | 
			
		||||
  depends_on:
 | 
			
		||||
  - Install Ansible Galaxy collections
 | 
			
		||||
  image: bv11-cr01.bessems.eu/library/packer-extended
 | 
			
		||||
  pull: alwaysquery(
 | 
			
		||||
  commands:
 | 
			
		||||
  - |
 | 
			
		||||
    sed -i -e "s/<<img-password>>/$${SSH_PASSWORD}/g" \
 | 
			
		||||
      packer/preseed/UbuntuServer22.04/user-data
 | 
			
		||||
  - |
 | 
			
		||||
    export K8S_VERSION=$(yq '.components.clusterapi.workload.version.k8s' < ./ansible/vars/metacluster.yml)
 | 
			
		||||
  - |
 | 
			
		||||
    packer init -upgrade \
 | 
			
		||||
      ./packer
 | 
			
		||||
  - |
 | 
			
		||||
    packer validate \
 | 
			
		||||
      -only=vsphere-iso.upgrade \
 | 
			
		||||
      -var vm_name=${DRONE_BUILD_NUMBER}-${DRONE_COMMIT_SHA:0:10}-$(openssl rand -hex 3) \
 | 
			
		||||
      -var docker_username=$${DOCKER_USERNAME} \
 | 
			
		||||
      -var docker_password=$${DOCKER_PASSWORD} \
 | 
			
		||||
      -var repo_username=$${REPO_USERNAME} \
 | 
			
		||||
      -var repo_password=$${REPO_PASSWORD} \
 | 
			
		||||
      -var ssh_password=$${SSH_PASSWORD} \
 | 
			
		||||
      -var vsphere_password=$${VSPHERE_PASSWORD} \
 | 
			
		||||
      -var k8s_version=$K8S_VERSION \
 | 
			
		||||
      ./packer
 | 
			
		||||
  - |
 | 
			
		||||
    packer build \
 | 
			
		||||
      -on-error=cleanup -timestamp-ui \
 | 
			
		||||
      -only=vsphere-iso.upgrade \
 | 
			
		||||
      -var vm_name=${DRONE_BUILD_NUMBER}-${DRONE_COMMIT_SHA:0:10}-$(openssl rand -hex 3) \
 | 
			
		||||
      -var docker_username=$${DOCKER_USERNAME} \
 | 
			
		||||
      -var docker_password=$${DOCKER_PASSWORD} \
 | 
			
		||||
      -var repo_username=$${REPO_USERNAME} \
 | 
			
		||||
      -var repo_password=$${REPO_PASSWORD} \
 | 
			
		||||
      -var ssh_password=$${SSH_PASSWORD} \
 | 
			
		||||
      -var vsphere_password=$${VSPHERE_PASSWORD} \
 | 
			
		||||
      -var k8s_version=$K8S_VERSION \
 | 
			
		||||
      ./packer
 | 
			
		||||
  environment:
 | 
			
		||||
    DOCKER_USERNAME:
 | 
			
		||||
      from_secret: docker_username
 | 
			
		||||
    DOCKER_PASSWORD:
 | 
			
		||||
      from_secret: docker_password
 | 
			
		||||
    # PACKER_LOG: 1
 | 
			
		||||
    REPO_USERNAME:
 | 
			
		||||
      from_secret: repo_username
 | 
			
		||||
    REPO_PASSWORD:
 | 
			
		||||
      from_secret: repo_password
 | 
			
		||||
    SSH_PASSWORD:
 | 
			
		||||
      from_secret: ssh_password
 | 
			
		||||
    VSPHERE_PASSWORD:
 | 
			
		||||
      from_secret: vsphere_password
 | 
			
		||||
  volumes:
 | 
			
		||||
  - name: output
 | 
			
		||||
    path: /output
 | 
			
		||||
  - name: scratch
 | 
			
		||||
    path: /scratch
 | 
			
		||||
# Add random change for testing semantic release commit
 | 
			
		||||
 | 
			
		||||
- name: Remove temporary resources
 | 
			
		||||
  depends_on:
 | 
			
		||||
  - Kubernetes Bootstrap Appliance
 | 
			
		||||
  - Kubernetes Upgrade Appliance
 | 
			
		||||
  image: bv11-cr01.bessems.eu/library/packer-extended
 | 
			
		||||
  commands:
 | 
			
		||||
  - |
 | 
			
		||||
    pwsh -file scripts/Remove-Resources.ps1 \
 | 
			
		||||
      -VMName $DRONE_BUILD_NUMBER-${DRONE_COMMIT_SHA:0:10} \
 | 
			
		||||
      -VSphereFQDN 'bv11-vc.bessems.lan' \
 | 
			
		||||
      -VSphereUsername 'administrator@vsphere.local' \
 | 
			
		||||
      -VSpherePassword $${VSPHERE_PASSWORD}
 | 
			
		||||
  environment:
 | 
			
		||||
    VSPHERE_PASSWORD:
 | 
			
		||||
      from_secret: vsphere_password
 | 
			
		||||
  volumes:
 | 
			
		||||
  - name: scratch
 | 
			
		||||
    path: /scratch
 | 
			
		||||
  when:
 | 
			
		||||
    status:
 | 
			
		||||
    - success
 | 
			
		||||
    - failure
 | 
			
		||||
# - name: Install Ansible Galaxy collections
 | 
			
		||||
#   depends_on:
 | 
			
		||||
#   - Semantic Release (Dry-run)
 | 
			
		||||
#   image: bv11-cr01.bessems.eu/library/packer-extended
 | 
			
		||||
#   pull: always
 | 
			
		||||
#   commands:
 | 
			
		||||
#   - |
 | 
			
		||||
#     ansible-galaxy collection install \
 | 
			
		||||
#       -r ansible/requirements.yml \
 | 
			
		||||
#       -p ./ansible/collections
 | 
			
		||||
#   volumes:
 | 
			
		||||
#   - name: scratch
 | 
			
		||||
#     path: /scratch
 | 
			
		||||
 | 
			
		||||
# - name: Kubernetes Bootstrap Appliance
 | 
			
		||||
#   depends_on:
 | 
			
		||||
#   - Install Ansible Galaxy collections
 | 
			
		||||
#   image: bv11-cr01.bessems.eu/library/packer-extended
 | 
			
		||||
#   pull: always
 | 
			
		||||
#   commands:
 | 
			
		||||
#   - |
 | 
			
		||||
#     sed -i -e "s/<<img-password>>/$${SSH_PASSWORD}/g" \
 | 
			
		||||
#       packer/preseed/UbuntuServer22.04/user-data
 | 
			
		||||
#   - |
 | 
			
		||||
#     export K8S_VERSION=$(yq '.components.clusterapi.workload.version.k8s' < ./ansible/vars/metacluster.yml)
 | 
			
		||||
#   - |
 | 
			
		||||
#     packer init -upgrade \
 | 
			
		||||
#       ./packer
 | 
			
		||||
#   - |
 | 
			
		||||
#     packer validate \
 | 
			
		||||
#       -only=vsphere-iso.bootstrap \
 | 
			
		||||
#       -var vm_name=${DRONE_BUILD_NUMBER}-${DRONE_COMMIT_SHA:0:10}-$(openssl rand -hex 3) \
 | 
			
		||||
#       -var docker_username=$${DOCKER_USERNAME} \
 | 
			
		||||
#       -var docker_password=$${DOCKER_PASSWORD} \
 | 
			
		||||
#       -var repo_username=$${REPO_USERNAME} \
 | 
			
		||||
#       -var repo_password=$${REPO_PASSWORD} \
 | 
			
		||||
#       -var ssh_password=$${SSH_PASSWORD} \
 | 
			
		||||
#       -var vsphere_password=$${VSPHERE_PASSWORD} \
 | 
			
		||||
#       -var k8s_version=$K8S_VERSION \
 | 
			
		||||
#       ./packer
 | 
			
		||||
#   - |
 | 
			
		||||
#     packer build \
 | 
			
		||||
#       -on-error=cleanup -timestamp-ui \
 | 
			
		||||
#       -only=vsphere-iso.bootstrap \
 | 
			
		||||
#       -var vm_name=${DRONE_BUILD_NUMBER}-${DRONE_COMMIT_SHA:0:10}-$(openssl rand -hex 3) \
 | 
			
		||||
#       -var docker_username=$${DOCKER_USERNAME} \
 | 
			
		||||
#       -var docker_password=$${DOCKER_PASSWORD} \
 | 
			
		||||
#       -var repo_username=$${REPO_USERNAME} \
 | 
			
		||||
#       -var repo_password=$${REPO_PASSWORD} \
 | 
			
		||||
#       -var ssh_password=$${SSH_PASSWORD} \
 | 
			
		||||
#       -var vsphere_password=$${VSPHERE_PASSWORD} \
 | 
			
		||||
#       -var k8s_version=$K8S_VERSION \
 | 
			
		||||
#       ./packer
 | 
			
		||||
#   environment:
 | 
			
		||||
#     DOCKER_USERNAME:
 | 
			
		||||
#       from_secret: docker_username
 | 
			
		||||
#     DOCKER_PASSWORD:
 | 
			
		||||
#       from_secret: docker_password
 | 
			
		||||
#     # PACKER_LOG: 1
 | 
			
		||||
#     REPO_USERNAME:
 | 
			
		||||
#       from_secret: repo_username
 | 
			
		||||
#     REPO_PASSWORD:
 | 
			
		||||
#       from_secret: repo_password
 | 
			
		||||
#     SSH_PASSWORD:
 | 
			
		||||
#       from_secret: ssh_password
 | 
			
		||||
#     VSPHERE_PASSWORD:
 | 
			
		||||
#       from_secret: vsphere_password
 | 
			
		||||
#   volumes:
 | 
			
		||||
#   - name: output
 | 
			
		||||
#     path: /output
 | 
			
		||||
#   - name: scratch
 | 
			
		||||
#     path: /scratch
 | 
			
		||||
 | 
			
		||||
# - name: Kubernetes Upgrade Appliance
 | 
			
		||||
#   depends_on:
 | 
			
		||||
#   - Install Ansible Galaxy collections
 | 
			
		||||
#   image: bv11-cr01.bessems.eu/library/packer-extended
 | 
			
		||||
#   pull: alwaysquery(
 | 
			
		||||
#   commands:
 | 
			
		||||
#   - |
 | 
			
		||||
#     sed -i -e "s/<<img-password>>/$${SSH_PASSWORD}/g" \
 | 
			
		||||
#       packer/preseed/UbuntuServer22.04/user-data
 | 
			
		||||
#   - |
 | 
			
		||||
#     export K8S_VERSION=$(yq '.components.clusterapi.workload.version.k8s' < ./ansible/vars/metacluster.yml)
 | 
			
		||||
#   - |
 | 
			
		||||
#     packer init -upgrade \
 | 
			
		||||
#       ./packer
 | 
			
		||||
#   - |
 | 
			
		||||
#     packer validate \
 | 
			
		||||
#       -only=vsphere-iso.upgrade \
 | 
			
		||||
#       -var vm_name=${DRONE_BUILD_NUMBER}-${DRONE_COMMIT_SHA:0:10}-$(openssl rand -hex 3) \
 | 
			
		||||
#       -var docker_username=$${DOCKER_USERNAME} \
 | 
			
		||||
#       -var docker_password=$${DOCKER_PASSWORD} \
 | 
			
		||||
#       -var repo_username=$${REPO_USERNAME} \
 | 
			
		||||
#       -var repo_password=$${REPO_PASSWORD} \
 | 
			
		||||
#       -var ssh_password=$${SSH_PASSWORD} \
 | 
			
		||||
#       -var vsphere_password=$${VSPHERE_PASSWORD} \
 | 
			
		||||
#       -var k8s_version=$K8S_VERSION \
 | 
			
		||||
#       ./packer
 | 
			
		||||
#   - |
 | 
			
		||||
#     packer build \
 | 
			
		||||
#       -on-error=cleanup -timestamp-ui \
 | 
			
		||||
#       -only=vsphere-iso.upgrade \
 | 
			
		||||
#       -var vm_name=${DRONE_BUILD_NUMBER}-${DRONE_COMMIT_SHA:0:10}-$(openssl rand -hex 3) \
 | 
			
		||||
#       -var docker_username=$${DOCKER_USERNAME} \
 | 
			
		||||
#       -var docker_password=$${DOCKER_PASSWORD} \
 | 
			
		||||
#       -var repo_username=$${REPO_USERNAME} \
 | 
			
		||||
#       -var repo_password=$${REPO_PASSWORD} \
 | 
			
		||||
#       -var ssh_password=$${SSH_PASSWORD} \
 | 
			
		||||
#       -var vsphere_password=$${VSPHERE_PASSWORD} \
 | 
			
		||||
#       -var k8s_version=$K8S_VERSION \
 | 
			
		||||
#       ./packer
 | 
			
		||||
#   environment:
 | 
			
		||||
#     DOCKER_USERNAME:
 | 
			
		||||
#       from_secret: docker_username
 | 
			
		||||
#     DOCKER_PASSWORD:
 | 
			
		||||
#       from_secret: docker_password
 | 
			
		||||
#     # PACKER_LOG: 1
 | 
			
		||||
#     REPO_USERNAME:
 | 
			
		||||
#       from_secret: repo_username
 | 
			
		||||
#     REPO_PASSWORD:
 | 
			
		||||
#       from_secret: repo_password
 | 
			
		||||
#     SSH_PASSWORD:
 | 
			
		||||
#       from_secret: ssh_password
 | 
			
		||||
#     VSPHERE_PASSWORD:
 | 
			
		||||
#       from_secret: vsphere_password
 | 
			
		||||
#   volumes:
 | 
			
		||||
#   - name: output
 | 
			
		||||
#     path: /output
 | 
			
		||||
#   - name: scratch
 | 
			
		||||
#     path: /scratch
 | 
			
		||||
 | 
			
		||||
# - name: Remove temporary resources
 | 
			
		||||
#   depends_on:
 | 
			
		||||
#   - Kubernetes Bootstrap Appliance
 | 
			
		||||
#   - Kubernetes Upgrade Appliance
 | 
			
		||||
#   image: bv11-cr01.bessems.eu/library/packer-extended
 | 
			
		||||
#   commands:
 | 
			
		||||
#   - |
 | 
			
		||||
#     pwsh -file scripts/Remove-Resources.ps1 \
 | 
			
		||||
#       -VMName $DRONE_BUILD_NUMBER-${DRONE_COMMIT_SHA:0:10} \
 | 
			
		||||
#       -VSphereFQDN 'bv11-vc.bessems.lan' \
 | 
			
		||||
#       -VSphereUsername 'administrator@vsphere.local' \
 | 
			
		||||
#       -VSpherePassword $${VSPHERE_PASSWORD}
 | 
			
		||||
#   environment:
 | 
			
		||||
#     VSPHERE_PASSWORD:
 | 
			
		||||
#       from_secret: vsphere_password
 | 
			
		||||
#   volumes:
 | 
			
		||||
#   - name: scratch
 | 
			
		||||
#     path: /scratch
 | 
			
		||||
#   when:
 | 
			
		||||
#     status:
 | 
			
		||||
#     - success
 | 
			
		||||
#     - failure
 | 
			
		||||
 
 | 
			
		||||
@@ -121,7 +121,7 @@ components:
 | 
			
		||||
        calico: v3.25.0
 | 
			
		||||
        k8s: v1.25.9
 | 
			
		||||
      node_template:
 | 
			
		||||
        url: https://{{ repo_username }}:{{ repo_password }}@sn.itch.fyi/Repository/rel/ubuntu-2004-kube-v1.25.9.ova
 | 
			
		||||
        url: https://{{ repo_username }}:{{ repo_password }}@sn.itch.fyi/Repository/rel/ubuntu-2204-kube-v1.25.9.ova
 | 
			
		||||
 | 
			
		||||
  # dex:
 | 
			
		||||
  #   helm:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user