Compare commits

..

169 Commits

Author SHA1 Message Date
stefanprodan
d4a94f03de Publish website 2025-10-16 15:36:35 +00:00
stefanprodan
b3b7958790 Publish website 2025-10-16 15:35:36 +00:00
stefanprodan
200584f5cd Publish website 2025-10-16 15:24:37 +00:00
stefanprodan
48a45a6142 Publish website 2025-10-16 15:03:05 +00:00
stefanprodan
550e768120 Publish website 2025-10-16 14:58:57 +00:00
stefanprodan
6b050a3702 Publish flagger-1.42.0.tgz grafana-1.7.0.tgz loadtester-0.36.0.tgz podinfo-6.1.4.tgz 2025-10-16 14:02:39 +00:00
aryan9600
c8055e652d Publish flagger-1.41.0.tgz grafana-1.7.0.tgz loadtester-0.35.0.tgz podinfo-6.1.4.tgz 2025-04-02 11:48:15 +00:00
stefanprodan
1f788e4980 Publish flagger-1.40.0.tgz grafana-1.7.0.tgz loadtester-0.34.0.tgz podinfo-6.1.4.tgz 2024-12-17 09:46:23 +00:00
stefanprodan
fae2dc52bb Publish flagger-1.39.0.tgz grafana-1.7.0.tgz loadtester-0.33.0.tgz podinfo-6.1.4.tgz 2024-11-26 12:08:45 +00:00
stefanprodan
b8bce87149 Publish flagger-1.39.0.tgz grafana-1.7.0.tgz loadtester-0.33.0.tgz podinfo-6.1.4.tgz 2024-11-26 11:48:33 +00:00
aryan9600
4ccf2beba7 Publish flagger-1.38.0.tgz grafana-1.7.0.tgz loadtester-0.33.0.tgz podinfo-6.1.3.tgz 2024-07-30 13:42:54 +00:00
stefanprodan
b7a1fb69f2 Publish flagger-1.37.0.tgz grafana-1.7.0.tgz loadtester-0.32.0.tgz podinfo-6.1.3.tgz 2024-03-26 13:44:54 +00:00
stefanprodan
c1c9e5cc43 Publish flagger-1.37.0.tgz grafana-1.7.0.tgz loadtester-0.32.0.tgz podinfo-6.1.3.tgz 2024-03-26 13:01:02 +00:00
aryan9600
b83f69b75c Publish flagger-1.36.1.tgz grafana-1.7.0.tgz loadtester-0.31.0.tgz podinfo-6.1.3.tgz 2024-03-06 08:16:19 +00:00
stefanprodan
b816e58c7c Publish flagger-1.36.0.tgz grafana-1.7.0.tgz loadtester-0.31.0.tgz podinfo-6.1.3.tgz 2024-02-07 19:44:52 +00:00
aryan9600
a8911b2fc7 Publish flagger-1.35.0.tgz grafana-1.7.0.tgz loadtester-0.30.0.tgz podinfo-6.1.3.tgz 2023-11-30 15:39:49 +00:00
aryan9600
d5ae4d3467 Publish flagger-1.34.0.tgz grafana-1.7.0.tgz loadtester-0.29.0.tgz podinfo-6.1.3.tgz 2023-10-04 10:30:21 +00:00
stefanprodan
0381f85425 Publish flagger-1.33.0.tgz grafana-1.7.0.tgz loadtester-0.29.0.tgz podinfo-6.1.3.tgz 2023-08-29 14:56:19 +00:00
stefanprodan
e65f125ee5 Publish flagger-1.33.0.tgz grafana-1.7.0.tgz loadtester-0.29.0.tgz podinfo-6.1.3.tgz 2023-08-29 14:03:17 +00:00
aryan9600
cf3963a62a Publish flagger-1.33.0.tgz grafana-1.7.0.tgz loadtester-0.29.0.tgz podinfo-6.1.3.tgz 2023-08-29 11:57:46 +00:00
aryan9600
c5b6f50cad Publish flagger-1.32.0.tgz grafana-1.7.0.tgz loadtester-0.28.1.tgz podinfo-6.1.3.tgz 2023-07-14 10:29:06 +00:00
stefanprodan
a9ee2aa455 Publish flagger-1.31.0.tgz grafana-1.7.0.tgz loadtester-0.28.1.tgz podinfo-6.1.3.tgz 2023-05-10 17:07:50 +00:00
aryan9600
b1bcf3c010 Publish flagger-1.30.0.tgz grafana-1.7.0.tgz loadtester-0.28.1.tgz podinfo-6.1.3.tgz 2023-04-12 15:26:05 +00:00
aryan9600
8dba425b2b Publish flagger-1.29.0.tgz grafana-1.7.0.tgz loadtester-0.28.1.tgz podinfo-6.1.3.tgz 2023-02-21 09:01:27 +00:00
stefanprodan
82e9c1fda2 Publish flagger-1.28.0.tgz grafana-1.7.0.tgz loadtester-0.28.1.tgz podinfo-6.1.3.tgz 2023-01-26 12:24:51 +00:00
aryan9600
1424e8f2bf Publish flagger-1.27.0.tgz grafana-1.7.0.tgz loadtester-0.28.0.tgz podinfo-6.1.3.tgz 2022-12-16 10:17:17 +00:00
stefanprodan
83feb035b8 Publish flagger-1.26.0.tgz grafana-1.7.0.tgz loadtester-0.27.0.tgz podinfo-6.1.3.tgz 2022-11-23 14:56:42 +00:00
aryan9600
88d65a19a9 Publish flagger-1.25.0.tgz grafana-1.7.0.tgz loadtester-0.26.0.tgz podinfo-6.1.3.tgz 2022-11-17 05:14:21 +00:00
stefanprodan
fe34721a74 Publish flagger-1.24.1.tgz grafana-1.7.0.tgz loadtester-0.26.0.tgz podinfo-6.1.3.tgz 2022-10-26 14:46:51 +00:00
stefanprodan
fbc4fb21a3 Publish flagger-1.24.0.tgz grafana-1.7.0.tgz loadtester-0.26.0.tgz podinfo-6.1.3.tgz 2022-10-23 13:27:46 +00:00
stefanprodan
1378300d06 Publish flagger-1.24.0.tgz grafana-1.7.0.tgz loadtester-0.26.0.tgz podinfo-6.1.3.tgz 2022-10-23 11:13:01 +00:00
stefanprodan
4fe36885eb Publish flagger-1.23.0.tgz grafana-1.7.0.tgz loadtester-0.25.0.tgz podinfo-6.1.3.tgz 2022-10-20 11:41:10 +00:00
aryan9600
8cd370ee0a Publish flagger-1.22.2.tgz grafana-1.7.0.tgz loadtester-0.24.0.tgz podinfo-6.1.3.tgz 2022-08-29 15:36:20 +00:00
stefanprodan
1b4c5067c9 Publish website 2022-08-23 14:19:34 +00:00
stefanprodan
b00c8b97d9 Publish flagger-1.22.1.tgz grafana-1.7.0.tgz loadtester-0.22.0.tgz podinfo-6.1.3.tgz 2022-08-01 10:39:51 +00:00
stefanprodan
55587026d8 Publish flagger-1.22.0.tgz grafana-1.7.0.tgz loadtester-0.22.0.tgz podinfo-6.1.3.tgz 2022-07-12 11:36:19 +00:00
stefanprodan
1a538100e7 Publish flagger-1.21.0.tgz grafana-1.7.0.tgz loadtester-0.22.0.tgz podinfo-6.1.3.tgz 2022-05-06 16:49:06 +00:00
stefanprodan
0394f94200 Publish flagger-1.20.0.tgz grafana-1.7.0.tgz loadtester-0.22.0.tgz podinfo-6.1.3.tgz 2022-04-15 10:59:52 +00:00
stefanprodan
6333bc45d3 Publish flagger-1.19.0.tgz grafana-1.6.0.tgz loadtester-0.22.0.tgz podinfo-6.0.0.tgz 2022-03-14 14:27:03 +00:00
stefanprodan
3ab45bd3e8 Publish flagger-1.18.0.tgz grafana-1.6.0.tgz loadtester-0.21.0.tgz podinfo-5.0.0.tgz 2022-02-14 14:01:06 +00:00
stefanprodan
39eade6319 Publish website 2022-02-14 13:32:47 +00:00
stefanprodan
d30f82f3d6 Publish flagger-1.17.0.tgz grafana-1.6.0.tgz loadtester-0.21.0.tgz podinfo-5.0.0.tgz 2022-01-25 09:27:05 +00:00
stefanprodan
b075d4b797 Publish flagger-1.16.1.tgz grafana-1.6.0.tgz loadtester-0.21.0.tgz podinfo-5.0.0.tgz 2021-12-17 16:11:22 +00:00
stefanprodan
3d638326d9 Publish flagger-1.16.0.tgz grafana-1.6.0.tgz loadtester-0.20.0.tgz podinfo-5.0.0.tgz 2021-11-22 14:09:53 +00:00
stefanprodan
29486e31d8 Publish flagger-1.15.0.tgz grafana-1.6.0.tgz loadtester-0.20.0.tgz podinfo-5.0.0.tgz 2021-10-29 07:25:49 +00:00
dholbach
f5cd13cc78 Publish website 2021-10-05 07:40:04 +00:00
stefanprodan
f211a898c4 Publish flagger-1.14.0.tgz grafana-1.6.0.tgz loadtester-0.19.2.tgz podinfo-5.0.0.tgz 2021-09-20 09:31:36 +00:00
stefanprodan
2028cac167 Publish website 2021-09-20 08:50:00 +00:00
stefanprodan
4a1fa4edad Publish flagger-1.13.0.tgz grafana-1.6.0.tgz loadtester-0.19.2.tgz podinfo-5.0.0.tgz 2021-08-27 07:02:33 +00:00
stefanprodan
1e69a78648 Publish flagger-1.13.0.tgz grafana-1.6.0.tgz loadtester-0.19.1.tgz podinfo-5.0.0.tgz 2021-08-25 10:34:22 +00:00
stefanprodan
9fe712d618 Publish website 2021-08-23 12:30:54 +00:00
stefanprodan
cab0ad1273 Publish flagger-1.12.1.tgz grafana-1.5.0.tgz loadtester-0.19.0.tgz podinfo-5.0.0.tgz 2021-06-24 10:07:20 +00:00
stefanprodan
edbc023fa6 Publish flagger-1.12.0.tgz grafana-1.5.0.tgz loadtester-0.19.0.tgz podinfo-5.0.0.tgz 2021-06-16 10:38:09 +00:00
stefanprodan
3bd46efa7f Publish flagger-1.11.0.tgz grafana-1.5.0.tgz loadtester-0.19.0.tgz podinfo-5.0.0.tgz 2021-06-01 11:19:44 +00:00
stefanprodan
ce5fad4724 Publish flagger-1.10.0.tgz grafana-1.5.0.tgz loadtester-0.19.0.tgz podinfo-5.0.0.tgz 2021-05-28 06:51:11 +00:00
stefanprodan
a943e7cf10 Publish flagger-1.9.0.tgz grafana-1.5.0.tgz loadtester-0.19.0.tgz podinfo-5.0.0.tgz 2021-05-14 14:01:17 +00:00
Stefan Prodan
58d618ed82 Docs cleanup
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-05-06 11:27:12 +03:00
stefanprodan
d10ff53531 Publish flagger-1.8.0.tgz grafana-1.5.0.tgz loadtester-0.19.0.tgz podinfo-5.0.0.tgz 2021-04-29 13:29:49 +00:00
stefanprodan
9fd93e019f Publish flagger-1.7.0.tgz grafana-1.5.0.tgz loadtester-0.18.0.tgz podinfo-5.0.0.tgz 2021-03-23 09:52:46 +00:00
stefanprodan
623c8193a1 Publish website 2021-02-26 15:05:24 +00:00
stefanprodan
6ae108a955 Publish website 2021-02-26 14:39:48 +00:00
stefanprodan
fc5e240ffe Publish flagger-1.6.4.tgz grafana-1.5.0.tgz loadtester-0.18.0.tgz podinfo-5.0.0.tgz 2021-02-26 13:47:08 +00:00
stefanprodan
3b3cb55f0e Publish flagger-1.6.3.tgz grafana-1.5.0.tgz loadtester-0.18.0.tgz podinfo-5.0.0.tgz 2021-02-15 13:33:44 +00:00
Stefan Prodan
983a68f9a1 Remove deprecated charts (podinfo and gateway)
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-02-05 09:59:57 +02:00
stefanprodan
d064fa62b6 Publish flagger-1.6.2.tgz grafana-1.5.0.tgz loadtester-0.18.0.tgz podinfo-5.0.0.tgz 2021-01-28 08:32:34 +00:00
stefanprodan
c530d694fc Publish flagger-1.6.1.tgz grafana-1.5.0.tgz loadtester-0.18.0.tgz podinfo-5.0.0.tgz 2021-01-19 09:53:27 +00:00
stefanprodan
b5e374b873 Publish flagger-1.6.0.tgz grafana-1.5.0.tgz loadtester-0.18.0.tgz podinfo-5.0.0.tgz 2021-01-05 13:23:53 +00:00
stefanprodan
89eac0b361 Publish flagger-1.5.0.tgz grafana-1.5.0.tgz loadtester-0.18.0.tgz podinfo-5.0.0.tgz 2020-12-22 16:34:23 +00:00
weaveworksbot
f3451820fd Publish Helm charts vv1.4.2 2020-12-09 13:07:16 +00:00
weaveworksbot
2c9ca4a817 Publish Helm charts vv1.4.1 2020-12-08 13:12:13 +00:00
weaveworksbot
7e238c129a Publish website 2020-12-07 10:14:31 +00:00
weaveworksbot
6884e4184d Publish Helm charts vv1.4.0 2020-12-07 10:03:38 +00:00
weaveworksbot
68148f4f33 Publish Helm charts vv1.3.0 2020-11-23 12:56:28 +00:00
weaveworksbot
75e3e652ef Publish Helm charts vv1.2.0 2020-09-29 06:49:18 +00:00
weaveworksbot
c9c97c379d Publish website 2020-08-20 06:16:09 +00:00
weaveworksbot
b102a046a7 Publish Helm charts vv1.1.0 2020-08-19 15:41:37 +00:00
weaveworksbot
f4094f1e1d Publish Helm charts vv1.0.1 2020-07-18 06:48:04 +00:00
weaveworksbot
746848f362 Publish Helm charts vv1.0.0 2020-06-17 08:49:20 +00:00
weaveworksbot
feb869de03 Publish Helm charts vv1.0.0-rc.5 2020-05-14 12:36:48 +00:00
weaveworksbot
0ba873e310 Publish website 2020-05-08 10:22:10 +00:00
weaveworksbot
b44ecf7ded Publish Helm charts vv1.0.0-rc.4 2020-04-03 09:48:28 +00:00
weaveworksbot
7324da08d7 Publish Helm charts vv1.0.0-rc.3 2020-03-23 11:23:53 +00:00
weaveworksbot
f08a0ffc5a Publish Helm charts vv1.0.0-rc.2 2020-03-19 13:12:36 +00:00
weaveworksbot
e087d5f638 Publish website 2020-03-05 15:17:54 +00:00
weaveworksbot
a600f9f46c Publish Helm charts vv1.0.0-rc.1 2020-03-04 18:53:07 +00:00
weaveworksbot
86d1c9f792 Publish Helm charts vv1.0.0-rc.1 2020-03-04 18:21:06 +00:00
stefanprodan
91d6161993 fix ci 2020-03-03 18:33:30 +02:00
Stefan Prodan
d750e737e0 Merge pull request #473 from dholbach/patch-1
Update copyright
2020-03-03 18:31:02 +02:00
Daniel Holbach
3597117bd5 Update copyright, fix CircleCI (thanks Stefan) 2020-03-03 17:31:09 +01:00
weaveworksbot
be1b12fac5 Publish Helm charts v0.23.0 2020-02-06 13:10:06 +00:00
weaveworksbot
a252d43a32 Publish Helm charts v0.22.0 2020-01-16 17:54:33 +00:00
weaveworksbot
a1f8b6fcd7 Publish website 2020-01-06 14:07:52 +00:00
weaveworksbot
edfe897112 Publish Helm charts v0.21.0 2020-01-06 11:03:09 +00:00
weaveworksbot
5947402048 Publish Helm charts v0.20.4 2019-12-03 08:09:28 +00:00
weaveworksbot
8739ab6973 Publish website 2019-11-13 13:28:17 +00:00
weaveworksbot
436d6374f0 Publish Helm charts v0.20.3 2019-11-13 12:33:20 +00:00
weaveworksbot
c280e235b5 Publish Helm charts v0.20.3 2019-11-12 11:22:18 +00:00
weaveworksbot
06dc29e79c Publish Helm charts v0.20.3 2019-11-11 17:18:06 +00:00
weaveworksbot
5b6a257258 Publish Helm charts v0.20.2 2019-11-07 10:11:49 +00:00
weaveworksbot
ef404a0d81 Publish Helm charts v0.20.1 2019-11-03 11:08:04 +00:00
weaveworksbot
370a660be1 Publish Helm charts v0.20.0 2019-10-22 17:27:58 +00:00
weaveworksbot
83f570876d Publish Helm charts v0.19.0 2019-10-08 10:34:26 +00:00
weaveworksbot
0d20480f34 Publish Helm charts v0.18.6 2019-10-03 12:23:53 +00:00
weaveworksbot
ab726411fd Publish Helm charts v0.18.5 2019-10-02 15:33:20 +00:00
weaveworksbot
8c9b45fc4b Publish website 2019-09-21 21:15:31 +00:00
Stefan Prodan
0c48ad8332 Update README.md 2019-09-08 11:44:30 +03:00
weaveworksbot
e9451e52a4 Publish Helm charts v0.18.4 2019-09-08 08:41:45 +00:00
stefanprodan
41b4135e6b Publish load tester v0.7.0 2019-08-22 21:46:51 +03:00
weaveworksbot
e1b4264d1a Publish Helm charts v0.18.3 2019-08-22 15:57:32 +00:00
weaveworksbot
1215310d9e Publish website 2019-08-20 16:23:39 +00:00
weaveworksbot
d89cb68c2a Publish website 2019-08-19 16:00:13 +00:00
weaveworksbot
5baf41e798 Publish website 2019-08-19 15:43:51 +00:00
weaveworksbot
b727088b0f Publish website 2019-08-19 14:40:42 +00:00
weaveworksbot
7f47cb669e Publish website 2019-08-19 14:31:43 +00:00
weaveworksbot
35bfb4cc83 Publish website 2019-08-19 14:29:22 +00:00
stefanprodan
432ca88ae9 Cleanup site 2019-08-19 17:12:05 +03:00
weaveworksbot
a632a93963 Publish website 2019-08-19 14:04:46 +00:00
weaveworksbot
40b3063821 Publish Helm charts v0.18.2 2019-08-05 16:02:26 +00:00
Stefan Prodan
774935c680 Update README.md 2019-07-30 13:58:29 +03:00
stefanprodan
9bac4fe592 Publish Helm chart charts/* 0.18.1 2019-07-30 10:53:53 +00:00
stefanprodan
237720d2c9 Publish 0.18.0 charts 2019-07-29 16:36:40 +03:00
Stefan Prodan
1ddff9e80e Update README.md 2019-07-29 16:27:10 +03:00
Stefan Prodan
9b076a4cee Update README.md 2019-07-10 09:19:58 +03:00
Stefan Prodan
50ef7a2c64 Update README.md 2019-07-10 09:18:05 +03:00
stefanprodan
d985083b18 Publish Helm chart charts/* 0.17.0 2019-07-10 06:09:57 +00:00
stefanprodan
c8de6c3433 CircleCI: ignore gh-pages 2019-06-24 19:27:37 +03:00
Stefan Prodan
ca129d2d01 Update README.md 2019-06-24 18:05:59 +03:00
stefanprodan
adb3d11b37 Publish Helm chart charts/* 0.16.0 2019-06-24 15:00:10 +00:00
stefanprodan
10688060bc Publish Helm chart charts/* 0.16.0 2019-06-24 14:30:10 +00:00
stefanprodan
07d86b4f9f Publish Helm chart charts/* 0.16.0 2019-06-24 10:55:26 +00:00
Stefan Prodan
236f7b5d31 Update README.md 2019-06-12 17:15:19 +03:00
stefanprodan
a28741c3ee Publish Helm chart charts/* 0.15.0 2019-06-12 14:13:13 +00:00
Stefan Prodan
3f198d158f Update README.md 2019-06-05 11:18:40 +03:00
stefanprodan
44377ea9c5 Publish Helm chart charts/* 0.14.1 2019-06-05 07:37:48 +00:00
Stefan Prodan
d793a38656 Update README.md 2019-05-21 14:26:07 +02:00
stefanprodan
33b0e712f1 Publish Helm chart charts/* 0.14.0 2019-05-21 12:23:18 +00:00
Stefan Prodan
1cc21d9fe3 Update README.md 2019-05-11 15:28:03 +03:00
stefanprodan
23bc8fe0df Publish Helm chart charts/* 0.13.2 2019-05-11 12:20:14 +00:00
Stefan Prodan
b8bcfd1b0a Update README.md 2019-05-09 14:49:22 +03:00
stefanprodan
c2120ceeb7 Publish Helm chart charts/* 0.13.1 2019-05-09 11:41:55 +00:00
Stefan Prodan
7286d5225f Update README.md 2019-05-08 20:55:47 +03:00
stefanprodan
3a153fa534 Publish Helm chart charts/* 0.13.0 2019-05-08 17:54:34 +00:00
Stefan Prodan
eddf7c4e9b Update README.md 2019-04-29 17:11:28 +03:00
stefanprodan
1661b8bc2f Publish Helm chart charts/* 0.12.0 2019-04-29 14:10:08 +00:00
Stefan Prodan
79d034bace Update README.md 2019-04-18 16:46:58 +03:00
stefanprodan
c318058fec Publish Helm chart charts/* 0.11.1 2019-04-18 13:36:14 +00:00
Stefan Prodan
fab0bd0616 Update README.md 2019-04-17 11:35:00 +03:00
stefanprodan
71840ce2a0 Publish Helm chart charts/* 0.11.0 2019-04-17 08:26:23 +00:00
stefanprodan
83a216caca Remove banner 2019-03-28 16:02:48 +02:00
stefanprodan
d7546d4579 Update banner and intro 2019-03-28 15:58:37 +02:00
Stefan Prodan
b0e646274b Update README.md 2019-03-27 14:46:22 +02:00
stefanprodan
e790103cd3 Publish Helm chart charts/* 0.10.0 2019-03-27 12:37:34 +00:00
Stefan Prodan
0285647239 Update README.md 2019-03-11 15:59:20 +02:00
stefanprodan
d9f280750a Publish Helm chart charts/* 0.9.0 2019-03-11 13:29:27 +00:00
Stefan Prodan
7f47441ce8 Update README.md 2019-03-06 21:45:20 +02:00
stefanprodan
2ad02f052a Publish Helm chart charts/* 0.8.0 2019-03-06 19:39:09 +00:00
Stefan Prodan
b0eda2612f Update README.md 2019-02-28 17:40:59 +02:00
stefanprodan
597449b68e Publish Helm chart charts/* 0.7.0 2019-02-28 15:33:12 +00:00
Stefan Prodan
16d793b132 Update README.md 2019-02-26 02:04:59 +02:00
stefanprodan
e078fdffdf Publish Helm chart charts/* 0.6.0 2019-02-25 23:47:39 +00:00
Stefan Prodan
8ba7997dd8 Update README.md 2019-02-14 13:25:13 +02:00
stefanprodan
4758c86787 Publish Helm chart charts/* 0.5.1 2019-02-14 11:19:01 +00:00
Stefan Prodan
eb6253354d Update README.md 2019-01-30 15:08:07 +02:00
stefanprodan
47c8b6ee5d Publish Helm chart charts/* 0.5.0 2019-01-30 13:01:48 +00:00
stefanprodan
193c21108e Add og image 2019-01-24 13:25:12 +02:00
stefanprodan
a0a8aa0327 Publish Helm chart charts/* 0.4.1 2019-01-24 11:07:28 +00:00
Stefan Prodan
060ac5476e Update README.md 2019-01-24 12:15:55 +02:00
Stefan Prodan
236a6ca0bf Update README.md 2019-01-24 12:11:49 +02:00
stefanprodan
1d566fd1e3 Init Helm repo 2019-01-23 15:14:57 +02:00
193 changed files with 4278 additions and 7704 deletions

16
.circleci/config.yml Normal file
View File

@@ -0,0 +1,16 @@
version: 2.1
jobs:
build:
machine: true
steps:
- run: "echo skip"
workflows:
version: 2
ignore:
jobs:
- build:
filters:
branches:
ignore:
- gh-pages

View File

@@ -1,53 +0,0 @@
name: website
on:
push:
branches:
- website
jobs:
vuepress:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version: '12.x'
- id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v4
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Build
run: |
yarn add -D vuepress
yarn docs:build
mkdir $HOME/site
rsync -avzh docs/.vuepress/dist/ $HOME/site
- name: Publish
env:
REPOSITORY: "https://x-access-token:${{ secrets.BOT_GITHUB_TOKEN }}@github.com/fluxcd/flagger.git"
run: |
tmpDir=$(mktemp -d)
pushd $tmpDir >& /dev/null
git clone ${REPOSITORY}
cd flagger
git config user.name ${{ github.actor }}
git config user.email ${{ github.actor }}@users.noreply.github.com
git remote set-url origin ${REPOSITORY}
git checkout gh-pages
rm -rf assets
rsync -avzh $HOME/site/ .
rm -rf node_modules
git add .
git commit -m "Publish website"
git push origin gh-pages
popd >& /dev/null
rm -rf $tmpDir

7
.gitignore vendored
View File

@@ -1,3 +1,4 @@
# Logs
logs
*.log
@@ -48,9 +49,6 @@ typings/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
@@ -60,6 +58,5 @@ typings/
# next.js build output
.next
bin/
docs/.vuepress/dist/
Makefile.dev
bin/

26
404.html Normal file
View File

@@ -0,0 +1,26 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Flagger</title>
<meta name="generator" content="VuePress 1.9.10">
<link rel="icon" href="/favicon.png">
<link rel="stylesheet" href="/website.css">
<meta name="description" content="Progressive Delivery operator for Kubernetes (Canary, A/B Testing and Blue/Green deployments)">
<meta name="keywords" content="gitops kubernetes flagger flux istio linkerd appmesh contour gloo nginx skipper traefik">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Flagger">
<meta name="twitter:description" content="Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments)">
<meta name="twitter:image:src" content="https://flagger.app/flagger-overview.png">
<link rel="preload" href="/assets/css/0.styles.6bc4203f.css" as="style"><link rel="preload" href="/assets/js/app.a29d2723.js" as="script"><link rel="preload" href="/assets/js/7.e62ef287.js" as="script"><link rel="prefetch" href="/assets/js/1.231ad2b8.js"><link rel="prefetch" href="/assets/js/10.f8611bf6.js"><link rel="prefetch" href="/assets/js/11.88ab7ab3.js"><link rel="prefetch" href="/assets/js/12.fd171bf8.js"><link rel="prefetch" href="/assets/js/13.9a0f9bc6.js"><link rel="prefetch" href="/assets/js/14.31f4ed2f.js"><link rel="prefetch" href="/assets/js/15.0445c5e3.js"><link rel="prefetch" href="/assets/js/16.51c9c6ac.js"><link rel="prefetch" href="/assets/js/17.81fe6f29.js"><link rel="prefetch" href="/assets/js/18.b08e7074.js"><link rel="prefetch" href="/assets/js/19.ad5e0e55.js"><link rel="prefetch" href="/assets/js/2.29a21a78.js"><link rel="prefetch" href="/assets/js/20.1dc9b2d7.js"><link rel="prefetch" href="/assets/js/21.d29d05f0.js"><link rel="prefetch" href="/assets/js/22.9ec5f7d7.js"><link rel="prefetch" href="/assets/js/3.bff69ddf.js"><link rel="prefetch" href="/assets/js/4.9ac45811.js"><link rel="prefetch" href="/assets/js/5.fd30eb93.js"><link rel="prefetch" href="/assets/js/6.4f9d90d2.js"><link rel="prefetch" href="/assets/js/vendors~docsearch.46a2d037.js">
<link rel="stylesheet" href="/assets/css/0.styles.6bc4203f.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><div class="theme-default-content"><h1>404</h1> <blockquote>How did we get here?</blockquote> <a href="/" class="router-link-active">
Take me home.
</a></div></div><div class="global-ui"></div></div>
<script src="/assets/js/app.a29d2723.js" defer></script><script src="/assets/js/7.e62ef287.js" defer></script>
</body>
</html>

1
CNAME Normal file
View File

@@ -0,0 +1 @@
flagger.app

201
LICENSE
View File

@@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2019 Weaveworks
Licensed 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.

View File

@@ -1,4 +1,59 @@
# flagger website
# Flagger
[flagger.app](https://flagger.app)
Continuous delivery is accepted as an enterprise software practice, and is a natural evolution of well-established
continuous integration principles. However continuous deployment continues to be notably rare,
perhaps due to the complexity of management and the fear of failed deployments impacting system availability.
Flagger is an open source Kubernetes operator that aims to untangle this complexity.
It automates the promotion of canary deployments by using
Istio, Linkerd, App Mesh, Gloo or NGNIX traffic shifting and Prometheus metrics to analyse the application's behaviour during a controlled rollout.
The canary analysis can be extended with webhooks for running integration tests, load tests or any other custom validation.
Flagger implements a control loop that gradually shifts traffic to the canary while measuring key performance
indicators like HTTP requests success rate, requests average duration and pods health. Based on the KPIs analysis
a canary is promoted or aborted and the analysis result is published to Slack or MS Teams.
Flagger can automate the application analysis for the following deployment strategies:
* Canary (progressive traffic shifting)
* A/B Testing (HTTP headers and cookies traffic routing)
* Blue/Green (traffic switch)
With Flagger you don't have to worry about keeping code and configuration changes in sync. Flagger keeps track of
ConfigMaps and Secrets referenced by a Kubernetes Deployment and triggers a canary analysis if any of those objects change.
When promoting a workload in production, both code (container images) and configuration (config maps and secrets) are
being synchronised.
### Documentation
Flagger documentation can be found at [docs.flagger.app](https://docs.flagger.app)
* Install
* [Flagger install on Kubernetes](https://docs.flagger.app/install/flagger-install-on-kubernetes)
* [Flagger install on GKE Istio](https://docs.flagger.app/install/flagger-install-on-google-cloud)
* [Flagger install on EKS App Mesh](https://docs.flagger.app/install/flagger-install-on-eks-appmesh)
* [Flagger install with SuperGloo](https://docs.flagger.app/install/flagger-install-with-supergloo)
* How it works
* [Canary custom resource](https://docs.flagger.app/how-it-works#canary-custom-resource)
* [Routing](https://docs.flagger.app/how-it-works#istio-routing)
* [Canary deployment stages](https://docs.flagger.app/how-it-works#canary-deployment)
* [Canary analysis](https://docs.flagger.app/how-it-works#canary-analysis)
* [HTTP metrics](https://docs.flagger.app/how-it-works#http-metrics)
* [Custom metrics](https://docs.flagger.app/how-it-works#custom-metrics)
* [Webhooks](https://docs.flagger.app/how-it-works#webhooks)
* [Load testing](https://docs.flagger.app/how-it-works#load-testing)
* [Integration testing](https://docs.flagger.app/how-it-works#integration-testing)
* [Manual gating](https://docs.flagger.app/how-it-works#manual-gating)
* [FAQ](https://docs.flagger.app/faq)
* Usage
* [Istio canary deployments](https://docs.flagger.app/usage/progressive-delivery)
* [Istio A/B testing](https://docs.flagger.app/usage/ab-testing)
* [Linkerd canary deployments](https://docs.flagger.app/usage/linkerd-progressive-delivery)
* [App Mesh canary deployments](https://docs.flagger.app/usage/appmesh-progressive-delivery)
* [NGINX ingress controller canary deployments](https://docs.flagger.app/usage/nginx-progressive-delivery)
* [Gloo Canary Deployments](https://docs.flagger.app/usage/gloo-progressive-delivery.md)
* [Blue/Green deployments](https://docs.flagger.app/usage/blue-green)
* [Monitoring](https://docs.flagger.app/usage/monitoring)
* [Alerting](https://docs.flagger.app/usage/alerting)
This project is sponsored by [Weaveworks](https://www.weave.works/)

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="12" height="13"><g stroke-width="2" stroke="#aaa" fill="none"><path d="M11.29 11.71l-4-4"/><circle cx="5" cy="5" r="4"/></g></svg>

After

Width:  |  Height:  |  Size: 216 B

1
assets/js/1.231ad2b8.js Normal file

File diff suppressed because one or more lines are too long

1
assets/js/10.f8611bf6.js Normal file

File diff suppressed because one or more lines are too long

1
assets/js/11.88ab7ab3.js Normal file

File diff suppressed because one or more lines are too long

1
assets/js/12.fd171bf8.js Normal file

File diff suppressed because one or more lines are too long

1
assets/js/13.9a0f9bc6.js Normal file

File diff suppressed because one or more lines are too long

1
assets/js/14.31f4ed2f.js Normal file
View File

@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{305:function(e,t,a){"use strict";var i=TypeError;e.exports=function(e,t){if(e<t)throw new i("Not enough arguments");return e}},306:function(e,t,a){},316:function(e,t,a){"use strict";var i=a(43),n=a(4),r=a(120),s=a(305),o=URLSearchParams,l=o.prototype,h=n(l.append),u=n(l.delete),c=n(l.forEach),p=n([].push),d=new o("a=1&a=2&b=3");d.delete("a",1),d.delete("b",void 0),d+""!="a=2"&&i(l,"delete",function(e){var t=arguments.length,a=t<2?void 0:arguments[1];if(t&&void 0===a)return u(this,e);var i=[];c(this,function(e,t){p(i,{key:t,value:e})}),s(t,1);for(var n,o=r(e),l=r(a),d=0,f=0,v=!1,g=i.length;d<g;)n=i[d++],v||n.key===o?(v=!0,u(this,n.key)):f++;for(;f<g;)(n=i[f++]).key===o&&n.value===l||h(this,n.key,n.value)},{enumerable:!0,unsafe:!0})},317:function(e,t,a){"use strict";var i=a(43),n=a(4),r=a(120),s=a(305),o=URLSearchParams,l=o.prototype,h=n(l.getAll),u=n(l.has),c=new o("a=1");!c.has("a",2)&&c.has("a",void 0)||i(l,"has",function(e){var t=arguments.length,a=t<2?void 0:arguments[1];if(t&&void 0===a)return u(this,e);var i=h(this,e);s(t,1);for(var n=r(a),o=0;o<i.length;)if(i[o++]===n)return!0;return!1},{enumerable:!0,unsafe:!0})},318:function(e,t,a){"use strict";var i=a(5),n=a(4),r=a(121),s=URLSearchParams.prototype,o=n(s.forEach);!i||"size"in s||r(s,"size",{get:function(){var e=0;return o(this,function(){e++}),e},configurable:!0,enumerable:!0})},319:function(e,t,a){"use strict";a(306)},328:function(e,t,a){"use strict";a.r(t);a(118),a(316),a(317),a(318);var i={name:"AlgoliaSearchBox",props:["options"],data:()=>({placeholder:void 0}),watch:{$lang(e){this.update(this.options,e)},options(e){this.update(e,this.$lang)}},mounted(){this.initialize(this.options,this.$lang),this.placeholder=this.$site.themeConfig.searchPlaceholder||""},methods:{initialize(e,t){Promise.all([Promise.all([a.e(0),a.e(9)]).then(a.t.bind(null,326,7)),Promise.all([a.e(0),a.e(9)]).then(a.t.bind(null,327,7))]).then(([a])=>{a=a.default;const{algoliaOptions:i={}}=e;a(Object.assign({},e,{inputSelector:"#algolia-search-input",algoliaOptions:{...i,facetFilters:[`lang:${t}`].concat(i.facetFilters||[])},handleSelected:(e,t,a)=>{const{pathname:i,hash:n}=new URL(a.url),r=i.replace(this.$site.base,"/"),s=decodeURIComponent(n);this.$router.push(`${r}${s}`)}}))})},update(e,t){this.$el.innerHTML='<input id="algolia-search-input" class="search-query">',this.initialize(e,t)}}},n=(a(319),a(26)),r=Object(n.a)(i,function(){var e=this._self._c;return e("form",{staticClass:"algolia-search-wrapper search-box",attrs:{id:"search-form",role:"search"}},[e("input",{staticClass:"search-query",attrs:{id:"algolia-search-input",placeholder:this.placeholder}})])},[],!1,null,null,null);t.default=r.exports}}]);

1
assets/js/15.0445c5e3.js Normal file

File diff suppressed because one or more lines are too long

1
assets/js/16.51c9c6ac.js Normal file

File diff suppressed because one or more lines are too long

1
assets/js/17.81fe6f29.js Normal file
View File

@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{271:function(t,e,n){"use strict";n.d(e,"d",function(){return i}),n.d(e,"a",function(){return a}),n.d(e,"i",function(){return s}),n.d(e,"f",function(){return c}),n.d(e,"g",function(){return u}),n.d(e,"h",function(){return l}),n.d(e,"b",function(){return d}),n.d(e,"e",function(){return p}),n.d(e,"k",function(){return f}),n.d(e,"l",function(){return h}),n.d(e,"c",function(){return m}),n.d(e,"j",function(){return b});n(118),n(17),n(27),n(62),n(42);const i=/#.*$/,r=/\.(md|html)$/,a=/\/$/,s=/^[a-z]+:/i;function o(t){return decodeURI(t).replace(i,"").replace(r,"")}function c(t){return s.test(t)}function u(t){return/^mailto:/.test(t)}function l(t){return/^tel:/.test(t)}function d(t){if(c(t))return t;const e=t.match(i),n=e?e[0]:"",r=o(t);return a.test(r)?t:r+".html"+n}function p(t,e){const n=decodeURIComponent(t.hash),r=function(t){const e=t.match(i);if(e)return e[0]}(e);return(!r||n===r)&&o(t.path)===o(e)}function f(t,e,n){if(c(e))return{type:"external",path:e};n&&(e=function(t,e,n){const i=t.charAt(0);if("/"===i)return t;if("?"===i||"#"===i)return e+t;const r=e.split("/");n&&r[r.length-1]||r.pop();const a=t.replace(/^\//,"").split("/");for(let t=0;t<a.length;t++){const e=a[t];".."===e?r.pop():"."!==e&&r.push(e)}""!==r[0]&&r.unshift("");return r.join("/")}(e,n));const i=o(e);for(let e=0;e<t.length;e++)if(o(t[e].regularPath)===i)return Object.assign({},t[e],{type:"page",path:d(t[e].path)});return console.error(`[vuepress] No matching page found for sidebar item "${e}"`),{}}function h(t,e,n,i){const{pages:r,themeConfig:a}=n,s=i&&a.locales&&a.locales[i]||a;if("auto"===(t.frontmatter.sidebar||s.sidebar||a.sidebar))return g(t);const o=s.sidebar||a.sidebar;if(o){const{base:n,config:i}=function(t,e){if(Array.isArray(e))return{base:"/",config:e};for(const i in e)if(0===(n=t,/(\.html|\/)$/.test(n)?n:n+"/").indexOf(encodeURI(i)))return{base:i,config:e[i]};var n;return{}}(e,o);return"auto"===i?g(t):i?i.map(t=>(function t(e,n,i,r=1){if("string"==typeof e)return f(n,e,i);if(Array.isArray(e))return Object.assign(f(n,e[0],i),{title:e[1]});{const a=e.children||[];return 0===a.length&&e.path?Object.assign(f(n,e.path,i),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:a.map(e=>t(e,n,i,r+1)),collapsable:!1!==e.collapsable}}})(t,r,n)):[]}return[]}function g(t){const e=m(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function m(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function b(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},278:function(t,e){t.exports=function(t){return null==t}},280:function(t,e,n){},291:function(t,e,n){"use strict";n(280)},299:function(t,e,n){"use strict";n.r(e);var i=n(278),r=n.n(i),a=n(271),s={name:"PageEdit",computed:{lastUpdated(){return this.$page.lastUpdated},lastUpdatedText(){return"string"==typeof this.$themeLocaleConfig.lastUpdated?this.$themeLocaleConfig.lastUpdated:"string"==typeof this.$site.themeConfig.lastUpdated?this.$site.themeConfig.lastUpdated:"Last Updated"},editLink(){const t=r()(this.$page.frontmatter.editLink)?this.$site.themeConfig.editLinks:this.$page.frontmatter.editLink,{repo:e,docsDir:n="",docsBranch:i="master",docsRepo:a=e}=this.$site.themeConfig;return t&&a&&this.$page.relativePath?this.createEditLink(e,a,n,i,this.$page.relativePath):null},editLinkText(){return this.$themeLocaleConfig.editLinkText||this.$site.themeConfig.editLinkText||"Edit this page"}},methods:{createEditLink(t,e,n,i,r){if(/bitbucket.org/.test(e)){return e.replace(a.a,"")+"/src"+`/${i}/`+(n?n.replace(a.a,"")+"/":"")+r+`?mode=edit&spa=0&at=${i}&fileviewer=file-view-default`}if(/gitlab.com/.test(e)){return e.replace(a.a,"")+"/-/edit"+`/${i}/`+(n?n.replace(a.a,"")+"/":"")+r}return(a.i.test(e)?e:`https://github.com/${e}`).replace(a.a,"")+"/edit"+`/${i}/`+(n?n.replace(a.a,"")+"/":"")+r}}},o=(n(291),n(26)),c=Object(o.a)(s,function(){var t=this,e=t._self._c;return e("footer",{staticClass:"page-edit"},[t.editLink?e("div",{staticClass:"edit-link"},[e("a",{attrs:{href:t.editLink,target:"_blank",rel:"noopener noreferrer"}},[t._v(t._s(t.editLinkText))]),t._v(" "),e("OutboundLink")],1):t._e(),t._v(" "),t.lastUpdated?e("div",{staticClass:"last-updated"},[e("span",{staticClass:"prefix"},[t._v(t._s(t.lastUpdatedText)+":")]),t._v(" "),e("span",{staticClass:"time"},[t._v(t._s(t.lastUpdated))])]):t._e()])},[],!1,null,null,null);e.default=c.exports}}]);

1
assets/js/18.b08e7074.js Normal file
View File

@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{271:function(t,e,n){"use strict";n.d(e,"d",function(){return r}),n.d(e,"a",function(){return a}),n.d(e,"i",function(){return s}),n.d(e,"f",function(){return o}),n.d(e,"g",function(){return c}),n.d(e,"h",function(){return l}),n.d(e,"b",function(){return p}),n.d(e,"e",function(){return f}),n.d(e,"k",function(){return d}),n.d(e,"l",function(){return h}),n.d(e,"c",function(){return g}),n.d(e,"j",function(){return m});n(118),n(17),n(27),n(62),n(42);const r=/#.*$/,i=/\.(md|html)$/,a=/\/$/,s=/^[a-z]+:/i;function u(t){return decodeURI(t).replace(r,"").replace(i,"")}function o(t){return s.test(t)}function c(t){return/^mailto:/.test(t)}function l(t){return/^tel:/.test(t)}function p(t){if(o(t))return t;const e=t.match(r),n=e?e[0]:"",i=u(t);return a.test(i)?t:i+".html"+n}function f(t,e){const n=decodeURIComponent(t.hash),i=function(t){const e=t.match(r);if(e)return e[0]}(e);return(!i||n===i)&&u(t.path)===u(e)}function d(t,e,n){if(o(e))return{type:"external",path:e};n&&(e=function(t,e,n){const r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return e+t;const i=e.split("/");n&&i[i.length-1]||i.pop();const a=t.replace(/^\//,"").split("/");for(let t=0;t<a.length;t++){const e=a[t];".."===e?i.pop():"."!==e&&i.push(e)}""!==i[0]&&i.unshift("");return i.join("/")}(e,n));const r=u(e);for(let e=0;e<t.length;e++)if(u(t[e].regularPath)===r)return Object.assign({},t[e],{type:"page",path:p(t[e].path)});return console.error(`[vuepress] No matching page found for sidebar item "${e}"`),{}}function h(t,e,n,r){const{pages:i,themeConfig:a}=n,s=r&&a.locales&&a.locales[r]||a;if("auto"===(t.frontmatter.sidebar||s.sidebar||a.sidebar))return b(t);const u=s.sidebar||a.sidebar;if(u){const{base:n,config:r}=function(t,e){if(Array.isArray(e))return{base:"/",config:e};for(const r in e)if(0===(n=t,/(\.html|\/)$/.test(n)?n:n+"/").indexOf(encodeURI(r)))return{base:r,config:e[r]};var n;return{}}(e,u);return"auto"===r?b(t):r?r.map(t=>(function t(e,n,r,i=1){if("string"==typeof e)return d(n,e,r);if(Array.isArray(e))return Object.assign(d(n,e[0],r),{title:e[1]});{const a=e.children||[];return 0===a.length&&e.path?Object.assign(d(n,e.path,r),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:a.map(e=>t(e,n,r,i+1)),collapsable:!1!==e.collapsable}}})(t,i,n)):[]}return[]}function b(t){const e=g(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function g(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function m(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},277:function(t,e,n){},284:function(t,e,n){"use strict";n(277)},287:function(t,e,n){"use strict";n.r(e);n(17),n(42),n(117);var r=n(271);function i(t,e,n,r,i){const a={props:{to:e,activeClass:"",exactActiveClass:""},class:{active:r,"sidebar-link":!0}};return i>2&&(a.style={"padding-left":i+"rem"}),t("RouterLink",a,n)}function a(t,e,n,s,u,o=1){return!e||o>u?null:t("ul",{class:"sidebar-sub-headers"},e.map(e=>{const c=Object(r.e)(s,n+"#"+e.slug);return t("li",{class:"sidebar-sub-header"},[i(t,n+"#"+e.slug,e.title,c,e.level-1),a(t,e.children,n,s,u,o+1)])}))}var s={functional:!0,props:["item","sidebarDepth"],render(t,{parent:{$page:e,$site:n,$route:s,$themeConfig:u,$themeLocaleConfig:o},props:{item:c,sidebarDepth:l}}){const p=Object(r.e)(s,c.path),f="auto"===c.type?p||c.children.some(t=>Object(r.e)(s,c.basePath+"#"+t.slug)):p,d="external"===c.type?function(t,e,n){return t("a",{attrs:{href:e,target:"_blank",rel:"noopener noreferrer"},class:{"sidebar-link":!0}},[n,t("OutboundLink")])}(t,c.path,c.title||c.path):i(t,c.path,c.title||c.path,f),h=[e.frontmatter.sidebarDepth,l,o.sidebarDepth,u.sidebarDepth,1].find(t=>void 0!==t),b=o.displayAllHeaders||u.displayAllHeaders;if("auto"===c.type)return[d,a(t,c.children,c.basePath,s,h)];if((f||b)&&c.headers&&!r.d.test(c.path)){return[d,a(t,Object(r.c)(c.headers),c.path,s,h)]}return d}},u=(n(284),n(26)),o=Object(u.a)(s,void 0,void 0,!1,null,null,null);e.default=o.exports}}]);

1
assets/js/19.ad5e0e55.js Normal file
View File

@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{272:function(t,e,n){},274:function(t,e,n){"use strict";n.r(e);var s={name:"DropdownTransition",methods:{setHeight(t){t.style.height=t.scrollHeight+"px"},unsetHeight(t){t.style.height=""}}},i=(n(275),n(26)),o=Object(i.a)(s,function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)},[],!1,null,null,null);e.default=o.exports},275:function(t,e,n){"use strict";n(272)}}]);

1
assets/js/2.29a21a78.js Normal file

File diff suppressed because one or more lines are too long

1
assets/js/20.1dc9b2d7.js Normal file
View File

@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{290:function(t,c,n){},302:function(t,c,n){"use strict";n(290)},315:function(t,c,n){"use strict";n.r(c);n(302);var i=n(26),s=Object(i.a)({},function(){var t=this,c=t._self._c;return c("div",{staticClass:"sidebar-button",on:{click:function(c){return t.$emit("toggle-sidebar")}}},[c("svg",{staticClass:"icon",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",viewBox:"0 0 448 512"}},[c("path",{attrs:{fill:"currentColor",d:"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"}})])])},[],!1,null,null,null);c.default=s.exports}}]);

1
assets/js/21.d29d05f0.js Normal file
View File

@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{271:function(t,n,e){"use strict";e.d(n,"d",function(){return r}),e.d(n,"a",function(){return s}),e.d(n,"i",function(){return u}),e.d(n,"f",function(){return a}),e.d(n,"g",function(){return l}),e.d(n,"h",function(){return c}),e.d(n,"b",function(){return f}),e.d(n,"e",function(){return h}),e.d(n,"k",function(){return p}),e.d(n,"l",function(){return d}),e.d(n,"c",function(){return b}),e.d(n,"j",function(){return m});e(118),e(17),e(27),e(62),e(42);const r=/#.*$/,i=/\.(md|html)$/,s=/\/$/,u=/^[a-z]+:/i;function o(t){return decodeURI(t).replace(r,"").replace(i,"")}function a(t){return u.test(t)}function l(t){return/^mailto:/.test(t)}function c(t){return/^tel:/.test(t)}function f(t){if(a(t))return t;const n=t.match(r),e=n?n[0]:"",i=o(t);return s.test(i)?t:i+".html"+e}function h(t,n){const e=decodeURIComponent(t.hash),i=function(t){const n=t.match(r);if(n)return n[0]}(n);return(!i||e===i)&&o(t.path)===o(n)}function p(t,n,e){if(a(n))return{type:"external",path:n};e&&(n=function(t,n,e){const r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return n+t;const i=n.split("/");e&&i[i.length-1]||i.pop();const s=t.replace(/^\//,"").split("/");for(let t=0;t<s.length;t++){const n=s[t];".."===n?i.pop():"."!==n&&i.push(n)}""!==i[0]&&i.unshift("");return i.join("/")}(n,e));const r=o(n);for(let n=0;n<t.length;n++)if(o(t[n].regularPath)===r)return Object.assign({},t[n],{type:"page",path:f(t[n].path)});return console.error(`[vuepress] No matching page found for sidebar item "${n}"`),{}}function d(t,n,e,r){const{pages:i,themeConfig:s}=e,u=r&&s.locales&&s.locales[r]||s;if("auto"===(t.frontmatter.sidebar||u.sidebar||s.sidebar))return g(t);const o=u.sidebar||s.sidebar;if(o){const{base:e,config:r}=function(t,n){if(Array.isArray(n))return{base:"/",config:n};for(const r in n)if(0===(e=t,/(\.html|\/)$/.test(e)?e:e+"/").indexOf(encodeURI(r)))return{base:r,config:n[r]};var e;return{}}(n,o);return"auto"===r?g(t):r?r.map(t=>(function t(n,e,r,i=1){if("string"==typeof n)return p(e,n,r);if(Array.isArray(n))return Object.assign(p(e,n[0],r),{title:n[1]});{const s=n.children||[];return 0===s.length&&n.path?Object.assign(p(e,n.path,r),{title:n.title}):{type:"group",path:n.path,title:n.title,sidebarDepth:n.sidebarDepth,initialOpenGroupIndex:n.initialOpenGroupIndex,children:s.map(n=>t(n,e,r,i+1)),collapsable:!1!==n.collapsable}}})(t,i,e)):[]}return[]}function g(t){const n=b(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:n.map(n=>({type:"auto",title:n.title,basePath:t.path,path:t.path+"#"+n.slug,children:n.children||[]}))}]}function b(t){let n;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?n=t:n&&(n.children||(n.children=[])).push(t)}),t.filter(t=>2===t.level)}function m(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},273:function(t,n,e){"use strict";e.r(n);e(17),e(117);var r=e(271),i={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(r.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(t=>t===this.link):"/"===this.link},isNonHttpURI(){return Object(r.g)(this.link)||Object(r.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(r.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(r.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI?null:!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},s=e(26),u=Object(s.a)(i,function(){var t=this,n=t._self._c;return t.isInternal?n("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(n){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):n("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?n("OutboundLink"):t._e()],1)},[],!1,null,null,null);n.default=u.exports}}]);

1
assets/js/22.9ec5f7d7.js Normal file

File diff suppressed because one or more lines are too long

1
assets/js/3.bff69ddf.js Normal file

File diff suppressed because one or more lines are too long

1
assets/js/4.9ac45811.js Normal file
View File

@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{309:function(t,e,n){},322:function(t,e,n){"use strict";n(309)},333:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:(t,{props:e,slots:n})=>t("span",{class:["badge",e.type],style:{verticalAlign:e.vertical}},e.text||n().default)},p=(n(322),n(26)),l=Object(p.a)(i,void 0,void 0,!1,null,"15b7b770",null);e.default=l.exports}}]);

1
assets/js/5.fd30eb93.js Normal file
View File

@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{310:function(t,e,a){},323:function(t,e,a){"use strict";a(310)},329:function(t,e,a){"use strict";a.r(e);var s={name:"CodeBlock",props:{title:{type:String,required:!0},active:{type:Boolean,default:!1}},mounted(){this.$parent&&this.$parent.loadTabs&&this.$parent.loadTabs()}},i=(a(323),a(26)),n=Object(i.a)(s,function(){return(0,this._self._c)("div",{staticClass:"theme-code-block",class:{"theme-code-block__active":this.active}},[this._t("default")],2)},[],!1,null,"759a7d02",null);e.default=n.exports}}]);

1
assets/js/6.4f9d90d2.js Normal file
View File

@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{311:function(e,t,a){},324:function(e,t,a){"use strict";a(311)},330:function(e,t,a){"use strict";a.r(t);a(17),a(27),a(62),a(42);var o={name:"CodeGroup",data:()=>({codeTabs:[],activeCodeTabIndex:-1}),watch:{activeCodeTabIndex(e){this.activateCodeTab(e)}},mounted(){this.loadTabs()},methods:{changeCodeTab(e){this.activeCodeTabIndex=e},loadTabs(){this.codeTabs=(this.$slots.default||[]).filter(e=>Boolean(e.componentOptions)).map((e,t)=>(""===e.componentOptions.propsData.active&&(this.activeCodeTabIndex=t),{title:e.componentOptions.propsData.title,elm:e.elm})),-1===this.activeCodeTabIndex&&this.codeTabs.length>0&&(this.activeCodeTabIndex=0),this.activateCodeTab(0)},activateCodeTab(e){this.codeTabs.forEach(e=>{e.elm&&e.elm.classList.remove("theme-code-block__active")}),this.codeTabs[e].elm&&this.codeTabs[e].elm.classList.add("theme-code-block__active")}}},s=(a(324),a(26)),c=Object(s.a)(o,function(){var e=this,t=e._self._c;return t("ClientOnly",[t("div",{staticClass:"theme-code-group"},[t("div",{staticClass:"theme-code-group__nav"},[t("ul",{staticClass:"theme-code-group__ul"},e._l(e.codeTabs,function(a,o){return t("li",{key:a.title,staticClass:"theme-code-group__li"},[t("button",{staticClass:"theme-code-group__nav-tab",class:{"theme-code-group__nav-tab-active":o===e.activeCodeTabIndex},on:{click:function(t){return e.changeCodeTab(o)}}},[e._v("\n "+e._s(a.title)+"\n ")])])}),0)]),e._v(" "),e._t("default"),e._v(" "),e.codeTabs.length<1?t("pre",{staticClass:"pre-blank"},[e._v("// Make sure to add code blocks to your code group")]):e._e()],2)])},[],!1,null,"deefee04",null);t.default=c.exports}}]);

1
assets/js/7.e62ef287.js Normal file
View File

@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{331:function(t,e,s){"use strict";s.r(e);const o=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."];var n={methods:{getMsg:()=>o[Math.floor(Math.random()*o.length)]}},h=s(26),i=Object(h.a)(n,function(){var t=this._self._c;return t("div",{staticClass:"theme-container"},[t("div",{staticClass:"theme-default-content"},[t("h1",[this._v("404")]),this._v(" "),t("blockquote",[this._v(this._s(this.getMsg()))]),this._v(" "),t("RouterLink",{attrs:{to:"/"}},[this._v("\n Take me home.\n ")])],1)])},[],!1,null,null,null);e.default=i.exports}}]);

10
assets/js/app.a29d2723.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

View File

@@ -1,23 +0,0 @@
module.exports = {
title: 'Flagger',
description: 'Progressive Delivery operator for Kubernetes (Canary, A/B Testing and Blue/Green deployments)',
themeConfig: {
search: true,
activeHeaderLinks: false,
docsDir: 'docs',
repo: 'fluxcd/flagger',
nav: [
{ text: 'Docs', link: 'https://docs.flagger.app' },
{ text: 'Changelog', link: 'https://github.com/fluxcd/flagger/blob/main/CHANGELOG.md' }
]
},
head: [
['link', { rel: 'icon', href: '/favicon.png' }],
['link', { rel: 'stylesheet', href: '/website.css' }],
['meta', { name: 'keywords', content: 'gitops kubernetes flagger flux istio linkerd appmesh contour gloo nginx skipper traefik' }],
['meta', { name: 'twitter:card', content: 'summary_large_image' }],
['meta', { name: 'twitter:title', content: 'Flagger' }],
['meta', { name: 'twitter:description', content: 'Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments)' }],
['meta', { name: 'twitter:image:src', content: 'https://flagger.app/flagger-overview.png' }]
]
};

View File

@@ -1,100 +0,0 @@
---
title: Flagger
home: true
heroText: Flagger
tagline: Progressive Delivery Operator for Kubernetes
actionText: Get Started →
actionLink: https://docs.flagger.app
features:
- title: Safer Releases
details: Reduce the risk of introducing a new software version in production by gradually shifting traffic to the new version while measuring metrics like HTTP/gRPC request success rate and latency.
- title: Flexible Traffic Routing
details: Shift and route traffic between app versions automatically using an ingress controller or a service mesh compatible with Kubernetes Gateway API.
- title: Extensible Validation
details: Besides the builtin metrics checks, you can extend your application analysis with custom metrics and webhooks for running acceptance tests, load tests, or any other custom validation.
footer: Apache License 2.0 | Copyright © 2018-2025 The Flux authors
---
## Progressive Delivery
Flagger was designed to give developers confidence in automating production releases with progressive delivery techniques.
::: tip Canary release
A benefit of using canary releases is the ability to do capacity testing of the new version in a production environment
with a safe rollback strategy if issues are found. By slowly ramping up the load, you can monitor and capture metrics
about how the new version impacts the production environment.
[Martin Fowler](https://martinfowler.com/bliki/CanaryRelease.html)
:::
Flagger can run automated application analysis, testing, promotion and rollback for the following deployment strategies:
* **Canary** (progressive traffic shifting with session affinity)
* [Istio](https://docs.flagger.app/tutorials/istio-progressive-delivery),
[Linkerd](https://docs.flagger.app/tutorials/linkerd-progressive-delivery),
[Kuma Service Mesh](https://docs.flagger.app/tutorials/kuma-progressive-delivery),
[Gateway API](https://docs.flagger.app/tutorials/gatewayapi-progressive-delivery)
* [Contour](https://docs.flagger.app/tutorials/contour-progressive-delivery),
[Gloo](https://docs.flagger.app/tutorials/gloo-progressive-delivery),
[NGINX](https://docs.flagger.app/tutorials/nginx-progressive-delivery),
[Skipper](https://docs.flagger.app/tutorials/skipper-progressive-delivery),
[Traefik](https://docs.flagger.app/tutorials/traefik-progressive-delivery),
[Apache APISIX](https://docs.flagger.app/tutorials/apisix-progressive-delivery),
[Knative](https://docs.flagger.app/tutorials/knative-progressive-delivery)
* **A/B Testing** (HTTP headers and cookies traffic routing)
* [Istio](https://docs.flagger.app/tutorials/istio-ab-testing),
[Gateway API](https://docs.flagger.app/tutorials/gatewayapi-progressive-delivery#a-b-testing),
[Contour](https://docs.flagger.app/tutorials/contour-progressive-delivery#a-b-testing),
[NGINX](https://docs.flagger.app/tutorials/nginx-progressive-delivery#a-b-testing)
* **Blue/Green** (traffic switching and mirroring)
* [Kubernetes CNI](https://docs.flagger.app/tutorials/kubernetes-blue-green),
[Istio](https://docs.flagger.app/tutorials/istio-progressive-delivery#traffic-mirroring),
Linkerd, Kuma, Contour, Gloo, NGINX, Skipper, Traefik, Apache
Flagger's application analysis can be extended with metric queries targeting Prometheus, Datadog,
CloudWatch, New Relic, Graphite, Dynatrace, InfluxDB and Google Cloud Monitoring.
Flagger can be configured to [send notifications](https://docs.flagger.app/usage/alerting) to
Slack, Microsoft Teams, Discord and Rocket.
It will post messages when a deployment has been initialised,
when a new revision has been detected and if the canary analysis failed or succeeded.
## GitOps
![GitOps with Flagger and Flux](/flagger-gitops.png)
You can build fully automated GitOps pipelines for canary deployments with Flagger and
[Flux](https://github.com/fluxcd/flux2).
::: tip GitOps
GitOps is a way to do Kubernetes cluster management and application delivery.
It works by using Git as a single source of truth for declarative infrastructure and applications.
With Git at the center of your delivery pipelines, developers can make pull requests
to accelerate and simplify application deployments and operations tasks to Kubernetes.
:::
## Getting Help
If you have any questions about Flagger and progressive delivery:
* Read the Flagger [docs](https://docs.flagger.app).
* Invite yourself to the [CNCF community slack](https://slack.cncf.io/)
and join the [#flagger](https://cloud-native.slack.com/messages/flagger/) channel.
* Check out the [Flux talks section](https://fluxcd.io/community/#talks) and to see a list of online talks,
hands-on training and meetups.
* File an [issue](https://github.com/fluxcd/flagger/issues/new).
Your feedback is always welcome!
## License
Flagger is [Apache 2.0](https://raw.githubusercontent.com/fluxcd/flagger/main/LICENSE)
licensed and accepts contributions via GitHub pull requests.
Flagger was initially developed in 2018 at Weaveworks by Stefan Prodan.
In 2020 Flagger became a [Cloud Native Computing Foundation](https://cncf.io/) project,
part of [Flux](https://fluxcd.io) family of GitOps tools.
[![CNCF](/cncf.png)](https://cncf.io/)

View File

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
flagger-0.1.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.1.1.tgz Normal file

Binary file not shown.

BIN
flagger-0.1.2.tgz Normal file

Binary file not shown.

BIN
flagger-0.10.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.11.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.11.1.tgz Normal file

Binary file not shown.

BIN
flagger-0.12.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.13.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.13.1.tgz Normal file

Binary file not shown.

BIN
flagger-0.13.2.tgz Normal file

Binary file not shown.

BIN
flagger-0.14.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.14.1.tgz Normal file

Binary file not shown.

BIN
flagger-0.15.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.16.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.17.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.18.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.18.1.tgz Normal file

Binary file not shown.

BIN
flagger-0.18.2.tgz Normal file

Binary file not shown.

BIN
flagger-0.18.4.tgz Normal file

Binary file not shown.

BIN
flagger-0.18.5.tgz Normal file

Binary file not shown.

BIN
flagger-0.18.6.tgz Normal file

Binary file not shown.

BIN
flagger-0.19.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.2.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.20.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.20.1.tgz Normal file

Binary file not shown.

BIN
flagger-0.20.2.tgz Normal file

Binary file not shown.

BIN
flagger-0.20.3.tgz Normal file

Binary file not shown.

BIN
flagger-0.20.4.tgz Normal file

Binary file not shown.

BIN
flagger-0.21.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.22.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.23.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.24.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.25.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.26.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.27.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.3.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.4.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.4.1.tgz Normal file

Binary file not shown.

BIN
flagger-0.5.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.5.1.tgz Normal file

Binary file not shown.

BIN
flagger-0.6.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.7.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.8.0.tgz Normal file

Binary file not shown.

BIN
flagger-0.9.0.tgz Normal file

Binary file not shown.

BIN
flagger-1.0.0.tgz Normal file

Binary file not shown.

BIN
flagger-1.0.1.tgz Normal file

Binary file not shown.

BIN
flagger-1.1.0.tgz Normal file

Binary file not shown.

BIN
flagger-1.10.0.tgz Normal file

Binary file not shown.

BIN
flagger-1.11.0.tgz Normal file

Binary file not shown.

BIN
flagger-1.12.0.tgz Normal file

Binary file not shown.

BIN
flagger-1.12.1.tgz Normal file

Binary file not shown.

BIN
flagger-1.13.0.tgz Normal file

Binary file not shown.

BIN
flagger-1.14.0.tgz Normal file

Binary file not shown.

BIN
flagger-1.15.0.tgz Normal file

Binary file not shown.

BIN
flagger-1.16.0.tgz Normal file

Binary file not shown.

BIN
flagger-1.16.1.tgz Normal file

Binary file not shown.

BIN
flagger-1.17.0.tgz Normal file

Binary file not shown.

BIN
flagger-1.18.0.tgz Normal file

Binary file not shown.

BIN
flagger-1.19.0.tgz Normal file

Binary file not shown.

BIN
flagger-1.2.0.tgz Normal file

Binary file not shown.

BIN
flagger-1.20.0.tgz Normal file

Binary file not shown.

BIN
flagger-1.21.0.tgz Normal file

Binary file not shown.

BIN
flagger-1.22.0.tgz Normal file

Binary file not shown.

BIN
flagger-1.22.1.tgz Normal file

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More