Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
222 commits
Select commit Hold shift + click to select a range
99e34dd
[20.3] resource allocation
DaanHoogland Feb 20, 2026
2671026
[20.3] resource instance limits
DaanHoogland Feb 20, 2026
171ff32
[20.3] Implement/fix limit validation for projects
DaanHoogland Feb 20, 2026
c9e644a
[20.3] resource allocation vpc
DaanHoogland Feb 20, 2026
d8bdc8b
Check resource reservation on volume creation
DaanHoogland Feb 20, 2026
ae177a1
Fix: KVM Direct Download URL injection
DaanHoogland Feb 20, 2026
d75140b
[20.3] handle user's canned policy when a bucket is deleted
DaanHoogland Feb 20, 2026
9a4f341
Check resource reservation on volume snapshot creation
DaanHoogland Feb 20, 2026
b07831b
Implement/fix limit validation for secondary storage
GutoVeronezi Feb 22, 2026
822696c
Fix resource limit reservation and check during StartVirtualMachine
abh1sar Feb 20, 2026
ca7b08a
secondary storage resource limit for download
abh1sar Mar 2, 2026
ced3629
volume download fix
abh1sar Mar 6, 2026
021a18d
secondary storage resource limit for upload
abh1sar Mar 9, 2026
c522e96
Consider infinite resources when calculating secondary storage limit …
winterhazel Mar 9, 2026
2377dc5
[20.3] Address limit checks for VM, CPU, memory, volume, and primary …
winterhazel Mar 6, 2026
08bb37a
Cleanup imported VM from disk on failure due to volume allocation + p…
winterhazel Mar 8, 2026
928dc7d
Fix failing tests
winterhazel Mar 8, 2026
3f4f574
Address public IP limit validations
winterhazel Mar 10, 2026
a09835b
review comments
abh1sar Mar 13, 2026
4a691f4
fix identation
abh1sar Mar 13, 2026
f6cad87
Fix copy snapshot resource limit
abh1sar Mar 17, 2026
ce52b9d
Merge branch '4.20' into 20.3.0-sec
abh1sar Mar 17, 2026
639ceee
Fix snapshot copy resource limit concurrency
winterhazel Mar 18, 2026
4df32ae
fix: NsxResource.executeRequest DeleteNsxNatRuleCommand comparison bu…
ZhyliaievD Apr 6, 2026
6c1437b
fix end of file schema-42200to42210.sql
weizhouapache Apr 17, 2026
be89e6f
[KVM] Reorder migration logs to prevent populating agent logs on migr…
nvazquez Apr 18, 2026
89d9154
Fix NPE on external/unmanaged instance import using custom offerings …
winterhazel Mar 27, 2026
a127a26
Fix Revert Instance to Snapshot with custom service offering (#12885)
abh1sar Mar 27, 2026
9f96c9d
Flexibilize public IP selection (#11076)
erikbocks Apr 21, 2026
64ac082
merge conflict fixes (#13046)
DaanHoogland Apr 23, 2026
856d83a
Merge branch '4.22'
sureshanaparti Apr 23, 2026
0b16992
make dh group 31 default, support 22-24+31 (#12764)
DaanHoogland Apr 27, 2026
ffebe8e
Fix bulk power state query missing VM lifecycle state field (#13027)
sureshanaparti Apr 27, 2026
6f4445c
Add offering preset variables for `Network` and `VPC` Quota tariffs (…
hsato03 Apr 27, 2026
e2c13da
Remove UUID parse from param processing workflow (#13065)
erikbocks Apr 28, 2026
089eb36
Linstor: fix create volume from snapshot on primary storage (#13043)
Kukunin Apr 29, 2026
a73cc9a
Improve Quota Statement (#10506)
julien-vaz Apr 30, 2026
92d8298
Correction of the user responsible for the event (#13066)
GeanJair Apr 30, 2026
2eef7aa
adding default deny keys also when there are no other keys
shwstppr Apr 30, 2026
c45596c
Refactor of Allocator classes (#9074)
BryanMLima Apr 30, 2026
1f5dba9
Release reserved storage resources on VM deployment failure (#13048)
winterhazel Apr 30, 2026
c07f1fd
Number of running and stopped VMs as preset variables for `Network` t…
hsato03 May 1, 2026
8906aa1
Merge branch '4.22'
sureshanaparti May 1, 2026
08b1d38
adaptive: honor user-provided capacityBytes when provider stats are u…
genegr May 2, 2026
a17bff9
ui: fix webhook filters listing (#13068)
shwstppr May 3, 2026
1e512ab
Skip QemuImgTest when libvirt native library cannot load (#13086)
codingkiddo May 3, 2026
519715e
Fix id in listguestosmapping search (#13082)
sureshanaparti May 4, 2026
5b9a3d7
linstor: Fix a file handle resource leak opening template.properties …
rp- May 4, 2026
a7c2a05
Update mysql java connector version to 8.4.0 (matching version for My…
sureshanaparti May 4, 2026
3e688b0
Merge tag '4.22.0.1' into 4.22
May 6, 2026
96ca1b2
Add option to control MAC address reuse for VR public NICs (#13001)
bernardodemarco May 6, 2026
cbc1ae7
Bump the github-actions-dependencies group across 1 directory with 9 …
dependabot[bot] May 7, 2026
f6efda5
Update .asf.yaml: Add ingox as collaborator(#12058)
DaanHoogland May 7, 2026
4425ee4
Remove unnecessary if-else branch in template permission validation (…
sudo87 May 8, 2026
72b99a3
Make resource deletion safer with name confirmation (#13104)
sudo87 May 8, 2026
ddcc0c8
Don't delete volume on store if it is not created or doesn't exist on…
sureshanaparti May 8, 2026
4359198
KVM Host HA improvements - Fix to not cancel VM HA items when Host HA…
sureshanaparti May 8, 2026
a4a52c9
Merge branch '4.22'
sureshanaparti May 8, 2026
470e959
Change disk-only VM snapshot removal message (#11182)
JoaoJandre May 11, 2026
e1521f1
systemvmtemplate-register: correctly update existing template name in…
shwstppr May 11, 2026
a289bb0
Update suse15 packaging spec, use qemu-ovmf-x86_64 package instead of…
sureshanaparti May 11, 2026
348ce95
Updating pom.xml version numbers for release 4.22.1.0
sureshanaparti May 11, 2026
5893ba5
server: Fix NPE when on findHostsForMigration when no suitable hosts …
winterhazel May 12, 2026
79bb8ef
Updating pom.xml version numbers for release 4.22.2.0-SNAPSHOT
sureshanaparti May 18, 2026
4a49ffa
update debian change log
sureshanaparti May 18, 2026
94d911b
Translation of missing labels to Portuguese (#12947)
Tonitzpp May 19, 2026
522283b
Refactor merge conflict checker workflow (#13183)
DaanHoogland May 19, 2026
3285e2f
systemvm: accept ipv6 established/related return traffic (#13173)
agronaught May 19, 2026
68221cf
fix(linstor): pre-flight check destination is a LINSTOR satellite bef…
jmsperu May 19, 2026
c165806
Fix VPC network offerings listing in isolated network creation form (…
erikbocks May 19, 2026
38c0012
Rename gpordeus collaborator to gp-santos (#13195)
gp-santos May 19, 2026
c267ad3
Fix/flasharray delete rename destroy patch conflict (#13049)
genegr May 19, 2026
ca46453
Move checkRoleEscalation outside DB transaction in createAccount (#13…
nvazquez May 19, 2026
35ac91e
Change exception treatment on incremental snapshot wait (#12665)
JoaoJandre May 19, 2026
3c1f031
Add null check for ApiKeyPair in getUserByApiKey (#12938)
daviftorres May 19, 2026
a470914
Fix select search icon orientation in dropdown menu (#13170)
Damans227 May 20, 2026
1fe486f
Add ROOT CAs to the trust store and allow force provisioning of certs…
vishesh92 May 21, 2026
d1e1aa5
VM Deployment using snapshot in new zone (#13178)
DaanHoogland May 21, 2026
850b443
fix(linstor): verify resource deletion completes; warn if stuck in DE…
jmsperu May 21, 2026
6b831f5
Live scaling for VMs with fixed service offerings on KVM (#12975)
bernardodemarco May 22, 2026
21b2025
Merge release branch 4.20 to 4.22
winterhazel May 22, 2026
67b849f
Merge release branch 4.22 to main
winterhazel May 22, 2026
a0aafe2
Update bouncy castle (#12794)
vishesh92 May 22, 2026
ff9ee24
Fix local upload from browser failing due to ssvm cert not trusted (#…
abh1sar May 26, 2026
ea771a7
Fix Instance Backup related events (#13180)
abh1sar May 26, 2026
2ae1015
Add jmsperu to the list of contributors
DaanHoogland May 26, 2026
583a1e0
Refactor github actions (#12774)
vishesh92 May 26, 2026
b163403
fix: show re-enable 2FA button when is2faenabled is null/undefined
DaanHoogland May 26, 2026
7f849e9
add GaOrtiga to colaborators (#13246)
GaOrtiga May 26, 2026
3f6866d
Refactor Quota balance (#12961)
winterhazel May 26, 2026
b642bbe
Fix the validation of CPVMs states in multiple zones (#13021)
Tonitzpp May 27, 2026
6786d45
fix(linstor): surface ambiguous template fallbacks and legacy orphan …
jmsperu May 27, 2026
e324551
docs: note MariaDB support in README (#13238)
robertsilen May 27, 2026
357186d
flasharray: fall back to array capacity when pod has no quota (#13050)
genegr May 27, 2026
c0ce5b4
Bump the github-actions-dependencies group across 1 directory with 2 …
dependabot[bot] May 28, 2026
7308dad
Update github aw actions (#13278)
vishesh92 May 29, 2026
a3970bb
Fix convert command's timeout for snapshot commands (#13210)
erikbocks Jun 1, 2026
be51948
Stop role from auto-changing if user manually selected a role during …
gp-santos Jun 3, 2026
a1959f2
backup: veeam kvm integration (#12991)
shwstppr Jun 8, 2026
6bc83a3
.github: Upgrade codecov/codecov-action to version 7.0.0 (#13370)
weizhouapache Jun 8, 2026
a7f9756
Remove realhostip references from the code (#12856)
vishesh92 Jun 10, 2026
b0601e5
Fix issue triage github action (#13312)
vishesh92 Jun 11, 2026
8e933b7
ui: do not show deploy instance button for not ready images (#13161)
shwstppr Jun 11, 2026
7bc458f
Fix for usage server getting stuck due to duplicate VM events (#13019)
abh1sar Jun 11, 2026
d35c1cd
Remove the duplicate configkey json.content.type (#13264)
sureshanaparti Jun 11, 2026
2fd83e1
Introduce Quota resource statement API (#13236)
winterhazel Jun 12, 2026
0bbea20
server: fix NPE when migrate vm away with volumes (#13131)
weizhouapache Jun 13, 2026
2081ac4
Guest OS rules (#10098)
BryanMLima Jun 15, 2026
ac6c1c8
Add bhouse-nexthop to contributors list (#13420)
DaanHoogland Jun 16, 2026
ce9793c
CLVM enhancements and fixes (#12617)
Pearl1594 Jun 16, 2026
b26b70c
Fix public IP range addition form (#13356)
gruckbit Jun 17, 2026
02bb5de
Addition of description field for NIC's secondary IP addresses (#12864)
erikbocks Jun 17, 2026
957bfbb
Replace issue triage agent with githubnext/agentics daily issue triag…
vishesh92 Jun 17, 2026
e689c02
UI: Allow selecting network for VNF nics if template is a non deploy-…
Pearl1594 Jun 18, 2026
4244c2c
UI: Allow selecting network for VNF nics if template is a non deploy-…
Pearl1594 Jun 18, 2026
aef91ae
Add OpenTelemetry tracing instrumentation to API layer (#13132)
sureshanaparti Jun 18, 2026
95d0aed
Additional metrics for virtual machine orchestration (#13141)
sureshanaparti Jun 18, 2026
dde6eec
Update .asf.yaml (#13438)
DaanHoogland Jun 18, 2026
5ad7daf
Add code coverage grading workflow (#13140)
Pearl1594 Jun 18, 2026
6227525
Optimize UsageJobDaoImpl.updateJobSuccess to use direct UPDATE instea…
vishesh92 Jun 18, 2026
4ea2645
[INFRA] Set up default rulesets for default and release branches (#13…
asf-gitbox-commits Jun 19, 2026
ce2d890
Bump the github-actions-dependencies group across 1 directory with 5 …
dependabot[bot] Jun 19, 2026
78d9cb5
dynamic vm.network.throttling.rate global configuration (#12567)
gruckbit Jun 21, 2026
b36f064
fix misleading error message (#13450)
bernardodemarco Jun 22, 2026
288f9a9
framework/spring: throw RuntimeException when fail to start or load a…
weizhouapache Jun 22, 2026
8ef036e
UI for API Key Pair Management (#13225)
bernardodemarco Jun 22, 2026
2eb9820
framework-jobs,server: fix password obfuscation for job result and pa…
shwstppr Jun 23, 2026
c2c855b
Add keycloak OAuth provider (#13033)
tazouxme Jun 23, 2026
21e4475
Optimize the DB updates to use bulk UPDATE instead of row-level locks…
sureshanaparti Jun 23, 2026
ea6cbad
Multiple CD-ROM / ISO Support Per VM (#13101)
Damans227 Jun 24, 2026
82986f6
Refactors VM Schedule to make it more generic & add option to schedul…
vishesh92 Jun 24, 2026
f49ab6b
API rule regex optimization (#13109)
sureshanaparti Jun 25, 2026
06aebb6
Update .asf.yaml: remove protected_branches
weizhouapache Jun 26, 2026
5ed4894
storage: Add config keys for controlling public/private template seco…
Damans227 Jun 29, 2026
d5101b0
Merge branch '4.20' into 4.22
Jun 29, 2026
fb5e24f
Merge branch '4.22'
Jun 29, 2026
4625a43
Batch NIC and VLAN reads in collectVmNetworkStatistics to reduce per-…
vishesh92 Jun 29, 2026
2ba02c1
systemvm: fix VPC VPN issue when network id is bigger than 1000 on Ne…
weizhouapache Jun 29, 2026
0231e67
Linstor: Add controller token auth support (#13470)
rp- Jun 29, 2026
236e01a
Soft delete port forwarding, load balancing and firewall rules (#13015)
bernardodemarco Jun 29, 2026
1853435
Fix RESTRICTED_TOKENS typo issue (#12709)
robinkarlberg Jun 29, 2026
d2c8aa7
Feature: Key Management Service (KMS) (#12711)
vishesh92 Jun 30, 2026
097a579
systemvm: emit IPv6 prefix block for redundant VPC VRs in radvd.conf …
jeanvetorello Jun 30, 2026
006831d
UI: Prevent failure when loading network offerings when physical netw…
Pearl1594 Jul 1, 2026
a97c510
kvm: Add a configuration setting to switch between multicast and evpn…
wido Jul 1, 2026
c8b7816
marvin: install mysql-connector-python >= 8.4.0 (#13482)
weizhouapache Jul 1, 2026
348ceaf
kvm: get ip address of Windows vms via virsh domifaddr (#12651)
weizhouapache Jul 1, 2026
36fedce
test: cleanup resources in test_deploy_vm_iso, use base class tearDow…
DaanHoogland Jul 1, 2026
5c4bc48
Enable dynamic scaling of Kubernetes cluster offerings for KVM (#13226)
bernardodemarco Jul 1, 2026
6f30b0d
Custom login base domain using GUI whitelabel themes (#13412)
hsato03 Jul 2, 2026
7e84850
Restrict trigger push branch for GitHub Workflow (#13522)
apupier Jul 2, 2026
135922f
listHosts: add 'core' details (#13444)
nvazquez Jul 3, 2026
2032bbd
Addition of the status filter in the backup listing API (#13254)
GeanJair Jul 3, 2026
b7d4df0
Add more details to VM deployment failure alert messages (#12939)
GaOrtiga Jul 4, 2026
daa2e61
Fix encryption and migration not working on Shared mountpoint (#13537)
abh1sar Jul 6, 2026
3327e14
CloudStack Volume support with ONTAP storage (#13053)
rajiv-jain-netapp Jul 6, 2026
e63b7da
Update nw_rate & mc_rate to int unsigned to allow rates > 65Gbps (#13…
Pearl1594 Jul 6, 2026
7c2a876
check state instead of power state on change offering for ROOT volume…
DaanHoogland Jul 6, 2026
9e8855a
Add async job event bus publisher (#12971)
sureshanaparti Jul 6, 2026
4262c02
KVM HA: Fix CheckOnHostAnswer success flag when there is no heartbeat…
sureshanaparti Jul 6, 2026
4beab94
Add draft project security threat-model document (#13293)
potiuk Jul 6, 2026
a951ac6
UI: Don't set management server ID if cookie isn't set (#13404)
jmgsky Jul 6, 2026
167eb0a
CloudStack DNS framework - Integrate PowerDNS as first plugin (#12737)
sudo87 Jul 7, 2026
b3b9cad
Merge remote-tracking branch 'apache/4.22'
weizhouapache Jul 7, 2026
4d006b5
UI: Fix missing label.allocated key in Status widget test mock (#13546)
sudo87 Jul 7, 2026
9f281c4
NAS backup: resume paused VM on backup failure and fix missing exit (…
jmsperu Jul 7, 2026
89b2b03
veeam-control-service: fix vm pagination (#13383)
shwstppr Jul 7, 2026
f9a9451
[NAS Backup] Suppress Errors in Disk Usage Calculation that Caused Ba…
daviftorres Jul 7, 2026
40b3ef3
kvm: Disabled the setting reboot.host.and.alert.management.on.heartbe…
slavkap Jul 7, 2026
f07b7d8
Add Guest OS mapping for windows server 2025 on VMware (#12358)
Pearl1594 Jul 7, 2026
600201a
Add KMSWrappedKeyDao as a dependency for the Usage server (#13535)
winterhazel Jul 8, 2026
72197fe
[VMware to KVM] Cleanup leftover migrated volumes in case of migratio…
nvazquez Jul 8, 2026
42322a5
feat(backup): incremental NAS backup support for KVM (#13074)
jmsperu Jul 8, 2026
333973a
Add xenserver.create.full.clone global setting (#13114)
erma07 Jul 8, 2026
1400616
UI: Fix icon for KMS & ordering in the left side menu (#13568)
vishesh92 Jul 9, 2026
33c3967
Add per-domain OAuth (Google, GitHub) provider support (#12702)
Damans227 Jul 9, 2026
a4b102f
Fix skip DRS for a VM (#12994)
vishesh92 Jul 9, 2026
de3656c
Enhance DHCP functionality by adding lease timeout support (#12410)
NVShawn Jul 9, 2026
ba837fb
Incremental nas backup fixes (#13571)
abh1sar Jul 10, 2026
20e9980
backup: allow third-party backup provider plugins in configuration (#…
yigitbasalma Jul 10, 2026
8996286
Network Extension: Orchestrate external Network devices (#13032)
weizhouapache Jul 10, 2026
c46fb70
vxlan: Update documentation inside modifyvxlan-evpn.sh (#13584)
wido Jul 10, 2026
4816e05
KVM: add configurable MAC/IP script hook for static ARP/NDP and route…
wido Jul 10, 2026
5767127
linstor: fix encrypted volume snapshot backup and restore (#13486)
rp- Jul 10, 2026
c7e2c74
Merge remote-tracking branch 'apache/4.20' into 4.22
weizhouapache Jul 10, 2026
265b554
Fix 4.22 build failures after forward-merge and rename 42010to42100 t…
weizhouapache Jul 10, 2026
4d54125
CLVM: Fix volume mapping and disk path matching for storage migration…
Pearl1594 Jul 10, 2026
846803d
Merge remote-tracking branch 'apache/4.22'
weizhouapache Jul 10, 2026
1c1611d
Ubuntu 26.04: remove requiretty from /etc/sudoers.d/cloudstack and fi…
weizhouapache Jul 10, 2026
a503a52
Merge remote-tracking branch 'apache/4.22'
weizhouapache Jul 10, 2026
ec2d3ea
Fix `findHostsForMigration` never returning hosts from other clusters…
winterhazel Jul 10, 2026
8225668
Fix QEMU convert command timeout for incremental snapshots (#13212)
erikbocks Jul 10, 2026
e8df87e
flasharray: authenticate via REST 2.x api-token and discover API vers…
genegr Jul 10, 2026
f2a1f83
Quota UI rework (#13449)
winterhazel Jul 13, 2026
13822b1
Support Firewall for public IPs in VPC (#12706)
harikrishna-patnala Jul 13, 2026
4c0a3e1
marvin: use pycryptodome instead of PyCrypt (#13594)
weizhouapache Jul 13, 2026
63c142b
KVM: fix LUKS/volume-encryption detection for qemu-img >= 10.1.0 (#13…
nikolauseppinger Jul 13, 2026
76a4bc8
Merge remote-tracking branch 'apache/4.20' into 4.22
weizhouapache Jul 13, 2026
38b674f
Add AGENTS.md + SECURITY.md wiring for security-model discoverability…
potiuk Jul 13, 2026
17e5947
server: add removed Tests for listHostsForMigrationOfVM and fix test …
weizhouapache Jul 13, 2026
fe3df6b
Merge branch '4.22' into 'main'
weizhouapache Jul 13, 2026
24fd90a
server: fix build failures after merge-forward
weizhouapache Jul 13, 2026
d2a3bd1
Rename draft-THREAT-MODEL.md to THREAT_MODEL.md (#13599)
potiuk Jul 13, 2026
1374292
Fix simulator test failures on main (#13608)
harikrishna-patnala Jul 14, 2026
3328004
debian/ubuntu: ignore pycompile errors (#13602)
weizhouapache Jul 14, 2026
0e43c6a
tools/docker: Build docker image cloudstack-simulator (#13597)
weizhouapache Jul 14, 2026
66132f8
Introduce new backup provider (KBOSS) (#12758)
JoaoJandre Jul 14, 2026
a6b3128
[Veeam] Fix for dirty context not being returned on el9
nvazquez Jul 14, 2026
028e1ef
Netapp ONTAP bugfixes for 4.23.0 (#13578)
piyush5netapp Jul 14, 2026
75748a5
upgrade: Include the database changes from #13019 in the 4.22.1 -> 4.…
winterhazel Jul 14, 2026
f4c0c31
ConfigureStorageAccessCmd: Allow storage access configuration on empt…
nvazquez Jul 14, 2026
cddd383
fix(ui): restore Account column hyperlink routing in list views (#13642)
Chinmay048 Jul 20, 2026
7900b27
server: fix clone network offerings with detail internetProtocol=IPv4…
weizhouapache Jul 20, 2026
fc83241
Use correct ID to get value of backup.validation.script.default.timeo…
JoaoJandre Jul 20, 2026
0da3740
nasbackup: fix backup stopped vm on Ubuntu 26.04 (#13643)
weizhouapache Jul 21, 2026
424f0df
nasbackup: fix agent.log is cleaned when backup stopped vm (#13641)
weizhouapache Jul 21, 2026
0339f31
UI: fix blank page when list Other OSes in VNF appliance deployment (…
weizhouapache Jul 22, 2026
8148c53
Ignore projectid=-1 on Quota summary (#13658)
winterhazel Jul 22, 2026
3b53e8c
Don't set compressionstatus and validationstatus in backupVO and back…
abh1sar Jul 22, 2026
e1cf0f3
Merge branch 4.22 to main
winterhazel Jul 22, 2026
4f11707
KBOSS - Remove backup chain separation (#13680)
JoaoJandre Jul 25, 2026
dc5b9f7
Merge apache/cloudstack main into feature/CSTACKEX-228
rajiv-jain-netapp Jul 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
24 changes: 21 additions & 3 deletions .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
# under the License.

# https://cwiki.apache.org/confluence/display/INFRA/git+-+.asf.yaml+features
---
github:
description: "Apache CloudStack is an opensource Infrastructure as a Service (IaaS) cloud computing platform"
homepage: https://cloudstack.apache.org/
Expand Down Expand Up @@ -50,12 +49,31 @@ github:
rebase: false

collaborators:
- gpordeus
- ingox
- gp-santos
- erikbocks
- Imvedansh
- Damans227
- jmsperu
- GaOrtiga
- bhouse-nexthop

protected_branches: ~
rulesets:
- name: "Default Branch Protection"
type: branch
branches:
includes:
- "~DEFAULT_BRANCH"
excludes: []
bypass_teams:
- root
restrict_deletion: true
restrict_force_push: true

copilot_code_review:
enabled: true
review_drafts: true
review_on_push: true

notifications:
commits: commits@cloudstack.apache.org
Expand Down
31 changes: 31 additions & 0 deletions .github/actions/install-nonoss/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

name: 'Install CloudStack Non-OSS'
description: 'Clones and installs the shapeblue/cloudstack-nonoss repository.'

runs:
using: "composite"
steps:
- name: Install cloudstack-nonoss
shell: bash
run: |
git clone --depth 1 https://github.com/shapeblue/cloudstack-nonoss.git nonoss
cd nonoss
bash -x install-non-oss.sh
cd ..
rm -fr nonoss
58 changes: 58 additions & 0 deletions .github/actions/setup-env/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

name: 'Setup CloudStack Environment'
description: 'Sets up JDK (with Maven cache), optionally Python, and optionally APT build dependencies for CloudStack.'

inputs:
java-version:
description: 'The JDK version to use'
required: false
default: '17'
install-python:
description: 'Whether to install Python 3.10'
required: false
default: 'false'
install-apt-deps:
description: 'Whether to install CloudStack APT build dependencies'
required: false
default: 'false'

runs:
using: "composite"
steps:
- name: Set up JDK ${{ inputs.java-version }}
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
java-version: ${{ inputs.java-version }}
distribution: 'adopt'
architecture: x64
cache: 'maven'

- name: Set up Python
if: ${{ inputs.install-python == 'true' }}
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: '3.10'
architecture: x64

- name: Install Build Dependencies
if: ${{ inputs.install-apt-deps == 'true' }}
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y git uuid-runtime genisoimage netcat-openbsd ipmitool build-essential libgcrypt20 libgpg-error-dev libgpg-error0 libopenipmi0 libpython3-dev libssl-dev libffi-dev python3-openssl python3-dev python3-setuptools
56 changes: 56 additions & 0 deletions .github/aw/actions-lock.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
{
"entries": {
"actions/github-script@v9.0.0": {
"repo": "actions/github-script",
"version": "v9.0.0",
"sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
},
"github/gh-aw-actions/setup@v0.76.1": {
"repo": "github/gh-aw-actions/setup",
"version": "v0.76.1",
"sha": "46d564922b082d0db93244972e8005ea6904ee5f"
}
},
"containers": {
"ghcr.io/github/gh-aw-firewall/agent:0.18.0": {
"image": "ghcr.io/github/gh-aw-firewall/agent:0.18.0",
"digest": "sha256:ab84dfc7f5998cb8cd0c596526dd573b7e7d06c6a740266a1e6df879fa16c866",
"pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.18.0@sha256:ab84dfc7f5998cb8cd0c596526dd573b7e7d06c6a740266a1e6df879fa16c866"
},
"ghcr.io/github/gh-aw-firewall/agent:0.25.55": {
"image": "ghcr.io/github/gh-aw-firewall/agent:0.25.55",
"digest": "sha256:138c363411decc9a61a5af9b95e8d64c76648b00add0ba06fc7ba786f0e72731",
"pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.55@sha256:138c363411decc9a61a5af9b95e8d64c76648b00add0ba06fc7ba786f0e72731"
},
"ghcr.io/github/gh-aw-firewall/api-proxy:0.25.55": {
"image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.55",
"digest": "sha256:4142b873b678cd3279b98dcbe464857d56ea2f2348719b00379cdf35dd843ff3",
"pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.55@sha256:4142b873b678cd3279b98dcbe464857d56ea2f2348719b00379cdf35dd843ff3"
},
"ghcr.io/github/gh-aw-firewall/squid:0.18.0": {
"image": "ghcr.io/github/gh-aw-firewall/squid:0.18.0",
"digest": "sha256:82a5d062a5612a57a43a171a5b79ddbb690a86a8ddda02339cc1675131ae9f8b",
"pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.18.0@sha256:82a5d062a5612a57a43a171a5b79ddbb690a86a8ddda02339cc1675131ae9f8b"
},
"ghcr.io/github/gh-aw-firewall/squid:0.25.55": {
"image": "ghcr.io/github/gh-aw-firewall/squid:0.25.55",
"digest": "sha256:74084b704d8d3664a363655986664d70bd9cdb4830532d0b35cd784d867aabca",
"pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.55@sha256:74084b704d8d3664a363655986664d70bd9cdb4830532d0b35cd784d867aabca"
},
"ghcr.io/github/gh-aw-mcpg:v0.1.4": {
"image": "ghcr.io/github/gh-aw-mcpg:v0.1.4",
"digest": "sha256:0acf25aa1d409f9c73be9e39ac84f4bd4b90d8bfa1db4dc6d7f47d38ccd58914",
"pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.1.4@sha256:0acf25aa1d409f9c73be9e39ac84f4bd4b90d8bfa1db4dc6d7f47d38ccd58914"
},
"ghcr.io/github/gh-aw-mcpg:v0.3.19": {
"image": "ghcr.io/github/gh-aw-mcpg:v0.3.19",
"digest": "sha256:a6c890d7c24d7190c9ef97b9c954cc4cffaae6b01c371ced1f959f1370b1f68f",
"pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.19@sha256:a6c890d7c24d7190c9ef97b9c954cc4cffaae6b01c371ced1f959f1370b1f68f"
},
"ghcr.io/github/github-mcp-server:v0.30.3": {
"image": "ghcr.io/github/github-mcp-server:v0.30.3",
"digest": "sha256:a2b5fb79b1cee851bfc3532dfe480c3dc5736974ca9d93a7a9f68e52ce4b62a0",
"pinned_image": "ghcr.io/github/github-mcp-server:v0.30.3@sha256:a2b5fb79b1cee851bfc3532dfe480c3dc5736974ca9d93a7a9f68e52ce4b62a0"
}
}
}

This file was deleted.

2 changes: 2 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ updates:
github-actions-dependencies:
patterns:
- "*"
ignore:
- dependency-name: "github/gh-aw-actions/**" # Managed by gh aw compile. Version-locked to the gh-aw compiler; do not bump.
cooldown:
default-days: 7
- package-ecosystem: "maven"
Expand Down
44 changes: 17 additions & 27 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,40 +16,31 @@
# under the License.

name: Build

on: [push, pull_request]

on:
push:
branches:
- main
- 4.22
- 4.20
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
permissions:
contents: read

jobs:
build:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6

- name: Set up JDK 17
uses: actions/setup-java@v5
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
distribution: 'temurin'
java-version: '17'
cache: 'maven'
persist-credentials: false

- name: Set up Python
uses: actions/setup-python@v6
- name: Setup Environment
uses: ./.github/actions/setup-env
with:
python-version: '3.10'
architecture: 'x64'

- name: Install Build Dependencies
run: |
sudo apt-get update
sudo apt-get install -y git uuid-runtime genisoimage netcat ipmitool build-essential libgcrypt20 libgpg-error-dev libgpg-error0 libopenipmi0 ipmitool libpython3-dev libssl-dev libffi-dev python3-openssl python3-dev python3-setuptools

install-python: 'true'
install-apt-deps: 'true'
- name: Env details
run: |
uname -a
Expand All @@ -60,9 +51,8 @@ jobs:
free -m
nproc
git status

- name: Install Non-OSS
uses: ./.github/actions/install-nonoss
- name: Noredist Build
run: |
git clone https://github.com/shapeblue/cloudstack-nonoss.git nonoss && cd nonoss && bash -x install-non-oss.sh && cd ..
rm -fr nonoss
mvn -B -P developer,systemvm -Dsimulator -Dnoredist clean install -T$(nproc)
Loading
Loading