Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
231 commits
Select commit Hold shift + click to select a range
eb2c5f3
separate build yamls for ci_prod branch (#415)
ganga1980 Aug 5, 2020
df29e35
re-enable adx path (#420)
vishiy Aug 6, 2020
bcc8506
Gangams/release changes (#419)
ganga1980 Aug 6, 2020
39534d6
fix for zero filled metrics (#423)
rashmichandrashekar Aug 6, 2020
5e0b429
consolidate windows agent image docker files (#422)
ganga1980 Aug 7, 2020
c5c28f0
Gangams/cluster creation scripts (#414)
ganga1980 Aug 13, 2020
d7a3750
fix: Pin to a particular version of ltsc2019 by SHA (#427)
bragi92 Aug 14, 2020
5e8de91
enable collecting npm metrics (optionally) (#425)
vishiy Aug 14, 2020
17e7ff8
Saaror patch 3 (#426)
saaror Aug 17, 2020
6c7c675
Gangams/add containerd support to windows agent (#428)
ganga1980 Aug 18, 2020
bac8a32
Gangams/arc k8s metrics (#413)
ganga1980 Aug 20, 2020
ab03640
fix: Reverting back to ltsc2019 tag (#429)
bragi92 Aug 21, 2020
af0f981
more kubelet metrics (#430)
vishiy Aug 27, 2020
7fc4d4c
fix nom issue when config is empty (#432)
vishiy Sep 1, 2020
281a77c
support multiple docker paths when docker root is updated thru knode …
vishiy Sep 1, 2020
d8d7f9f
Gangams/doc and other related updates (#434)
ganga1980 Sep 11, 2020
2d56087
add missing serviceprincipal in ps scripts (#435)
ganga1980 Sep 14, 2020
a28aaf0
fix telemetry bug (#436)
vishiy Sep 15, 2020
0062b32
Gangams/readmeupdates non aks 09162020 (#437)
ganga1980 Sep 16, 2020
1a7ef1c
Gangams/fix weird conflicts (#439)
ganga1980 Sep 16, 2020
bf75bf0
fix quote issue for the region (#441)
ganga1980 Sep 21, 2020
6287724
fix cpucapacity/limit bug (#442)
vishiy Sep 21, 2020
bd30a47
grwehner/pv-usage-metrics (#431)
gracewehner Sep 23, 2020
7304a6b
add new custom metric regions (#444)
vishiy Sep 23, 2020
2d8c03f
add 'Terminating' state (#443)
vishiy Sep 23, 2020
da06d76
Gangams/sept agent release tasks (#445)
ganga1980 Sep 25, 2020
5453054
grwehner/pv-collect-volume-name (#448)
gracewehner Sep 28, 2020
fe9f14d
Changes for september agent release (#449)
rashmichandrashekar Sep 30, 2020
f1657c6
Gangams/arc k8s related scripts, charts and doc updates (#450)
ganga1980 Oct 1, 2020
e6dad83
Install CA certs from wireserver (#451)
rashmichandrashekar Oct 1, 2020
23397ed
grwehner/pv-volume-name-in-mdm (#452)
gracewehner Oct 1, 2020
7562a96
Release changes for 10052020 release (#453)
vishiy Oct 5, 2020
4b47f44
Update onboarding_instructions.md (#456)
saaror Oct 12, 2020
3f86b23
chart update for sept2020 release (#457)
ganga1980 Oct 19, 2020
6203c3a
add missing version update in the script (#458)
ganga1980 Oct 19, 2020
5b15469
November release fixes - activate one agent, adx schema v2, win perf …
vishiy Oct 27, 2020
157ba20
remove hiphen for params in chart (#462)
vishiy Oct 28, 2020
7c448bc
Changes for cutting a new build for ciprod10272020 release (#460)
vishiy Oct 28, 2020
62b27d7
using latest stable version of msys2 (#465)
ganga1980 Oct 29, 2020
909cc16
fixing the windows-perf-dups (#466)
rashmichandrashekar Oct 29, 2020
d481c06
chart updates related to new microsoft/charts repo (#467)
ganga1980 Nov 6, 2020
aff1e13
Changes for creating 11092020 release (#468)
vishiy Nov 9, 2020
ca18850
MDM exception aggregation (#470)
rashmichandrashekar Nov 10, 2020
18c27dd
grwehner/mdm custom metric regions (#471)
gracewehner Nov 23, 2020
a5c12e9
updaitng rs limit to 1gb (#474)
rashmichandrashekar Dec 4, 2020
7453fd4
grwehner/pv inventory (#455)
gracewehner Dec 10, 2020
24b709f
Gangams/fix for build release pipeline issue (#476)
ganga1980 Dec 15, 2020
9061201
add pv fluentd plugin config to helm rs config (#477)
gracewehner Dec 15, 2020
064bc06
Gangams/fix rs ooming (#473)
ganga1980 Dec 16, 2020
9cb058c
Gangams/enable arc onboarding to ff (#478)
ganga1980 Dec 18, 2020
ef9d726
Convert PV type dictionary to json for telemetry so it shows up in lo…
gracewehner Jan 4, 2021
97bdb94
fix 2 windows tasks - 1) Dont log to termination log 2) enable ADX ro…
vishiy Jan 6, 2021
94237be
fix ci envvar collection in large pods (#483)
ganga1980 Jan 6, 2021
aacd496
grwehner/jan agent tasks (#481)
gracewehner Jan 7, 2021
148d739
updating fbit version and cpu limit (#485)
rashmichandrashekar Jan 8, 2021
bd33dd9
reverting to older version (#487)
rashmichandrashekar Jan 8, 2021
d5164d2
Gangams/add fbsettings configurable via configmap (#486)
ganga1980 Jan 11, 2021
908d9b0
Gangams/jan agent release tasks (#484)
ganga1980 Jan 11, 2021
8ede536
remove per container logs in ci (#488)
ganga1980 Jan 11, 2021
37e5218
updates for ciprod01112021 release (#489)
ganga1980 Jan 12, 2021
3c97af6
new yaml files (#491)
deagraw Jan 14, 2021
90e1a5b
Use cloud-specific instrumentation keys (#494)
daweim0 Jan 22, 2021
98b6d77
upgrade apt to latest version (#492)
ganga1980 Jan 22, 2021
ddcd3ee
Gangams/add support for extension msi for arc k8s cluster (#495)
ganga1980 Jan 27, 2021
0cd99e4
Gangams/arm template arc k8s extension (#496)
ganga1980 Jan 27, 2021
13521c5
Gangams/aks monitoring via policy (#497)
ganga1980 Feb 1, 2021
e4f36c7
revert to use operatingSystem from osImage for node os telemety (#498)
ganga1980 Feb 1, 2021
ec15ac1
Container log v2 schema changes (#499)
vishiy Feb 4, 2021
6031be8
Add priority class to the daemonsets (#500)
Michael-Sinz Feb 9, 2021
4212e1a
fix node metric issue (#502)
ganga1980 Feb 11, 2021
24644ce
Bug fixes for Feb release (#504)
rashmichandrashekar Feb 18, 2021
e56104c
Gangams/feb 2021 agent bug fix (#505)
ganga1980 Feb 23, 2021
e00b2aa
changes for release -ciprod02232021 (#506)
vishiy Feb 23, 2021
31f0e5f
Gangams/e2e test framework (#503)
ganga1980 Feb 23, 2021
91f954f
scrape new kubelet pod count metric name (#508)
gracewehner Feb 25, 2021
4a8ff23
Adding explicit json output to az commands as the script fails if az …
nyuen Mar 20, 2021
512e5c0
Gangams/arc proxy contract and token renewal updates (#511)
ganga1980 Mar 22, 2021
6b48b6a
doc updates for microsoft charts repo release (#512)
ganga1980 Mar 22, 2021
d93c680
Update enable-monitoring.sh (#514)
seenu433 Mar 23, 2021
4d386ce
Prometheus scraping from sidecar and OSM changes (#515)
rashmichandrashekar Mar 25, 2021
16936aa
add liveness timeout for exec (#518)
vishiy Mar 26, 2021
12964be
chart and other updates (#519)
rashmichandrashekar Mar 26, 2021
73548c0
Saaror osmdoc (#523)
saaror Apr 5, 2021
fea4ffa
telemetry bug fix (#527)
rashmichandrashekar Apr 6, 2021
e31cc87
Fix conflicting logrotate settings (#526)
gracewehner Apr 6, 2021
ca8fa12
bug fix (#528)
rashmichandrashekar Apr 6, 2021
1f6f6d2
Gangams/arc ev2 deployment (#522)
ganga1980 Apr 7, 2021
97678b6
added liveness and telemetry for telegraf (#517)
daweim0 Apr 9, 2021
63ea896
Windows metric fix (#530)
daweim0 Apr 13, 2021
42730a4
OSM doc update (#533)
rashmichandrashekar Apr 13, 2021
7ad52cd
Adding MDM metrics for threshold violation (#531)
rashmichandrashekar Apr 14, 2021
34d1f64
Rashmi/april agent 2021 (#538)
rashmichandrashekar Apr 21, 2021
fcc5048
add Read_from_Head config for all fluentbit tail plugins (#539)
gracewehner Apr 21, 2021
01e5529
fix programdata mount issue on containerd win nodes (#542)
ganga1980 Apr 22, 2021
b5d074a
Update sidecar mem limits (#541)
rashmichandrashekar Apr 22, 2021
5feeb3e
David/release 4 22 2021 (#544)
daweim0 Apr 22, 2021
1b2da4a
1m, 1m, 1s by default (#543)
daweim0 Apr 23, 2021
83e5816
David/aad stage 1 release (#556)
daweim0 May 12, 2021
8beabe3
Update ReleaseNotes.md (#558)
ganga1980 May 13, 2021
3805f44
Add wait time for telegraf and also force mdm egress to use tls 1.2 (…
vishiy May 19, 2021
7c5087f
partially disabled telegraf liveness probe check, we'll still have te…
daweim0 May 19, 2021
0d33489
changes for 05202021 release (#563)
daweim0 May 20, 2021
486acfd
Rashmi/jedi wireserver (#566)
rashmichandrashekar May 21, 2021
0fa350e
Update ReadMe.md (#565)
saaror May 21, 2021
c707539
Gangams/aad stage2 full switch to mdsd (#559)
ganga1980 May 22, 2021
959b455
Send perf metrics to MDM from windows daemonset (#568)
rashmichandrashekar May 27, 2021
e4da519
updating json gem to address CVE-2020-10663 (#567)
daweim0 May 28, 2021
49486a8
update recommended alerts readme (#570)
daweim0 May 28, 2021
ef23fc6
trying again to fix the json gem (#571)
daweim0 May 28, 2021
cfa804a
Addressing PR comments for - https://github.com/microsoft/Docker-Prov…
rashmichandrashekar Jun 1, 2021
0d3e4a1
Mem_Buf_limit is configurable via ConfigMap (#574)
tsubasaxZZZ Jun 10, 2021
50b99ff
add log rotation settings for fluentd logs (#577)
ganga1980 Jun 11, 2021
4cebe73
Gangams/release 06112021 (#578)
ganga1980 Jun 11, 2021
adabaf9
release note update (#579)
ganga1980 Jun 11, 2021
0c70120
Make sidecar fluentbit chunk size configurable (#573)
rashmichandrashekar Jun 14, 2021
a7a2d73
Fix vulnerabilities (#583)
vishiy Jun 15, 2021
154c11d
Windows build optimization (#582)
rashmichandrashekar Jun 16, 2021
68e90b6
fix windows build failure due to msys2 version
vishiy Jun 23, 2021
cf68a4f
Fix telegraf startup issue when endpoint is unreachable (#587)
rashmichandrashekar Jun 23, 2021
cd22753
revert fbit tail plugins defaults to std defaults (#586)
ganga1980 Jun 23, 2021
8c41a42
fixed another bug (#593)
daweim0 Jul 1, 2021
00f1a0d
feat: add new metrics to MDM for allocatable % calculation of cpu and…
bragi92 Jul 9, 2021
e1f9978
update adx sdk for perf issue (#601)
vishiy Jul 12, 2021
c9ade1b
remove md check
vishiy Jul 13, 2021
6e2732e
Gangams/release notes update for hotfix (#596)
ganga1980 Jul 13, 2021
6df299f
Cherry picking hotfix changes to ci_dev (#605)
rashmichandrashekar Jul 14, 2021
3b38337
release changes (#607)
rashmichandrashekar Jul 15, 2021
bcea7fc
Gangams/aad stage3 msi auth (#585)
ganga1980 Jul 19, 2021
13eb3a6
Gangams/remove chart version dependency (#589)
ganga1980 Jul 20, 2021
63f22d9
Gangams/july 2021 release tasks 3 (#613)
ganga1980 Jul 23, 2021
902c939
remove un-used output plugin (#614)
vishiy Jul 23, 2021
a76905a
fix telegraf telemetry and improve fluentd liveness (#611)
ganga1980 Jul 23, 2021
52612b5
Gangams/july 2021 release tasks 2 (#612)
ganga1980 Jul 23, 2021
5b5d048
Fix out_oms.go dependency vulnerabilities (#623)
gracewehner Aug 13, 2021
2a0f4ec
revert libsystemd0 update (#616)
ganga1980 Aug 13, 2021
45f35ae
updates for ci-prod release instructions (#619)
ganga1980 Aug 13, 2021
10b2ea6
cherry pick changes from ci_prod (#622)
ganga1980 Aug 13, 2021
ad31c55
Support az login for passwords starting with dash ('-') (#626)
vladimir-babichev Aug 14, 2021
57beb59
Gangams/add telemetry fbit settings (#628)
ganga1980 Aug 17, 2021
cf4775a
check onboarding status (#629)
ganga1980 Aug 19, 2021
da55fe5
Gangams/arc k8s conformance test updates (#617)
ganga1980 Aug 19, 2021
e39b83b
upgrade golang version for windows in pipeline build and locally (#630)
gracewehner Aug 20, 2021
3a02a4f
Updating a link in Readme.md (#632)
daweim0 Aug 25, 2021
e56c74b
Updating omsagent yaml to have parity with omsagent yaml file in AKS …
rashmichandrashekar Aug 25, 2021
d2817cb
Unit test tooling (#625)
daweim0 Aug 27, 2021
32f958b
run unit tests after a merge too (#634)
daweim0 Aug 27, 2021
c4a3bbc
flag stale PRs & issues
vishiy Aug 31, 2021
beb7f42
Adding script to collect logs (for troubleshooting) (#636)
daweim0 Sep 1, 2021
01e8178
Sarah/ev2 (#640)
sarahpeiffer Sep 11, 2021
ef7cb89
documenting fbit tail plugin configmap settings. (#638)
daweim0 Sep 13, 2021
6b42f13
Install unzip package on shell extension (#642)
sarahpeiffer Sep 13, 2021
7ef07e1
Changing installation in ev2 script (#644)
sarahpeiffer Sep 14, 2021
a025ce7
Adjust release pipeline to use cdpx acr (#647)
sarahpeiffer Sep 21, 2021
c6bc993
Sarah/ev2 prod (#649)
sarahpeiffer Sep 22, 2021
5e37947
CDPX repo naming change (#652)
sarahpeiffer Sep 23, 2021
a36d8df
Sarah/ev2 update (#654)
sarahpeiffer Sep 27, 2021
fdc99f6
change tag syntax for mcr repo check (#655)
sarahpeiffer Sep 28, 2021
6292218
Gangams/optimize win livenessprobe (#653)
ganga1980 Sep 28, 2021
cfacf39
Gangams/addon token adapter image tag to telemetry (#656)
ganga1980 Sep 29, 2021
ae9ebd7
Sarah/ev2 helm (#658)
sarahpeiffer Sep 30, 2021
a6c6c4a
Sarah/ev2 pipeline (#661)
sarahpeiffer Oct 4, 2021
9e2df4d
add charts directory to build artifacts (#662)
sarahpeiffer Oct 4, 2021
f1d0e43
Sarah/remove cdpx creds (#664)
sarahpeiffer Oct 6, 2021
6ff747c
chart updates for rbac api version change (#660)
ganga1980 Oct 7, 2021
f77587a
proxy support (for non-aks) (#665)
daweim0 Oct 8, 2021
34f5c52
Gangams/agent release ciprod10082021 & win-ciprod10082021 (#666)
ganga1980 Oct 8, 2021
c4d2254
use buildcommand for prod pipeline (#668)
sarahpeiffer Oct 8, 2021
3b008e5
fixed merge issues. (#671) (#672)
ganga1980 Oct 11, 2021
d16d84b
changes related to mdsd version update (#673) (#674)
ganga1980 Oct 11, 2021
ce65f2c
Sarah/enable metrics (#675)
sarahpeiffer Oct 12, 2021
608f92e
Gangams/chart updates oct2021 release (#676)
ganga1980 Oct 13, 2021
ab98c4b
Gangams/msi mode mdsd crash fix (#677)
ganga1980 Oct 13, 2021
a105a00
update to use extension GA api version (#679)
ganga1980 Oct 20, 2021
87ff281
Gangams/arm template msi onboarding (#659)
ganga1980 Oct 20, 2021
ac5dec3
Gangams/conf test updates to handle sidecar (#681)
ganga1980 Oct 22, 2021
0bd3056
Fix scan break due to latest trivy changes
vishiy Oct 26, 2021
761b641
Anjohans/configurable database name (#663)
asjddd Oct 26, 2021
fc955b3
Gangams/troubelshooting script for arc k8s (#682)
ganga1980 Oct 27, 2021
7c9cdc8
Sarah/remove cdpx creds (#685)
sarahpeiffer Nov 2, 2021
f75eea6
fix: subtract number instead of string + update fluentd version 1.14.…
bragi92 Nov 5, 2021
15ee6c5
Faster Linux builds (part 1) (#687)
daweim0 Nov 5, 2021
b4ca054
Sarah/fluentbit windows log (#688)
sarahpeiffer Jan 13, 2022
5b9988c
default to port 10250 & containerd for linux agent (#699)
ganga1980 Jan 21, 2022
4c460c6
Updating pod annotation for latest agent version (#697)
rashmichandrashekar Jan 24, 2022
f2c2904
fix windows build failure due to msys2 version (#700)
bragi92 Jan 25, 2022
78440cf
Jan agent tasks (#698)
gracewehner Jan 28, 2022
3dce72f
remove v1 fallback hidden option (#705)
ganga1980 Jan 28, 2022
2726d01
collect telemetry containerlog records with emptystamp (#703)
ganga1980 Jan 28, 2022
28599b3
Fixing telegraf bug for placeholder name (#706)
rashmichandrashekar Jan 28, 2022
7452ee2
Gangams/jan 2022 release tasks 3 (#702)
ganga1980 Jan 28, 2022
bfc41a4
Gangams/jan 2022 release tasks 2 (#701)
ganga1980 Jan 29, 2022
ec2b09f
release updates for ciprod01312022 & win-ciprod01312022release (#707)
ganga1980 Jan 31, 2022
5f41c5e
fix logger exception (#709)
ganga1980 Feb 1, 2022
7ff6c02
Gangams/chart version update for jan release (#710)
ganga1980 Feb 2, 2022
d6e9272
fix agentversion annotation issue in chart (#712)
ganga1980 Feb 3, 2022
918ad11
adx bug + misc (#714)
vishiy Feb 11, 2022
2dbc4f1
fix build break (#715)
vishiy Feb 15, 2022
7389a1b
Explicitly use win-2019 to unblock windows PRs builds
vishiy Mar 1, 2022
ec3d2ef
Fixing telegraf vulnerability (#716)
rashmichandrashekar Mar 1, 2022
798bd9f
cherry picked changes from 03112022 release (#719)
sarahpeiffer Mar 14, 2022
1167797
Gangams/http proxy support (#717)
ganga1980 Mar 14, 2022
f9209c4
build multi-arch images (#704)
pfrcks Mar 14, 2022
8019731
add missing artifacts (#720)
pfrcks Mar 15, 2022
b58ff42
Gangams/msi onboarding arm template updates for AKS (#721)
ganga1980 Mar 16, 2022
15e8446
minor fixes (#722)
pfrcks Mar 17, 2022
6d31928
specify go patch version (#723)
pfrcks Mar 17, 2022
e3c0ad1
User/amagraw/ciprod release 20220317 (#724)
pfrcks Mar 17, 2022
e05e75e
Remove health type from DCR onboarding & add private link support for…
ganga1980 Mar 19, 2022
78cd76d
check platform specific tags (#730) (#731)
pfrcks Mar 21, 2022
90707c7
PodReadyPercentage metric bug fix (#734)
gracewehner Mar 24, 2022
f253e4f
update windows to ruby 2.7 (#732)
pfrcks Mar 28, 2022
cb1b659
Improve CI/CD for multi-arch (#733)
pfrcks Mar 29, 2022
f0266dc
Gangams/ts updates for msi (#736)
ganga1980 Mar 29, 2022
d76f2b2
Sarah/health deprecation (#735)
sarahpeiffer Mar 30, 2022
11d1c7a
check platform specific tags (#738)
pfrcks Apr 4, 2022
d12827b
Gangams/msi test instructions (#739)
ganga1980 Apr 4, 2022
9da85dc
Add CI Windows Build to MultiArch Dev pipeline (#740)
pfrcks Apr 6, 2022
d02670a
Add Windows phase (#741)
pfrcks Apr 8, 2022
38f3d92
Sarah/add onboarding templates (#742)
sarahpeiffer Apr 12, 2022
ca3fdcb
fix download (#749)
pfrcks Apr 26, 2022
f6c1deb
force run trivy stage (#745)
pfrcks Apr 27, 2022
9c64f93
update telegraf to 1.22.2 to fix vulns (#752)
pfrcks May 4, 2022
52c7fe4
Gangams/arc k8s aad msi auth (#743)
ganga1980 May 6, 2022
0da25a7
Gangams/ws2022 support (#756)
ganga1980 May 9, 2022
0ee0c60
CA Cert Fix for Mariner Hosts in Air Gap (#751)
gracewehner May 9, 2022
b7a84ea
add cifs & fuse file systems to ignore list (#750)
vishiy May 11, 2022
e7c7237
Data collection script (#759)
MSNina123456 May 18, 2022
34b05c6
Microsoft mandatory file (#763)
microsoft-github-policy-service[bot] May 18, 2022
31e320b
Adding v2 schema options (#762)
austonli May 19, 2022
b9520c6
Agent release for ciprod05192022 and win-ciprod05192022 (#765)
jatakiajanvi12 May 19, 2022
1905966
Merge latest ci_dev changes
jatakiajanvi12 May 19, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions .github/workflows/pr-checker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,6 @@ jobs:
format: 'table'
severity: 'CRITICAL,HIGH'
vuln-type: 'os,library'
#[vishwa] - Fix telegraf & test all for next release - see work item #https://msazure.visualstudio.com/InfrastructureInsights/_workitems/edit/13322134
skip-files: '/usr/sbin/telegraf,/opt/telegraf'
exit-code: '1'
timeout: '5m0s'
ignore-unfixed: true
Expand Down Expand Up @@ -93,7 +91,7 @@ jobs:
run: cd ./build/windows/ && & .\Makefile.ps1
- name: Create-docker-image
run: |
cd ./kubernetes/windows/ && docker build . --file Dockerfile -t $env:IMAGETAG --build-arg IMAGE_TAG=$env:IMAGETAG_TELEMETRY
cd ./kubernetes/windows/ && docker build . --file Dockerfile -t $env:IMAGETAG --build-arg WINDOWS_VERSION=ltsc2019 --build-arg IMAGE_TAG=$env:IMAGETAG_TELEMETRY
- name: List-docker-images
run: docker images --digests --all

2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ intermediate
*.dll
*.obj
# ignore docker provider shell bundle
kubernetes/linux/Linux_ULINUX_1.0_x64_64_Release
kubernetes/linux/Linux_ULINUX_1.0_*_64_Release
# ignore generated .h files for go
source/plugins/go/src/*.h
*_mock.go
Expand Down
353 changes: 263 additions & 90 deletions .pipelines/azure_pipeline_dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,101 +4,274 @@
# https://aka.ms/yaml

trigger:
- ci_dev
batch: true
branches:
include:
- ci_dev

pool:
name: Azure-Pipelines-CI-Test-EO
pr:
branches:
include:
- ci_dev

variables:
armServiceConnectionName: 'ci-1es-acr-connection'
subscription: '9b96ebbd-c57a-42d1-bbe9-b69296e4c7fb'
containerRegistry: 'containerinsightsprod'
repoImageName: '${{ variables.containerRegistry }}.azurecr.io/public/azuremonitor/containerinsights/cidev'
IS_PR: $[eq(variables['Build.Reason'], 'PullRequest')]

steps:
- bash: |
commit=$(git rev-parse --short HEAD)
echo "##vso[task.setvariable variable=commit;]$commit"

datetime=$(date +'%Y%m%d%s')
echo "##vso[task.setvariable variable=datetime;]$datetime"

cd $(Build.SourcesDirectory)/deployment/multiarch-agent-deployment/ServiceGroupRoot/Scripts
tar -czvf ../artifacts.tar.gz pushAgentToAcr.sh

cd $(Build.SourcesDirectory)/deployment/arc-k8s-extension/ServiceGroupRoot/Scripts
tar -czvf ../artifacts.tar.gz ../../../../charts/azuremonitor-containers/ pushChartToAcr.sh

- task: CopyFiles@2
displayName: "Copy ev2 deployment artifacts"
inputs:
SourceFolder: "$(Build.SourcesDirectory)/deployment"
Contents: |
**/*
TargetFolder: '$(Build.ArtifactStagingDirectory)/build'

- task: CopyFiles@2
displayName: "Copy ev2 deployment scripts"
inputs:
SourceFolder: "$(Build.SourcesDirectory)/.pipelines"
Contents: |
*.sh
TargetFolder: '$(Build.ArtifactStagingDirectory)/build'

- task: CopyFiles@2
displayName: "Copy ev2 deployment scripts"
inputs:
SourceFolder: "$(Build.SourcesDirectory)/kubernetes"
Contents: |
*.yaml
TargetFolder: '$(Build.ArtifactStagingDirectory)/build'

- task: CopyFiles@2
displayName: "Copy ev2 deployment scripts"
inputs:
SourceFolder: "$(Build.SourcesDirectory)/charts"
Contents: |
**/*
TargetFolder: '$(Build.ArtifactStagingDirectory)/build'

- task: CopyFiles@2
displayName: "Copy ev2 deployment scripts"
inputs:
SourceFolder: "$(Build.SourcesDirectory)/test/e2e"
Contents: |
*.yaml
TargetFolder: '$(Build.ArtifactStagingDirectory)/build'

- task: AzureCLI@2
displayName: "Docker multi-arch linux build"
inputs:
azureSubscription: ${{ variables.armServiceConnectionName }}
scriptType: bash
scriptLocation: inlineScript
inlineScript: |

sudo apt-get update && sudo apt-get -y install qemu binfmt-support qemu-user-static
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

docker buildx create --name testbuilder
docker buildx use testbuilder

az --version
az account show
az account set -s ${{ variables.subscription }}
az acr login -n ${{ variables.containerRegistry }}

docker buildx build --platform linux/amd64,linux/arm64 --tag ${{ variables.repoImageName }}:$(datetime)-$(commit) -f kubernetes/linux/Dockerfile.multiarch --metadata-file $(Build.ArtifactStagingDirectory)/metadata.json --build-arg IMAGE_TAG=$(datetime)-$(commit) --push .

docker pull ${{ variables.repoImageName }}:$(datetime)-$(commit)

- task: AzureArtifacts.manifest-generator-task.manifest-generator-task.ManifestGeneratorTask@0
displayName: 'Generation Task'
inputs:
BuildDropPath: '$(Build.ArtifactStagingDirectory)'
DockerImagesToScan: 'golang:1.15.14, ubuntu:18.04, ${{ variables.repoImageName }}:$(datetime)-$(commit)'

- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: drop
jobs:
- job: common
pool:
name: Azure-Pipelines-CI-Test-EO
steps:
- bash: |
commit=$(git rev-parse --short HEAD)
datetime=$(date +'%m%d%Y')
linuxImagetag="$datetime"-"$commit"
windowsImageTag=win-"$datetime"-"$commit"
echo "##vso[task.setvariable variable=linuxImagetag;isOutput=true]$linuxImagetag"
echo "##vso[task.setvariable variable=windowsImageTag;isOutput=true]$windowsImageTag"

cd $(Build.SourcesDirectory)/deployment/multiarch-agent-deployment/ServiceGroupRoot/Scripts
tar -czvf ../artifacts.tar.gz pushAgentToAcr.sh

cd $(Build.SourcesDirectory)/deployment/arc-k8s-extension/ServiceGroupRoot/Scripts
tar -czvf ../artifacts.tar.gz ../../../../charts/azuremonitor-containers/ pushChartToAcr.sh
name: setup

- task: CopyFiles@2
displayName: "Copy ev2 deployment artifacts"
inputs:
SourceFolder: "$(Build.SourcesDirectory)/deployment"
Contents: |
**/*
TargetFolder: '$(Build.ArtifactStagingDirectory)/build'

- task: CopyFiles@2
displayName: "Copy ev2 deployment scripts"
inputs:
SourceFolder: "$(Build.SourcesDirectory)/.pipelines"
Contents: |
**/*.sh
TargetFolder: '$(Build.ArtifactStagingDirectory)/build'

- task: CopyFiles@2
displayName: "Copy ev2 deployment scripts"
inputs:
SourceFolder: "$(Build.SourcesDirectory)/kubernetes"
Contents: |
*.yaml
TargetFolder: '$(Build.ArtifactStagingDirectory)/build'

- task: CopyFiles@2
displayName: "Copy ev2 deployment scripts"
inputs:
SourceFolder: "$(Build.SourcesDirectory)/charts"
Contents: |
**/*
TargetFolder: '$(Build.ArtifactStagingDirectory)/build'

- task: CopyFiles@2
displayName: "Copy ev2 deployment scripts"
inputs:
SourceFolder: "$(Build.SourcesDirectory)/test/e2e"
Contents: |
*.yaml
TargetFolder: '$(Build.ArtifactStagingDirectory)/build'

- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: drop

- job: build_linux
dependsOn: common
pool:
name: Azure-Pipelines-CI-Test-EO
variables:
linuxImagetag: $[ dependencies.common.outputs['setup.linuxImagetag'] ]

steps:
- task: AzureCLI@2
displayName: "Docker multi-arch linux build"
inputs:
azureSubscription: ${{ variables.armServiceConnectionName }}
scriptType: bash
scriptLocation: inlineScript
inlineScript: |
mkdir -p $(Build.ArtifactStagingDirectory)/linux

sudo apt-get update && sudo apt-get -y install qemu binfmt-support qemu-user-static
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

docker buildx create --name testbuilder
docker buildx use testbuilder

az --version
az account show
az account set -s ${{ variables.subscription }}
az acr login -n ${{ variables.containerRegistry }}

if [ "$(Build.Reason)" != "PullRequest" ]; then
docker buildx build --platform linux/amd64,linux/arm64 --tag ${{ variables.repoImageName }}:$(linuxImagetag) -f kubernetes/linux/Dockerfile.multiarch --metadata-file $(Build.ArtifactStagingDirectory)/linux/metadata.json --build-arg IMAGE_TAG=$(linuxImagetag) --push .

docker pull ${{ variables.repoImageName }}:$(linuxImagetag)
else
docker buildx build --platform linux/amd64,linux/arm64 --tag ${{ variables.repoImageName }}:$(linuxImagetag) -f kubernetes/linux/Dockerfile.multiarch --metadata-file $(Build.ArtifactStagingDirectory)/linux/metadata.json --build-arg IMAGE_TAG=$(linuxImagetag) .
fi

- task: AzureArtifacts.manifest-generator-task.manifest-generator-task.ManifestGeneratorTask@0
displayName: 'Generation Task'
condition: eq(variables.IS_PR, true)
inputs:
BuildDropPath: '$(Build.ArtifactStagingDirectory)/linux'
DockerImagesToScan: 'golang:1.15.14, ubuntu:18.04'

- task: AzureArtifacts.manifest-generator-task.manifest-generator-task.ManifestGeneratorTask@0
displayName: 'Generation Task'
condition: eq(variables.IS_PR, false)
inputs:
BuildDropPath: '$(Build.ArtifactStagingDirectory)/linux'
DockerImagesToScan: 'golang:1.15.14, ubuntu:18.04, ${{ variables.repoImageName }}:$(linuxImagetag)'

- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: drop

- job: build_windows_2019
dependsOn:
- common
pool:
name: Azure-Pipelines-Windows-CI-Test-EO
variables:
windowsImageTag: $[ dependencies.common.outputs['setup.windowsImageTag'] ]
windows2019BaseImageVersion: ltsc2019
steps:
- task: PowerShell@2
inputs:
targetType: 'filePath'
filePath: $(System.DefaultWorkingDirectory)/scripts/build/windows/install-build-pre-requisites.ps1
displayName: 'install prereqs'

- script: |
setlocal enabledelayedexpansion
powershell.exe -ExecutionPolicy Unrestricted -NoProfile -WindowStyle Hidden -File "build\windows\Makefile.ps1"
endlocal
exit /B %ERRORLEVEL%
displayName: 'build base'

- task: AzureCLI@2
displayName: "Docker windows build for ltsc2019"
inputs:
azureSubscription: ${{ variables.armServiceConnectionName }}
scriptType: ps
scriptLocation: inlineScript
inlineScript: |
mkdir -p $(Build.ArtifactStagingDirectory)/windows
cd kubernetes/windows

az --version
az account show
az account set -s ${{ variables.subscription }}
az acr login -n ${{ variables.containerRegistry }}

docker build --isolation=hyperv --tag ${{ variables.repoImageName }}:$(windowsImageTag)-$(windows2019BaseImageVersion) --build-arg WINDOWS_VERSION=$(windows2019BaseImageVersion) --build-arg IMAGE_TAG=$(windowsImageTag) .
if ("$(Build.Reason)" -ne "PullRequest") {
docker push ${{ variables.repoImageName }}:$(windowsImageTag)-$(windows2019BaseImageVersion)
}

- job: build_windows_2022
dependsOn:
- common
pool:
name: Azure-Pipelines-Windows-CI-Test-EO
variables:
windowsImageTag: $[ dependencies.common.outputs['setup.windowsImageTag'] ]
windows2022BaseImageVersion: ltsc2022
steps:
- task: PowerShell@2
inputs:
targetType: 'filePath'
filePath: $(System.DefaultWorkingDirectory)/scripts/build/windows/install-build-pre-requisites.ps1
displayName: 'install prereqs'

- script: |
setlocal enabledelayedexpansion
powershell.exe -ExecutionPolicy Unrestricted -NoProfile -WindowStyle Hidden -File "build\windows\Makefile.ps1"
endlocal
exit /B %ERRORLEVEL%
displayName: 'build base'

- task: AzureCLI@2
displayName: "Docker windows build for ltsc2022"
inputs:
azureSubscription: ${{ variables.armServiceConnectionName }}
scriptType: ps
scriptLocation: inlineScript
inlineScript: |
mkdir -p $(Build.ArtifactStagingDirectory)/windows
cd kubernetes/windows

az --version
az account show
az account set -s ${{ variables.subscription }}
az acr login -n ${{ variables.containerRegistry }}

docker build --isolation=hyperv --tag ${{ variables.repoImageName }}:$(windowsImageTag)-$(windows2022BaseImageVersion) --build-arg WINDOWS_VERSION=$(windows2022BaseImageVersion) --build-arg IMAGE_TAG=$(windowsImageTag) .
if ("$(Build.Reason)" -ne "PullRequest") {
docker push ${{ variables.repoImageName }}:$(windowsImageTag)-$(windows2022BaseImageVersion)
}

- job: build_windows_multi_arc
dependsOn:
- common
- build_windows_2019
- build_windows_2022
pool:
name: Azure-Pipelines-Windows-CI-Test-EO
variables:
windowsImageTag: $[ dependencies.common.outputs['setup.windowsImageTag'] ]
windows2019BaseImageVersion: ltsc2019
windows2022BaseImageVersion: ltsc2022
steps:
- task: AzureCLI@2
displayName: "Docker windows build for multi-arc image"
inputs:
azureSubscription: ${{ variables.armServiceConnectionName }}
scriptType: ps
scriptLocation: inlineScript
inlineScript: |
mkdir -p $(Build.ArtifactStagingDirectory)/windows
cd kubernetes/windows

az --version
az account show
az account set -s ${{ variables.subscription }}
az acr login -n ${{ variables.containerRegistry }}

@{"image.name"="${{ variables.repoImageName }}:$(windowsImageTag)"} | ConvertTo-Json -Compress | Out-File -Encoding ascii $(Build.ArtifactStagingDirectory)/windows/metadata.json

if ("$(Build.Reason)" -ne "PullRequest") {
docker manifest create ${{ variables.repoImageName }}:$(windowsImageTag) ${{ variables.repoImageName }}:$(windowsImageTag)-$(windows2019BaseImageVersion) ${{ variables.repoImageName }}:$(windowsImageTag)-$(windows2022BaseImageVersion)
docker manifest push ${{ variables.repoImageName }}:$(windowsImageTag)
}
- task: AzureArtifacts.manifest-generator-task.manifest-generator-task.ManifestGeneratorTask@0
displayName: 'Generation Task'
condition: eq(variables.IS_PR, true)
inputs:
BuildDropPath: '$(Build.ArtifactStagingDirectory)/windows'
DockerImagesToScan: 'mcr.microsoft.com/windows/servercore:ltsc2019, mcr.microsoft.com/windows/servercore:ltsc2022'

- task: AzureArtifacts.manifest-generator-task.manifest-generator-task.ManifestGeneratorTask@0
displayName: 'Generation Task'
condition: eq(variables.IS_PR, false)
inputs:
BuildDropPath: '$(Build.ArtifactStagingDirectory)/windows'
DockerImagesToScan: 'mcr.microsoft.com/windows/servercore:ltsc2019, mcr.microsoft.com/windows/servercore:ltsc2022, ${{ variables.repoImageName }}:$(windowsImageTag)'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: drop
Loading