diff --git a/.gitbook/assets/2021-01-03-19.41.14.gif b/.gitbook/assets/2021-01-03-19.41.14.gif new file mode 100644 index 00000000..0c7ee96f Binary files /dev/null and b/.gitbook/assets/2021-01-03-19.41.14.gif differ diff --git a/.gitbook/assets/2021-09-07-17.10.19.gif b/.gitbook/assets/2021-09-07-17.10.19.gif new file mode 100644 index 00000000..bbb75d20 Binary files /dev/null and b/.gitbook/assets/2021-09-07-17.10.19.gif differ diff --git a/.gitbook/assets/2021-09-08-10.10.06.gif b/.gitbook/assets/2021-09-08-10.10.06.gif new file mode 100644 index 00000000..41f6c62f Binary files /dev/null and b/.gitbook/assets/2021-09-08-10.10.06.gif differ diff --git a/.gitbook/assets/2021-09-08-16.20.44.gif b/.gitbook/assets/2021-09-08-16.20.44.gif new file mode 100644 index 00000000..51094558 Binary files /dev/null and b/.gitbook/assets/2021-09-08-16.20.44.gif differ diff --git a/.gitbook/assets/2021-09-08-16.44.16.gif b/.gitbook/assets/2021-09-08-16.44.16.gif new file mode 100644 index 00000000..47098206 Binary files /dev/null and b/.gitbook/assets/2021-09-08-16.44.16.gif differ diff --git a/.gitbook/assets/2021-09-15-18.55.15.gif b/.gitbook/assets/2021-09-15-18.55.15.gif new file mode 100644 index 00000000..7a555f16 Binary files /dev/null and b/.gitbook/assets/2021-09-15-18.55.15.gif differ diff --git a/.gitbook/assets/2021-09-17-18.33.46.gif b/.gitbook/assets/2021-09-17-18.33.46.gif new file mode 100644 index 00000000..e290518a Binary files /dev/null and b/.gitbook/assets/2021-09-17-18.33.46.gif differ diff --git a/.gitbook/assets/akaunto-mobingidocumentation.png b/.gitbook/assets/akaunto-mobingidocumentation.png new file mode 100644 index 00000000..e5d20e60 Binary files /dev/null and b/.gitbook/assets/akaunto-mobingidocumentation.png differ diff --git a/.gitbook/assets/assets_-lemvlfzdvqfzlqc2ymy_-l_bvn3omhgdpnpms6kw_-l_bwjitujwn6svxxdxs_screen-shot-2019-03-05-at-15.2 (1).png b/.gitbook/assets/assets_-lemvlfzdvqfzlqc2ymy_-l_bvn3omhgdpnpms6kw_-l_bwjitujwn6svxxdxs_screen-shot-2019-03-05-at-15.2 (1).png new file mode 100644 index 00000000..a974f04e Binary files /dev/null and b/.gitbook/assets/assets_-lemvlfzdvqfzlqc2ymy_-l_bvn3omhgdpnpms6kw_-l_bwjitujwn6svxxdxs_screen-shot-2019-03-05-at-15.2 (1).png differ diff --git a/.gitbook/assets/assets_-lemvlfzdvqfzlqc2ymy_-l_bvn3omhgdpnpms6kw_-l_bwjitujwn6svxxdxs_screen-shot-2019-03-05-at-15.2.png b/.gitbook/assets/assets_-lemvlfzdvqfzlqc2ymy_-l_bvn3omhgdpnpms6kw_-l_bwjitujwn6svxxdxs_screen-shot-2019-03-05-at-15.2.png new file mode 100644 index 00000000..a974f04e Binary files /dev/null and b/.gitbook/assets/assets_-lemvlfzdvqfzlqc2ymy_-l_bvn3omhgdpnpms6kw_-l_bwjitujwn6svxxdxs_screen-shot-2019-03-05-at-15.2.png differ diff --git a/.gitbook/assets/bannersandalertstomobingiwave.png b/.gitbook/assets/bannersandalertstomobingiwave.png new file mode 100644 index 00000000..a4263686 Binary files /dev/null and b/.gitbook/assets/bannersandalertstomobingiwave.png differ diff --git a/.gitbook/assets/bannersandalertstowavepng.png b/.gitbook/assets/bannersandalertstowavepng.png new file mode 100644 index 00000000..163d4e68 Binary files /dev/null and b/.gitbook/assets/bannersandalertstowavepng.png differ diff --git a/.gitbook/assets/bannersandalertstowavepropng.png b/.gitbook/assets/bannersandalertstowavepropng.png new file mode 100644 index 00000000..ead66175 Binary files /dev/null and b/.gitbook/assets/bannersandalertstowavepropng.png differ diff --git a/.gitbook/assets/billing_management_console-2.png b/.gitbook/assets/billing_management_console-2.png new file mode 100644 index 00000000..f25a0442 Binary files /dev/null and b/.gitbook/assets/billing_management_console-2.png differ diff --git a/.gitbook/assets/billing_management_console-3.png b/.gitbook/assets/billing_management_console-3.png new file mode 100644 index 00000000..dcf889a3 Binary files /dev/null and b/.gitbook/assets/billing_management_console-3.png differ diff --git a/.gitbook/assets/billing_management_console-4.png b/.gitbook/assets/billing_management_console-4.png new file mode 100644 index 00000000..1503dff2 Binary files /dev/null and b/.gitbook/assets/billing_management_console-4.png differ diff --git a/.gitbook/assets/billing_management_console-5.png b/.gitbook/assets/billing_management_console-5.png new file mode 100644 index 00000000..4b528117 Binary files /dev/null and b/.gitbook/assets/billing_management_console-5.png differ diff --git a/.gitbook/assets/billing_management_console.png b/.gitbook/assets/billing_management_console.png new file mode 100644 index 00000000..acce5133 Binary files /dev/null and b/.gitbook/assets/billing_management_console.png differ diff --git a/.gitbook/assets/code_1bgjp.png b/.gitbook/assets/code_1jp (1).png similarity index 100% rename from .gitbook/assets/code_1bgjp.png rename to .gitbook/assets/code_1jp (1).png diff --git a/.gitbook/assets/create-policy-en.png b/.gitbook/assets/create-policy-en.png new file mode 100644 index 00000000..6e5b294e Binary files /dev/null and b/.gitbook/assets/create-policy-en.png differ diff --git a/.gitbook/assets/create-policy-example-ja.png b/.gitbook/assets/create-policy-example-ja.png new file mode 100644 index 00000000..22efc8e2 Binary files /dev/null and b/.gitbook/assets/create-policy-example-ja.png differ diff --git a/.gitbook/assets/create-policy-ja.png b/.gitbook/assets/create-policy-ja.png new file mode 100644 index 00000000..6304322f Binary files /dev/null and b/.gitbook/assets/create-policy-ja.png differ diff --git a/.gitbook/assets/getting-started-step-02.png b/.gitbook/assets/getting-started-step-02 (1) (1).png similarity index 100% rename from .gitbook/assets/getting-started-step-02.png rename to .gitbook/assets/getting-started-step-02 (1) (1).png diff --git a/.gitbook/assets/iam_management_console-10.png b/.gitbook/assets/iam_management_console-10.png new file mode 100644 index 00000000..a5b356fe Binary files /dev/null and b/.gitbook/assets/iam_management_console-10.png differ diff --git a/.gitbook/assets/iam_management_console-2.png b/.gitbook/assets/iam_management_console-2.png new file mode 100644 index 00000000..ec8554d7 Binary files /dev/null and b/.gitbook/assets/iam_management_console-2.png differ diff --git a/.gitbook/assets/iam_management_console-3.png b/.gitbook/assets/iam_management_console-3.png new file mode 100644 index 00000000..ec88dd9f Binary files /dev/null and b/.gitbook/assets/iam_management_console-3.png differ diff --git a/.gitbook/assets/iam_management_console-4.png b/.gitbook/assets/iam_management_console-4.png new file mode 100644 index 00000000..4395be2d Binary files /dev/null and b/.gitbook/assets/iam_management_console-4.png differ diff --git a/.gitbook/assets/iam_management_console-5.png b/.gitbook/assets/iam_management_console-5.png new file mode 100644 index 00000000..fc9713fb Binary files /dev/null and b/.gitbook/assets/iam_management_console-5.png differ diff --git a/.gitbook/assets/iam_management_console-6.png b/.gitbook/assets/iam_management_console-6.png new file mode 100644 index 00000000..79f9e4e6 Binary files /dev/null and b/.gitbook/assets/iam_management_console-6.png differ diff --git a/.gitbook/assets/iam_management_console-7.png b/.gitbook/assets/iam_management_console-7.png new file mode 100644 index 00000000..2174550a Binary files /dev/null and b/.gitbook/assets/iam_management_console-7.png differ diff --git a/.gitbook/assets/iam_management_console-9.png b/.gitbook/assets/iam_management_console-9.png new file mode 100644 index 00000000..903170ba Binary files /dev/null and b/.gitbook/assets/iam_management_console-9.png differ diff --git a/.gitbook/assets/iam_management_console.png b/.gitbook/assets/iam_management_console.png new file mode 100644 index 00000000..9970a2d2 Binary files /dev/null and b/.gitbook/assets/iam_management_console.png differ diff --git a/.gitbook/assets/image (1).png b/.gitbook/assets/image (1).png new file mode 100644 index 00000000..7ae44390 Binary files /dev/null and b/.gitbook/assets/image (1).png differ diff --git a/.gitbook/assets/image (2).png b/.gitbook/assets/image (2).png new file mode 100644 index 00000000..91dad7e6 Binary files /dev/null and b/.gitbook/assets/image (2).png differ diff --git a/.gitbook/assets/image (3).png b/.gitbook/assets/image (3).png new file mode 100644 index 00000000..71a9f0c7 Binary files /dev/null and b/.gitbook/assets/image (3).png differ diff --git a/.gitbook/assets/image (4).png b/.gitbook/assets/image (4).png new file mode 100644 index 00000000..040074dc Binary files /dev/null and b/.gitbook/assets/image (4).png differ diff --git a/.gitbook/assets/image (5).png b/.gitbook/assets/image (5).png new file mode 100644 index 00000000..696d33ec Binary files /dev/null and b/.gitbook/assets/image (5).png differ diff --git a/.gitbook/assets/image (6).png b/.gitbook/assets/image (6).png new file mode 100644 index 00000000..9d8630d3 Binary files /dev/null and b/.gitbook/assets/image (6).png differ diff --git a/.gitbook/assets/image (7).png b/.gitbook/assets/image (7).png new file mode 100644 index 00000000..c2a396e3 Binary files /dev/null and b/.gitbook/assets/image (7).png differ diff --git a/.gitbook/assets/image (8).png b/.gitbook/assets/image (8).png new file mode 100644 index 00000000..d9e27092 Binary files /dev/null and b/.gitbook/assets/image (8).png differ diff --git a/.gitbook/assets/image (9).png b/.gitbook/assets/image (9).png new file mode 100644 index 00000000..8495302a Binary files /dev/null and b/.gitbook/assets/image (9).png differ diff --git a/.gitbook/assets/image.png b/.gitbook/assets/image.png new file mode 100644 index 00000000..c947b912 Binary files /dev/null and b/.gitbook/assets/image.png differ diff --git a/.gitbook/assets/invoice-2.png b/.gitbook/assets/invoice-2.png new file mode 100644 index 00000000..351fbc97 Binary files /dev/null and b/.gitbook/assets/invoice-2.png differ diff --git a/.gitbook/assets/invoice-3.png b/.gitbook/assets/invoice-3.png new file mode 100644 index 00000000..77bd3c3b Binary files /dev/null and b/.gitbook/assets/invoice-3.png differ diff --git a/.gitbook/assets/invoice.png b/.gitbook/assets/invoice.png new file mode 100644 index 00000000..9d0929be Binary files /dev/null and b/.gitbook/assets/invoice.png differ diff --git a/.gitbook/assets/ming-cheng-wei-she-ding-11.png b/.gitbook/assets/ming-cheng-wei-she-ding-11.png new file mode 100644 index 00000000..50063cc4 Binary files /dev/null and b/.gitbook/assets/ming-cheng-wei-she-ding-11.png differ diff --git a/.gitbook/assets/ming-cheng-wei-she-ding-2.png b/.gitbook/assets/ming-cheng-wei-she-ding-2.png new file mode 100644 index 00000000..c035176c Binary files /dev/null and b/.gitbook/assets/ming-cheng-wei-she-ding-2.png differ diff --git a/.gitbook/assets/ming-cheng-wei-she-ding-3.png b/.gitbook/assets/ming-cheng-wei-she-ding-3.png new file mode 100644 index 00000000..30cc1d20 Binary files /dev/null and b/.gitbook/assets/ming-cheng-wei-she-ding-3.png differ diff --git a/.gitbook/assets/ming-cheng-wei-she-ding-4.png b/.gitbook/assets/ming-cheng-wei-she-ding-4.png new file mode 100644 index 00000000..c343d022 Binary files /dev/null and b/.gitbook/assets/ming-cheng-wei-she-ding-4.png differ diff --git a/.gitbook/assets/ming-cheng-wei-she-ding-5.png b/.gitbook/assets/ming-cheng-wei-she-ding-5.png new file mode 100644 index 00000000..2986a087 Binary files /dev/null and b/.gitbook/assets/ming-cheng-wei-she-ding-5.png differ diff --git a/.gitbook/assets/ming-cheng-wei-she-ding-6.png b/.gitbook/assets/ming-cheng-wei-she-ding-6.png new file mode 100644 index 00000000..f094933d Binary files /dev/null and b/.gitbook/assets/ming-cheng-wei-she-ding-6.png differ diff --git a/.gitbook/assets/ming-cheng-wei-she-ding-7.png b/.gitbook/assets/ming-cheng-wei-she-ding-7.png new file mode 100644 index 00000000..3716e3c8 Binary files /dev/null and b/.gitbook/assets/ming-cheng-wei-she-ding-7.png differ diff --git a/.gitbook/assets/ming-cheng-wei-she-ding-8.png b/.gitbook/assets/ming-cheng-wei-she-ding-8.png new file mode 100644 index 00000000..d880f003 Binary files /dev/null and b/.gitbook/assets/ming-cheng-wei-she-ding-8.png differ diff --git a/.gitbook/assets/ming-cheng-wei-she-ding-9.png b/.gitbook/assets/ming-cheng-wei-she-ding-9.png new file mode 100644 index 00000000..0a60958f Binary files /dev/null and b/.gitbook/assets/ming-cheng-wei-she-ding-9.png differ diff --git a/.gitbook/assets/ming-cheng-wei-she-ding.png b/.gitbook/assets/ming-cheng-wei-she-ding.png new file mode 100644 index 00000000..6fffed55 Binary files /dev/null and b/.gitbook/assets/ming-cheng-wei-she-ding.png differ diff --git a/.gitbook/assets/mnbfz.png b/.gitbook/assets/mnbfz.png new file mode 100644 index 00000000..b2396f04 Binary files /dev/null and b/.gitbook/assets/mnbfz.png differ diff --git a/.gitbook/assets/mobingi_ripple-3.png b/.gitbook/assets/mobingi_ripple-3.png new file mode 100644 index 00000000..297ffd67 Binary files /dev/null and b/.gitbook/assets/mobingi_ripple-3.png differ diff --git a/.gitbook/assets/mobingi_ripple-5.png b/.gitbook/assets/mobingi_ripple-5.png new file mode 100644 index 00000000..c34a58d3 Binary files /dev/null and b/.gitbook/assets/mobingi_ripple-5.png differ diff --git a/.gitbook/assets/mobingi_ripple.png b/.gitbook/assets/mobingi_ripple.png new file mode 100644 index 00000000..2b166d68 Binary files /dev/null and b/.gitbook/assets/mobingi_ripple.png differ diff --git a/.gitbook/assets/mobingi_wave-2_png.png b/.gitbook/assets/mobingi_wave-2_png.png new file mode 100644 index 00000000..bc160cbe Binary files /dev/null and b/.gitbook/assets/mobingi_wave-2_png.png differ diff --git a/.gitbook/assets/mobingi_wave-3.png b/.gitbook/assets/mobingi_wave-3.png new file mode 100644 index 00000000..b83b611b Binary files /dev/null and b/.gitbook/assets/mobingi_wave-3.png differ diff --git a/.gitbook/assets/mobingi_wave-4.png b/.gitbook/assets/mobingi_wave-4.png new file mode 100644 index 00000000..3253c3c2 Binary files /dev/null and b/.gitbook/assets/mobingi_wave-4.png differ diff --git a/.gitbook/assets/mobingi_wave-5.png b/.gitbook/assets/mobingi_wave-5.png new file mode 100644 index 00000000..0c08a926 Binary files /dev/null and b/.gitbook/assets/mobingi_wave-5.png differ diff --git a/.gitbook/assets/mobingi_wave-6 (1).png b/.gitbook/assets/mobingi_wave-6 (1).png new file mode 100644 index 00000000..cdade3ee Binary files /dev/null and b/.gitbook/assets/mobingi_wave-6 (1).png differ diff --git a/.gitbook/assets/mobingi_wave-6.png b/.gitbook/assets/mobingi_wave-6.png new file mode 100644 index 00000000..cdade3ee Binary files /dev/null and b/.gitbook/assets/mobingi_wave-6.png differ diff --git a/.gitbook/assets/mobingi_wave-7 (1) (1).png b/.gitbook/assets/mobingi_wave-7 (1) (1).png new file mode 100644 index 00000000..e4155837 Binary files /dev/null and b/.gitbook/assets/mobingi_wave-7 (1) (1).png differ diff --git a/.gitbook/assets/mobingi_wave-7 (1).png b/.gitbook/assets/mobingi_wave-7 (1).png new file mode 100644 index 00000000..e4155837 Binary files /dev/null and b/.gitbook/assets/mobingi_wave-7 (1).png differ diff --git a/.gitbook/assets/mobingi_wave.png b/.gitbook/assets/mobingi_wave.png new file mode 100644 index 00000000..98c1791f Binary files /dev/null and b/.gitbook/assets/mobingi_wave.png differ diff --git a/.gitbook/assets/nosurumonoka5198tsukarimashita.png b/.gitbook/assets/nosurumonoka5198tsukarimashita.png new file mode 100644 index 00000000..60f38c1c Binary files /dev/null and b/.gitbook/assets/nosurumonoka5198tsukarimashita.png differ diff --git a/.gitbook/assets/rds-check.png b/.gitbook/assets/rds-check (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/rds-check.png rename to .gitbook/assets/rds-check (1) (1) (1) (1).png diff --git a/.gitbook/assets/rds-checkjp.png b/.gitbook/assets/rds-check (1) (1) (1).png similarity index 100% rename from .gitbook/assets/rds-checkjp.png rename to .gitbook/assets/rds-check (1) (1) (1).png diff --git a/.gitbook/assets/rds-check_detailjp.png b/.gitbook/assets/rds-check_detail (1).png similarity index 100% rename from .gitbook/assets/rds-check_detailjp.png rename to .gitbook/assets/rds-check_detail (1).png diff --git a/.gitbook/assets/rds-check_detail_dbname.png b/.gitbook/assets/rds-check_detail_dbname (1) (1).png similarity index 100% rename from .gitbook/assets/rds-check_detail_dbname.png rename to .gitbook/assets/rds-check_detail_dbname (1) (1).png diff --git a/.gitbook/assets/rds-check_detail_dbnamejp.png b/.gitbook/assets/rds-check_detail_dbname (1).png similarity index 100% rename from .gitbook/assets/rds-check_detail_dbnamejp.png rename to .gitbook/assets/rds-check_detail_dbname (1).png diff --git a/.gitbook/assets/screen-shot-2018-06-11-at-17.53.12 (1).png b/.gitbook/assets/screen-shot-2018-06-11-at-17.53.12 (1) (1) (1) (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/screen-shot-2018-06-11-at-17.53.12 (1).png rename to .gitbook/assets/screen-shot-2018-06-11-at-17.53.12 (1) (1) (1) (1) (1) (1) (1).png diff --git a/.gitbook/assets/screen-shot-2018-06-11-at-17.53.12.png b/.gitbook/assets/screen-shot-2018-06-11-at-17.53.12 (1) (1) (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/screen-shot-2018-06-11-at-17.53.12.png rename to .gitbook/assets/screen-shot-2018-06-11-at-17.53.12 (1) (1) (1) (1) (1) (1).png diff --git a/.gitbook/assets/screen-shot-2018-06-11-at-17.53.12 (1) (1) (1) (1) (1).png b/.gitbook/assets/screen-shot-2018-06-11-at-17.53.12 (1) (1) (1) (1) (1).png new file mode 100644 index 00000000..b37a11c4 Binary files /dev/null and b/.gitbook/assets/screen-shot-2018-06-11-at-17.53.12 (1) (1) (1) (1) (1).png differ diff --git a/.gitbook/assets/screen-shot-2018-11-26-at-12.32.01.png b/.gitbook/assets/screen-shot-2018-11-26-at-12.32.01.png new file mode 100644 index 00000000..b5298faf Binary files /dev/null and b/.gitbook/assets/screen-shot-2018-11-26-at-12.32.01.png differ diff --git a/.gitbook/assets/screen-shot-2018-11-26-at-13.03.15.png b/.gitbook/assets/screen-shot-2018-11-26-at-13.03.15.png new file mode 100644 index 00000000..325b5a5f Binary files /dev/null and b/.gitbook/assets/screen-shot-2018-11-26-at-13.03.15.png differ diff --git a/.gitbook/assets/screen-shot-2018-11-26-at-13.24.56.png b/.gitbook/assets/screen-shot-2018-11-26-at-13.24.56.png new file mode 100644 index 00000000..017e71db Binary files /dev/null and b/.gitbook/assets/screen-shot-2018-11-26-at-13.24.56.png differ diff --git a/.gitbook/assets/screen-shot-2018-11-26-at-13.35.18.png b/.gitbook/assets/screen-shot-2018-11-26-at-13.35.18.png new file mode 100644 index 00000000..92603af7 Binary files /dev/null and b/.gitbook/assets/screen-shot-2018-11-26-at-13.35.18.png differ diff --git a/.gitbook/assets/screen-shot-2018-11-26-at-15.39.22 (1).png b/.gitbook/assets/screen-shot-2018-11-26-at-15.39.22 (1).png new file mode 100644 index 00000000..05ba7c23 Binary files /dev/null and b/.gitbook/assets/screen-shot-2018-11-26-at-15.39.22 (1).png differ diff --git a/.gitbook/assets/screen-shot-2018-11-26-at-15.39.22.png b/.gitbook/assets/screen-shot-2018-11-26-at-15.39.22.png new file mode 100644 index 00000000..05ba7c23 Binary files /dev/null and b/.gitbook/assets/screen-shot-2018-11-26-at-15.39.22.png differ diff --git a/.gitbook/assets/screen-shot-2018-11-26-at-15.44.35 (1).png b/.gitbook/assets/screen-shot-2018-11-26-at-15.44.35 (1).png new file mode 100644 index 00000000..65790cb1 Binary files /dev/null and b/.gitbook/assets/screen-shot-2018-11-26-at-15.44.35 (1).png differ diff --git a/.gitbook/assets/screen-shot-2018-11-26-at-15.44.35 (2).png b/.gitbook/assets/screen-shot-2018-11-26-at-15.44.35 (2).png new file mode 100644 index 00000000..28d5ce7e Binary files /dev/null and b/.gitbook/assets/screen-shot-2018-11-26-at-15.44.35 (2).png differ diff --git a/.gitbook/assets/screen-shot-2018-11-26-at-15.44.35.png b/.gitbook/assets/screen-shot-2018-11-26-at-15.44.35.png new file mode 100644 index 00000000..65790cb1 Binary files /dev/null and b/.gitbook/assets/screen-shot-2018-11-26-at-15.44.35.png differ diff --git a/.gitbook/assets/screen-shot-2018-11-26-at-16.27.17.png b/.gitbook/assets/screen-shot-2018-11-26-at-16.27.17.png new file mode 100644 index 00000000..c5e01d02 Binary files /dev/null and b/.gitbook/assets/screen-shot-2018-11-26-at-16.27.17.png differ diff --git a/.gitbook/assets/screen-shot-2018-11-26-at-16.29.09.png b/.gitbook/assets/screen-shot-2018-11-26-at-16.29.09.png new file mode 100644 index 00000000..47307465 Binary files /dev/null and b/.gitbook/assets/screen-shot-2018-11-26-at-16.29.09.png differ diff --git a/.gitbook/assets/screen-shot-2018-11-26-at-16.30.58.png b/.gitbook/assets/screen-shot-2018-11-26-at-16.30.58.png new file mode 100644 index 00000000..5bf0bfa6 Binary files /dev/null and b/.gitbook/assets/screen-shot-2018-11-26-at-16.30.58.png differ diff --git a/.gitbook/assets/screen-shot-2018-11-26-at-17.03.56.png b/.gitbook/assets/screen-shot-2018-11-26-at-17.03.56.png new file mode 100644 index 00000000..b92bcfea Binary files /dev/null and b/.gitbook/assets/screen-shot-2018-11-26-at-17.03.56.png differ diff --git a/.gitbook/assets/screen-shot-2018-11-26-at-17.58.00.png b/.gitbook/assets/screen-shot-2018-11-26-at-17.58.00.png new file mode 100644 index 00000000..3a6b97f8 Binary files /dev/null and b/.gitbook/assets/screen-shot-2018-11-26-at-17.58.00.png differ diff --git a/.gitbook/assets/screen-shot-2018-11-26-at-18.18.45.png b/.gitbook/assets/screen-shot-2018-11-26-at-18.18.45.png new file mode 100644 index 00000000..93561f6a Binary files /dev/null and b/.gitbook/assets/screen-shot-2018-11-26-at-18.18.45.png differ diff --git a/.gitbook/assets/screen-shot-2019-03-05-at-14.29.13.png b/.gitbook/assets/screen-shot-2019-03-05-at-14.29.13.png new file mode 100644 index 00000000..02347db0 Binary files /dev/null and b/.gitbook/assets/screen-shot-2019-03-05-at-14.29.13.png differ diff --git a/.gitbook/assets/screen-shot-2019-03-05-at-15.10.51.png b/.gitbook/assets/screen-shot-2019-03-05-at-15.10.51.png new file mode 100644 index 00000000..a30844ad Binary files /dev/null and b/.gitbook/assets/screen-shot-2019-03-05-at-15.10.51.png differ diff --git a/.gitbook/assets/screen-shot-2019-03-05-at-15.12.50.png b/.gitbook/assets/screen-shot-2019-03-05-at-15.12.50.png new file mode 100644 index 00000000..c57246bb Binary files /dev/null and b/.gitbook/assets/screen-shot-2019-03-05-at-15.12.50.png differ diff --git a/.gitbook/assets/screen-shot-2019-03-05-at-15.14.58.png b/.gitbook/assets/screen-shot-2019-03-05-at-15.14.58.png new file mode 100644 index 00000000..5931b5e4 Binary files /dev/null and b/.gitbook/assets/screen-shot-2019-03-05-at-15.14.58.png differ diff --git a/.gitbook/assets/screen-shot-2019-03-05-at-15.15.28.png b/.gitbook/assets/screen-shot-2019-03-05-at-15.15.28.png new file mode 100644 index 00000000..8518fd37 Binary files /dev/null and b/.gitbook/assets/screen-shot-2019-03-05-at-15.15.28.png differ diff --git a/.gitbook/assets/screen-shot-2019-03-06-at-14.05.59.png b/.gitbook/assets/screen-shot-2019-03-06-at-14.05.59.png new file mode 100644 index 00000000..5c66429f Binary files /dev/null and b/.gitbook/assets/screen-shot-2019-03-06-at-14.05.59.png differ diff --git a/.gitbook/assets/screen-shot-2019-03-06-at-14.13.22.png b/.gitbook/assets/screen-shot-2019-03-06-at-14.13.22.png new file mode 100644 index 00000000..f9bbc201 Binary files /dev/null and b/.gitbook/assets/screen-shot-2019-03-06-at-14.13.22.png differ diff --git a/.gitbook/assets/snip20180720_19.png b/.gitbook/assets/snip20180720_19.png new file mode 100644 index 00000000..fc1fdda1 Binary files /dev/null and b/.gitbook/assets/snip20180720_19.png differ diff --git a/.gitbook/assets/snip20180720_21.png b/.gitbook/assets/snip20180720_21.png new file mode 100644 index 00000000..72641e3b Binary files /dev/null and b/.gitbook/assets/snip20180720_21.png differ diff --git a/.gitbook/assets/snip20180720_23.png b/.gitbook/assets/snip20180720_23.png new file mode 100644 index 00000000..4914b2ed Binary files /dev/null and b/.gitbook/assets/snip20180720_23.png differ diff --git a/.gitbook/assets/snip20180720_24.png b/.gitbook/assets/snip20180720_24.png new file mode 100644 index 00000000..a2ee92da Binary files /dev/null and b/.gitbook/assets/snip20180720_24.png differ diff --git a/.gitbook/assets/snip20180720_26.png b/.gitbook/assets/snip20180720_26.png new file mode 100644 index 00000000..7e90e5a7 Binary files /dev/null and b/.gitbook/assets/snip20180720_26.png differ diff --git a/.gitbook/assets/snip20180723_14.png b/.gitbook/assets/snip20180723_14.png new file mode 100644 index 00000000..2d0de093 Binary files /dev/null and b/.gitbook/assets/snip20180723_14.png differ diff --git a/.gitbook/assets/snip20180723_18.png b/.gitbook/assets/snip20180723_18.png new file mode 100644 index 00000000..4d1580ee Binary files /dev/null and b/.gitbook/assets/snip20180723_18.png differ diff --git a/.gitbook/assets/snip20180723_4.png b/.gitbook/assets/snip20180723_4.png new file mode 100644 index 00000000..bf42bc32 Binary files /dev/null and b/.gitbook/assets/snip20180723_4.png differ diff --git a/.gitbook/assets/snip20180723_8.png b/.gitbook/assets/snip20180723_8.png new file mode 100644 index 00000000..5d351dd5 Binary files /dev/null and b/.gitbook/assets/snip20180723_8.png differ diff --git a/.gitbook/assets/snip20180724_22.png b/.gitbook/assets/snip20180724_22.png new file mode 100644 index 00000000..5b201a8b Binary files /dev/null and b/.gitbook/assets/snip20180724_22.png differ diff --git a/.gitbook/assets/snip20180724_32.png b/.gitbook/assets/snip20180724_32.png new file mode 100644 index 00000000..ed72cf33 Binary files /dev/null and b/.gitbook/assets/snip20180724_32.png differ diff --git a/.gitbook/assets/snip20180724_35.png b/.gitbook/assets/snip20180724_35.png new file mode 100644 index 00000000..e4d2b128 Binary files /dev/null and b/.gitbook/assets/snip20180724_35.png differ diff --git a/.gitbook/assets/snip20180725_10.png b/.gitbook/assets/snip20180725_10.png new file mode 100644 index 00000000..6cbc2c50 Binary files /dev/null and b/.gitbook/assets/snip20180725_10.png differ diff --git a/.gitbook/assets/snip20180725_4 (1).png b/.gitbook/assets/snip20180725_4 (1).png new file mode 100644 index 00000000..cea3c80b Binary files /dev/null and b/.gitbook/assets/snip20180725_4 (1).png differ diff --git a/.gitbook/assets/snip20180725_4.png b/.gitbook/assets/snip20180725_4.png new file mode 100644 index 00000000..5b8d4726 Binary files /dev/null and b/.gitbook/assets/snip20180725_4.png differ diff --git a/.gitbook/assets/snip20180725_7.png b/.gitbook/assets/snip20180725_7.png new file mode 100644 index 00000000..514b5fe6 Binary files /dev/null and b/.gitbook/assets/snip20180725_7.png differ diff --git a/.gitbook/assets/snip20180727_10.png b/.gitbook/assets/snip20180727_10.png new file mode 100644 index 00000000..785024a9 Binary files /dev/null and b/.gitbook/assets/snip20180727_10.png differ diff --git a/.gitbook/assets/snip20180727_12.png b/.gitbook/assets/snip20180727_12.png new file mode 100644 index 00000000..84811ffe Binary files /dev/null and b/.gitbook/assets/snip20180727_12.png differ diff --git a/.gitbook/assets/snip20180727_17.png b/.gitbook/assets/snip20180727_17.png new file mode 100644 index 00000000..3b3fda12 Binary files /dev/null and b/.gitbook/assets/snip20180727_17.png differ diff --git a/.gitbook/assets/snip20180727_18.png b/.gitbook/assets/snip20180727_18.png new file mode 100644 index 00000000..dd15c1f4 Binary files /dev/null and b/.gitbook/assets/snip20180727_18.png differ diff --git a/.gitbook/assets/snip20180727_19.png b/.gitbook/assets/snip20180727_19.png new file mode 100644 index 00000000..824af37e Binary files /dev/null and b/.gitbook/assets/snip20180727_19.png differ diff --git a/.gitbook/assets/snip20180727_21.png b/.gitbook/assets/snip20180727_21.png new file mode 100644 index 00000000..1906638f Binary files /dev/null and b/.gitbook/assets/snip20180727_21.png differ diff --git a/.gitbook/assets/snip20180727_23.png b/.gitbook/assets/snip20180727_23.png new file mode 100644 index 00000000..c8ddbe12 Binary files /dev/null and b/.gitbook/assets/snip20180727_23.png differ diff --git a/.gitbook/assets/snip20180727_25.png b/.gitbook/assets/snip20180727_25.png new file mode 100644 index 00000000..f41a00f2 Binary files /dev/null and b/.gitbook/assets/snip20180727_25.png differ diff --git a/.gitbook/assets/snip20180727_26.png b/.gitbook/assets/snip20180727_26.png new file mode 100644 index 00000000..11f45e0d Binary files /dev/null and b/.gitbook/assets/snip20180727_26.png differ diff --git a/.gitbook/assets/snip20180727_29.png b/.gitbook/assets/snip20180727_29.png new file mode 100644 index 00000000..ac6ce781 Binary files /dev/null and b/.gitbook/assets/snip20180727_29.png differ diff --git a/.gitbook/assets/snip20180727_31.png b/.gitbook/assets/snip20180727_31.png new file mode 100644 index 00000000..adabee81 Binary files /dev/null and b/.gitbook/assets/snip20180727_31.png differ diff --git a/.gitbook/assets/snip20180727_33.png b/.gitbook/assets/snip20180727_33.png new file mode 100644 index 00000000..a59fb18f Binary files /dev/null and b/.gitbook/assets/snip20180727_33.png differ diff --git a/.gitbook/assets/snip20180727_6.png b/.gitbook/assets/snip20180727_6.png new file mode 100644 index 00000000..d261fda3 Binary files /dev/null and b/.gitbook/assets/snip20180727_6.png differ diff --git a/.gitbook/assets/snip20180727_7.png b/.gitbook/assets/snip20180727_7.png new file mode 100644 index 00000000..a15311cd Binary files /dev/null and b/.gitbook/assets/snip20180727_7.png differ diff --git a/.gitbook/assets/snip20180727_9.png b/.gitbook/assets/snip20180727_9.png new file mode 100644 index 00000000..404eb541 Binary files /dev/null and b/.gitbook/assets/snip20180727_9.png differ diff --git a/.gitbook/assets/snip20180730_1.png b/.gitbook/assets/snip20180730_1.png new file mode 100644 index 00000000..8270e88c Binary files /dev/null and b/.gitbook/assets/snip20180730_1.png differ diff --git a/.gitbook/assets/snip20180730_10.png b/.gitbook/assets/snip20180730_10.png new file mode 100644 index 00000000..20f51bfc Binary files /dev/null and b/.gitbook/assets/snip20180730_10.png differ diff --git a/.gitbook/assets/snip20180730_12.png b/.gitbook/assets/snip20180730_12.png new file mode 100644 index 00000000..639df36b Binary files /dev/null and b/.gitbook/assets/snip20180730_12.png differ diff --git a/.gitbook/assets/snip20180730_14.png b/.gitbook/assets/snip20180730_14.png new file mode 100644 index 00000000..a5678869 Binary files /dev/null and b/.gitbook/assets/snip20180730_14.png differ diff --git a/.gitbook/assets/snip20180730_2 (1).png b/.gitbook/assets/snip20180730_2 (1).png new file mode 100644 index 00000000..09fdf9a3 Binary files /dev/null and b/.gitbook/assets/snip20180730_2 (1).png differ diff --git a/.gitbook/assets/snip20180730_2.png b/.gitbook/assets/snip20180730_2.png new file mode 100644 index 00000000..09fdf9a3 Binary files /dev/null and b/.gitbook/assets/snip20180730_2.png differ diff --git a/.gitbook/assets/snip20180730_4.png b/.gitbook/assets/snip20180730_4.png new file mode 100644 index 00000000..7a584b61 Binary files /dev/null and b/.gitbook/assets/snip20180730_4.png differ diff --git a/.gitbook/assets/snip20180730_5.png b/.gitbook/assets/snip20180730_5.png new file mode 100644 index 00000000..1db009d0 Binary files /dev/null and b/.gitbook/assets/snip20180730_5.png differ diff --git a/.gitbook/assets/snip20180730_8.png b/.gitbook/assets/snip20180730_8.png new file mode 100644 index 00000000..d988806a Binary files /dev/null and b/.gitbook/assets/snip20180730_8.png differ diff --git a/.gitbook/assets/snip20180731_20.png b/.gitbook/assets/snip20180731_20.png new file mode 100644 index 00000000..262f7ce8 Binary files /dev/null and b/.gitbook/assets/snip20180731_20.png differ diff --git a/.gitbook/assets/snip20180731_21.png b/.gitbook/assets/snip20180731_21.png new file mode 100644 index 00000000..a05ecdf5 Binary files /dev/null and b/.gitbook/assets/snip20180731_21.png differ diff --git a/.gitbook/assets/snip20180731_22 (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/snip20180731_22 (1) (1) (1) (1) (1) (1) (1).png new file mode 100644 index 00000000..304d9335 Binary files /dev/null and b/.gitbook/assets/snip20180731_22 (1) (1) (1) (1) (1) (1) (1).png differ diff --git a/.gitbook/assets/snip20180731_22 (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/snip20180731_22 (1) (1) (1) (1) (1) (1).png new file mode 100644 index 00000000..304d9335 Binary files /dev/null and b/.gitbook/assets/snip20180731_22 (1) (1) (1) (1) (1) (1).png differ diff --git a/.gitbook/assets/snip20180731_22 (1) (1) (1) (1) (1).png b/.gitbook/assets/snip20180731_22 (1) (1) (1) (1) (1).png new file mode 100644 index 00000000..304d9335 Binary files /dev/null and b/.gitbook/assets/snip20180731_22 (1) (1) (1) (1) (1).png differ diff --git a/.gitbook/assets/snip20180731_23.png b/.gitbook/assets/snip20180731_23.png new file mode 100644 index 00000000..037b7e58 Binary files /dev/null and b/.gitbook/assets/snip20180731_23.png differ diff --git a/.gitbook/assets/snip20180731_26.png b/.gitbook/assets/snip20180731_26.png new file mode 100644 index 00000000..a7dfb718 Binary files /dev/null and b/.gitbook/assets/snip20180731_26.png differ diff --git a/.gitbook/assets/snip20180731_35.png b/.gitbook/assets/snip20180731_35.png new file mode 100644 index 00000000..c130c7d1 Binary files /dev/null and b/.gitbook/assets/snip20180731_35.png differ diff --git a/.gitbook/assets/snip20180731_37.png b/.gitbook/assets/snip20180731_37.png new file mode 100644 index 00000000..dec55158 Binary files /dev/null and b/.gitbook/assets/snip20180731_37.png differ diff --git a/.gitbook/assets/snip20180731_39.png b/.gitbook/assets/snip20180731_39.png new file mode 100644 index 00000000..fdf9b5eb Binary files /dev/null and b/.gitbook/assets/snip20180731_39.png differ diff --git a/.gitbook/assets/snip20180731_48.png b/.gitbook/assets/snip20180731_48.png new file mode 100644 index 00000000..1dfad0ef Binary files /dev/null and b/.gitbook/assets/snip20180731_48.png differ diff --git a/.gitbook/assets/snip20180731_50.png b/.gitbook/assets/snip20180731_50.png new file mode 100644 index 00000000..384bd614 Binary files /dev/null and b/.gitbook/assets/snip20180731_50.png differ diff --git a/.gitbook/assets/snip20180731_51.png b/.gitbook/assets/snip20180731_51.png new file mode 100644 index 00000000..d6b2a1f7 Binary files /dev/null and b/.gitbook/assets/snip20180731_51.png differ diff --git a/.gitbook/assets/snip20180731_52.png b/.gitbook/assets/snip20180731_52.png new file mode 100644 index 00000000..f2577d13 Binary files /dev/null and b/.gitbook/assets/snip20180731_52.png differ diff --git a/.gitbook/assets/snip20180731_54.png b/.gitbook/assets/snip20180731_54.png new file mode 100644 index 00000000..90397d54 Binary files /dev/null and b/.gitbook/assets/snip20180731_54.png differ diff --git a/.gitbook/assets/snip20180731_56.png b/.gitbook/assets/snip20180731_56.png new file mode 100644 index 00000000..5d74a834 Binary files /dev/null and b/.gitbook/assets/snip20180731_56.png differ diff --git a/.gitbook/assets/snip20180801_57.png b/.gitbook/assets/snip20180801_57.png new file mode 100644 index 00000000..1e1aaa37 Binary files /dev/null and b/.gitbook/assets/snip20180801_57.png differ diff --git a/.gitbook/assets/snip20180801_59.png b/.gitbook/assets/snip20180801_59.png new file mode 100644 index 00000000..777743f9 Binary files /dev/null and b/.gitbook/assets/snip20180801_59.png differ diff --git a/.gitbook/assets/snip20180801_63.png b/.gitbook/assets/snip20180801_63.png new file mode 100644 index 00000000..ad7f5035 Binary files /dev/null and b/.gitbook/assets/snip20180801_63.png differ diff --git a/.gitbook/assets/snip20180801_64.png b/.gitbook/assets/snip20180801_64.png new file mode 100644 index 00000000..856f3450 Binary files /dev/null and b/.gitbook/assets/snip20180801_64.png differ diff --git a/.gitbook/assets/snip20180801_67 (1).png b/.gitbook/assets/snip20180801_67 (1).png new file mode 100644 index 00000000..961f655c Binary files /dev/null and b/.gitbook/assets/snip20180801_67 (1).png differ diff --git a/.gitbook/assets/snip20180801_67.png b/.gitbook/assets/snip20180801_67.png new file mode 100644 index 00000000..961f655c Binary files /dev/null and b/.gitbook/assets/snip20180801_67.png differ diff --git a/.gitbook/assets/snip20180801_71 (1).png b/.gitbook/assets/snip20180801_71 (1).png new file mode 100644 index 00000000..2c787290 Binary files /dev/null and b/.gitbook/assets/snip20180801_71 (1).png differ diff --git a/.gitbook/assets/snip20180801_71.png b/.gitbook/assets/snip20180801_71.png new file mode 100644 index 00000000..2c787290 Binary files /dev/null and b/.gitbook/assets/snip20180801_71.png differ diff --git a/.gitbook/assets/snip20180801_72.png b/.gitbook/assets/snip20180801_72.png new file mode 100644 index 00000000..24b3d9e6 Binary files /dev/null and b/.gitbook/assets/snip20180801_72.png differ diff --git a/.gitbook/assets/snip20180802_77.png b/.gitbook/assets/snip20180802_77.png new file mode 100644 index 00000000..1e21da50 Binary files /dev/null and b/.gitbook/assets/snip20180802_77.png differ diff --git a/.gitbook/assets/snip20180802_79.png b/.gitbook/assets/snip20180802_79.png new file mode 100644 index 00000000..a539f84a Binary files /dev/null and b/.gitbook/assets/snip20180802_79.png differ diff --git a/.gitbook/assets/snip20180802_88.png b/.gitbook/assets/snip20180802_88.png new file mode 100644 index 00000000..a4c7aca1 Binary files /dev/null and b/.gitbook/assets/snip20180802_88.png differ diff --git a/.gitbook/assets/snip20180802_89.png b/.gitbook/assets/snip20180802_89.png new file mode 100644 index 00000000..c1be0f7f Binary files /dev/null and b/.gitbook/assets/snip20180802_89.png differ diff --git a/.gitbook/assets/snip20180802_90.png b/.gitbook/assets/snip20180802_90.png new file mode 100644 index 00000000..86a9c752 Binary files /dev/null and b/.gitbook/assets/snip20180802_90.png differ diff --git a/.gitbook/assets/snip20180803_97.png b/.gitbook/assets/snip20180803_97.png new file mode 100644 index 00000000..06cddc66 Binary files /dev/null and b/.gitbook/assets/snip20180803_97.png differ diff --git a/.gitbook/assets/snip20180806_11.png b/.gitbook/assets/snip20180806_11.png new file mode 100644 index 00000000..dc394e42 Binary files /dev/null and b/.gitbook/assets/snip20180806_11.png differ diff --git a/.gitbook/assets/snip20180806_14.png b/.gitbook/assets/snip20180806_14.png new file mode 100644 index 00000000..5bd4edf2 Binary files /dev/null and b/.gitbook/assets/snip20180806_14.png differ diff --git a/.gitbook/assets/snip20180806_8.png b/.gitbook/assets/snip20180806_8.png new file mode 100644 index 00000000..ed67ef71 Binary files /dev/null and b/.gitbook/assets/snip20180806_8.png differ diff --git a/.gitbook/assets/snip20180809_2.png b/.gitbook/assets/snip20180809_2.png new file mode 100644 index 00000000..97d438e1 Binary files /dev/null and b/.gitbook/assets/snip20180809_2.png differ diff --git a/.gitbook/assets/snip20180809_23.png b/.gitbook/assets/snip20180809_23.png new file mode 100644 index 00000000..0ee60acd Binary files /dev/null and b/.gitbook/assets/snip20180809_23.png differ diff --git a/.gitbook/assets/snip20180809_3.png b/.gitbook/assets/snip20180809_3.png new file mode 100644 index 00000000..3b5e552d Binary files /dev/null and b/.gitbook/assets/snip20180809_3.png differ diff --git a/.gitbook/assets/snip20180809_6 (1) (1) (1).png b/.gitbook/assets/snip20180809_6 (1) (1) (1).png new file mode 100644 index 00000000..e2363519 Binary files /dev/null and b/.gitbook/assets/snip20180809_6 (1) (1) (1).png differ diff --git a/.gitbook/assets/snip20180809_6 (1) (1).png b/.gitbook/assets/snip20180809_6 (1) (1).png new file mode 100644 index 00000000..e2363519 Binary files /dev/null and b/.gitbook/assets/snip20180809_6 (1) (1).png differ diff --git a/.gitbook/assets/snip20180809_8.png b/.gitbook/assets/snip20180809_8.png new file mode 100644 index 00000000..04797bf5 Binary files /dev/null and b/.gitbook/assets/snip20180809_8.png differ diff --git a/.gitbook/assets/snip20180904_2.png b/.gitbook/assets/snip20180904_2.png new file mode 100644 index 00000000..0ea2478c Binary files /dev/null and b/.gitbook/assets/snip20180904_2.png differ diff --git a/.gitbook/assets/snip20180904_3.png b/.gitbook/assets/snip20180904_3.png new file mode 100644 index 00000000..f1dda859 Binary files /dev/null and b/.gitbook/assets/snip20180904_3.png differ diff --git a/.gitbook/assets/snip20180907_5.png b/.gitbook/assets/snip20180907_5.png new file mode 100644 index 00000000..a82a6c3f Binary files /dev/null and b/.gitbook/assets/snip20180907_5.png differ diff --git a/.gitbook/assets/snip20180910_1.png b/.gitbook/assets/snip20180910_1.png new file mode 100644 index 00000000..bb93718b Binary files /dev/null and b/.gitbook/assets/snip20180910_1.png differ diff --git a/.gitbook/assets/snip20180910_5.png b/.gitbook/assets/snip20180910_5.png new file mode 100644 index 00000000..9a725650 Binary files /dev/null and b/.gitbook/assets/snip20180910_5.png differ diff --git a/.gitbook/assets/snip20180930_10.png b/.gitbook/assets/snip20180930_10.png new file mode 100644 index 00000000..a5cf26d5 Binary files /dev/null and b/.gitbook/assets/snip20180930_10.png differ diff --git a/.gitbook/assets/snip20181003_2.png b/.gitbook/assets/snip20181003_2.png new file mode 100644 index 00000000..4e9cd41c Binary files /dev/null and b/.gitbook/assets/snip20181003_2.png differ diff --git a/.gitbook/assets/snip20181003_4.png b/.gitbook/assets/snip20181003_4.png new file mode 100644 index 00000000..6f777547 Binary files /dev/null and b/.gitbook/assets/snip20181003_4.png differ diff --git a/.gitbook/assets/snip20181003_6 (1) (1) (1).png b/.gitbook/assets/snip20181003_6 (1) (1) (1).png new file mode 100644 index 00000000..7d3b9545 Binary files /dev/null and b/.gitbook/assets/snip20181003_6 (1) (1) (1).png differ diff --git a/.gitbook/assets/snip20181003_6 (1) (1).png b/.gitbook/assets/snip20181003_6 (1) (1).png new file mode 100644 index 00000000..7d3b9545 Binary files /dev/null and b/.gitbook/assets/snip20181003_6 (1) (1).png differ diff --git a/.gitbook/assets/snip20181004_1.png b/.gitbook/assets/snip20181004_1.png new file mode 100644 index 00000000..76d8a18c Binary files /dev/null and b/.gitbook/assets/snip20181004_1.png differ diff --git a/.gitbook/assets/snip20181004_11.png b/.gitbook/assets/snip20181004_11.png new file mode 100644 index 00000000..41139b4b Binary files /dev/null and b/.gitbook/assets/snip20181004_11.png differ diff --git a/.gitbook/assets/snip20181004_12.png b/.gitbook/assets/snip20181004_12.png new file mode 100644 index 00000000..245abdee Binary files /dev/null and b/.gitbook/assets/snip20181004_12.png differ diff --git a/.gitbook/assets/snip20181004_14.png b/.gitbook/assets/snip20181004_14.png new file mode 100644 index 00000000..0920c254 Binary files /dev/null and b/.gitbook/assets/snip20181004_14.png differ diff --git a/.gitbook/assets/snip20181004_16 (1).png b/.gitbook/assets/snip20181004_16 (1).png new file mode 100644 index 00000000..02efb38a Binary files /dev/null and b/.gitbook/assets/snip20181004_16 (1).png differ diff --git a/.gitbook/assets/snip20181004_16.png b/.gitbook/assets/snip20181004_16.png new file mode 100644 index 00000000..02efb38a Binary files /dev/null and b/.gitbook/assets/snip20181004_16.png differ diff --git a/.gitbook/assets/snip20181004_18.png b/.gitbook/assets/snip20181004_18.png new file mode 100644 index 00000000..7e38ceeb Binary files /dev/null and b/.gitbook/assets/snip20181004_18.png differ diff --git a/.gitbook/assets/snip20181004_19.png b/.gitbook/assets/snip20181004_19.png new file mode 100644 index 00000000..dad6d995 Binary files /dev/null and b/.gitbook/assets/snip20181004_19.png differ diff --git a/.gitbook/assets/snip20181004_7.png b/.gitbook/assets/snip20181004_7.png new file mode 100644 index 00000000..f4dee48f Binary files /dev/null and b/.gitbook/assets/snip20181004_7.png differ diff --git a/.gitbook/assets/snip20181004_8.png b/.gitbook/assets/snip20181004_8.png new file mode 100644 index 00000000..75cc4e7b Binary files /dev/null and b/.gitbook/assets/snip20181004_8.png differ diff --git a/.gitbook/assets/snip20181004_9.png b/.gitbook/assets/snip20181004_9.png new file mode 100644 index 00000000..1d7d4637 Binary files /dev/null and b/.gitbook/assets/snip20181004_9.png differ diff --git a/.gitbook/assets/snip20181005_11.png b/.gitbook/assets/snip20181005_11.png new file mode 100644 index 00000000..7d0a5673 Binary files /dev/null and b/.gitbook/assets/snip20181005_11.png differ diff --git a/.gitbook/assets/snip20181005_14.png b/.gitbook/assets/snip20181005_14.png new file mode 100644 index 00000000..93702208 Binary files /dev/null and b/.gitbook/assets/snip20181005_14.png differ diff --git a/.gitbook/assets/snip20181005_21.png b/.gitbook/assets/snip20181005_21.png new file mode 100644 index 00000000..ee52e496 Binary files /dev/null and b/.gitbook/assets/snip20181005_21.png differ diff --git a/.gitbook/assets/snip20181005_24.png b/.gitbook/assets/snip20181005_24.png new file mode 100644 index 00000000..cadd05b5 Binary files /dev/null and b/.gitbook/assets/snip20181005_24.png differ diff --git a/.gitbook/assets/snip20181005_26.png b/.gitbook/assets/snip20181005_26.png new file mode 100644 index 00000000..71381d18 Binary files /dev/null and b/.gitbook/assets/snip20181005_26.png differ diff --git a/.gitbook/assets/snip20181005_29.png b/.gitbook/assets/snip20181005_29.png new file mode 100644 index 00000000..b5eb3271 Binary files /dev/null and b/.gitbook/assets/snip20181005_29.png differ diff --git a/.gitbook/assets/snip20181005_4.png b/.gitbook/assets/snip20181005_4.png new file mode 100644 index 00000000..10092a86 Binary files /dev/null and b/.gitbook/assets/snip20181005_4.png differ diff --git a/.gitbook/assets/snip20181005_6.png b/.gitbook/assets/snip20181005_6.png new file mode 100644 index 00000000..218c5eb3 Binary files /dev/null and b/.gitbook/assets/snip20181005_6.png differ diff --git a/.gitbook/assets/snip20181005_9.png b/.gitbook/assets/snip20181005_9.png new file mode 100644 index 00000000..81d15e3e Binary files /dev/null and b/.gitbook/assets/snip20181005_9.png differ diff --git a/.gitbook/assets/snip20181010_1.png b/.gitbook/assets/snip20181010_1.png new file mode 100644 index 00000000..ab754499 Binary files /dev/null and b/.gitbook/assets/snip20181010_1.png differ diff --git a/.gitbook/assets/sukurnshotto-2018-10-31-154718.png b/.gitbook/assets/sukurnshotto-2018-10-31-154718.png new file mode 100644 index 00000000..91db3845 Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2018-10-31-154718.png differ diff --git a/.gitbook/assets/sukurnshotto-2018-10-31-160227.png b/.gitbook/assets/sukurnshotto-2018-10-31-160227.png new file mode 100644 index 00000000..22813bc5 Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2018-10-31-160227.png differ diff --git a/.gitbook/assets/sukurnshotto-2018-10-31-160436.png b/.gitbook/assets/sukurnshotto-2018-10-31-160436.png new file mode 100644 index 00000000..d7e7fc8c Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2018-10-31-160436.png differ diff --git a/.gitbook/assets/sukurnshotto-2018-10-31-160517.png b/.gitbook/assets/sukurnshotto-2018-10-31-160517.png new file mode 100644 index 00000000..bb0256d8 Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2018-10-31-160517.png differ diff --git a/.gitbook/assets/sukurnshotto-2018-12-07-141240.png b/.gitbook/assets/sukurnshotto-2018-12-07-141240.png new file mode 100644 index 00000000..a912db8a Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2018-12-07-141240.png differ diff --git a/.gitbook/assets/sukurnshotto-2018-12-07-141648.png b/.gitbook/assets/sukurnshotto-2018-12-07-141648.png new file mode 100644 index 00000000..2d9d55be Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2018-12-07-141648.png differ diff --git a/.gitbook/assets/sukurnshotto-2018-12-10-123530.png b/.gitbook/assets/sukurnshotto-2018-12-10-123530.png new file mode 100644 index 00000000..caa28203 Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2018-12-10-123530.png differ diff --git a/.gitbook/assets/sukurnshotto-2018-12-10-123748.png b/.gitbook/assets/sukurnshotto-2018-12-10-123748.png new file mode 100644 index 00000000..8bd3c2e9 Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2018-12-10-123748.png differ diff --git a/.gitbook/assets/sukurnshotto-2018-12-13-134434.png b/.gitbook/assets/sukurnshotto-2018-12-13-134434.png new file mode 100644 index 00000000..e80aa59c Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2018-12-13-134434.png differ diff --git a/.gitbook/assets/sukurnshotto-2018-12-13-134854 (1).png b/.gitbook/assets/sukurnshotto-2018-12-13-134854 (1).png new file mode 100644 index 00000000..8d5c8baa Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2018-12-13-134854 (1).png differ diff --git a/.gitbook/assets/sukurnshotto-2018-12-13-134854.png b/.gitbook/assets/sukurnshotto-2018-12-13-134854.png new file mode 100644 index 00000000..8d5c8baa Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2018-12-13-134854.png differ diff --git a/.gitbook/assets/sukurnshotto-2018-12-13-140259.png b/.gitbook/assets/sukurnshotto-2018-12-13-140259.png new file mode 100644 index 00000000..e29d6620 Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2018-12-13-140259.png differ diff --git a/.gitbook/assets/sukurnshotto-2018-12-13-152219.png b/.gitbook/assets/sukurnshotto-2018-12-13-152219.png new file mode 100644 index 00000000..afc9e6e8 Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2018-12-13-152219.png differ diff --git a/.gitbook/assets/sukurnshotto-2019-01-28-214508.png b/.gitbook/assets/sukurnshotto-2019-01-28-214508.png new file mode 100644 index 00000000..c6c9d790 Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2019-01-28-214508.png differ diff --git a/.gitbook/assets/sukurnshotto-2019-01-29-100520.png b/.gitbook/assets/sukurnshotto-2019-01-29-100520.png new file mode 100644 index 00000000..d7b62a2d Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2019-01-29-100520.png differ diff --git a/.gitbook/assets/sukurnshotto-2019-02-13-155304.png b/.gitbook/assets/sukurnshotto-2019-02-13-155304.png new file mode 100644 index 00000000..b41b9fc8 Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2019-02-13-155304.png differ diff --git a/.gitbook/assets/sukurnshotto-2019-02-14-101938.png b/.gitbook/assets/sukurnshotto-2019-02-14-101938.png new file mode 100644 index 00000000..f58193f6 Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2019-02-14-101938.png differ diff --git a/.gitbook/assets/sukurnshotto-2019-03-13-102548.png b/.gitbook/assets/sukurnshotto-2019-03-13-102548.png new file mode 100644 index 00000000..49a84010 Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2019-03-13-102548.png differ diff --git a/.gitbook/assets/sukurnshotto-2019-03-13-102958.png b/.gitbook/assets/sukurnshotto-2019-03-13-102958.png new file mode 100644 index 00000000..b1584a34 Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2019-03-13-102958.png differ diff --git a/.gitbook/assets/sukurnshotto-2019-06-14-144714.png b/.gitbook/assets/sukurnshotto-2019-06-14-144714.png new file mode 100644 index 00000000..55b891d0 Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2019-06-14-144714.png differ diff --git a/.gitbook/assets/sukurnshotto-2021-09-08-100503png.png b/.gitbook/assets/sukurnshotto-2021-09-08-100503png.png new file mode 100644 index 00000000..9994a8b1 Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2021-09-08-100503png.png differ diff --git a/.gitbook/assets/sukurnshotto-2021-09-08-162822png.png b/.gitbook/assets/sukurnshotto-2021-09-08-162822png.png new file mode 100644 index 00000000..d0e4d661 Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2021-09-08-162822png.png differ diff --git a/.gitbook/assets/sukurnshotto-2021-09-15-185914png.png b/.gitbook/assets/sukurnshotto-2021-09-15-185914png.png new file mode 100644 index 00000000..145be251 Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2021-09-15-185914png.png differ diff --git a/.gitbook/assets/sukurnshotto-2021-09-15-192039png.png b/.gitbook/assets/sukurnshotto-2021-09-15-192039png.png new file mode 100644 index 00000000..b39f0dec Binary files /dev/null and b/.gitbook/assets/sukurnshotto-2021-09-15-192039png.png differ diff --git a/.gitbook/assets/wave (1) (1).png b/.gitbook/assets/wave (1) (1).png new file mode 100644 index 00000000..46aaef24 Binary files /dev/null and b/.gitbook/assets/wave (1) (1).png differ diff --git a/.gitbook/assets/wave (1).png b/.gitbook/assets/wave (1).png new file mode 100644 index 00000000..46aaef24 Binary files /dev/null and b/.gitbook/assets/wave (1).png differ diff --git a/.gitbook/assets/wave-2 (1).png b/.gitbook/assets/wave-2 (1).png new file mode 100644 index 00000000..0fe2c1fb Binary files /dev/null and b/.gitbook/assets/wave-2 (1).png differ diff --git a/.gitbook/assets/wave-2.png b/.gitbook/assets/wave-2.png new file mode 100644 index 00000000..2de7845a Binary files /dev/null and b/.gitbook/assets/wave-2.png differ diff --git a/.gitbook/assets/wave-3 (1).png b/.gitbook/assets/wave-3 (1).png new file mode 100644 index 00000000..485e66d6 Binary files /dev/null and b/.gitbook/assets/wave-3 (1).png differ diff --git a/.gitbook/assets/wave-3.png b/.gitbook/assets/wave-3.png new file mode 100644 index 00000000..e4c4e7e0 Binary files /dev/null and b/.gitbook/assets/wave-3.png differ diff --git a/.gitbook/assets/wave-4.png b/.gitbook/assets/wave-4.png new file mode 100644 index 00000000..674397b0 Binary files /dev/null and b/.gitbook/assets/wave-4.png differ diff --git a/.gitbook/assets/wave-5.png b/.gitbook/assets/wave-5.png new file mode 100644 index 00000000..57bede2a Binary files /dev/null and b/.gitbook/assets/wave-5.png differ diff --git a/.gitbook/assets/wave.png b/.gitbook/assets/wave.png new file mode 100644 index 00000000..99f766f7 Binary files /dev/null and b/.gitbook/assets/wave.png differ diff --git a/.gitbook/assets/wave_-.png b/.gitbook/assets/wave_-.png new file mode 100644 index 00000000..58a61da8 Binary files /dev/null and b/.gitbook/assets/wave_-.png differ diff --git a/.gitbook/assets/wave_pro.png b/.gitbook/assets/wave_pro.png new file mode 100644 index 00000000..4f458b52 Binary files /dev/null and b/.gitbook/assets/wave_pro.png differ diff --git a/.gitbook/assets/wavetoslackpj-alphausjig-sawjig-sawpng.png b/.gitbook/assets/wavetoslackpj-alphausjig-sawjig-sawpng.png new file mode 100644 index 00000000..f1ee6277 Binary files /dev/null and b/.gitbook/assets/wavetoslackpj-alphausjig-sawjig-sawpng.png differ diff --git a/README.md b/README.md index 88e38fc1..f689a6b5 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,11 @@ ---- -description: Mobingi Documentation ---- +# Wave 公式ユーザーガイド -# Mobingi Documentation +Wave を利用するための事前準備から、UIの基本的な操作方法などを説明しています。 -Welcome to Mobingi's official documentation! This documentation covers all references to all available features and options of all Mobingi products. +機能の追加・変更に合わせてこのユーザーガイドはアップデートされます。 -To get started with ALM, please visit [https://alm.mobingi.com](https://alm.mobingi.com). +左のメニューから読みたい項目を選択してください。 -To get started with Wave, please visit [https://wave.mobingi.com](https://wave.mobingi.com). - -If you are looking for the old \(v2\) documentations for ALM, you can use the dropdown menu on the upper left hand corner of this page. - -For general information about Mobingi, please visit our website [https://mobingi.com](https://mobingi.com). +Wave: [https://app.alphaus.cloud/wave](https://app.alphaus.cloud/wave) +本ユーザーガイドで解決できない場合は support@alphaus.cloud までお気軽にお問い合わせください。 diff --git a/SUMMARY.md b/SUMMARY.md index 46e17a3f..ab419348 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -1,41 +1,38 @@ # Table of contents -* [Mobingi Documentation](README.md) - -## Mobingi ALM - -* [Introduction](mobingi-alm/introduction/README.md) - * [What is ALM?](mobingi-alm/introduction/what-is-alm.md) -* [Getting started](mobingi-alm/getting-started/README.md) - * [Login for the first time](mobingi-alm/getting-started/login-for-the-first-time.md) - * [Adding AWS account](mobingi-alm/getting-started/adding-aws-account.md) - * [Adding Azure account](mobingi-alm/getting-started/adding-azure-account.md) - * [Adding Alibaba account](mobingi-alm/getting-started/adding-alibaba-account.md) - * [Adding GCP account](mobingi-alm/getting-started/adding-gcp-account.md) - * [Adding Fujitsu K5 account](mobingi-alm/getting-started/adding-fujitsu-k5-account.md) -* [ALM Template](mobingi-alm/alm-template/README.md) - * [What is ALM Template?](mobingi-alm/alm-template/what-is-alm-template.md) - * [Reference \(2018-07-02\)](mobingi-alm/alm-template/reference-2018-07-02.md) - * [Reference \(2017-03-03\)](mobingi-alm/alm-template/reference-2017-03-03.md) - * [ALM Template Language](mobingi-alm/alm-template/alm-template-language.md) - * [Example ALM Templates](mobingi-alm/alm-template/example-alm-templates.md) -* [ALM Agent](mobingi-alm/alm-agent/README.md) - * [Overview](mobingi-alm/alm-agent/overview.md) - * [Getting Started](mobingi-alm/alm-agent/getting-started.md) - * [Agent](mobingi-alm/alm-agent/agent.md) - * [Commands](mobingi-alm/alm-agent/commands.md) - * [Add-ons](mobingi-alm/alm-agent/add-ons.md) - * [Contributing](mobingi-alm/alm-agent/contributing.md) -* [RBAC](mobingi-alm/rbac/README.md) - * [Overview](mobingi-alm/rbac/overview.md) - * [What is RBAC?](mobingi-alm/rbac/what-is-rbac.md) - * [Getting started](mobingi-alm/rbac/getting-started.md) - * [Working with RBAC](mobingi-alm/rbac/working-with-rbac.md) - * [Release history](mobingi-alm/rbac/release-history.md) - * [Example RBAC roles](mobingi-alm/rbac/example-rbac-roles.md) -* [CLI Reference](mobingi-alm/cli-reference/README.md) - * [Mobingi CLI Documentation](mobingi-alm/cli-reference/mobingi-cli-documentation.md) -* [API Reference](mobingi-alm/api-reference/README.md) - * [Overview](mobingi-alm/api-reference/overview.md) - * [API Reference](mobingi-alm/api-reference/api-reference.md) +* [Wave 公式ユーザーガイド](README.md) + +## Alphaus Wave for AWS + +* [Wave for AWS 概要](alphaus-wave-aws/about-wave-aws/README.md) + * [ダッシュボード](alphaus-wave-aws/about-wave-aws/dashboard.md) + * [レポート](alphaus-wave-aws/about-wave-aws/usage-reports.md) + * [リザーブドインスタンス](alphaus-wave-aws/about-wave-aws/reserved-instances.md) + * [Savings Plans](alphaus-wave-aws/about-wave-aws/savings-plans.md) + * [ご利用明細](alphaus-wave-aws/about-wave-aws/invoice.md) +* [AWS - 機能詳細](alphaus-wave-aws/aws-detail/README.md) + * [予算・通知設定](alphaus-wave-aws/aws-detail/budget.md) + * [その他明細情報の確認](alphaus-wave-aws/aws-detail/fee.md) + * [タグ機能の有効化](alphaus-wave-aws/aws-detail/tag.md) + * [レポートとCSVの比較](alphaus-wave-aws/aws-detail/reportcsv.md) + +## ALPHAUS WAVE FOR AZURE + +* [Wave for Azure 概要](alphaus-wave-azure/about-wave-azure/README.md) + * [ダッシュボード](alphaus-wave-azure/about-wave-azure/dashboard.md) + * [レポート](alphaus-wave-azure/about-wave-azure/reoport.md) + * [リザーブドインスタンス](alphaus-wave-azure/about-wave-azure/reservedinstance.md) + * [ご利用明細](alphaus-wave-azure/about-wave-azure/invoice.md) + +## ALPHAUS WAVE FOR GCP + +* [Wave for GCP 概要](alphaus-wave-gcp/about-wave-gcp/README.md) + * [ダッシュボード](alphaus-wave-gcp/about-wave-gcp/dashboard.md) + * [レポート](alphaus-wave-gcp/about-wave-gcp/report.md) + * [ご利用明細](alphaus-wave-gcp/about-wave-gcp/invoice.md) + +## 共通項目 + +* [各種設定・変更](for-all/settings.md) +* [ユーザーの管理](for-all/rbac.md) diff --git a/alphaus-wave-aws/about-wave-aws/README.md b/alphaus-wave-aws/about-wave-aws/README.md new file mode 100644 index 00000000..b216885f --- /dev/null +++ b/alphaus-wave-aws/about-wave-aws/README.md @@ -0,0 +1,36 @@ +--- +description: Alphaus Waveにログインする +--- + +# Wave for AWS 概要 + +Waveを利用することで日次、月次のコストデータをほぼリアルタイムで確認できます。更に予算設定を行うことで予算を超えている場合に通知を受け取るなど、コスト最適化にご活用いただけます。 + +[Wave ログインURL](https://app.alphaus.cloud/wave/login) + +![](../../.gitbook/assets/2021-01-03-19.41.14.gif) + +## **日次、月次グラフ** + +日次コストは過去31日分がグラフで表示されます。サービスのフィルタリングや日次、月次データの切り替えなどを行うことで日々のコスト状況を確認することができます。 + +**仕様上の注意点** + +1. EC2(Amazon Elastic Compute Cloud) 、RDS(Amazon Relational Database Service)などの転送量はAWS Data Transferとして別項目で表示されます。 +2. EBS(Amazon Elastic Block Store) の料金はEC2に含まれて表示されています。 + +{% content-ref url="dashboard.md" %} +[dashboard.md](dashboard.md) +{% endcontent-ref %} + +{% content-ref url="usage-reports.md" %} +[usage-reports.md](usage-reports.md) +{% endcontent-ref %} + +{% content-ref url="reserved-instances.md" %} +[reserved-instances.md](reserved-instances.md) +{% endcontent-ref %} + +{% content-ref url="invoice.md" %} +[invoice.md](invoice.md) +{% endcontent-ref %} diff --git a/alphaus-wave-aws/about-wave-aws/dashboard.md b/alphaus-wave-aws/about-wave-aws/dashboard.md new file mode 100644 index 00000000..abe2f5da --- /dev/null +++ b/alphaus-wave-aws/about-wave-aws/dashboard.md @@ -0,0 +1,25 @@ +--- +description: ダッシュボードについての説明です。 +--- + +# ダッシュボード + +ログインするとまずダッシュボード画面が表示されます。 + +### 1. お知らせ + +ページ上部にはMSPからの通知やお知らせ内容が記載されています。\ +記載が多い場合は右側の「もっと見る」ボタンから全体を閲覧することができます。 + +### 2. グラフ + +ダッシュボードのグラフはWaveに含まれている全AWSアカウントの合計値のグラフです。 + +![](../../.gitbook/assets/sukurnshotto-2021-09-08-100503png.png) + +レンジ: デイリー、マンスリーの切り替えが可能\ +カテゴリー: サービス、アカウントの切り替えが可能\ +トータル表示: チェックを入れると合計金額のラインが表示されます + +レンジで選択した粒度をベースにカテゴリーの選択に応じてサービス単位、アカウント単位での利用料金が閲覧できます。\ +\ diff --git a/alphaus-wave-aws/about-wave-aws/invoice.md b/alphaus-wave-aws/about-wave-aws/invoice.md new file mode 100644 index 00000000..ceebe4ac --- /dev/null +++ b/alphaus-wave-aws/about-wave-aws/invoice.md @@ -0,0 +1,14 @@ +# ご利用明細 + +ご利用明細のメニューをクリックすると新しいウィンドウが開きます。各月の右横ダウンロードボタンから月単位での請求データのCSVダウンロードが可能です。 + +![](../../.gitbook/assets/invoice-2.png) + +月を選択していただくと請求画面にてアカウントのサービス単位での利用料、ページ最下部にはその合計金額や最終的な請求額が記載されています。 + +![](../../.gitbook/assets/invoice-3.png) + +右上の歯車マークから請求書ページ内での表示言語の設定、Printボタンから印刷が可能です。 + + + diff --git a/alphaus-wave-aws/about-wave-aws/reserved-instances.md b/alphaus-wave-aws/about-wave-aws/reserved-instances.md new file mode 100644 index 00000000..b63ac4fc --- /dev/null +++ b/alphaus-wave-aws/about-wave-aws/reserved-instances.md @@ -0,0 +1,42 @@ +# リザーブドインスタンス + +購入したリザーブドインスタンスの管理ページです。 + +{% hint style="info" %} +プランによってはリザーブドインスタンスページは表示されません。 +{% endhint %} + +## 1. 購入済み + +購入済みのリザーブドインスタンスの一覧を確認できます。 + +![](../../.gitbook/assets/bannersandalertstowavepng.png) + +1行ごとに購入したRIの種類が表示され、ドロップダウンから詳細が確認できます。 + +ページ上部のアクティブな RI では有効期間内のリザーブドインスタンスが表示され、期限切れのタブにて過去のリザーブドインスタンスが確認できます。 + +#### 閲覧できる情報 + +* **サービス**:EC2、RDSなどRIを所有しているサービスが表示されます。 +* **インスタンスタイプ**:インスタンスファミリー、クラスからなるインスタンスのタイプが表示されます。 +* **OS**:該当するプラットフォームを表示しています。 +* **リージョン**:実際にインスタンスが稼働したAZが記載されます。 +* **量**:購入した数量が記載されます。 +* **Usage type**: +* **購入日**:該当のRIを購入した日時が記載されます(UTCベース) +* **期限:**RIの期限が記載されます(UTCベース) +* **アンブレンデッドプライス**:月額の課金額(前払いなし、一部前払い時のみ費用発生) +* **前払い金額**:購入時に前払いした金額。 +* **支払いオプション**:スタンダード・コンバーチブル、期間(1年・3年)、購入方法(全額前払い・一部前払い・前払いなし) +* **アカウント名**:RIを購入したアカウント名。 +* **アカウントID**:RIを購入したアカウントID。 + +![](../../.gitbook/assets/wave.png) + +フィルターで絞り込みが可能です。 + + + + + diff --git a/alphaus-wave-aws/about-wave-aws/savings-plans.md b/alphaus-wave-aws/about-wave-aws/savings-plans.md new file mode 100644 index 00000000..95f22d29 --- /dev/null +++ b/alphaus-wave-aws/about-wave-aws/savings-plans.md @@ -0,0 +1,30 @@ +# Savings Plans + +購入した Savings Plans の管理ページです。 + +{% hint style="info" %} +プランによっては Savings Plans ページは表示されません。 +{% endhint %} + +![](../../.gitbook/assets/wave-2%20%281%29.png) + +1行ごとにコミットした Savings Plans が表示され、ドロップダウンから詳細が確認できます。 + +ページ上部のアクティブな SP では有効期間内の Savings Plans が表示され、期限切れのタブにて過去の Savings Plans が確認できます。 + +* **タイプ:** EC2 Instance, Compute, AWS SageMaker +* **サービス**:EC2、RDSなどSPsの適用対象サービスが表示されます。 +* **インスタンスファミリー**:EC2 Instance SPs の場合は購入したインスタンスファミリーが表示されます。 +* **コミットメント**:時間あたりのコミット金額。 +* **リージョン**:対象のリージョン。 +* **アカウント名**:SPs を購入したアカウント名。 +* **アカウントID**:SPs を購入したアカウントID。 +* **購入日**:該当の SPs を購入した日時が記載されます(UTCベース) +* **期限:**該当の SPs の期限が記載されます(UTCベース) +* **支払いオプション**:全額前払い・一部前払い・前払いなし +* **期間:**1年もしくは3年 + +![](../../.gitbook/assets/wave-3%20%281%29.png) + +フィルターで絞り込みが可能です。 + diff --git a/alphaus-wave-aws/about-wave-aws/usage-reports.md b/alphaus-wave-aws/about-wave-aws/usage-reports.md new file mode 100644 index 00000000..38fcc440 --- /dev/null +++ b/alphaus-wave-aws/about-wave-aws/usage-reports.md @@ -0,0 +1,59 @@ +--- +description: Waveのレポートページについての説明です。 +--- + +# レポート + +レポートでは、AWSの各サービスの利用状況を細かい粒度で確認できます。 + +![](../../.gitbook/assets/2021-09-07-17.10.19.gif) + +{% hint style="info" %} +日次グラフ(デイリー)について + +更新タイミング:毎日\ +データ鮮度:約2日前のデータ\ +グラフに含まれない内容:即時課金の費用、サポート費用、RI/SPs購入費用、返金、クレジット\ +即時課金費用の例:RI/SPsの前払金、 Marketplaceの前払金、ドメインの購入費用など +{% endhint %} + +{% hint style="info" %} +月次グラフ(マンスリー)について + +更新タイミング:毎日\ +データ内容:当月1日〜約2日前までのデータの累積\ +\* 最終的に先月分の月次データ金額が確定するのは毎月5日前後です。\ +グラフに含まれない内容:即時課金の費用、サポート費用、返金、クレジット +{% endhint %} + +アカウント、グループ、タグ、の3つの単位からデータを閲覧できます。\ +それぞれの特徴は以下の通りです。 + +| | 説明 | +| ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| アカウント |

アカウントごとの詳細な利用金額を把握できます。
右上のドロップダウンより以下の内容が確認できます。

  1. アカウント情報の変更 - 表示されているアカウント名が変更できます。
  2. 予算設定 - 日別、月別での予算と通知の設定ができます。
  3. その他の明細情報 - 従量課金以外の利用料(Fee/Credit/Refund/Other fee)が確認できます
| +| グループ |

複数のアカウントをグルーピングすることで、任意のまとまりでの利用金額を把握できます。
まずはグループ の作成から、グループを作成しましょう。

| +| タグ |

タグとは、AWSの各リソースにKey、Valueの形式で付与することができるラベルです。
AWSで利用されているタグごとの詳細な利用金額を把握できます。タグ機能の設定方法は、タグ機能の有効化をご覧ください。

| + +### グラフ + +Waveのグラフは、AWSのサービスごとに使用状況を可視化します。 + +サービス単位ではなく、全サービスの合計を見たい場合は`トータル表示`のチェックボックスにチェックを入れてください。 + +フィルターを活用すれば、自分が見たいデータだけをグラフに表示できます。デフォルトでは、利用されている上位10個が選択されている状態です。 + +![](<../../.gitbook/assets/screen-shot-2018-11-26-at-15.44.35 (2).png>) + +### 月ごとのプロダクト単位の利用レポート + +![](../../.gitbook/assets/wave-2.png) + +グラフの下には、プロダクト別の詳細な利用レポートが表示されます。\ +利用レポートは月別、サービス別に確認できます。確認したい年月とAWSのサービスを選ぶことで、該当する明細が表示されます。‌ + +CSVデータが用意されている場合はレポート右上のダウンロードボタンからCSVデータとして出力できます。CSVファイルには、選択した月の全サービスの利用データが含まれます。 + +CSV形式でのダウンロードはアカウントとタグで利用することが可能です。\*グループ機能ではデータのダウンロードはできません。 + +UIのレポートとCSVデータの照らし合わせについては、[レポートとCSV](https://docs.alphaus.cloud/v/wave/alphaus-wave-aws/aws-detail/reportcsv)をご覧ください。 diff --git a/alphaus-wave-aws/about-wave/README.md b/alphaus-wave-aws/about-wave/README.md new file mode 100644 index 00000000..6d472aa6 --- /dev/null +++ b/alphaus-wave-aws/about-wave/README.md @@ -0,0 +1,33 @@ +--- +description: Mobingi Waveにログインする +--- + +# Wave for AWS 概要 + +Waveを利用することで日次、月次のコストデータをほぼリアルタイムで確認できます。更に予算設定を行うことで予算を超えている場合に通知を受け取るなど、コスト最適化にご活用いただけます。 + +[Wave ログインURL](https://app.alphaus.cloud/wave/login) + +![](../../.gitbook/assets/2021-01-03-19.41.14.gif) + +#### **日次、月次グラフ** + +日次コストは過去31日分がグラフで表示されます。サービスのフィルタリングや日次、月次データの切り替えなどを行うことで日々のコスト状況を確認することができます。 + +**仕様上の注意点** + +1. EC2\(Amazon Elastic Compute Cloud\) 、RDS\(Amazon Relational Database Service\)などの転送量はAWS Data Transferとして別項目で表示されます。 +2. EBS\(Amazon Elastic Block Store\) の料金はEC2に含まれて表示されています。 + + + +{% page-ref page="./" %} + +{% page-ref page="usage-reports.md" %} + +{% page-ref page="reserved-instances.md" %} + +{% page-ref page="invoice.md" %} + + + diff --git a/alphaus-wave-aws/about-wave/dashboard.md b/alphaus-wave-aws/about-wave/dashboard.md new file mode 100644 index 00000000..2e17aae1 --- /dev/null +++ b/alphaus-wave-aws/about-wave/dashboard.md @@ -0,0 +1,27 @@ +--- +description: ダッシュボードについての説明です。 +--- + +# ダッシュボード + +ログインするとまずダッシュボード画面が表示されます。 + +### 1. お知らせ + +ページ上部にはMSPからの通知やお知らせ内容が記載されています。 +記載が多い場合は右側の「もっと見る」ボタンから全体を閲覧することができます。 + +### 2. グラフ + +ダッシュボードのグラフはWaveに含まれている全AWSアカウントの合計値のグラフです。 + +![](../../.gitbook/assets/sukurnshotto-2021-09-08-100503png.png) + +レンジ: デイリー、マンスリーの切り替えが可能 +カテゴリー: サービス、アカウントの切り替えが可能 +トータル表示: チェックを入れると合計金額のラインが表示されます + +レンジで選択した粒度をベースにカテゴリーの選択に応じてサービス単位、アカウント単位での利用料金が閲覧できます。 + + + diff --git a/alphaus-wave-aws/about-wave/invoice.md b/alphaus-wave-aws/about-wave/invoice.md new file mode 100644 index 00000000..158626e8 --- /dev/null +++ b/alphaus-wave-aws/about-wave/invoice.md @@ -0,0 +1,16 @@ +# ご利用明細 + +{% hint style="info" %} +こちらの機能は Wave 無償版 をご利用のお客さまのみご利用できます。 +{% endhint %} + +月々の請求データを確認できます。 +PDFファイルとして請求書をダウンロードできます。 + +{% hint style="info" %} +2019年4月以前からご利用のお客様へ: +請求書の閲覧方法が2019年4月から新しくなりました。 `新しい請求明細` をクリックすることで最新の請求データを確認できます。 +{% endhint %} + + + diff --git a/alphaus-wave-aws/about-wave/reserved-instances.md b/alphaus-wave-aws/about-wave/reserved-instances.md new file mode 100644 index 00000000..a45e2bc1 --- /dev/null +++ b/alphaus-wave-aws/about-wave/reserved-instances.md @@ -0,0 +1,63 @@ +# リザーブドインスタンス + +購入したリザーブドインスタンスの状態を可視化します。 +RIレコメンデーション機能を備えており、さらなるコスト削減に貢献します。 + +{% hint style="info" %} +「RI適用状況」「RIレコメンデーション」は追加プランです。 +{% endhint %} + +## 1. 購入済み + +購入済みのリザーブドインスタンスの一覧を確認できます。 + +![](../../.gitbook/assets/screen-shot-2018-11-26-at-17.03.56.png) + +## 2. 適用状況 + +「適用状況」タブをクリックすると、現在動いているインスタンスに対しての保有しているRIの適用状況が閲覧できます。 + +![](../../.gitbook/assets/mobingi_wave-2_png.png) + +選択した月の1ヶ月の適用状況が表示されます。 + +* **サービス**:EC2、RDSなどRIを所有しているサービスが表示されます。 +* **タイプ**:インスタンスタイプが表示されます。`Size Flexible`の記載があるものはRIの柔軟性があるものです。 +* **OS**:該当するプラットドームを表示しています。 +* **アベイラビリティ**ーゾーン:実際にインスタンスが稼働したAZが記載されます。 +* **総稼働時間**:該当のインスタンスがオンデマンド、RIが適用された稼働の合計時間が表示されます。 +* **適用率**:総稼働時間に対して、RIが適用された割合を表示しています。 +* **アカウント名**:インスタンスに該当するアカウント名。 +* **アカウントID**:インスタンスに該当するアカウントID。 + +![](../../.gitbook/assets/mobingi_wave-3.png) + +ドロップダウンで詳細が表示されます。 + +* **Normalization factor**:正規化係数 +* **Normalized usage quantity**:正規化された利用量 +* **Normalized covered quantity**:正規化された適用時間 + +![](../../.gitbook/assets/mobingi_wave-4.png) + +フィルターで絞り込みが可能です。 + +## 3. レコメンド + +適用状況を元に、リザーブドインスタンスの最大の購入可能台数を表示しています。 + +![](../../.gitbook/assets/mobingi_wave-6.png) + +**①** 今現在オンデマンドで課金されているインスタンスの合計料金 +**②** 「レコメンド」ページの RIを全て購入し、100%適用された場合の削減後のコスト +**③** 「レコメンド」ページの RIを全て購入し、100%適用された場合の削減コスト +**④** ③の内容で1年間削減された場合の想定削減額 + +支払いオプションで「全額前払い」「一部前払い」「前払いなし」を選択するとその支払い形態ごとの削減コストのシミュレーションが表示されます。 + +![](../../.gitbook/assets/mobingi_wave-7%20%281%29.png) + +各行のドロップダウンから詳細の閲覧が可能です。 + + + diff --git a/alphaus-wave-aws/about-wave/usage-reports.md b/alphaus-wave-aws/about-wave/usage-reports.md new file mode 100644 index 00000000..8971fe88 --- /dev/null +++ b/alphaus-wave-aws/about-wave/usage-reports.md @@ -0,0 +1,96 @@ +--- +description: Waveのレポートページについての説明です。 +--- + +# レポート + +レポートでは、AWSの各サービスの利用状況を細かい粒度で確認できます。 + +![](../../.gitbook/assets/2021-09-07-17.10.19.gif) + +{% hint style="info" %} +日次データ(デイリー)について + +更新タイミング:毎日 +データ鮮度:約2日前のデータ +グラフに含まれない内容:即時課金の費用、サポート費用、RI/SPs購入費用、返金、クレジット +即時課金費用の例:RI/SPsの前払金、 Marketplaceの前払金、ドメインの購入費用など +{% endhint %} + +{% hint style="info" %} +月次データ(マンスリー)について + +更新タイミング:月次 +データ内容:当月1日〜約2日前までのデータの累積 +\* 最終的に先月分の月次データ金額が確定するのは毎月5日前後です。 +グラフに含まれない内容:即時課金の費用、サポート費用、返金、クレジット +{% endhint %} + +アカウント、グループ、タグ、の3つの単位からデータを閲覧できます。 +それぞれの特徴は以下の通りです。 + + + + + + + + + + + + + + + + + + + + + + +
説明
アカウント +

アカウントごとの詳細な利用金額を把握できます。 +
右上のドロップダウンより以下の内容が確認できます。

+
    +
  1. アカウント情報の変更 + - 表示されているアカウント名が変更できます。
  2. +
  3. 予算設定 - + 日別、月別での予算と通知の設定ができます。
  4. +
  5. その他の明細情報 - + 従量課金以外の利用料(Fee/Credit/Refund/Other + fee)が確認できます
  6. +
+
グループ複数のアカウントをグルーピングすることで、任意のまとまりでの利用金額を把握できます。 +
まずはグループ の作成から、グループを作成しましょう。
タグタグとは、AWSの各リソースにKey、Valueの形式で付与することができるラベルです。 +
AWSで利用されているタグごとの詳細な利用金額を把握できます。タグ機能の設定方法は、 + タグ機能の有効化をご覧ください。
+ +### グラフ + +Waveのグラフは、AWSのサービスごとに使用状況を可視化します。 + +サービス単位ではなく、全サービスの合計を見たい場合は`トータル表示`のチェックボックスにチェックを入れてください。 + +フィルターを活用すれば、自分が見たいデータだけをグラフに表示できます。デフォルトでは、利用されている上位10個が選択されている状態です。 + +![](../../.gitbook/assets/screen-shot-2018-11-26-at-15.44.35%20%282%29.png) + +### 月ごとのプロダクト単位の利用レポート + +![](../../.gitbook/assets/wave-2.png) + +グラフの下には、プロダクト別の詳細な利用レポートが表示されます。 +利用レポートは月別、サービス別に確認できます。確認したい年月とAWSのサービスを選ぶことで、該当する明細が表示されます。‌ + +CSVデータが用意されている場合はレポート右上のダウンロードボタンからCSVデータとして出力できます。CSVファイルには、選択した月の全サービスの利用データが含まれます。 + +CSV形式でのダウンロードはアカウントとタグで利用することが可能です。\*グループ機能ではデータのダウンロードはできません。 + +UIのレポートとCSVデータの照らし合わせについては、[レポートとCSV](https://docs.alphaus.cloud/v/wave/alphaus-wave-aws/aws-detail/reportcsv)をご覧ください。 + diff --git a/alphaus-wave-aws/aws-detail/README.md b/alphaus-wave-aws/aws-detail/README.md new file mode 100644 index 00000000..ff072873 --- /dev/null +++ b/alphaus-wave-aws/aws-detail/README.md @@ -0,0 +1,12 @@ +# AWS - 機能詳細 + +概要に記載されていないより細かい機能についての説明です。 + +{% page-ref page="budget.md" %} + +{% page-ref page="fee.md" %} + +{% page-ref page="reportcsv.md" %} + +{% page-ref page="tag.md" %} + diff --git a/alphaus-wave-aws/aws-detail/budget.md b/alphaus-wave-aws/aws-detail/budget.md new file mode 100644 index 00000000..873fd36a --- /dev/null +++ b/alphaus-wave-aws/aws-detail/budget.md @@ -0,0 +1,30 @@ +--- +description: レポートページから各AWSアカウントに設定できる予算通知の使用・設定方法について記載しています。 +--- + +# 予算・通知設定 + +メニューのレポート > 各アカウントの右上のドロップダウンから予算設定をクリックし、予算と通知の設定が可能です。 + +**AWSからのデータ更新のタイミングに依存するため、リアルタイムではなく、平均して1-2日前のデータを元に予算超過を確認します。** + +![](../../.gitbook/assets/2021-09-08-10.10.06.gif) + +各アカウントに対して、それぞれ以下項目1つずつの設定となります。 + +設定できる項目 + +| 通知先の設定 | 説明 | +| ------- | ------------------------------------------------- | +| メールアドレス | 予算を超過した場合メールで通知が飛びます | +| Slack |

Webhook URLを指定していただくことによりSlackに通知が
飛びます

| + +| 予算の設定 | 説明 | +| ------ | ---------------------------------------------------------------------------- | +| 日ごとの設定 |

1日あたりの予算をドルベースでの固定額、または前日比の
割合で指定できます。

| +| 月ごとの設定 |

月単位での予算の設定が可能です。

毎月1日から末日までを対象とし、月が切り替わると利用料
はゼロとしてカウントされます。

| + +2日前までのデータを元に、予算をオーバーしたタイミングで指定した先に通知されます。\ +メールで設定した場合は下記のようなメールが届きます。 + +![](../../.gitbook/assets/nosurumonoka5198tsukarimashita.png) diff --git a/alphaus-wave-aws/aws-detail/fee.md b/alphaus-wave-aws/aws-detail/fee.md new file mode 100644 index 00000000..84002106 --- /dev/null +++ b/alphaus-wave-aws/aws-detail/fee.md @@ -0,0 +1,41 @@ +# その他明細情報の確認 + +Reserved Instanceの前払い金や返金、AWSから付与されたクレジットなど、通常の請求に載らない明細情報が確認できます。 + +これらの一時金は毎月7日頃に確定します。 + +レポートから、閲覧したいアカウントを選択します。画面右上のドロップダウンメニュー内`その他の明細上を確認`をクリックすると従量課金分以外の一時的な購入費用や割引情報が閲覧できます。 + + + + + + + + + + + + + + + + + + + + + + + + + + +
分類具体例・説明
Fee +

Reserved Instance の前払い料金

+

Marketplace の前払い料金

+

サポート料金 など 

+
CreditAWSで適用されたクレジットメモの情報
RefundSLA違反による返金情報など
Other Feesその他の従量課金以外の費用、項目
+ + + diff --git a/alphaus-wave-aws/aws-detail/reportcsv.md b/alphaus-wave-aws/aws-detail/reportcsv.md new file mode 100644 index 00000000..21d6e9d0 --- /dev/null +++ b/alphaus-wave-aws/aws-detail/reportcsv.md @@ -0,0 +1,34 @@ +# レポートとCSVの比較 + +このページではダッシュボードのレポートとダウンロードしたCSVを照らし合わせ、各項目について説明しています。 + +レポートとCSVで同義で違う単語や略称で表示されている項目があります。 + +下の図で同じ色で囲われている部分が同様の項目となります。 + +![](../../.gitbook/assets/csv_report.png) + +1. AccountID: この明細項目を使用したAWSアカウントの IDです。 + * レポートはアカウント単位での表示・ダウンロードなので1つのCSVにつき1つのIDのみ表示されます。 +2. ServiceCode: 明細項目の対象になる製品の製品コードです。 + * Elastic Compute Cloudなど、尚、CSVでは `Elastic Compute Cloud` は `AmazonEC2` 、`Simple Storage Service` は `AmazonS3`などの製品コードで表示されます。 +3. CostBeforeTax: 税抜きの非ブレンド月次利用額です。 + * レポートは小数点以下第2位まで表示されます。この例ではレポート上は `$21.18` CSVでは `21.18966134` で一致しています。 +4. Region: サービスを利用したリージョンです。 + * この例ではダッシュボードは `Asia Pacific(Tokyo)` と表示されており、CSVだと`ap-northeast-1` となります。どちらとも東京リージョンを指しています。 +5. UsageQuantity: 指定した期間に発生した使用量です。 + * この例ではレポート上は `1,394.05` CSVでは `1,394.056667` で一致しています。 +6. InstanceType: インスタンスの種類です。 + * この例ではレポート、CSVともに `t2.micro` で一致しています。 +7. ItemDescription: 明細項目タイプの説明です。例として、使用料の明細項目は、特定の期間に発生した使用タイプを要約したものです。 + * この例ではレポート、CSVともに `$0.0152 per on-demand t2.micro EC2 instance hour (or partial hour)` で一致しています。 + +その他に、CSVにのみ記載されている項目についての説明です。 + +* UsageType: この明細項目の使用状況の詳細です。 + * 例: `APN1-BoxUsage:m2.2xlarge` は、アジアパシフィック 東京リージョン の M2 ハイメモリダブルエクストララージインスタンスについて説明します。 +* Operation: この明細項目の対象となる特定の AWS オペレーションです。 + * 例: `RunInstances` の値は Amazon EC2 インスタンスのオペレーションを示します。 +* ProductFamily + * 製品タイプのカテゴリです。 + diff --git a/alphaus-wave-aws/aws-detail/tag.md b/alphaus-wave-aws/aws-detail/tag.md new file mode 100644 index 00000000..93ec6ef7 --- /dev/null +++ b/alphaus-wave-aws/aws-detail/tag.md @@ -0,0 +1,16 @@ +# タグ機能の有効化 + +## タグ機能の有効化 + +Wave上ではデフォルトでタグ(TagKey)が`inactive`となっているので、クリックして`Active`にします。画面上で有効にしたいTagValueを選択します。 + +![](../../.gitbook/assets/snip20180904_2.png) + +1つのTagKeyにつき50個までTagValueを選択できます。50個以上TagValueがある場合に`すべて選択`をクリックすると上位50個が選択されます。 + +![](../../.gitbook/assets/snip20180904_3.png) + +`Active`にした2日後からデータの集計が開始されます。 + + + diff --git a/alphaus-wave-aws/detail-check.md b/alphaus-wave-aws/detail-check.md new file mode 100644 index 00000000..8eafa23f --- /dev/null +++ b/alphaus-wave-aws/detail-check.md @@ -0,0 +1,14 @@ +# 明細の確認方法 + +[レポート](https://docs.mobingi.com/v/wave/mobingi-wave/about-wave/usage-reports)では、AWSの明細を確認できます。 +複数のAWSアカウントを組織内で利用している場合、画面左側に全てのアカウントがリストアップされますので、明細を確認したいアカウントを選択します。 +グラフの直下に`月別およびプロダクト別の利用レポート`が表示されます。 + +![](../.gitbook/assets/screen-shot-2018-11-26-at-16.27.17.png) + +明細は月別、サービス別に確認できます。明細を確認したい年月とAWSのサービスを選ぶことで、該当する明細が表示されます。 + +年月横のボタンからCSVデータとしてダウンロードできます。CSVファイルには、選択した月の全サービスの利用データが含まれます。 + + + diff --git a/alphaus-wave-azure/about-wave-azure/README.md b/alphaus-wave-azure/about-wave-azure/README.md new file mode 100644 index 00000000..8eddc110 --- /dev/null +++ b/alphaus-wave-azure/about-wave-azure/README.md @@ -0,0 +1,14 @@ +# Wave for Azure 概要 + +Waveを利用することで日次、月次のコストデータをほぼリアルタイムで確認できます。 +ログイン後左上のドロップダウンから Google Cloud Platform を選択するとデータが表示されます。 +[Wave ログインURL](https://app.alphaus.cloud/wave/login) + +**月次グラフ** + +月次グラフは過去12ヶ月分表示されます。 + +**仕様上の注意点** + +1. グラフは従量課金の費用のみとなり、Marketplaceでの購入や返金情報などは載っていません。 + diff --git a/alphaus-wave-azure/about-wave-azure/dashboard.md b/alphaus-wave-azure/about-wave-azure/dashboard.md new file mode 100644 index 00000000..01c53ac6 --- /dev/null +++ b/alphaus-wave-azure/about-wave-azure/dashboard.md @@ -0,0 +1,2 @@ +# ダッシュボード + diff --git a/alphaus-wave-azure/about-wave-azure/invoice.md b/alphaus-wave-azure/about-wave-azure/invoice.md new file mode 100644 index 00000000..c3c2eb27 --- /dev/null +++ b/alphaus-wave-azure/about-wave-azure/invoice.md @@ -0,0 +1,10 @@ +# ご利用明細 + +ご利用明細のメニューをクリックすると新しいウィンドウが開きます。各月の右横ダウンロードボタンから月単位での請求データのCSVダウンロードが可能です。 + +![](../../.gitbook/assets/invoice-2.png) + +月を選択すると各サブスクリプションのサービス単位での利用料等が記載され、最下部にその合計金額と最終的な請求額が記載されています。 + +右上の歯車マークから請求書ページ内での表示言語の設定、Printボタンから印刷が可能です。 + diff --git a/alphaus-wave-azure/about-wave-azure/reoport.md b/alphaus-wave-azure/about-wave-azure/reoport.md new file mode 100644 index 00000000..ae16dfeb --- /dev/null +++ b/alphaus-wave-azure/about-wave-azure/reoport.md @@ -0,0 +1,31 @@ +# レポート + +レポートでは、Azure の各サブスクリプションの利用状況をグラフで確認できます。 + +### グラフ + +Waveのグラフは、Azure のサービスごとに使用状況を可視化します。 + +サービス単位ではなく、全サービスの合計を見たい場合は`トータル表示`のチェックボックスにチェックを入れてください。 + +フィルターを活用すれば、自分が見たいデータだけをグラフに表示できます。デフォルトでは、利用されている上位10個が選択されている状態です。 + +![](../../.gitbook/assets/wave-4.png) + +{% hint style="info" %} +日次グラフ(デイリー)について + +更新タイミング:毎日 +データ鮮度:約2日前のデータ +グラフに含まれない内容:Marketplaceの費用、ドメイン購入費用、サポート費用、返金など +{% endhint %} + +{% hint style="info" %} +月次グラフ(マンスリー)について + +更新タイミング:毎日 +データ内容:当月1日〜約2日前までのデータの累積 +\* 最終的に先月分の月次データ金額が確定するのは請求金額が確定した後です。 +グラフに含まれない内容:Marketplaceの費用、ドメイン購入費用、サポート費用、返金など +{% endhint %} + diff --git a/alphaus-wave-azure/about-wave-azure/reservedinstance.md b/alphaus-wave-azure/about-wave-azure/reservedinstance.md new file mode 100644 index 00000000..82438ef1 --- /dev/null +++ b/alphaus-wave-azure/about-wave-azure/reservedinstance.md @@ -0,0 +1,2 @@ +# リザーブドインスタンス + diff --git a/alphaus-wave-azure/untitled.md b/alphaus-wave-azure/untitled.md new file mode 100644 index 00000000..50940801 --- /dev/null +++ b/alphaus-wave-azure/untitled.md @@ -0,0 +1,2 @@ +# Untitled + diff --git a/alphaus-wave-gcp/about-wave-gcp/README.md b/alphaus-wave-gcp/about-wave-gcp/README.md new file mode 100644 index 00000000..8cd00c77 --- /dev/null +++ b/alphaus-wave-gcp/about-wave-gcp/README.md @@ -0,0 +1,16 @@ +# Wave for GCP 概要 + +Waveを利用することで日次、月次のコストデータをほぼリアルタイムで確認できます。 +ログイン後左上のドロップダウンから Google Cloud Platform を選択するとデータが表示されます。 +[Wave ログインURL](https://app.alphaus.cloud/wave/login) + +![](../../.gitbook/assets/2021-09-08-16.20.44.gif) + +#### **日次、月次グラフ** + +日次コストは過去31日分がグラフで表示されます。サービスのフィルタリングや日次、月次データの切り替えなどを行うことで日々のコスト状況を確認することができます。 + +**仕様上の注意点** + +1. グラフは従量課金の費用のみとなり、Marketplaceでの購入や返金情報などは載っていません。 + diff --git a/alphaus-wave-gcp/about-wave-gcp/dashboard.md b/alphaus-wave-gcp/about-wave-gcp/dashboard.md new file mode 100644 index 00000000..aa753c84 --- /dev/null +++ b/alphaus-wave-gcp/about-wave-gcp/dashboard.md @@ -0,0 +1,21 @@ +# ダッシュボード + +ログインするとまずダッシュボード画面が表示されます。左上のクラウド選択画面からGoogle Cloud Platformを選択してください。 + +### 1. お知らせ + +ページ上部にはMSPからの通知やお知らせ内容が記載されています。\ +記載が多い場合は右側の「もっと見る」ボタンから全体を閲覧することができます。 + +### 2. グラフ + +ダッシュボードのグラフはWaveに含まれている全プロジェクトの合計値のグラフです。 + +![](../../.gitbook/assets/sukurnshotto-2021-09-08-162822png.png) + +レンジ: デイリー、マンスリーの切り替えが可能\ +カテゴリー: サービス、アカウントの切り替えが可能\ +トータル表示: チェックを入れると合計金額のラインが表示されます + +レンジで選択した粒度をベースにカテゴリーの選択に応じてサービス単位、アカウント(プロジェクト)単位での利用料金が閲覧できます。\ +\ diff --git a/alphaus-wave-gcp/about-wave-gcp/invoice.md b/alphaus-wave-gcp/about-wave-gcp/invoice.md new file mode 100644 index 00000000..4338fe01 --- /dev/null +++ b/alphaus-wave-gcp/about-wave-gcp/invoice.md @@ -0,0 +1,12 @@ +# ご利用明細 + +ご利用明細のメニューをクリックすると新しいウィンドウが開きます。各月の右横ダウンロードボタンから月単位での請求データのCSVダウンロードが可能です。 + +![](../../.gitbook/assets/invoice-2.png) + +月を選択すると各プロジェクトのサービス単位での利用料等が記載され、最下部にその合計金額と最終的な請求額が記載されています。 + +![](../../.gitbook/assets/2021-09-08-16.44.16.gif) + +右上の歯車マークから請求書ページ内での表示言語の設定、Printボタンから印刷が可能です。 + diff --git a/alphaus-wave-gcp/about-wave-gcp/report.md b/alphaus-wave-gcp/about-wave-gcp/report.md new file mode 100644 index 00000000..96a7a5d3 --- /dev/null +++ b/alphaus-wave-gcp/about-wave-gcp/report.md @@ -0,0 +1,31 @@ +# レポート + +レポートでは、GCPの各プロジェクトの利用状況をグラフで確認できます。 + +### グラフ + +Waveのグラフは、GCPのサービスごとに使用状況を可視化します。 + +サービス単位ではなく、全サービスの合計を見たい場合は`トータル表示`のチェックボックスにチェックを入れてください。 + +フィルターを活用すれば、自分が見たいデータだけをグラフに表示できます。デフォルトでは、利用されている上位10個が選択されている状態です。 + +![](../../.gitbook/assets/wave-3.png) + +{% hint style="info" %} +日次グラフ(デイリー)について + +更新タイミング:毎日 +データ鮮度:約2日前のデータ +グラフに含まれない内容:Marketplaceの費用、ドメイン購入費用、サポート費用、返金など +{% endhint %} + +{% hint style="info" %} +月次グラフ(マンスリー)について + +更新タイミング:毎日 +データ内容:当月1日〜約2日前までのデータの累積 +\* 最終的に先月分の月次データ金額が確定するのは請求金額が確定した後です。 +グラフに含まれない内容:Marketplaceの費用、ドメイン購入費用、サポート費用、返金など +{% endhint %} + diff --git a/alphaus-wave-gcp/untitled.md b/alphaus-wave-gcp/untitled.md new file mode 100644 index 00000000..50940801 --- /dev/null +++ b/alphaus-wave-gcp/untitled.md @@ -0,0 +1,2 @@ +# Untitled + diff --git a/for-all/rbac.md b/for-all/rbac.md new file mode 100644 index 00000000..4479eb4b --- /dev/null +++ b/for-all/rbac.md @@ -0,0 +1,45 @@ +# ユーザーの管理 + +### **機能概要** + +Role Based Access Control \(RBAC\) はサブユーザーを作成し、サブユーザーごとに権限を指定できる機能です。 + +![](../.gitbook/assets/wavetoslackpj-alphausjig-sawjig-sawpng.png) + +### **設定方法** + +1. Wave にログイン +2. Wave 右上に表示されるロゴから「設定」をクリック +3. 左下の「ユーザーの管理」から「ユーザー管理画面を開く」をクリック +4. ユーザー管理画面が別タブで開くので、まずは「ADD ROLE」をクリックし権限を作成 +5. 作成した権限をサブユーザー作成時に紐付けることで、サブユーザーに対して任意の権限を付与することができます。 + +![ロール作成画面](https://downloads.intercomcdn.com/i/o/246154906/47589e209f6ce4a77687d4e9/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2020-09-15+19.00.42.png) + +![サブユーザー作成画面、ここで作成した権限を紐付け可能](https://downloads.intercomcdn.com/i/o/246156626/525429de1d7dcfa4bd6ad183/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2020-09-15+19.06.33.png) + +#### **ロールの各項目一覧** + +Wave - Waveに関連する権限 + +User - ユーザー管理画面で Waveアカウント/ユーザー作成、閲覧、編集する権限 + +Role - ユーザー管理画面で権限を作成、閲覧、編集する権限 + +#### Wave 配下の各権限の説明 + +| Action | 解説 | +| :--- | :--- | +| Admin | 全ページ閲覧、編集可能な管理者権限 | +| Account \(ready only\) | 選択されたアカウントのみ参照可能 | +| Account settings - Read & Write Access | アカウント名称や予算設定機能の編集が可能 | +| Account settings - Read Only | アカウント名称等の参照権限 | +| Download bulk | 一括ダウンロードCSVの有効化 | +| Group - Read & Write Access | グループの作成や編集権限 | +| Group - Read Only | グループの参照権限 | +| Ri \(read only\) | 所有している RI の参照権限 | +| Settings - Read & Write Access | アカウントの設定(言語変更、パスワード変更、2段階認証など)の変更権限 | +| Settings - Read Only | アカウントの設定(言語変更、パスワード変更、2段階認証など)の参照権限 | +| Tags - Read & Write Access | コスト配分タグの編集権限 | +| Tags - Read Only | コスト配分タグの参照権限 | + diff --git a/for-all/settings.md b/for-all/settings.md new file mode 100644 index 00000000..89fdf047 --- /dev/null +++ b/for-all/settings.md @@ -0,0 +1,43 @@ +# 各種設定・変更 + +コンソール右上のドロップダウンメニューから設定を選択します。 + +![](<../.gitbook/assets/wave (1).png>) + +### 設定画面でできること + +1. 環境設定 + * 言語設定:日本語、英語に対応しています。\ + +2. アカウント設定 + + * パスワードの変更\ + 現在のパスワードを入力することにより新しいパスワードを指定できます。現在のパスワードを忘れてしまった場合はお手数ですが、[ログインページより再設定](https://app.alphaus.cloud/wave/login)をお願いいたします。 + + +3. ユーザーの管理 + + * ユーザー管理画面に遷移します。サブユーザーの作成や権限の振り分けが可能です。詳しくは[こちら](https://docs.alphaus.cloud/v/wave/for-all/rbac)をご覧ください。 + + +4. セキュリティ + + * 2段階認証を有効化できます。 + + +5. APIアクセストークン + * API利用時のアクセストークンが作成できます。\ + +6. IdP設定 + * SAML認証を使用したシングルサインオンの設定が可能です。 + +## パスワードの再設定 + +パスワードを忘れた際にログインページからのリンクで再設定できます。 + +![](../.gitbook/assets/wave-5.png) + +1. `パスワードの再設定`をクリック +2. メールアドレスを入力 +3. メールに通知された6桁の番号を入力して認証 +4. パスワードを再設定 diff --git a/mobingi-alm/alm-agent/README.md b/mobingi-alm/alm-agent/README.md deleted file mode 100644 index be442395..00000000 --- a/mobingi-alm/alm-agent/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# ALM Agent - -{% page-ref page="overview.md" %} - -{% page-ref page="../getting-started/" %} - -{% page-ref page="agent.md" %} - -{% page-ref page="commands.md" %} - -{% page-ref page="add-ons.md" %} - -{% page-ref page="contributing.md" %} - diff --git a/mobingi-alm/alm-agent/add-ons.md b/mobingi-alm/alm-agent/add-ons.md deleted file mode 100644 index f5a5ff93..00000000 --- a/mobingi-alm/alm-agent/add-ons.md +++ /dev/null @@ -1,20 +0,0 @@ -# Add-ons - -In order to support various unique functions for different cloud providers, we provide add-ons. - -## AWS {#aws} - -The ALM-agent enables you to perform specific actions when Auto Scaling Instances or Spot Instances are terminated. - -### How ALM Agent Works - -* Deregisters the instance from the load balancer. - * After the instance is deregistered, it no longer receives traffic from the load balancer. -* Executes the specified script. - * If you put the script named `pre_shutdown.sh` under the root \(`/`\) folder in the Docker Image, the ALM-agent executes the script. - -### Conditions - -* Auto Scaling puts the instance into `Terminating:Wait`. -* Amazon EC2 will interrupt Spot Instances. - diff --git a/mobingi-alm/alm-agent/agent.md b/mobingi-alm/alm-agent/agent.md deleted file mode 100644 index 3c8bca29..00000000 --- a/mobingi-alm/alm-agent/agent.md +++ /dev/null @@ -1,50 +0,0 @@ -# Agent - -## Usage {#usage} - -ALM-agent is a very simple and easy-to-use tool. It can be used like a CLI \(not a Daemon\). - -Executing ALM-agent will start the containers, the code will be deployed, and the command will be terminated. - -To view a list of the available options and commands at any time, just run `alm-agent` with `--help, -h` arguments: - -```bash -$ alm-agent --help -NAME: - alm-agent - -USAGE: - alm-agent [global options] command [command options] [arguments...] - -VERSION: - v0.3.1504270893 - -COMMANDS: - register initialize alm-agent and start containers - ensure start or update containers - stop stop active container - noop run without container actions. - help, h Shows a list of commands or help for one command - -GLOBAL OPTIONS: - --autoupdate, -U auto update before run - --disablereport, -N Do not send crash report to rollbar. - --provider Provider, -P Provider set Provider (default: "aws") - --verbose, -V show debug logs - --help, -h show help - --version, -v print the version -``` - -## Global Options {#global-options} - -* _--autoupdate, -U_ Before running, ALM-agent checks the new version and updates the agent itself if there is a new version. \(self-update\) -* _--disablereport, -N_ We are using rollbar for error monitoring. If you do not want to send crash report to rollbar, use this option. -* _--provider Provider, -P Provider_ set Provider \(default: "aws", available providers: "aws", "alicloud", "k5", "localtest"\) -* _--verbose, -V_ show debug logs -* _--help, -h_ show help -* _--version, -v_ print the version - - - - - diff --git a/mobingi-alm/alm-agent/commands.md b/mobingi-alm/alm-agent/commands.md deleted file mode 100644 index 8a29049e..00000000 --- a/mobingi-alm/alm-agent/commands.md +++ /dev/null @@ -1,103 +0,0 @@ -# Commands - -## register {#register} - -Initialize ALM-agent self register and start containers. - -The necessary folders for ALM-agent are created, and if the provider is any value other than `localtest`, cron job will be created. Then, ALM-agent starts the containers. - -```bash -$ alm-agent register -h -NAME: - alm-agent register - initialize alm-agent and start containers - -USAGE: - alm-agent register [command options] [arguments...] - -OPTIONS: - --config FILE, -c FILE Load configuration from FILE (default: "/opt/mobingi/etc/alm-agent.cfg") - --serverconfig URL, --sc URL Load ServerConfig from URL. ask to API by default -``` - -## ensure {#ensure} - -Start or update containers. - -```bash -$ alm-agent ensure -h -NAME: - alm-agent ensure - start or update containers - -USAGE: - alm-agent ensure [command options] [arguments...] - -OPTIONS: - --config FILE, -c FILE Load configuration from FILE (default: "/opt/mobingi/etc/alm-agent.cfg") - --serverconfig URL, --sc URL Load ServerConfig from URL. ask to API by default -``` - -## stop {#stop} - -Stop active containers. - -```bash -$ alm-agent stop -h -NAME: - alm-agent stop - stop active container - -USAGE: - alm-agent stop [command options] [arguments...] - -OPTIONS: - --config FILE, -c FILE Load configuration from FILE (default: "/opt/mobingi/etc/alm-agent.cfg") - --serverconfig URL, --sc URL Load ServerConfig from URL. ask to API by default -``` - -## noop {#noop} - -Run without container actions. - -```bash -$ alm-agent noop -h -NAME: - alm-agent noop - run without container actions. - -USAGE: - alm-agent noop [command options] [arguments...] - -OPTIONS: - --config FILE, -c FILE Load configuration from FILE (default: "/opt/mobingi/etc/alm-agent.cfg") - --serverconfig URL, --sc URL Load ServerConfig from URL. ask to API by default -``` - -## help {#help} - -Shows a list of commands or help for one command. - -```bash -$ alm-agent help -NAME: - alm-agent - -USAGE: - alm-agent [global options] command [command options] [arguments...] - -VERSION: - v0.3.1504270893 - -COMMANDS: - register initialize alm-agent and start containers - ensure start or update containers - stop stop active container - noop run without container actions. - help, h Shows a list of commands or help for one command - -GLOBAL OPTIONS: - --autoupdate, -U auto update before run - --disablereport, -N Do not send crash report to rollbar. - --provider Provider, -P Provider set Provider (default: "aws") - --verbose, -V show debug logs - --help, -h show help - --version, -v print the version -``` - diff --git a/mobingi-alm/alm-agent/contributing.md b/mobingi-alm/alm-agent/contributing.md deleted file mode 100644 index 6012f435..00000000 --- a/mobingi-alm/alm-agent/contributing.md +++ /dev/null @@ -1,8 +0,0 @@ -# Contributing - -We welcome your contributions and feedbacks! - -Mobingi ALM-agent is an open source software, you can find the source code at [https://github.com/mobingi/alm-agent](https://github.com/mobingi/alm-agent). - -If you want to fix something or have proposals, you can send Pull Requests and open issues via [GitHub](https://github.com/mobingi/alm-agent). - diff --git a/mobingi-alm/alm-agent/getting-started.md b/mobingi-alm/alm-agent/getting-started.md deleted file mode 100644 index 1af56f26..00000000 --- a/mobingi-alm/alm-agent/getting-started.md +++ /dev/null @@ -1,83 +0,0 @@ -# Getting Started - -## Prerequisites {#prerequisites} - -ALM-agent includes the following prerequisites. - -| **REQUIREMENT** | **DESCRIPTION** | -| --- | --- | -| _Supported Operating System_ | Instances must run on a supported version of Linux. `Amazon Linux 2016.09` or later, `Ubuntu Server 14.04 LTS` or later, `CentOS7` or later, `Red Hat Enterprise Linux(RHEL) 7` or later. | -| _Internet Access_ | If your server configuration design requires services to access the public Internet \(_e.g. GitHub, DockerHub, etc.._\), verify that your instances have outbound Internet access first. | -| _Docker_ | Instances should have Docker installed. | -| _Git_ | Instances should have Git installed. | - -## Install ALM agent {#install-alm-agent} - -There are two ways to installing ALM Agent: - -1. Using a precompiled binary -2. Installing from source - -{% hint style="info" %} -Download and install from a precompiled binary is the recommended option. -{% endhint %} - -### _**Using a precompiled binarys**_ - -ALM-agent is distributed as a binary package. To install ALM-agent, you can download it from this [link](https://download.labs.mobingi.com/alm-agent/master/current/alm-agent.tgz). - -ALM-agent is packaged as a tgz archive. After downloading ALM-agent, untgz the package. ALM-agent runs as a single binary named `alm-agent`. - -```bash -$ mkdir -p /opt/mobingi/alm-agent /opt/mobingi/etc -$ wget https://download.labs.mobingi.com/alm-agent/develop/current/alm-agent.tgz -$ tar xvzf alm-agent.tgz -C /opt/mobingi/alm-agent -$ ln -sf /opt/mobingi/alm-agent/v* /opt/mobingi/alm-agent/current -``` - -### _**Installing from source**_ - -We prepare Vagrantfile to compile from source. You will need VirtualBox and Vagrant installed. You can compile in virtual machine. - -```bash -$ git clone https://github.com/mobingi/alm-agent -$ cd alm-agent -$ vagrant up default -$ vagranth ssh default -vagrant $ cd /home/vagrant/src/github.com/mobingi/alm-agent/ -vagrant $ make build -``` - -## Verifying the Installation {#verifying-the-installation} - -After installing ALM-agent, verify the installation works and check that `alm-agent` is available. - -By executing `alm-agent` you should see the help output similar to this: - -```bash -$ alm-agent -NAME: - alm-agent - -USAGE: - alm-agent [global options] command [command options] [arguments...] - -VERSION: - v0.3.1504270893 - -COMMANDS: - register initialize alm-agent and start containers - ensure start or update containers - stop stop active container - noop run without container actions. - help, h Shows a list of commands or help for one command - -GLOBAL OPTIONS: - --autoupdate, -U auto update before run - --disablereport, -N Do not send crash report to rollbar. - --provider Provider, -P Provider set Provider (default: "aws") - --verbose, -V show debug logs - --help, -h show help - --version, -v print the version -``` - diff --git a/mobingi-alm/alm-agent/overview.md b/mobingi-alm/alm-agent/overview.md deleted file mode 100644 index fa24e25d..00000000 --- a/mobingi-alm/alm-agent/overview.md +++ /dev/null @@ -1,23 +0,0 @@ -# Overview - -## What is ALM-agent? {#what-is-alm-agent} - -The ALM-agent is software for Mobingi ALM. ALM-agent is the primary component of container management. - -ALM-agent runs on instances, manages Docker containers and deploys code to instances on behalf of you. - -ALM-agent works with [ALM Template](https://docs.mobingi.com/mobingi-alm/alm-template/what-is-alm-template). When you run the ALM-agent, the agent on the instance processes the ALM Template and configures the instance as specified. - -## Characteristics of ALM Agent {#characteristics-of-alm-agent} - -The ALM-agent is a tool for managing container and continuous deployment for your application. It provides several key features: - -* Container Management - * ALM-agent can manage container lifecycle \(create container, start or stop container, renew container image, deploy application code and manage log containers, etc.\). -* Blue-Green Deployment using Container - * ALM-agent uses Blue-Green Deployment to achieve zero-downtime deployment of your application code. -* Health Checking - * ALM-agent checks not only the instance status but also the container status. -* Multi Cloud - * ALM-agent can run at any Cloud Service such as AWS, Alibaba Cloud, Azure, GCP, Fujitsu K5, etc. - diff --git a/mobingi-alm/alm-template/README.md b/mobingi-alm/alm-template/README.md deleted file mode 100644 index 4a6845ff..00000000 --- a/mobingi-alm/alm-template/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# ALM Template - -{% page-ref page="what-is-alm-template.md" %} - -{% page-ref page="reference-2017-03-03.md" %} - -{% page-ref page="alm-template-language.md" %} - -{% page-ref page="example-alm-templates.md" %} - - - diff --git a/mobingi-alm/alm-template/alm-template-language.md b/mobingi-alm/alm-template/alm-template-language.md deleted file mode 100644 index 9eda2da7..00000000 --- a/mobingi-alm/alm-template/alm-template-language.md +++ /dev/null @@ -1,108 +0,0 @@ -# ALM Template Language - -ALM Template provides several built-in functions that help you manage your ALM Template. These functions are named **ATL**, short for **A**LM **T**emplate **L**anguage. Not to be confused with Microsoft's [ATL](https://msdn.microsoft.com/en-us/library/3ax346b7.aspx). - -Use ATL functions in your templates to assign values to properties that are not available until runtime. - -{% hint style="info" %} -For now, ATL is only supported in AWS. Support for other cloud vendors will be available soon. - -You can use ATL functions only in specific parts of a template. Please refer to each functions' document for detailed explanation. -{% endhint %} - -## computed {#computed} - -_Usage:_ - -`${computed}` - -This function is used to calculate the valid value for supported declarative in your ALM Template. - -Example: - -```javascript -"instance_type": "${computed}" -``` - -## use {#use} - -_Usage:_ - -`${use( .. )}` - -This function is used to reference the value that you defined in other declarative already. - -_Example:_ - -```javascript -"availability_zones": "${use(Layer1.provision.availability_zone),use(Layer2.provision.availability_zone)}" -``` - -**Note:** This function can only be used if the origin value is type of _string_, it cannot be applied to any other type of values. For referencing values such as object or array, you use `${copy( .. )}`. - -## copy {#copy} - -_Usage:_ - -`${copy( .. )}` - -This function is used to copy the whole value that you defined in other declarative already. - -_Example:_ - -```javascript -"security_group": "${copy(Layer1.provision.security_group)}" -``` - -## ref {#ref} - -_Usage:_ - -`#ref( .. )` - -Currently, this function can be used only in: - -1. load\_balancer : security\_groups - - ```javascript - "load_balancer": { - "security_groups": "#ref(Layer2.provision.security_group)", - }, - ``` - - _Use case explanation:_ - - When the load balancer requires specified security groups, you can use this function to reference the security groups that are defined in `security_group` declarative. - -## share {#share} - -Usage: - -`#share( .. )` - -Currently, this function can be used in two declarative: - -1. load\_balancer : subnets - - ```javascript - "load_balancer": { - "subnets": "#share(Layer1.provision.subnet,Layer2.provision.subnet)", - }, - ``` - - _Use case explanation:_ - - When you deploy an _application_ or _networking_ load balancer on AWS, by default each load balancer requires at least two subnets, so you use this function to define the target subnets which will be used by this load balancer. - -2. auto\_scaling - - ```javascript - { - "auto_scaling": "#share(Layer1.provision.auto_scaling)" - } - ``` - - _Use case explanation:_ - - When you register multiple load balancers to the instances that are in the same auto scaling group, you use this function to define the target auto scaling group which will be shared with this load balancer. - diff --git a/mobingi-alm/alm-template/example-alm-templates.md b/mobingi-alm/alm-template/example-alm-templates.md deleted file mode 100644 index 1bf60f99..00000000 --- a/mobingi-alm/alm-template/example-alm-templates.md +++ /dev/null @@ -1,6 +0,0 @@ -# Example ALM Templates - -{% hint style="info" %} -We moved all sample templates to a public repository in GitHub. Please visit [https://github.com/mobingi/alm-template-examples](https://github.com/mobingi/alm-template-examples). -{% endhint %} - diff --git a/mobingi-alm/alm-template/reference-2017-03-03.md b/mobingi-alm/alm-template/reference-2017-03-03.md deleted file mode 100644 index 17cf223c..00000000 --- a/mobingi-alm/alm-template/reference-2017-03-03.md +++ /dev/null @@ -1,1331 +0,0 @@ -# Reference \(2017-03-03\) - -## Template structure - -Below is a tree view of all possible components within an ALM Template. The following structure is not a working demo template, but rather to explain all possible key names that may contain in the template body. - -```yaml -version: string -label: string -description: string -vendor: object - aws: object - azure: object - gcp: object - alicloud: object - k5: object -configurations: array of objects - role: string - flag: string - provision: object - vpc_id: string - availability_zone: string - instance_type: string - image: string - instance_count: number - volume_type: string - volume_size: number - keypair: boolean - subnet: object - security_group: object - network_acl: object - load_balancer: object - auto_scaling: object - container: object - container_image: string - container_registry_username: string - container_registry_password: string - container_code_dir: string - container_code_repo: string - container_git_reference: string - container_git_private_key: string - container_ports: array of numbers - container_users: object - container_env_vars: object -``` - -## version - -The version of ALM Template release. This value is always **2017-03-03**. - -## label - -The label of the ALM Template. You can use this section to mark the labels for each of your ALM Template versions. This is useful when you update your template. This value can be empty, and you can write up to 64 characters in length. - -## description - -The description of the ALM Template. You can use this section to describe the purpose of the ALM Template. For example: production app stack. This value can be empty, and you can write up to 255 characters in length. - -## vendor - -The cloud platform vendor of which the template will be deployed to. You need to specify the vendor in every ALM Template you write, and can only specify one vendor at a time. - -## configurations - -The configurations of the stack which ALM Template is about to deploy. In the configurations section, you specify one or multiple configuration layers of your application's provision and container runtime settings. Inside each layer, there are four sections you need to specify: - -### **role** - -The "role" of which the stack layer defines to. - -You deploy multiple layers within one ALM Template, for example two _web_ layers, one _bastion_ layer and one _database_ layer. The current available role names: - -* `web` -* `bastion` - -### **flag** - -The unique identifier of each layer. - -You must specify the _flag_ name for each configuration layer. The value must between 4 to 18 characters in length and contains only alphanumeric characters. - -### provision - -The infrastructure provisioning configurations. - -#### vpc\_id - -Reserved key name, not supported yet. - -Currently, a new VPC will be created with every ALM Template execution and the default VPC has a fixed CIDR range of **10.0.0.0/16** and you cannot customize it at the moment, so when you specifying your subnets please make sure the CIDR setting for your subnets are sitting within the VPC CIDR range. - -For GCP, all deployments use the region's default public network. For GCP's predefined network ranges, you can refer to this [page](https://cloud.google.com/vpc/docs/vpc#ip-ranges). - -#### availability\_zone - -| Type | Required | Description | -| --- | --- | -| string | Yes | The availability zone of which the stack deploys to. You must specify this value in your ALM Template. | - -Valid values: - -{% tabs %} -{% tab title="AWS" %} -```text -"availability_zone": "ap-northeast-1c" -``` - -Below are the valid availability zones for each regions on AWS. - -```text - (North Virginia) - us-east-1a - us-east-1b - us-east-1c - us-east-1d - us-east-1e - - (Ohio) - us-east-2a - us-east-2b - us-east-2c - - (North Carolina) - us-west-1b - us-west-1c - - (Oregon) - us-west-2a - us-west-2b - us-west-2c - - (Canada) - ca-central-1a - ca-central-1b - - (Ireland) - eu-west-1a - eu-west-1b - eu-west-1c - - (Frankfurt) - eu-central-1a - eu-central-1b - - (London) - eu-west-2a - eu-west-2b - - (Singapore) - ap-southeast-1a - ap-southeast-1b - - (Sydney) - ap-southeast-2a - ap-southeast-2b - ap-southeast-2c - - (Seoul) - ap-northeast-2a - ap-northeast-2c - - (Tokyo) - ap-northeast-1a - ap-northeast-1c - - (Mumbai) - ap-south-1a - ap-south-1b - - (Sao Paulo) - sa-east-1a - sa-east-1b - sa-east-1c -``` -{% endtab %} - -{% tab title="AZURE" %} -```text -"availability_zone": "ap-northeast-1c" -``` - -Below are the valid availability zones for Azure. - -```c -AustraliaEast -AustraliaSoutheast -BrazilSouth -CanadaCentral -CanadaEast -CentralIndia -CentralUs -ChinaEast -ChinaNorth -EastAsia -EastUs -EastUs2 -GermanyCentral -GermanyNortheast -JapanEast -JapanWest -KoreaCentral -KoreaSouth -NorthCentralUs -NorthEurope -SouthCentralUs -SoutheastAsia -SouthIndia -UkSouth -UkWest -WestCentralUs -WestEurope -WestIndia -WestUs -WestUs2 -``` -{% endtab %} - -{% tab title="ALIBABA CLOUD" %} -```text -"availability_zone": "ap-northeast-1" -``` -{% endtab %} - -{% tab title="GCP" %} -Example: - -```ruby -"availability_zone": "asia-northeast1-a" -``` - -You can refer to this [page](https://cloud.google.com/compute/docs/regions-zones/) for supported availability zones in GCP. -{% endtab %} - -{% tab title="K5" %} -```text -"availability_zone": "ap-northeast-1" -``` -{% endtab %} -{% endtabs %} - -#### instance\_type - -The type of instances \(**VM**s\). If value is not provided in the template, the default values will be used for each cloud platform. - -Valid values: - -{% tabs %} -{% tab title="AWS" %} -Default: t2.micro - -```text -"instance_type": "t2.micro" -``` - -Below are the valid instance types for AWS. - -```text - t2.nano - t2.micro [default] - t2.small - t2.medium - t2.large - t2.xlarge - t2.2xlarge - m4.large - m4.xlarge - m4.2xlarge - m4.4xlarge - m4.10xlarge - m4.16xlarge - m3.medium - m3.large - m3.xlarge - m3.2xlarge - c5.large - c5.xlarge - c5.2xlarge - c5.4xlarge - c5.9xlarge - c5.18xlarge - c4.large - c4.xlarge - c4.2xlarge - c4.4xlarge - c4.8xlarge - c3.large - c3.xlarge - c3.2xlarge - c3.4xlarge - c3.8xlarge - x1.16large - x1.32xlarge - x1e.xlarge - x1e.2xlarge - x1e.4xlarge - x1e.8xlarge - x1e.16xlarge - x1e.32xlarge - r4.large - r4.xlarge - r4.2xlarge - r4.4xlarge - r4.8xlarge - r4.16xlarge - r3.large - r3.xlarge - r3.2xlarge - r3.4xlarge - r3.8xlarge - p3.2xlarge - p3.8xlarge - p3.16xlarge - p2.xlarge - p2.8xlarge - p2.16xlarge - g3.4xlarge - g3.8xlarge - g3.16xlarge - f1.2xlarge - f1.16xlarge - i3.large - i3.xlarge - i3.2xlarge - i3.4xlarge - i3.8xlarge - i3.16large - d2.xlarge - d2.2xlarge - d2.4xlarge - d2.8xlarge -``` -{% endtab %} - -{% tab title="ALIBABA CLOUD" %} -Default: xn4.small. - -```text - "instance_type": "xn4.small" -``` -{% endtab %} - -{% tab title="AZURE" %} -Default: Standard\_B1s. - -```text - "instance_type": "Standard_B1s" -``` -{% endtab %} - -{% tab title="GCP" %} -Default type: `n1-standard-1` - -Refer to this [page](https://cloud.google.com/compute/docs/machine-types) for information on GCP machine types. -{% endtab %} - -{% tab title="K5" %} -Default: 1101. - -```text - "instance_type": "1101" -``` -{% endtab %} -{% endtabs %} - -#### image - -| Type | Required | Description | -| :--- | :--- | :--- | :--- | -| string | no | The machine image \(id\) used to launch the instance. | - -Default values will be applied for each cloud platform \(see below for default values\). However, you can also specify this value for launching with a customized machine image. - -Note: If you specify this value and also specify the [container](https://docs.mobingi.com/mobingi-alm/alm-template/reference-2017-03-03#container) section in the ALM Template to take the advantage of application lifecycle management, you need to make sure the base machine image operating system supports ALM-agent installation. For supported operating systems by ALM-agent, please refer to [this guide](https://docs.mobingi.com/mobingi-alm/alm-agent/getting-started#prerequisites). - -Valid values: - -{% tabs %} -{% tab title="AWS" %} -Below is also the default value for AWS. - -```text - "image": "ami-2a69be4c" -``` -{% endtab %} - -{% tab title="ALIBABA CLOUD" %} -Below is also the default value for Alibaba Cloud. - -```text - "image": "centos_7_03_64_40G_alibase_20170710.vhd" -``` -{% endtab %} - -{% tab title="Azure" %} -This is not supported yet. -{% endtab %} - -{% tab title="GCP" %} -This is not supported yet. -{% endtab %} - -{% tab title="K5" %} -Below is also the default value for K5. - -```text - "image": "58fd966f-b055-4cd0-9012-cf6af7a4c32b" -``` -{% endtab %} -{% endtabs %} - -#### instance\_count - -| Type | Required | Description | -| :--- | :--- | :--- | :--- | -| int | no | Number of instances \(VMs\) to provision. This is only applicable to non-autoscaled stacks.For autoscaled stacks, see `auto_scaling` section. | - -If you don't specify this declarative, the default value of _1_ will be applied. - -Valid values: - -{% tabs %} -{% tab title="AWS" %} -```text - "instance_count": 1 -``` -{% endtab %} - -{% tab title="ALIBABA CLOUD" %} -```text - "instance_count": 1 -``` -{% endtab %} - -{% tab title="AZURE" %} -```text - "instance_count": 1 -``` -{% endtab %} - -{% tab title="GCP" %} -This value is only valid when > zero **AND** `auto_scaling.min` and `auto_scaling.max` are both set to zero. See [auto\_scaling](https://docs.mobingi.com/mobingi-alm/alm-template/alm-template-reference#auto_scaling) section for more information about autoscaling. -{% endtab %} - -{% tab title="K5" %} -```text - "instance_count": 1 -``` -{% endtab %} -{% endtabs %} - -#### volume\_type - -| Type | Required | Description | -| :--- | :--- | :--- | :--- | -| string | no | The volume type of instance. | - -Valid values: - -{% tabs %} -{% tab title="AWS" %} -If you don't specify this declarative, the default value of gp2 will be applied. - -```text - gp2 - General Purpose SSD - io1 - Provisioned IOPS SSD - st1 - Throughput Optimized HDD - sc1 - Cold HDD - standard - Magnetic volumes -``` -{% endtab %} - -{% tab title="Azure" %} -This is not supported yet. -{% endtab %} - -{% tab title="GCP" %} -This is not supported yet. -{% endtab %} -{% endtabs %} - -#### volume\_size - -| Type | Required | Description | -| :--- | :--- | :--- | :--- | -| string | no | The size of the volume, in gibibytes \(GiBs\). | - -Valid values: - -{% tabs %} -{% tab title="AWS" %} -```text - Constraints: 1-16384 for gp2, 4-16384 for io1, 500-16384 for st1, 500-16384 for sc1, and 1-1024 for standard (magnetic disk). - - Default volume size in GB for each volume types: - - - gp2: 50 - - io1: 50 - - st1: 500 - - sc1: 500 - - standard: 50 -``` -{% endtab %} - -{% tab title="ALIBABA CLOUD" %} -This section hasn't been covered by documentation. -{% endtab %} - -{% tab title="AZURE" %} -Current initial deployment size is _50GB_. - -{% hint style="info" %} -**Note:** Soon to support other sizes. -{% endhint %} -{% endtab %} - -{% tab title="GCP" %} -Default value is 50GB. -{% endtab %} - -{% tab title="K5" %} -This section hasn't been covered by documentation. -{% endtab %} -{% endtabs %} - -#### keypair - -The ssh key pair used to access instances. - -| Type | Required | Description | -| :--- | :--- | :--- | :--- | -| boolean | no | Enable SSH key pair to be used to access instances. Default value is **true**. | - -#### subnet - -| Type | Required | Description | -| :--- | :--- | :--- | :--- | -| object | no | The subnet settings. | - -A _subnet_ section contains 3 key names. - -* `cidr` \(string\) - - The IPv4 CIDR block that you want the subnet to cover \(for example, "10.0.0.0/24"\). - - _Required:_ No - - If you don't specify this declarative, the default CIDR block settings will be applied. See below for default values on each cloud platform. - -* `public` \(boolean\) - - Defines whether this subnet is public or private. This value is either _true_ or _false_. - - If you don't specify this declarative, the default value of _true_ will be applied. - - _Required:_ No - -* `auto_assign_public_ip` \(boolean\) - - Defines whether automatically assigns a public IP when instance launched into the subnet. This value is either _true_ or _false_. - - _Required:_ No - - If you don't specify this declarative, the default value of _true_ will be applied. - - If you set `public` as _false_, then this declarative will be ignored. - -Valid values: - -{% tabs %} -{% tab title="AWS" %} -Example below is also the default settings when deploying to AWS. - -```text -"subnet": { - "cidr": "10.0.0.0/24", - "public": true, - "auto_assign_public_ip": true -} -``` -{% endtab %} - -{% tab title="ALIBABA CLOUD" %} -Example below is also the default settings when deploying to Alibaba Cloud. - -```text -"subnet": { - "cidr": "192.168.199.0/24", - "public": true, - "auto_assign_public_ip": true -} -``` -{% endtab %} - -{% tab title="AZURE" %} -Example below is also the default settings when deploying to Azure. - -```text -"subnet": { - "cidr": "192.168.199.0/24", - "public": true, - "auto_assign_public_ip": true -} -``` -{% endtab %} - -{% tab title="GCP" %} -This is not supported yet. -{% endtab %} - -{% tab title="K5" %} -Example below is also the default settings when deploying to K5. - -```text -"subnet": { - "cidr": "10.1.0.0/24", - "public": true, - "auto_assign_public_ip": true -} -``` -{% endtab %} -{% endtabs %} - -#### network\_acl - -The network action control list for a virtual private cloud. **This section supports AWS only.** - -| Type | Required | Description | -| :--- | :--- | :--- | :--- | -| array | no | The network action control list for a virtual private cloud. **This section supports AWS only.** | - -A _network\_acl_ section contains a list of network\_acl entry items. Each item contains the following declaratives: - -* `rule_number` \(int\) - - Rule number to assign to the entry, such as 100. ACL entries are processed in ascending order by rule number. Entries can't use the same rule number unless one is an egress rule and the other is an ingress rule. - - _Required:_ Yes - - For more on valid values, please refer to [this guide](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkAclEntry.html) on aws documentation site. - -* `protocol` \(string\) - - The IP protocol that the rule applies to. You must specify -1 or a protocol number. You can specify -1 for all protocols. - - _Required:_ Yes - - For more on protocol numbers, please refer to [this guide](http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml). - -* `rule_action` \(string\) - - Whether to allow or deny traffic that matches the rule; valid values are "allow" or "deny". - - _Required:_ Yes - -* `acl_egress` \(boolean\) - - Whether this rule applies to egress traffic from the subnet \(true\) or ingress traffic to the subnet \(false\). - - _Required:_ No - - If you don't specify this declarative, the default value of _false_ will be applied. - -* `cidr_block` \(string\) - - The IPv4 CIDR range to allow or deny, in CIDR notation \(e.g., 172.16.0.0/24\). - - _Required:_ Yes - -For more information about network acl please refer to [AWS Documentation](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) - -Valid values: - -{% tabs %} -{% tab title="AWS" %} -Example below is also the default settings when deploying to AWS. - -```ruby -"network_acl": [ - { - "rule_number": 100, - "protocol": "-1", - "rule_action": "allow", - "cidr_block": "0.0.0.0/0" - }, - { - "rule_number": 100, - "protocol": "-1", - "rule_action": "allow", - "acl_egress": false, - "cidr_block": "0.0.0.0/0" - } -] -``` -{% endtab %} - -{% tab title="ALIBABA CLOUD" %} -This section hasn't been covered by documentation. -{% endtab %} - -{% tab title="AZURE" %} -This section hasn't been covered by documentation. -{% endtab %} - -{% tab title="GCP" %} -This is not supported yet. -{% endtab %} - -{% tab title="K5" %} -This section hasn't been covered by documentation. -{% endtab %} -{% endtabs %} - -#### security\_group - -| Type | Required | Description | -| :--- | :--- | :--- | :--- | -| object | no | The security groups for your virtual private cloud. Security groups are associated with network interfaces and acts as a virtual firewall that controls the traffic for one or more instances. | - -A _security group_ section contains two entry items, `ingress` and `egress`. - -* ingress \(array\) -* egress \(array\) - -Each _ingress_ or _egress_ contains the following 4 declarative: - -* `cidr_ip` \(string\) - - An IPv4 CIDR range. - - _Required:_ Yes - - \(For more information on cidr calculations, there are tools like [this](http://www.subnet-calculator.com/cidr.php) to helping you get started.\) - -* `from_port` \(int\) - - Start of port range for the TCP and UDP protocols, or an ICMP type number. If you specify icmp for the IpProtocol property, you can specify -1 as a wildcard \(i.e., any ICMP type number\). - - _Required:_ Yes - -* `ip_protocol` \(string\) - - IP protocol name or number. - - _Required:_ Yes - -* `to_port` \(int\) - - End of port range for the TCP and UDP protocols, or an ICMP code. If you specify icmp for the IpProtocol property, you can specify -1 as a wildcard \(i.e., any ICMP code\). - - _Required:_ Yes - -Valid values: - -{% tabs %} -{% tab title="AWS" %} -Example below is also the default settings when deploying to AWS. - -```typescript -"security_group": { - "ingress": [ - { - "cidr_ip": "0.0.0.0/0", - "from_port": 80, - "ip_protocol": "tcp", - "to_port": 80 - }, - { - "cidr_ip": "0.0.0.0/0", - "from_port": 443, - "ip_protocol": "tcp", - "to_port": 443 - }, - { - "cidr_ip": "0.0.0.0/0", - "from_port": 22, - "ip_protocol": "tcp", - "to_port": 22 - } - ], - "egress": [ - { - "cidr_ip": "0.0.0.0/0", - "from_port": 0, - "ip_protocol": "-1", - "to_port": 65535 - } - ] - } -``` -{% endtab %} - -{% tab title="ALIBABA CLOUD" %} -This section hasn't been covered by documentation. -{% endtab %} - -{% tab title="AZURE" %} -This section hasn't been covered by documentation. -{% endtab %} - -{% tab title="GCP" %} -For GCP deployments, the default network where the stack is deployed will, by default, open ports **22** and **80** from source **0.0.0.0/0**. -{% endtab %} - -{% tab title="K5" %} -This section hasn't been covered by documentation. -{% endtab %} -{% endtabs %} - -#### auto\_scaling - -| Type | Required | Description | -| :--- | :--- | :--- | :--- | -| object, or string | no | The `auto_scaling` group defines the configuration to automatically scale up or down the number of compute resources that are being allocated to your application based on its needs at any given time. | - -If you are deploying an _application_ type of load balancer \(you define in [`load_balancer`](reference-2017-03-03.md#load_balancer) declarative\), you can omit the required parameters below and use the ATL function `#share` to share the same auto scaling group which you defined in another layer. [Click here](https://docs.mobingi.com/mobingi-alm/alm-template/alm-template-language) for more on ATL functions. - -{% hint style="warning" %} -[**ATL**](https://docs.mobingi.com/mobingi-alm/alm-template/alm-template-language) is only supported by AWS at the moment. -{% endhint %} - -The `auto_scaling` section contains the following declarative: - -* `min` \(int\) - - The minimum size of the whole \(total\) autoscaling group. - - Required_:_ No - - If you don't specify this declarative, the default value of 1 will be applied. - -* `max` \(int\) - - The maximum size of the whole \(total\) autoscaling group. - - Required: No - - If you don't specify this declarative, the default value of 1 will be applied. - -* `spot_to_ondemand_ratio` \(int\) The percentage of min/max values to deploy as spot/preemptible/low-priority instances. For example, if you have 10 as `min` and 100 as `max`, a `spot_to_ondemand_ratio` value of 60 \(or 60 percent\) will have the following results: Spot min: 6 \(60% of 10\) Spot max: 60 \(60% of 100\) On-demand min: 4 On-demand max: 40 For calculations that results to fractions, like 50% of 3, the results will be rounded off to the nearest integer such as `1.5 = 2`, `3.9 = 4`, `2.3 = 2`, etc. For example, if you have a `min` value of 3 and 50 as `spot_to_ondemand_ratio`, you will have a minimum of 2 spot instances \(50% of 3 is 1.5, rounded off to 2\) and a single on-demand instance. -* `spot_min` \(int\) **\[DEPRECATED\]** - - The minimum size of the spot instances in the autoscaling group. This key will still work with AWS- and GCP-based stacks. For other cloud vendors, please use `spot_to_ondemand_ratio` key. - - Required: No - -* `spot_max` \(int\) **\[DEPRECATED\]** - - The maximum size of the spot instances in the autoscaling group. This key will still work with AWS- and GCP-based stacks. For other cloud vendors, please use `spot_to_ondemand_ratio` key. - - Required: No - -* `availability_zones` \(string\) - - The list of availability zones for the Auto Scaling group. - - Required: Yes - -* `cooldown` \(string\) - - The number of seconds after a scaling activity is completed before any further scaling activities can start. - - Required: No - - If you don't specify this declarative, the default value of _360_ will be applied. - -* `healthcheck_grace_period` \(string\) - - The length of time in seconds after a new instance comes into service that Auto Scaling starts checking its health. - - Required: No - - If you don't specify this declarative, the default value of _360_ will be applied. - -Valid values: - -{% tabs %} -{% tab title="AWS" %} -```typescript -"auto_scaling": { - "min": 1, - "max": 1, - "availability_zones": "${use(FlagName1.provision.availability_zone, FlagName2.provision.availability_zone)}", - "cooldown": "360", - "healthcheck_grace_period": "360" -} -``` -{% endtab %} - -{% tab title="ALIBABA CLOUD" %} -This section hasn't been covered by documentation. -{% endtab %} - -{% tab title="AZURE" %} -This section hasn't been covered by documentation. -{% endtab %} - -{% tab title="GCP" %} -For GCP, the system will check if `min` is > 0, `max` is > `min`, and `instance_type` is zero before proceeding. - -For [preemptible](https://cloud.google.com/compute/docs/instances/preemptible) instances, the system will calculate the values based on the provided `spot_to_ondemand_ratio` value. For compatibility with the deprecated `spot_min` and `spot_max` keys, it will also check if `spot_min` > 0, `spot_max` > `spot_min` and `instance_type` is zero before proceeding. -{% endtab %} - -{% tab title="K5" %} -This section hasn't been covered by documentation. -{% endtab %} -{% endtabs %} - -#### load\_balancer - -| Type | Required | Description | -| :--- | :--- | :--- | :--- | -| object | no | The `load_balancer` for the `auto_scaling` group. | - -The _load balancer_ section contains the following declarative: - -* `lb_type` \(string\) - - Either _classic_, _application_ or _networking_. - - In usual case, ALM creates the classic \(standard\) load balancer. - - On AWS specifically, you can also create the _application_ load balancer and a _networking_ load balancer. For more on these two AWS load balancer types, please refer to [this guide](https://aws.amazon.com/elasticloadbalancing). - - _Required:_ No - - If you don't specify this declarative, the default value of _classic_ will be applied. - -* `scheme` \(string\) - - Either _internet-facing_ or _internal_. - - Specify _internal_ to create an internal load balancer with a DNS name that resolves to private IP addresses or _internet-facing_ to create a load balancer with a publicly resolvable DNS name, which resolves to public IP addresses. - - _Required:_ No - - If you don't specify this declarative, the default value of _internet-facing_ will be applied. - -* `security_groups` \(string\) - - Specifies a list of security groups assigned to this load balancer. - - _Required:_ No - - **Note:** This value is in string type and can only be the reference to [`security_group`](reference-2017-03-03.md#security_group) section you defined in same or other layers. For example if you have two layers of configurations named "Layer1" and "Layer2", you can reference the _security group_ defined in Layer2 to Layer1 by writing: - - ```javascript - { "security_groups": "#ref(Layer2.provision.security_group)"} - ``` - -* `subnets` \(string\) - - Specifies a list of subnets assigned to this load balancer defined in `lb_type` parameter above. - - _Required:_ No - - **Note:** Only specify this value if you are deploying an ALB type of load-balancer. - - **Note:** This value is in string type and can only be the reference to [`subnet`](reference-2017-03-03.md#subnet) section you defined in same or other layers. For example if you have two layers of configurations named "Layer1" and "Layer2", you can reference the _subnets_ to use both of them by: - - ```javascript - { "subnets": "#ref(Layer2.provision.subnet,Layer1.provision.subnet)"} - ``` - -* `listeners` \(array\) - - One or more listeners for this load balancer. Each listener must be registered for a specific port, and you cannot have more than one listener for a given port. - - _Required:_ Yes. _You must specify at least one entry item for this section._ - - A _listeners_ section contains a list of entry items with each item contains the following declarative: - - * `load_balancer_port` \(string\) - - Specifies the external load balancer port number. - - _Required:_ Yes - - * `protocol` \(string\) - - Specifies the load balancer transport protocol to use for routing: _HTTP_, _HTTPS_, _TCP_ or _SSL_. - - _Required:_ Yes - - * `instance_port` \(string\) - - Specifies the TCP port on which the instance server listens. - - _Required:_ Yes - - * `instance_protocol` \(string\) - - Specifies the protocol to use for routing traffic to back-end instances: _HTTP_, _HTTPS_, _TCP_ or _SSL_. You can't modify this property during the life of the load balancer. - - _Required:_ No - - **Note:** - - * If the front-end protocol is HTTP or HTTPS, _instance protocol_ must be on the same protocol layer \(HTTP or HTTPS\). Likewise, if the front-end protocol is TCP or SSL, _instance protocol_ must be TCP or SSL. - * If there is another Listener with the same _instance port_ whose _instance protocol_ is secure, \(using HTTPS or SSL\), the _instance protocol_ of the Listener must be secure \(using HTTPS or SSL\). If there is another Listener with the same _instance port_ whose _instance protocol_ is HTTP or TCP, the _instance protocol_ of the Listener must be either HTTP or TCP. - - * `cert_domain` \(string\) - - **\(AWS Only\)** - - Specifies the domain name to be used for issuing SSL certificate via AWS ACM service. - - _Required:_ No - - When you provide the domain name here, a verification email will be sent to the domain owner \(sent by AWS\), and you have to click link found in email to approve the issuance of the SSL certificate before the stack provision can be finished. - - Once the provision deployment is successfully done, the SSL certificate will be attached to your load-balancer automatically. - -* `health_check` \(object\) - - **\(AWS Only\)** - - Application health check for the instances. - - _Required:_ No - - A _health check_ section contains the following declarative: - - * `healthy_threshold` \(string\) - - Specifies the number of consecutive health probe successes required before moving the instance to the Healthy state. - - _Required:_ Yes - - * `interval` \(string\) - - Specifies the approximate interval, in seconds, between health checks of an individual instance. Valid values are 5 to 300. - - _Required:_ Yes - - * `target` \(string\) - - Specifies the instance's protocol and port to check. The protocol can be TCP, HTTP, HTTPS, or SSL. The range of valid ports is 1 through 65535. - - _Required:_ Yes - - * `timeout` \(string\) - - Specifies the amount of time, in seconds, during which no response means a failed health probe. This value must be less than the value for _interval_. - - _Required:_ No - - * `unhealthy_threshold` \(string\) - - Specifies the number of consecutive health probe failures required before moving the instance to the Unhealthy state. - - _Required:_ No - -Valid values: - -{% tabs %} -{% tab title="AWS" %} -```typescript -"load_balancer": { - "lb_type": "classic", - "scheme": "internet-facing", - "listeners": [ - { - "load_balancer_port": "443", - "instance_port": "80", - "protocol": "HTTPS", - "cert_domain": "www.example.com" - } - ], - "health_check": { - "healthy_threshold": "2", - "interval": "10", - "target": "TCP:80", - "timeout": "5", - "unhealthy_threshold": "10" - } - } -``` -{% endtab %} - -{% tab title="ALIBABA CLOUD" %} -This section hasn't been covered by documentation. -{% endtab %} - -{% tab title="GCP" %} -For now, GCP only supports the classic load balancer. It uses `listeners.load_balancer_port` and `health_check.target` keys for configuration and always creates an internet-facing load balancer. -{% endtab %} - -{% tab title="K5" %} -This section hasn't been covered by documentation. -{% endtab %} -{% endtabs %} - -#### rds - -| Type | Required | Description | -| :--- | :--- | :--- | :--- | -| object | no | The `rds` is a managed relational database service. | - -The _rds_ section contains the following declarative: - -* `db_instance_type` \(string\) - - If you don't specify this declarative, the default values will be applied for each cloud platform. - - _Required:_ Yes - -* `engine` \(string\) - - If you don't specify this declarative, the default values will be applied for each cloud platform. - - _Required:_ Yes - -* `version` \(string\) - - If you don't specify this declarative, the default values will be applied for each cloud platform. - - _Required:_ Yes - -* `storage` \(int\) - - Constraints: 5-3072 \(managemet disk\). - - _Required:_ Yes - -* `multi_az` \(boolean\) - - Create replica in an availability zone different from the DB instance. Defines whether this nulti\_az is AZ or No AZ. This value is either true or false. - - _Required:_ Yes - -* `replica` \(int\) - - Constraints: 1-5 \(replica counts\). - - _Required:_ No - -Valid values: - -{% tabs %} -{% tab title="AWS" %} -Default: db.t2.micro - -```typescript - "rds": { - "db_instance_type": "db.t2.micro", - "engine": "mysql", - "version": "5.6" - "storage": 10, - "multi_az": true, - "replica": 1 - } -``` - -Below are the valid db instance types for AWS. - -```text - db.t2.micro [default] - db.t2.small - db.t2.medium - db.t2.large - db.t2.xlarge - db.t2.2xlarge - db.m4.large - db.m4.xlarge - db.m4.2xlarge - db.m4.4xlarge - db.m4.10xlarge - db.m4.16xlarge - db.m3.medium - db.m3.large - db.m3.xlarge - db.m3.2xlarge - db.r3.large - db.r3.xlarge - db.r3.2xlarge - db.r3.4xlarge - db.r3.8xlarge - db.r4.large - db.r4.xlarge - db.r4.2xlarge - db.r4.4xlarge - db.r4.8xlarge - db.r4.16xlarge - db.m2.xlarge - db.m2.2xlarge - db.m2.4xlarge - db.m1.small - db.m1.medium - db.m1.large - db.m1.xlarge -``` - -Below are the valid engine and version for AWS. - -```text - mysql - - 5.6 - - 5.7 - postgres - - 9.6 - - 10 -``` -{% endtab %} - -{% tab title="ALIBABA CLOUD" %} -This section hasn't been covered by documentation. -{% endtab %} - -{% tab title="AZURE" %} -This section hasn't been covered by documentation -{% endtab %} - -{% tab title="GCP" %} -This is not supported yet. -{% endtab %} - -{% tab title="K5" %} -This section hasn't been covered by documentation -{% endtab %} -{% endtabs %} - -### container - -The software runtime configurations _\(defined as docker images\)_ and code deployment requirement for each instance node. - -#### container\_image - -| Type | Required | Description | -| :--- | :--- | :--- | :--- | -| string | no | The docker image to be used to launch base container. | - -Example: - -| `registry.mobingi.com/tompson/ubuntu-nginx-php:latest` | -| :--- | :--- | :--- | :--- | - - -#### container\_registry\_username - -The docker image registry's username if this is a private image repository. - -| Type | Example Value | Required | Supported Platforms | -| :--- | :--- | :--- | :--- | -| string | N/A | No | Platform Stateless | - -#### container\_registry\_password - -| Type | Required | Description | -| :--- | :--- | :--- | :--- | -| string | no | The docker image registry's password if this is a private image repository. | - -#### container\_code\_dir - -| Type | Required | Supported Platforms | -| :--- | :--- | :--- | :--- | -| string | no | The directory of the instance where application code will be deployed to. | - -Example: - -| `/var/www/html` | -| :--- | :--- | :--- | :--- | - - -#### container\_git\_repo - -| Type | Required | Description | -| :--- | :--- | :--- | :--- | -| string | no | The git repository url of where application code is hosted. | - -Example: - -| `https://github.com/mobingilabs/default-site-php.git` | -| :--- | :--- | :--- | :--- | - - -#### container\_git\_reference - -| Type | Required | Description | -| :--- | :--- | :--- | :--- | -| string | no | The git repository branch of where application code is hosted. | - -Example: - -```text -master -``` - -#### container\_git\_private\_key - -| Type | Required | Description | -| :--- | :--- | :--- | :--- | -| string | no | The private key of the git repository if it is a private repository. | - -#### container\_ports - -| Type | Required | Description | -| :--- | :--- | :--- | :--- | -| array | no | The ports for connection to be used by containers. | - -Example: - -| `[ 80 ]` | -| :--- | :--- | :--- | :--- | - - -#### container\_users - -This parameter is not yet supported. - -#### container\_env\_vars - -| Type | Required | Description | -| :--- | :--- | :--- | :--- | -| object | no | The environment variables to be defined for the container operating system. | - -An example `container` configuration: - -```typescript -"container": { - "container_image": "mobingi/ubuntu-apache2-php7", - "container_code_dir": "/var/www/html", - "container_git_repo": "https://github.com/mobingilabs/default-site-php.git", - "container_git_reference": "master", - "container_ports": [80], - "container_env_vars": { - "display_errors": "Off", - "my_variable": "Some value" - } -} -``` - diff --git a/mobingi-alm/alm-template/reference-2018-07-02.md b/mobingi-alm/alm-template/reference-2018-07-02.md deleted file mode 100644 index b8c1a931..00000000 --- a/mobingi-alm/alm-template/reference-2018-07-02.md +++ /dev/null @@ -1,182 +0,0 @@ -# Reference \(2018-07-02\) - -{% hint style="info" %} -We are in the process of updating the current template to a new version suited for multi-application, multi-stack, and multi-vendor deployments. It will be a YAML-based template \(although JSON is also supported\). We will be releasing these new features in the coming months. Stay tuned! -{% endhint %} - -{% hint style="warning" %} -This page is still a work in progress. -{% endhint %} - -The following is the proposed new version of ALM Template. By default, all keys are optional unless stated otherwise. - -```yaml -version: string # '2018-07-02', required -label: string -description: string - -# Definitions for apps that are to be deployed to one or more stacks. -# You can define 0 or more apps. -applications: -- name: string # required - labels: - - key: string - value: string - container_image: string - container_registry_username: string - container_registry_password: string - container_code_dir: string - container_code_repo: string - container_git_reference: string - container_git_private_key: string - container_ports: - - number - container_users: object - container_env_vars: - - key: string - value: string - stacks: - # List of stacks this app will be deployed to. - - string - -# Stack definitions. At least one (1) stack is required per template. -stacks: -- name: string # required - labels: - - key: string - value: string - vendors: - - string # at least one (1) vendor is required - region_groups: string - vpc_group: string - instance_group: string - security_group: string - load_balancer: - lb_type: string - scheme: string - listeners: - - load_balancer_port: string - protocol: string - instance_port: string - instance_protocol: string - cert_domain: string - health_check: - healthy_threshold: string - interval: string - target: string - timeout: string - unhealthy_threshold: string - auto_scaling: - min: number - max: number - spot_to_ondemand_ratio: number - cooldown: string - healthcheck_grace_period: string - rdb: - db_instance_type: string - engine: string - version: string - storage: int - multi_az: boolean - replica: number - k8s: {tbd} - -# Vendor definitions. -vendors: -- name: string # required - provider: string # required - cred_name: string # required - project_id: string # gcp only - app_id: string # azure only - subscription_id: string # azure only - directory_id: string # azure only - contract_number: string # fujitsu k5 - -# The following section (groups) can be customized although Mobingi -# will provide common definitions that can be referenced -# by name. - -# region/az group definitions -region_groups: -- name: string # required - vendors: - - name: string # required - region: string - availability_zones: - - string - -# instance group definitions -instance_groups: -- name: string # required - vendors: - - name: string # required, not a reference to 'vendors' - instance_type: string - image: string - instance_count: number - volume_type: string - volume_size: number - keypair: boolean - -# virtual network group definitions -# aws: vpc -# azure: vnet -# gcp: vpc -vpc_groups: -- name: string # required - # vendor-independent subnet - subnet: - cidr: string - public: boolean - auto_assign_public_ip: boolean - route: {tbd} - network_acl: - rule_number: number - protocol: string - rule_action: string - acl_egress: boolean - cidr_block: string - vendors: - - name: string # required, not a reference to 'vendors' - subnet: - cidr: string - public: boolean - auto_assign_public_ip: boolean - route: {tbd} - network_acl: - rule_number: number - protocol: string - rule_action: string - acl_egress: boolean - cidr_block: string - -# network security definitions -# aws: security groups -# azure: network security groups -# gcp: firewall -network_security_groups: -- name: string # required - # vendor-independent ingress/egress - ingress: - - cidr: string - from_port: number - ip_protocol: string - to_port: number - egress: - - cidr: string - from_port: number - ip_protocol: string - to_port: number - vendors: - - name: string # required, not a reference to 'vendors' - ingress: - - cidr: string - from_port: number - ip_protocol: string - to_port: number - egress: - - cidr: string - from_port: number - ip_protocol: string - to_port: number -``` - diff --git a/mobingi-alm/alm-template/what-is-alm-template.md b/mobingi-alm/alm-template/what-is-alm-template.md deleted file mode 100644 index 1a0d3f0d..00000000 --- a/mobingi-alm/alm-template/what-is-alm-template.md +++ /dev/null @@ -1,34 +0,0 @@ -# What is ALM Template? - -{% hint style="info" %} -We are in the process of updating the current template to a new version suited for multi-application, multi-stack, and multi-vendor deployments. It will be a YAML-based template \(although JSON is also supported\). We will be releasing these new features in the coming months. Stay tuned! -{% endhint %} - -## What is ALM Template? - -### Concepts {#concepts} - -* ALM Template is a JSON-formatted configuration file which defines your cloud-native application's architecture design and runtime configuration. -* ALM Template is cloud platform agnostic. You write your template once and it works on any cloud platforms such as AWS, GCP, Azure, AliCloud, etc. -* You can save and reuse ALM Templates at anytime. - -## How does it work - -ALM Template is a component of [ALM](https://mobingi.com/how-mobingi-alm-works). You write your ALM Template in code blocks and paste it on ALM console \(or through CLI, or API\) and it will be converted into each cloud platform's native configuration standards, then ALM will provision all resources on your behalf. - -If you specify the runtime configurations of your application in the `container` section of the ALM Template, then ALM will also deploy an [ALM-agent](https://docs.mobingi.com/mobingi-alm/alm-agent) on each provisioned node to perform application runtime setup and continuous code deployment. - -## ALM Template formats - -ALM Template is designed in JSON format. You can also write your template in YAML format and then convert it into JSON file when you deploy your stacks on ALM UI \(or through CLI, or API\). - -{% hint style="info" %} -Official YAML format support is in-progress. -{% endhint %} - -## ALM Template components - -ALM Template top-level components consist of `version`, `label`, `description`, `vendor`, `configurations`. For more information about these components, see the reference section. - - - diff --git a/mobingi-alm/api-reference/README.md b/mobingi-alm/api-reference/README.md deleted file mode 100644 index b4a4eb2b..00000000 --- a/mobingi-alm/api-reference/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# API Reference - -{% page-ref page="overview.md" %} - -{% page-ref page="api-reference.md" %} - - - diff --git a/mobingi-alm/api-reference/api-reference.md b/mobingi-alm/api-reference/api-reference.md deleted file mode 100644 index f820264c..00000000 --- a/mobingi-alm/api-reference/api-reference.md +++ /dev/null @@ -1,1059 +0,0 @@ -# API Reference - -## OAuth Authentication - -In order to interact with the API, your application must authenticate. Mobingi API handles this through **OAuth**. An OAuth token functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair. - -_To get an OAuth token, make a POST request to_ - -POST `/v3/access_token` - -| **Parameters** | **Type** | **Required** | **Detail** | -| --- | :---: | ---: | :--- | -| client\_id | string | Yes | | -| client\_secret | string | Yes | | -| grant\_type | string | Yes | This value is either `client_credentials` or `password`. If you grant with password, you are interacting the same as working around Mobingi UI; If you grant with client\_credentials, you are acting as an Alm-Agent, and most resource related permissions are denied by [RBAC](https://learn.mobingi.com/enterprise/rbac). | - -Example Request: - -```bash -curl -X POST https://api.mobingi.com/v3/access_token \ --H "Content-Type: application/json" \ --d '{"grant_type":"client_credentials","client_id":"lg-5447820c870e1-xBV0OpTEN-tm","client_secret":"sFVYDoe07fxPjNgYvauYGOYCeXbOTE"}' -``` - -Response Body: - -```javascript -{ - "token_type": "Bearer", - "expires_in": 43200, - "access_token": "eyJ0eXAiOiJQiLCJhbGciOMeXzQfME" -} -``` - -You can then start making API requests by passing the `access_token` value to the _Authorization_ Header - -```text -Authorization: Bearer eyJ0eXAiOiJQiLCJhbGciOMeXzQfME -``` - -## ALM Templates {#alm-templates} - -### Apply Template {#template-apply} - -Applies the Mobingi Alm template and creates stack. - -POST `/v3/alm/template` - -| **Parameters** | **Type** | **Required** | **Detail** | -| --- | :---: | ---: | :--- | -| { _template body_ } | string | Yes | Mobingi Alm template body in json string format | - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/json -``` - -Request body - -```bash -{ - "version": "2017-03-03", - "label": "template version label #1", - "description": "This template creates a sample stack with EC2 instance on AWS", - "vendor": { - "aws": { - "cred": "AKIAJ...DZLA", - "region": "ap-northeast-1" - } - }, - "configurations": [ - { - "role": "web", - "flag": "Web01", - "provision": { - "image": "${computed}", - "volume_type": "${computed}", - "instance_type": "t2.micro", - "instance_count": 1, - "keypair": true - } - } - ] -} -``` - -Response Body - -```bash -HTTP/1.1 201 Created - -{ - "status": "success", - "stack_status": "CREATE_IN_PROGRESS", - "stack_id": "mo-5447820c870e1-ZgNTSRM8K-tk", - "version_id": "98O0jK6CQk8qLi14S2SLU8z3JIo3.JPx" -} -``` - -### Update Template {#template-update} - -Updates the Mobingi Alm template and applies the changes to stack resources. - -_Note:_ `vendor` section will be ignored when performing this API call. You can not change cloud vendors after the stack is created. - -PUT `/v3/alm/template/{stack_id}` - -| **Parameters** | **Type** | **Required** | **Detail** | -| --- | :---: | ---: | :--- | -| { _template body_ } | string | Yes | Mobingi Alm template body in json string format | - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/json -``` - -Request body - -```bash -{ - "version": "2017-03-03", - "label": "template version label #2", - "description": "This template creates a sample stack with EC2 instance on AWS", - "vendor": { - "aws": { - "cred": "AKIAJ...DZLA", - "region": "ap-northeast-1" - } - }, - "configurations": [ - { - "role": "web", - "flag": "Web01", - "provision": { - "image": "${computed}", - "instance_type": "m3.medium", - "instance_count": 2, - "keypair": true - } - } - ] -} -``` - -Response Body - -```bash -HTTP/1.1 202 Accepted - -{ - "status": "success", - "stack_status": "UPDATE_IN_PROGRESS", - "stack_id": "mo-5447820c870e1-ZgNTSRM8K-tk", - "version_id": "gCn2JuPhndwxMZuidOER0yyxM8jZB6Vn" -} -``` - -### Compare Templates {#template-compare} - -Compares the resource changes between two Mobingi Alm templates. - -POST `/v3/alm/template/compare` - -| **Parameters** | **Type** | **Required** | **Detail** | -| --- | :---: | ---: | :--- | -| id | array | conditional | items contain stack id and version information | -| body | array | conditional | items contain template body source | - -_Note: You can compare two templates by retrieving them from their version id and stack id. Or, you can compare a target template body \(posted in json format to_ `body` _parameter\) with a source template retrieved by its version id and stack id._ - -_The current API version only supports two templates comparison, and you always should retrieve the source template by its version id and stack id. That being said, you have to always pass at least one item in parameter_ `id` _array. Below are two examples:_ - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/json -``` - -Request body \( _Example 1_ \) - -```bash -{ - "id": [ - { - "mo-5447826c870e7-ZgNTSRM8K-tk": { - "version": "98O0jK5CQk8gLi14S2SLU8z3JIo3.JPx" - } - }, - { - "mo-5447826c870e7-ZgNTSRM8K-tk": { - "version": "gCn2JuPhndwxMZuodOER0yyxM8jZB6Vn" - } - } - ] -} -``` - -Request body \( _Example 2_ \) - -```bash -{ - "id": [ - { - "mo-5447826c870e7-9S3zWP7jM-tk": { - "version": "dK7R9_PuclTqSysMniPTcmpE.5u58RVL" - } - } - ], - "body": [ - "{\n \"version\": \"2017-03-03\",\n \"label\": \"template version label #2\",\n \"description\": \"This template creates a sample stack with EC2 instance on AWS\",\n \"vendor\": {\n \"aws\": {\n \"cred\": \"AKIAJ...DZLA\",\n \"region\": \"ap-northeast-1\"\n }\n },\n \"configurations\": [\n {\n \"role\": \"web\",\n \"flag\": \"Web01\",\n \"provision\": {\n \"image\": \"${computed}\", \"instance_type\": \"m3.medium\",\n \"instance_count\": 2,\n \"keypair\": true,\n }\n }\n ]\n }" - ] -} -``` - -Response Body - -```bash -HTTP/1.1 202 Accepted - -{ - "status": "success", - "source":{ - "version": "2017-03-03", - "label": "template version label #1", - "description": "This template creates a sample stack with EC2 instance on AWS", - "vendor": { - "aws": { - "cred": "AKIAJ...DZLA", - "region": "ap-northeast-1" - } - }, - "configurations": [ - { - "role": "web", - "flag": "Web01", - "provision": { - "image": "${computed}", - "instance_type": "t2.micro", - "volume_type": "${computed}", - "instance_count": 1, - "keypair": true - } - } - ] - }, - "target": { - "version": "2017-03-03", - "label": "template version label #2", - "description": "This template creates a sample stack with EC2 instance on AWS", - "vendor": { - "aws": { - "cred": "AKIAJ...DZLA", - "region": "ap-northeast-1" - } - }, - "configurations": [ - { - "role": "web", - "flag": "Web01", - "provision": { - "image": "${computed}", - "instance_type": "m3.medium", - "instance_count": 2, - "keypair": true - } - } - ] - }, - "diff": { - "new": [], - "removed": { - "configurations\/1\/provision\/volume_type": "${computed}" - }, - "edited": { - "label": { - "oldvalue": "template version label #1", - "newvalue": "template version label #2" - }, - "configurations\/provision\/instance_type": { - "oldvalue": "t2.micro", - "newvalue": "m3.medium" - }, - "configurations\/provision\/instance_count": { - "oldvalue": 1, - "newvalue": 2 - } - } - } -} -``` - -### Template Versions {#template-list} - -List Mobingi Alm template versions - -GET `/v3/alm/template` - -| **Parameters** | **Type** | **Required** | **Detail** | -| --- | :---: | ---: | :--- | -| stack\_id | string | Yes | The unique id returned when applying the template | - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/json -``` - -Response Body - -```bash -HTTP/1.1 200 OK - -[ - { - "version_id": "1kk2HiGLxF1fThVLJvC0h6fd5z3QWOiM", - "latest": true, - "last_modified": "2017-08-25T10:40:29.000Z", - "size": "2963" - }, - { - "version_id": "gCn2JuPhndwxMZuodOER0yyxM8jZB6Vn", - "latest": false, - "last_modified": "2017-08-25T10:20:38.000Z", - "size": "211" - }, - { - "version_id": "98O0jK5CQk8gLi14S2SLU8z3JIo3.JPx", - "latest": false, - "last_modified": "2017-08-25T08:48:12.000Z", - "size": "2940" - } -] -``` - -### Describe Template {#template-describe} - -Describes the template body of a specific version. - -GET `/v3/alm/template/{stack_id}` - -| **Parameters** | **Type** | **Required** | **Detail** | -| --- | :---: | ---: | :--- | -| version\_id | string | No | The id of the template version associated with the stack. If empty or "latest" provided, the most updated template version is returned | - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/json -``` - -Response Body - -```bash -HTTP/1.1 200 OK - -{ - "version": "2017-03-03", - "label": "template version label #2", - "description": "This template creates a sample stack with EC2 instance on AWS", - "vendor": { - "aws": { - "cred": "AKIAJ...DZLA", - "region": "ap-northeast-1" - } - }, - "configurations": [ - { - "role": "web", - "flag": "Web01", - "provision": { - "image": "${computed}", - "instance_type": "m3.medium", - "instance_count": 2, - "keypair": true - } - } - ] -} -``` - -## Stacks {#stacks} - -### List Stacks {#stack-list} - -List all stacks running under current organization account. - -GET `/v3/alm/stack` - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/json -``` - -Response Body - -```bash -HTTP/1.1 200 OK - -[ - { - "auth_token": "zQT8zJ37o9iZDIAFOVOoZzLCu0nR", - "user_id": "5447820c870e1", - "configuration": { - "version": "2017-03-03", - "label": "template version label #2", - "description": "This template creates a sample stack with EC2 instance on AWS", - "vendor": { - "aws": { - "cred": "AKIAJ...DZLA", - "region": "ap-northeast-1" - } - }, - "configurations": [ - { - "role": "web", - "flag": "Web01", - "provision": { - "image": "${computed}", - "instance_type": "m3.medium", - "instance_count": 2, - "keypair": true - } - } - ] - }, - "nickname": "clean sail demonstrate", - "create_time": "2017-08-26T19:31:25+09:00", - "username": "thompson", - "stack_id": "mo-5447820c870e1-ZgNTSRM8K-tk", - "stack_status": "CREATE_COMPLETE", - "version_id": "1kk2HiGLxF1fThVLJvC0h6fd5z3QWOiM" - }, - { - .. - } -] -``` - -### Describe Stack {#stack-describe} - -Describes the stack detail information. - -GET `/v3/alm/stack/{stack_id}` - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/json -``` - -Response Body - -```bash -HTTP/1.1 200 OK - -{ - "auth_token": "zQT8zJ37o9iZDIAFOVOoZzLCu0nR", - "user_id": "5447820c870e1", - "configuration": { - "version": "2017-03-03", - "label": "template version label #2", - "description": "This template creates a sample stack with EC2 instance on AWS", - "vendor": { - "aws": { - "cred": "AKIAJ...DZLA", - "region": "ap-northeast-1" - } - }, - "configurations": [ - { - "role": "web", - "flag": "Web01", - "provision": { - "image": "${computed}", - "instance_type": "m3.medium", - "instance_count": 2, - "keypair": true - } - } - ] - }, - "nickname": "clean sail demonstrate", - "create_time": "2017-08-26T19:31:25+09:00", - "username": "thompson", - "stack_id": "mo-5447820c870e1-ZgNTSRM8K-tk", - "stack_status": "CREATE_COMPLETE", - "version_id": "1kk2HiGLxF1fThVLJvC0h6fd5z3QWOiM" -} -``` - -### Describe Container {#describe-container} - -Describes the stack container detail information. - -GET `/v3/alm/container/{container_id}` - -| **Parameters** | **Type** | **Required** | **Detail** | -| --- | :---: | ---: | :--- | -| container\_id | string | Yes | The id of the container associated with the stack. | - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/json -``` - -Response Body - -```javascript -HTTP/1.1 200 OK - -{ - "container_id": "i-0c32760b85f60aca7", - "agent_id": "e8b15d4f-f027-4c65-80f5-ded5858cd213", - "update_time": "1510544332", - "stack_id": "mo-5447820c870e1-ZgNTSRM8K-tk", - "instance_id": "i-0c32760b85f60aca7", - "status": "complete" -} -``` - -### List Containers {#list-containers} - -List the stack containers filtering by {stack\_id} or {instance\_id} - -GET `/v3/alm/container` - -| **Parameters** | **Type** | **Required** | **Detail** | -| --- | :---: | ---: | :--- | -| stack\_id | string | conditional | If both {stack\_id} and {instance\_id} are presents, {stack\_id} will be ignored. | -| instance\_id | string | conditional | The id of the instance. | - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/json -``` - -Response Body - -```javascript -HTTP/1.1 200 OK - -[ - { - "agent_id": "4e9a6b9a-2a1f-454e-be5e-847573b44f10", - "container_id": "i-049a49d8881adf122", - "update_time": "1510564361", - "stack_id": "mo-5447820c870e1-ZgNTSRM8K-tk", - "instance_id": "i-049a49d8881adf122", - "status": "complete" - }, - { - "agent_id": "09afaa82-0a71-4680-a68a-91badaaaa134", - "container_id": "i-0363778be4d1bc81f", - "update_time": "1510564297", - "stack_id": "mo-5447820c870e1-ZgNTSRM8K-tk", - "instance_id": "i-0363778be4d1bc81f", - "status": "complete" - }, - { - "agent_id": "9c075f08-81c9-4147-8974-f543640dccf6", - "container_id": "i-02f27fcae984fc946", - "update_time": "1510564348", - "stack_id": "mo-5447820c870e1-ZgNTSRM8K-tk", - "instance_id": "i-02f27fcae984fc946", - "status": "complete" - } -] -``` - -## RBAC {#rbac} - -### Create Role {#rbac-create-role} - -Creates a new role. \(**Note: This endpoint can only be accessed by master account**\) - -POST `/v3/role` - -| **Parameters** | **Type** | **Required** | **Detail** | -| --- | :---: | ---: | :--- | -| name | string | Yes | Name of Mobingi Role | -| scope | string | Yes | Mobingi Role in json string format | - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/x-www-form-urlencoded -``` - -Request body - -```bash -{ - "name": "sample name", - "scope": "{ _role scope body_ }" -``` - -Response Body - -```bash -HTTP/1.1 200 - -{ - "status": "success", - "role_id": "morole-544****0e1-ZgNTSRM8K-tk" -} -``` - -### Update Role {#rbac-update-role} - -Updates an existing role. - -**Note:** _This endpoint is denied to all users except master account, defined by_ [_default RBAC scope_](https://learn.mobingi.com/enterprise/rbac-reference#default-roles)_, and this scope cannot be overwritten._ - -PUT `/v3/role/{role_id}` - -| **Parameters** | **Type** | **Required** | **Detail** | -| --- | :---: | ---: | :--- | -| name | string | Yes | Name of Mobingi Role | -| scope | string | Yes | Mobingi Role in json string format | - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/x-www-form-urlencoded -``` - -Request body - -```bash -{ - "name": "sample name", - "scope": "{ _role scope body_ }" -} -``` - -Response Body - -```bash -HTTP/1.1 200 - -{ - "status": "success", - "role_id": "morole-544****70e1-ZgNTSRM8K-tk" -} -``` - -### Delete Role {#rbac-delete-role} - -Deletes an existing Role. - -**Note:** _This endpoint is denied to all users except master account, defined by_ [_default RBAC scope_](https://learn.mobingi.com/enterprise/rbac-reference#default-roles)_, and this scope cannot be overwritten._ - -DELETE `/v3/role/{role_id}` - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/json -``` - -Response Body - -```bash -HTTP/1.1 200 - -{ - "status": "success", - "role_id": "morole-544****0e1-ZgN****M8K-tk" -} -``` - -### List Roles {#rbac-list-roles} - -Lists all roles created under current account. - -**Note:** _This endpoint is denied to all users except master account, defined by_ [_default RBAC scope_](https://learn.mobingi.com/enterprise/rbac-reference#default-roles)_, and this scope cannot be overwritten._ - -GET `/v3/role` - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/json -``` - -Response Body - -```bash -HTTP/1.1 200 -[ - { - "role_id": "morole-544****0e1-ZgNT***M8K-tk", - "user_id": "544****0e1", - "name": "sample name", - "scope": "{ _role scope body_ }", - "create_time": "", - "update_time": "" - }, - { - .... - } -] -``` - -### Describe Roles {#rbac-describe-roles} - -1. **Describe roles attached to the user** - - Lists all roles attached to a user specified by username. - - **Note:** _This endpoint is denied to all users except master account, defined by_ [_default RBAC scope_](https://learn.mobingi.com/enterprise/rbac-reference#default-roles)_, and this scope cannot be overwritten._ - - GET `/v3/user/{username}/role` - -```text -Request Header -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/json -``` - -Response Body - -```bash -HTTP/1.1 200 -[ - { - "role_id": "morole-544****0e1-ZgNT***M8K-tk", - "user_id": "544****0e1", - "name": "sample name", - "scope": "{ _role scope body_ }", - "create_time": "", - "update_time": "" - }, - { - .... - } - -] -``` - -```text -1. **Describe Current Logged In User Roles** - -```text -Lists all roles attached to current user. - -_This endpoint is requested by users instead of master account, and returns the roles that attached to them._ - -
-GET /v3/user/role -
- - - -Request Header -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/json -``` - -Response Body - -```bash -HTTP/1.1 200 -[ - { - "user_role_id": "mour-5447****0e1-TEW****dsIE-tk", - "role_id": "morole-5447****0e1-ZgN****RM8K-tk", - "user": "{ user_id: 5447****0e1, username: tes***est }", - "scope": "{ _role scope body_ }", - "create_time": "", - "update_time": "" - }, - { - .... - } - -] -``` - -```text -### Attach Role to User {#rbac-attach-user-role} - -Attach an existing role to a user. - -**Note:** _This endpoint is denied to all users except master account, defined by_ [_default RBAC scope_](https://learn.mobingi.com/enterprise/rbac-reference#default-roles)_, and this scope cannot be overwritten._ - - POST `/v3/user/role` - -| **Parameters** | **Type** | **Required** | **Detail** | -| --- | :---: | ---: | :--- | -| username | string | Yes | target user | -| role\_id | string | Yes | Mobingi Role Id | - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/x-www-form-urlencoded -``` - -Request body - -```bash -{ - "username": "testtest", - "role_id": "morole-544****0e1-ZgN****8K-tk" -} -``` - -Response Body - -```bash -HTTP/1.1 200 -{ - "status": "success", - "user_role_id": "mour-544****0e1-ZgN****M8K-tk" -} -``` - -### Reattach Role to User {#rbac-reattach-user-role} - -Reattach a role to user. - -**Note:** _This endpoint is denied to all users except master account, defined by_ [_default RBAC scope_](https://learn.mobingi.com/enterprise/rbac-reference#default-roles)_, and this scope cannot be overwritten._ - -PUT `/v3/user/role/{role_id}` - -| **Parameters** | **Type** | **Required** | **Detail** | -| --- | :---: | ---: | :--- | -| username | string | Yes | target user | - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/x-www-form-urlencoded -``` - -Request body - -```bash -{ - "username": "testtest" -} -``` - -Response Body - -```bash -HTTP/1.1 200 - -{ - "status": "success", - "role_id": "morole-5447****0e1-ZgN***M8K-tk" -} -``` - -### Detach Role from User {#rbac-detach-user-role} - -Deatch a role from user. - -**Note:** _This endpoint is denied to all users except master account, defined by_ [_default RBAC scope_](https://learn.mobingi.com/enterprise/rbac-reference#default-roles)_, and this scope cannot be overwritten._ - -DELETE `/v3/user/role/{role_id}` - -| **Parameters** | **Type** | **Required** | **Detail** | -| --- | :---: | ---: | :--- | -| username | string | Yes | target user | - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/json -``` - -Request body - -```bash -{ - "username": "testtest" -} -``` - -Response Body - -```bash -HTTP/1.1 200 - -{ - "status": "success", - "role_id": "morole-5447****0e1-ZgN****M8K-tk" -} -``` - -### Describe Role Scope {#rbac-describe-role-scope} - -Describes the role scope body. - -GET `/v3/role/templates` - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/json -``` - -Response Body - -```bash -HTTP/1.1 200 -[ - { - "id": "admin", - "name": "Management Role", - "scope": { - "version": "2017-05-05", - "Statement": [ - { - "Effect": "Allow", - "Action": [ - "*" - ], - "Resource": [ - "*" - ] - } - ] - } - }, - { - .... - } -] -``` - -## Alm-Agent {#alm-agent} - -_In this section, all endpoints are designated to work with Mobingi alm-agent in order to perform application lifecycle automation by Mobingi. Mobingi alm-agent is the Linux server side program that automatically installed during instance launch and initialization. If you are a contributor to the OSS repo_ [_github.com/mobingi/alm-agent_](https://github.com/mobingi/alm-agent)_, you're looking at the right reference here. If you are a developer working on integrating Mobingi ALM with your client applications or contributing to Mobingi API/UI only, you can ignore this API references section._ - -### Register Agent Status {#alm-agent-register-agent-status} - -This endpoint listens to the notifications sent by Mobingi alm-agent for self status registration. - -For example, when an instance is launched and Mobingi alm agent is installed, the agent will first call this endpoint to register itself. - -Another example, when an AWS spot instance is scheduled to be shutdown, the agent will send notice to this endpoint and allow Mobingi system to perform other necessary actions \(_such as spot replacement\)_. - -POST `/v3/alm/agent/agent_status` - -| **Parameters** | **Type** | **Required** | **Detail** | -| --- | :---: | ---: | :--- | -| stack\_id | string | Yes | The stack id which this server instance is belonged to | -| agent\_id | string | Yes | The agent's unique identifier | -| status | string | Yes | Sample values: _starting_, _installing_, _error_, _notice_, spot\_terminate, etc.. | -| instance\_id | string | No | The server instance id where Mobingi alm-agent is installed on | -| message | string | No | Optional, a description of the status message, e.g: _image/repository not found_ | - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/json -``` - -Response Body - -```bash -HTTP/1.1 202 Accepted -``` - -### Register Container Status {#alm-agent-register-container-status} - -This endpoint listens to the notifications sent by Mobingi alm-agent with the status updates during a container's lifecycle. Possible status examples: _starting_, _updating_, _restarting_, _running_, _terminated_, etc. - -POST `/v3/alm/agent/container_status` - -| **Parameters** | **Type** | **Required** | **Detail** | -| --- | :---: | ---: | :--- | -| stack\_id | string | Yes | The stack id which this server instance is belonged to | -| agent\_id | string | Yes | The agent's unique identifier | -| container\_id | string | Yes | The container unique id. \_Sometimes, this value could be an instance's id. | -| status | string | Yes | sample values: _starting_, _updating_, _restarting_, _running_, _terminated_, etc.. | -| instance\_id | string | No | The server instance id where Mobingi alm-agent is installed on | - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/json -``` - -Response Body - -```bash -HTTP/1.1 202 Accepted -``` - -### Describe Container Configuration {#alm-agent-container-config} - -This endpoint is used by Mobingi alm-agent to describing `container` section of the layer configuration from Mobingi Alm Template, identified by `flag` name. - -GET `/v3/alm/agent/config` - -| **Parameters** | **Type** | **Required** | **Detail** | -| --- | :---: | ---: | :--- | -| stack\_id | string | Yes | the stack id where the instance is associated to | -| flag | string | Yes | The flag identifier of the configuration layer | - -Request Header - -```bash -Authorization: Bearer eyJ0eXAiOiJQiL...CJhbGciOMeXzQfME -Content-Type: application/json -``` - -Response Body - -```bash -HTTP/1.1 200 OK - -{ - "image": "registry.mobingi.com/mobingi/ubuntu-apache2-php5", - "environment_variables": { - "Stage": "_development", - "DB_USERNAME": "root", - "DB_PSSSWORD": "7zk3FBP37", - "my_secret": "D3nz!lwA_h1ngt0n" - }, - "gitReference": "master", - "gitPrivateKey": "-----BEGIN PRIVATE ...\n-----END PRIVATE KEY-----\n", - "gitRepo": "https://github.com/mobingilabs/default-site-php.git", - "updated": 1492161755 -} -``` - -**Note:** _If the response has an empty body, it could mean that wrong_ `flag` _name was provided, or it doesn't have any container config defined._ - diff --git a/mobingi-alm/api-reference/overview.md b/mobingi-alm/api-reference/overview.md deleted file mode 100644 index aa3b9e30..00000000 --- a/mobingi-alm/api-reference/overview.md +++ /dev/null @@ -1,14 +0,0 @@ -# Overview - -Mobingi API is organized around REST. Our API has predictable, resource-oriented URLs. We support CORS \(Cross-Origin Resource Sharing\), allowing you to interact securely with our API. - -## Endpoint - -```text -https://api.mobingi.com -``` - -## Version - -The current supported API version is `v3`. - diff --git a/mobingi-alm/cli-reference/README.md b/mobingi-alm/cli-reference/README.md deleted file mode 100644 index a383cd50..00000000 --- a/mobingi-alm/cli-reference/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# CLI Reference - -{% page-ref page="mobingi-cli-documentation.md" %} - - - diff --git a/mobingi-alm/cli-reference/mobingi-cli-documentation.md b/mobingi-alm/cli-reference/mobingi-cli-documentation.md deleted file mode 100644 index 2c970718..00000000 --- a/mobingi-alm/cli-reference/mobingi-cli-documentation.md +++ /dev/null @@ -1,1213 +0,0 @@ -# Mobingi CLI Documentation - -## Overview - -mobingi-cli is the official command line interface for Mobingi API and services. - -To view a list of the available commands, just run mobingi-cli without arguments: - -```bash -$ mobingi-cli -Command line interface for Mobingi API and services. - -Usage: - mobingi-cli [command] - -Available Commands: - creds manage your credentials - help help about any command - login login to Mobingi API - rbac manage role based access control features - registry manage your Mobingi docker registry - reset reset config to defaults - stack manage your stack - svrconf manage your server config file - template manage your ALM templates - version print the version - -Flags: - --token string access token - --url string base url for API - --rurl string base url for Docker Registry - --apiver string API version (default "v3") - -f, --fmt string output format (values depends on command) - -o, --out string full file path to write the output - --indent int indent padding when fmt is 'json' (default 2) - --timeout int timeout in seconds (default 120) - --verbose verbose output - --debug debug mode when error occurs - -h, --help help for mobingi-cli - -Use "mobingi-cli [command] --help" for more information about a command. -``` - -To get help for any command, pass the -h flag to the command. For example, to see help about the stack command: - -```bash -$ mobingi-cli stack -h -Manage your infrastructure/application stack. - -Usage: - mobingi-cli stack [flags] - mobingi-cli stack [command] - -Available Commands: - create create a stack - delete delete a stack - describe display stack details - list list all stacks - pem print stack pem file - ssh ssh to your instance - update update a stack - -Flags: - -h, --help help for stack - -Global Flags: - --apiver string API version (default "v3") - --debug debug mode when error occurs - -f, --fmt string output format (values depends on command) - --indent int indent padding when fmt is 'json' (default 2) - -o, --out string full file path to write the output - --rurl string base url for Docker Registry - --timeout int timeout in seconds (default 120) - --token string access token - --url string base url for API - --verbose verbose output - -Use "mobingi-cli stack [command] --help" for more information about a command. -``` - -## Global flags - -Global flags are all optional and can be applied to any subcommand. You can use '=' or whitespace when assigning a value to the flag. This applies to any command's local flags as well. For example, you can login using any of these commands: - -```bash -# using the '=' for assignment -$ mobingi-cli login --client-id=foo --client-secret=bar -[mobingi-cli]: info: Login successful. - -# using whitespace for assignment -$ mobingi-cli login --client-id foo --client-secret bar -[mobingi-cli]: info: Login successful. -``` - -* `--token` - - The access token to use in the command. By default, mobingi-cli will save your access token to the config file after login \(see [login](mobingi-cli-documentation.md#login) command\). - -* `--url` - - The base API url to use in the command. By default, this is set to [https://api.mobingi.com](https://api.mobingi.com). You can use this flag if you are hosting your own backend. This is used by devs when testing the cli against the dev and test environments. - -* `--rurl` - - The base registry url to use in the command. This is applicable to Mobingi Registry related commands. By default, this is set to [https://registry.mobingi.com](https://registry.mobingi.com). This is used by devs when testing the cli against the dev and test environments. - -* `--apiver` - - Specify the API version used in the current command. The default version is v3. The only other supported version is v2. - -* `--fmt, -f` - - Output format of the command. Valid values are: _raw_, _json_. Not all commands support this flag. - -* `--out, -o` - - Full path of the file to write the command output. Not all commands support this flag. - -* `--indent` - - Padding/indentation \(or the number of whitespaces to be added\) when the output format used is _json_. By default, this is set to 2. - -* `--timeout` - - The timeout value \(in seconds\) for the command's http request \(if applicable\). By default, this is set to 120 seconds. - -* `--verbose` - - When set to true, the command will print additional information during the command's execution. - -* `--debug` - - When set to true, the command will print a stack trace when error occurs during the command's execution. - -## Commands - -### login {#login} - -Log in to Mobingi. - -**Flags** - -* `--client-id, -i` - - Your Mobingi client id. - -* `--client-secret, -s` - - Your Mobingi client secret. - -* `--grant-type, -g` - - Grant type. Default value is "password". - -* `--username, -u` - - Username. You can use your main \(master\) account to login as root. Or you can use any subuser name. - -* `--password, -p` - - Password - -* `--endpoints` - - Setup endpoints after login. If you have a Mobingi dev or qa account\(s\), you can set this to _dev_ or _qa_. - -This is the first command you need to run to use the other commands. To login, run - -```bash -# login as root -$ mobingi-cli login --client-id=foo --client-secret=bar --username=master@mobingi.com --password=1234 -[mobingi-cli]: info: Login successful. - -# login as subuser -$ mobingi-cli login --client-id=foo --client-secret=bar --username=subuser01 --password=pass -[mobingi-cli]: info: Login successful. - -# if you don't want to show your password, remove the --password flag -$ mobingi-cli login --client-id=foo --client-secret=bar --username=subuser01 -Password: xxxx -[mobingi-cli]: info: Login successful. -``` - -If login is successful, cli will create a file _`config.yml`_ under _`$HOME/.mobingi-cli/`_ folder that will contain the configuration values set during login. Cli will also attempt to store your credentials in the platform's native store \(i.e. Keychain for OSX\), if available. If not successful, the retrieved token during login will be saved in the _config.yml_ file. This token has an expiration so you will probably need to relogin at some point when this happens. - -For Windows and OSX, cli can use the native credential store directly; wincred for Windows, Keychain for OSX. For Linux, cli uses [pass](https://www.passwordstore.org/) as storage. The following is an example of how to setup pass in Ubuntu systems. - -```bash -# install pass -$ sudo apt-get install pass - -# generate your own key using gpg2, do not use a passphrase -$ gpg2 --gen-key - -# if the cmd seems stuck due to lack of entropy, you can open another window and run the ff cmd: -# dd if=/dev/sda of=/dev/zero - -# list your keys -$ gpg2 --list-keys -/home/user/.gnupg/pubring.kbx ------------------------------- -pub rsa2048/5486B0F6 2017-09-22 [SC] -uid [ultimate] IamGroot -sub rsa2048/CDC4C430 2017-09-22 [E] - -# initialize pass (use the pub key id) -$ pass init 5486B0F6 - -# you can now do a mobingi-cli login ... -``` - -By default, all endpoints are set to Mobingi production during login. You can use the --endpoints flag to target alternative endpoints. For example, if you have a Mobingi dev account, you can use the following login command: - -```bash -$ mobingi-cli login --client-id foo --client-secret bar --username subuser01 --password 1234 --endpoints dev -[mobingi-cli]: info: Login successful. -``` - -### stack list {#stack-list} - -List your stacks. - -Example: - -```bash -$ mobingi-cli stack list -STACK ID STACK NAME PLATFORM STATUS ... -mo-58c2297d25645-q38pTmeey-tk small lunch behave AWS CREATE_COMPLETE ... -mo-58c2297d25645-PxviFSJQV-tk chronic leaflet flourish AWS CREATE_COMPLETE ... -``` - -### stack describe {#stack-describe} - -Describe a stack. - -**Flags** - -* `--id` - The stack id to describe. - -Example: - -```bash -$ mobingi-cli stack describe --id mo-58c2297d25645-PxviFSJQV-tk -{ - "auth_token": "...", - "update_time": "2017-08-30T11:32:42+09:00", - "user_id": "...", - "configuration": { - "description": "This template creates a sample stack with EC2 instance on AWS", - "label": "template version label #1", - "version": "2017-03-03", - "vendor": { - ... - }, - "configurations": [ - { - ... - } - ], - "AWS_ACCOUNT_NAME": "..." - }, - "nickname": "chronic leaflet flourish", - "create_time": "2017-08-29T18:47:49+09:00", - "stack_outputs": [], - "stack_id": "mo-58c2297d25645-PxviFSJQV-tk", - "stack_status": "CREATE_COMPLETE", - "version_id": "jbyW_PxMAauQmOS31dUhij4KIqHAtqW2", - "instances": [] -} -``` - -### stack create {#stack-create} - -Create a stack. - -**Flags** - -* `--alm-template` - - Path to your ALM template. This is required in v3. - -* `--vendor` - - Stack vendor. For now, only AWS is supported. - -* `--cred` - - Your vendor credential ID. If not set, cli will try to get your list of credentials and use the first one in the list, if not empty. - -* `--region` - - Region code. By default, this is set to _ap-northeast-1_ \(Tokyo\). - -* `--nickname` - - Your stack's nickname. - -* `--arch` - - Stack type. Valid values are: "art\_single", "art\_elb". By default, this is set to "art\_elb". - -* `--type` - - Instance type. By default, this is set to _m3.medium_. - -* `--image` - - Docker registry path to deploy. If you are using _hub.docker.com_, you can omit the domain part \(ex. _grayltc/lamp_\). Otherwise, specify the full path \(ex. _registry.mobingi.com/wayland/lamp_\). By default, this is set to _mobingi/ubuntu-apache2-php7:7.1_. - -* `--dhub-user` - - Your Docker hub username if repository is private. - -* `--dbuh-pass` - - Your Docker hub password if repository is private. - -* `--min` - - Minimum number of instances in your autoscaling group when --arch is set to art\_elb. By default, this is set to 2. - -* `--max` - - Maximum number of instances in your autoscaling group when --arch is set to art\_elb. By default, this is set to 10. - -* `--spot-range` - - Percentage of spot instance to deploy to autoscaling group. For example, if you have a total of 20 instances running and your spot range is 50 \(50%\), then there will be a fleet of 10 spot instances and 10 on-demand instances. By default, this is set to 50. - -* `--code` - - Your git repository url. This can be updated anytime. By default, this is set to _github.com/mobingilabs/default-site-php_. - -* `--code-ref` - - Repository branch. By default, this is set to _master_. - -* `--code-privkey` - - Private key if git repository is private. - -* `--usedb` - - Set to true if you want to deploy a database. - -* `--dbengine` - - Your database engine. Valid values are: "db\_mysql", "db\_postgresql". Requires --usedb flag. - -* `--dbtype` - - Database instance/class type. Requires --usedb flag. - -* `--dbstorage` - - Database storage in GB. Set between 5 to 6144. Requires --usedb flag. - -* `--dbread-replica1` - - Read replica 1. Requires --usedb flag. - -* `--dbread-replica2` - - Read replica 2. Requires --usedb flag. - -* `--dbread-replica3` - - Read replica 3. Requires --usedb flag. - -* `--dbread-replica4` - - Read replica 4. Requires --usedb flag. - -* `--dbread-replica5` - - Read replica 5. Requires --usedb flag. - -* `--use-elasticache` - - Set to true if you want to use elasticache. - -* `--elasticache-engine` - - Either _Redis_ or _Memcached_. Requires --use-elasticache flag. - -* `--elasticache-nodetype` - - Elasticache node size. For example, _cache.r3.large_. Requires --use-elasticache flag. - -* `--elasticache-nodecount` - - If Redis, range is 1 to 6. If Memcached, range is 1 to 20. Requires --use-elasticache flag. - -**API v3** - -Starting in v3, we create stacks using ALM Templates. Below is an example of a very simple template that creates a single EC2 instance: - -```bash -{ - "version": "2017-03-03", - "label": "template version label #1", - "description": "This template creates a sample stack with EC2 instance on AWS", - "vendor": { - "aws": { - "cred": "** Your AWS Security Key ID **", - "secret": "** Your AWS Security Key Secret, remove line if you have a Mobingi account **", - "region": "ap-northeast-1" - } - }, - "configurations": [ - { - "role": "web", - "flag": "Single1", - "provision": { - "instance_type": "t2.micro", - "instance_count": 1, - "keypair": false, - "subnet": { - "cidr": "10.0.1.0/24", - "public": true, - "auto_assign_public_ip": true - }, - "availability_zone": "ap-northeast-1c" - } - } - ] -} -``` - -Example: - -```bash -$ mobingi-cli stack create --alm-template=/home/user/aws-single-ec2.json -[mobingi-cli]: info: [201 Created] return payload: -{ - "status": "success", - "stack_status": "CREATE_IN_PROGRESS", - "stack_id": "mo-58c2297d25645-GbdINZdY-tk", - "version_id": "5RnOOvRQ4U52hpY89o_._ArIXgu_xzzg" -} -``` - -**API v2** - -Examples: - -```bash -$ mobingi-cli stack create --nickname=sample --apiver=v2 -$ mobingi-cli stack create --nickname=sample --min=2 --max=2 --apiver=v2 -``` - -### stack update {#stack-update} - -Update an existing stack. - -**Flags** - -* `--alm-template` - - Path to your updated ALM template file. Required in v3. - -* `--id` - - The stack id to update. - -* `--type` - - Instance type. See stack create command for more information. - -* `--min` - - Minimum number of instances in your autoscaling group. See stack create command for more information. - -* `--max` - - Maximum number of instances in your autoscaling group. See stack create command for more information. - -* `--spot-range` - - Percentage of spot instance to deploy to autoscaling group. See stack create command for more information. - -**API v3** - -Similar to stack creation, you only need to update some parts of your ALM template to update your stack. - -```bash -$ mobingi-cli stack update --id mo-58c2297d25645-q38pTmeey-tk \ - --alm-template /home/user/aws-single_ec2_update.json -[mobingi-cli]: info: [202 Accepted] return payload: -{ - "status": "success", - "stack_status": "UPDATE_IN_PROGRESS", - "stack_id": "mo-58c2297d25645-q38pTmeey-tk", - "version_id": "yypuLitarqIWhMoITLolNOh79fED6QME" -} -``` - -**API v2** - -Examples: - -```bash -$ mobingi-cli stack update --id=foo --min=5 --max=20 --apiver=v2 -$ mobingi-cli stack update --id=foo --spot-range=25 --apiver=v2 -``` - -### stack delete {#stack-delete} - -Delete a stack. - -**Flags** - -* `--id` - - The stack id to delete. - -Example: - -```bash -$ mobingi-cli stack delete --id mo-58c2297d25645-GbdINZdY-tk -[mobingi-cli]: info: [200 OK] return payload: -{ - "status": "DELETE_IN_PROGRESS" -} -``` - -### stack ssh {#stack-ssh} - -Try to establish an ssh connection to your instances. - -**Flags** - -* `--id` - - The stack id the instance belongs to. - -* `--ip` - - The IP address of the instance you want to connect. - -* `--flag` - - The configuration flag. - -* `--user` - - The ssh username. By default, this is set to _ec2-user_. Set to _root_ when vendor is Alibaba Cloud. - -* `--browser` - - Try to open the url using the user's default browser. - -Examples: - -```bash -# open an ssh connection via cli -$ mobingi-cli stack ssh --id mo-58c2297d25645-Sd2aHRDq0-tk --ip 54.238.234.202 --flag web01 -[ec2-user@ip-10-0-1-96 ~]$ pwd -/home/ec2-user -[ec2-user@ip-10-0-1-96 ~]$ exit -logout -Connection to 54.238.234.202 closed. - -# open an ssh connection using default browser -$ mobingi-cli stack ssh --id mo-58c2297d25645-Sd2aHRDq0-tk --ip 54.238.234.202 --flag web01 --browser -[mobingi-cli]: info: open link with a browser (if not opened automatically): \ -https://sesha3.mobingi.com:port/some-random-link/ -``` - -### stack exec {#stack-exec} - -Try to execute a bash script to one or more instances. - -**Flags** - -* `--target` - - The target instance to execute the script. The format is stack-id\|ip:flag. This flag can be specified more than once. - -* `--script` - - The script file to execute. - -Examples: - -```bash -# for example, we have a script with the following contents (stored in home folder as test.sh): -#!/bin/bash -pwd -uname -a -env - -# run the script on a single instance -$ mobingi-cli stack exec \ - --target "mo-58c2297d25645-rkIEPmust-tk|root@47.74.5.170:Single" \ - --script ~/test.sh -[mobingi-cli]: info: [0]output: mo-58c2297d25645-rkIEPmust-tk, instance: root@47.74.5.170, flag: Single -/root -Linux iZ6weeq9e4ktok8f9o2910Z 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux -XDG_SESSION_ID=43623 -SHELL=/bin/bash -SSH_CLIENT=54.238.178.1 45328 22 -USER=root -PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin -MAIL=/var/mail/root -PWD=/root -LANG=en_US.UTF-8 -HOME=/root -SHLVL=2 -LOGNAME=root -SSH_CONNECTION=54.238.178.1 45328 10.1.0.106 22 -LESSOPEN=||/usr/bin/lesspipe.sh %s -XDG_RUNTIME_DIR=/run/user/0 -_=/usr/bin/env - -# run the same script to an aws ec2 instance and an alibabacloud vm -$ mobingi-cli stack exec \ - --target "mo-58c2297d25645-rkIEPmust-tk|root@47.74.5.170:Single" \ - --target "mo-58c2297d25645-M5EIHEaOC-tk|ec2-user@13.230.9.8:web0" \ - --script ~/test.sh -[mobingi-cli]: info: [0]output: mo-58c2297d25645-rkIEPmust-tk, instance: root@47.74.5.170, flag: Single -/root -Linux iZ6weeq9e4ktok8f9o2910Z 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux -XDG_SESSION_ID=43631 -SHELL=/bin/bash -SSH_CLIENT=54.238.178.1 45386 22 -USER=root -PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin -MAIL=/var/mail/root -PWD=/root -LANG=en_US.UTF-8 -HOME=/root -SHLVL=2 -LOGNAME=root -SSH_CONNECTION=54.238.178.1 45386 10.1.0.106 22 -LESSOPEN=||/usr/bin/lesspipe.sh %s -XDG_RUNTIME_DIR=/run/user/0 -_=/usr/bin/env - -[mobingi-cli]: info: [1]output: mo-58c2297d25645-M5EIHEaOC-tk, instance: ec2-user@13.230.9.8, flag: web0 -/home/ec2-user -Linux ip-10-0-1-63 4.9.51-10.52.amzn1.x86_64 #1 SMP Fri Sep 29 01:16:19 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux -LESS_TERMCAP_mb= -LESS_TERMCAP_md= -LESS_TERMCAP_me= -SHELL=/bin/bash -SSH_CLIENT=54.238.178.1 37174 22 -EC2_AMITOOL_HOME=/opt/aws/amitools/ec2 -LESS_TERMCAP_ue= -USER=ec2-user -EC2_HOME=/opt/aws/apitools/ec2 -LESS_TERMCAP_us= -PATH=/usr/local/bin:/bin:/usr/bin:/opt/aws/bin -MAIL=/var/mail/ec2-user -PWD=/home/ec2-user -JAVA_HOME=/usr/lib/jvm/jre -LANG=en_US.UTF-8 -AWS_CLOUDWATCH_HOME=/opt/aws/apitools/mon -HOME=/home/ec2-user -SHLVL=2 -AWS_PATH=/opt/aws -AWS_AUTO_SCALING_HOME=/opt/aws/apitools/as -LOGNAME=ec2-user -SSH_CONNECTION=54.238.178.1 37174 10.0.1.63 22 -AWS_ELB_HOME=/opt/aws/apitools/elb -LESSOPEN=||/usr/bin/lesspipe.sh %s -LESS_TERMCAP_se= -_=/bin/env -``` - -### stack pem {#stack-pem} - -Print the stack's pem file \(and save to file optionally\), if available. Useful if you want to connect to your instances using other tools. - -**Flags** - -* `--id` - - The stack id to query. - -* `--flag` - - The configuration flag. - -Example: - -```bash -# print pem file -$ mobingi-cli stack pem --id mo-58c2297d25645-Sd2aHRDq0-tk --flag web01 -[mobingi-cli]: info: payload: ------BEGIN RSA PRIVATE KEY----- -MIIEogIBAAKCAQEAiy5kdqROYbjke0BE8rcT7qUtSKyaaIgqiJLYxlduov2wvnRHSo5O8m67v8UD -Pkxz4fR/gQXYcpV4/T/3zqTVaGcVNK8ZCE1jRfKt/5QFQkPOJRkDWZZzQqSwUMhnMiK1iE+33fmp -ITvktdL9OMT0RXjZ4qKq+aifaY9D0XzbR3HWLFcWZ+0tmzUTJDM8F6LivsPUjR8uitiic7KXvlDV -... ------END RSA PRIVATE KEY----- - -# print pem file and save to home directory as test.pem -$ mobingi-cli stack pem --id mo-58c2297d25645-Sd2aHRDq0-tk --flag web01 --out ~/test.pem -[mobingi-cli]: info: payload: ------BEGIN RSA PRIVATE KEY----- -MIIEogIBAAKCAQEAiy5kdqROYbjke0BE8rcT7qUtSKyaaIgqiJLYxlduov2wvnRHSo5O8m67v8UD -Pkxz4fR/gQXYcpV4/T/3zqTVaGcVNK8ZCE1jRfKt/5QFQkPOJRkDWZZzQqSwUMhnMiK1iE+33fmp -ITvktdL9OMT0RXjZ4qKq+aifaY9D0XzbR3HWLFcWZ+0tmzUTJDM8F6LivsPUjR8uitiic7KXvlDV -... ------END RSA PRIVATE KEY----- - -# you can now use ssh tool to connect your instance -$ ssh -i ~/test.pem user@ipaddr -``` - -### template versions {#template-versions} - -List available template versions of a stack. - -**Flags** - -* `--id` - - The stack id owning the template versions to be listed. - -Example: - -```bash -# list stacks first to get the stack id -$ mobingi-cli stack list -STACK ID STACK NAME PLATFORM STATUS ... -mo-58c2297d25645-q38pTmeey-tk small lunch behave AWS CREATE_COMPLETE ... -mo-58c2297d25645-PxviFSJQV-tk chronic leaflet flourish AWS CREATE_COMPLETE ... -# then list the template versions -$ mobingi-cli template versions --id mo-58c2297d25645-PxviFSJQV-tk -VERSION ID LATEST LAST MODIFIED SIZE -jbyW_PxMAauQmOS31dUhij4KIqHAtqW2 true Wed, 30 Aug 2017 02:32:43 UTC 472 -1xoPd.cg3juHK94vC8IdUh1bexx7sQ1T false Tue, 29 Aug 2017 09:47:50 UTC 453 -``` - -### template compare {#template-compare} - -Compare two template versions. - -You can compare template versions from the same stack, versions from different stacks, or a local template file to a specific template version. - -**Flags** - -* `--src-sid` - - The stack id of the first \(or source\) template. This flag is required. - -* `--src-vid` - - The version id of the first \(or source\) template. This flag is required. - -* `--tgt-sid` - - The stack id of the second \(or target\) template. If not set, cli will assume you are comparing templates of the same stack. - -* `--tgt-vid` - - The version id of the second \(or target\) template. This flag is required if you are not providing the --tgt-body flag. - -* `--tgt-body` - - Path of the template file you want to compare to the first \(or source\) template. If you set this flag, do not set the --tgt-sid and the --tgt-vid flags as they are ignored. - -Example: - -```bash -# using the examples above -$ mobingi-cli template compare --src-sid mo-58c2297d25645-PxviFSJQV-tk \ - --src-vid jbyW_PxMAauQmOS31dUhij4KIqHAtqW2 \ - --tgt-vid 1xoPd.cg3juHK94vC8IdUh1bexx7sQ1T -[mobingi-cli]: info: diff: -{ - "new": [], - "removed": [], - "edited": { - "label": { - "oldvalue": "template version label #1", - "newvalue": "template version label #1 (update)" - }, - "description": { - "oldvalue": "This template creates a sample stack with EC2 instance on AWS", - "newvalue": "This template creates a sample stack with EC2 instance on AWS (update)" - }, - "configurations\/provision\/instance_type": { - "oldvalue": "t2.micro", - "newvalue": "m3.medium" - }, - "configurations\/provision\/instance_count": { - "oldvalue": 1, - "newvalue": 2 - } - } -} -``` - -### rbac describe {#rbac-describe} - -List all defined role\(s\) or per-user role\(s\). Only your root account has the permissions to run this command. - -If --user is not provided, this command will list all defined roles. - -**Flags** - -* `--user` - - Subuser name. Optional. - -### rbac sample {#rbac-sample} - -Print a sample role. - -This is useful when creating roles and you want something to start with. You can use this command to write to a file \(using the --out global flag\), edit the contents and use the file for role creation. - -Example: - -```bash -$ mobingi-cli rbac sample --out=/home/user/sample.json -{ - "Version": "2017-05-05", - "Statement": [ - { - "Effect": "Deny", - "Action": [ - "stack:describeStacks" - ], - "Resource": [ - "mrn:alm:stack:mo-xxxxxxx" - ] - }, - { - "Effect": "Allow", - "Action": [ - "*" - ], - "Resource": [ - "*" - ] - } - ] -} -[mobingi-cli]: info: sample written to /home/user/sample.json -``` - -### rbac create {#rbac-create} - -Define a role. - -**Flags** - -* `--type` - - Create type. Valid values are _role_ and _user_. Default is _role_. - -* `--name` - - Role name when --type is _role_. - -* `--scope` - - Path to role file. - -* `--allow-all` - - When set to true, --scope is ignored, the resulting role will allow all actions to all resources. - -Example: - -```bash -# use the sample generated in the previous command -$ mobingi-cli rbac create --name testrole --scope /home/user/sample.json -[mobingi-cli]: info: 200 OK -{ - "status":"success", - "role_id":"morole-58c2297d25645-F6HUEJG57" -} -``` - -### rbac attach {#rbac-attach} - -Attach a role to a user. - -**Flags** - -* `--user` - - The subuser name to attach the role to. - -* `--role-id` - - The role id to attach. - -Example: - -```bash -$ mobingi-cli rbac attach --user subuser --role-id morole-58c2297d25645-BtXGMSRsI -[mobingi-cli]: info: 200 OK -{ - "status": "success", - "user_role_id": "mour-subuser-icxUQ91SO" -} -``` - -### rbac delete {#rbac-delete} - -Delete a role. - -**Flags** - -* `--role-id` - - The role id to delete. You can get the role id from the _describe_ command. - -### svrconf show {#svrconf-show} - -Show a stack's serverconfig \(server configuration\) contents. Starting from v3, server config options are replaced by ALM templates. The following commands are still valid for v2. - -**Flags** - -* `--id` - - The stack id to query. - -Example: - -```bash -$ mobingi-cli svrconf show --id=foo --apiver=v2 -``` - -### svrconf update {#svrconf-update} - -Update a stack's serverconfig \(server configuration\). - -**Flags** - -* `--id` - - The stack id to update. - -* `--env` A comma-separated key/value pair\(s\) for environment variables. If you have whitespaces in the input, enclose it with double quotes. You can also set this flag to "null" to clear all environment variables. -* `--filepath` - - New filepath value if you want to update your filepath. - -Examples: - -```bash -# env examples -$ mobingi-cli svrconf update --id=foo --env=KEY1:value1,KEY2:value2,KEYx:valuex --apiver=v2 -$ mobingi-cli svrconf update --id=foo --env="KEY1: value1, KEY2: value2, KEYx: valuex" --apiver=v2 -$ mobingi-cli svrconf update --id=foo --env=null --apiver=v2 -# filepath example -$ mobingi-cli svrconf update --id=foo --filepath=git://github.com/mobingilabs/default --apiver=v2 -``` - -Note that when you provide update options simultaneously \(for example, you provide `--env=FOO:bar` and `--filepath=test` at the same time\), the tool will send each option as a separate request. - -### creds list {#creds-view} - -List vendor credentials. - -**Flags** - -* `--vendor` - - The vendor to list credentials. Valid values: _aws_, _alicloud_. Default value is _aws_. - -Examples: - -```bash -$ mobingi-cli creds list -VENDOR ID ACCOUNT LAST MODIFIED -aws xxxxxxxxxxxxxxxxxxxx user Wed, 05 Jul 2017 07:52:14 UTC -``` - -### registry catalog {#registry-list-catalog} - -List images under logged in username. - -This command is inherently slow. - -Registry related commands will use the login user/password credentials, if native store is supported. Otherwise, you will have to provide the user/password credentials using the --username and --password flags. - -**Flags** - -* `--username` - - Username \(Mobingi account subuser\) - -* `--password` - - Password \(Mobingi account subuser\) - -* `--service` - - Authentication service. By default, this is set to "Mobingi Docker Registry". - -* `--scope` - - Authentication scope. See [https://docs.docker.com/registry/spec/auth/scope/](https://docs.docker.com/registry/spec/auth/scope/) for more information on scopes. - -Examples: - -```bash -# user/password credentials are stored in native store -$ mobingi-cli registry catalog -[mobingi-cli]: info: Catalog list for user: subuser01 -subuser01/foo - -# no native store support -$ mobingi-cli registry catalog --username=subuser01 --password=xxxxxx -[mobingi-cli]: info: Catalog list for user: subuser01 -subuser01/foo -``` - -### registry tags {#registry-list-tags} - -List image tags. - -**Flags** - -* `--username` - - Username \(Mobingi account subuser\) - -* `--password` - - Password \(Mobingi account subuser\) - -* `--service` - - Authentication service. By default, this is set to "Mobingi Docker Registry". - -* `--scope` - - Authentication scope. See [https://docs.docker.com/registry/spec/auth/scope/](https://docs.docker.com/registry/spec/auth/scope/) for more information on scopes. - -* `--image` - - Image name to list. - -Example: - -```bash -$ mobingi-cli registry tags --image foo -IMAGE TAG -subuser01/foo latest -subuser01/foo 2.1 -``` - -### registry manifest {#registry-tag-manifest} - -Display a tag's manifest. - -**Flags** - -* `--username` - - Username \(Mobingi account subuser\) - -* `--password` - - Password \(Mobingi account subuser\) - -* `--service` - - Authentication service. By default, this is set to "Mobingi Docker Registry". - -* `--scope` - - Authentication scope. See [https://docs.docker.com/registry/spec/auth/scope/](https://docs.docker.com/registry/spec/auth/scope/) for more information on scopes. - -* `--image` - - Image tag to query. Format is _image:tag_. - -Example: - -```bash -$ mobingi-cli registry manifest --image foo:latest -{ - "schemaVersion": 1, - "name": "subuser01/foo", - "tag": "latest", - "architecture": "amd64", - "fsLayers": [ - { - "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" - }, - ... - ], - "history": [ - { - "v1Compatibility": "..." - }, - ... - ], - "signatures": [ - { - "header": { - "jwk": { - ... - }, - "alg": "ES256" - }, - "signature": "...", - "protected": "..." - } - ] -} -``` - -### command: registry delete {#registry-tag-delete} - -Delete a tag. - -**Flags** - -* `--username` - - Username \(Mobingi account subuser\) - -* `--password` - - Password \(Mobingi account subuser\) - -* `--service` - - Authentication service. By default, this is set to "Mobingi Docker Registry". - -* `--scope` - - Authentication scope. See [https://docs.docker.com/registry/spec/auth/scope/](https://docs.docker.com/registry/spec/auth/scope/) for more information on scopes. - -* `--image` - - Image tag to query. Format is _image:tag_. - -Example: - -```bash -$ mobingi-cli registry delete --username=subuser1 --password=xxxxxx \ - --image=foo:latest --apiver=v2 -``` - -### registry token {#registry-get-token} - -Get an access token for Mobingi Docker Registry access. - -**Flags** - -* `--username` - - Username \(Mobingi account subuser\) - -* `--password` - - Password \(Mobingi account subuser\) - -* `--service` - - Authentication service. By default, this is set to "Mobingi Docker Registry". - -* `--scope` - - Authentication scope. See [https://docs.docker.com/registry/spec/auth/scope/](https://docs.docker.com/registry/spec/auth/scope/) for more information on scopes. - -Example: - -```bash -$ mobingi-cli registry token \ - --username=foo \ - --password=bar \ - --service="Mobingi Docker Registry" \ - --scope="repository:foo/container:*" -``` - -This is useful when you want to access the registry directly using other tools. For example, you can use the token when using Docker Registry API via `curl`. - -```bash -$ curl -H "Authorization: Bearer token" \ - -H "Accept application/vnd.docker.distribution.manifest.v2+json" \ - https://registry.mobingi.com/v2/foo/container/manifests/latest -``` - -### reset {#reset} - -Reset all configuration values to default. It will also delete all credential information stored in the platform's native store. - -Example: - -```bash -$ mobingi-cli reset -$ cat ~/.mobingi-cli/config.yml -access_token: "" -api_url: https://api.mobingi.com -registry_url: https://registry.mobingi.com -api_version: v3 -indent: 2 -timeout: 120 -verbose: false -debug: false -``` - -### version {#version} - -Prints the cli version. - -```bash -$ mobingi-cli version -v0.2.3-beta -``` - diff --git a/mobingi-alm/getting-started/README.md b/mobingi-alm/getting-started/README.md deleted file mode 100644 index 30ed7b01..00000000 --- a/mobingi-alm/getting-started/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# Getting started - -{% page-ref page="login-for-the-first-time.md" %} - -{% page-ref page="adding-aws-account.md" %} - -{% page-ref page="adding-azure-account.md" %} - -{% page-ref page="adding-alibaba-account.md" %} - -{% page-ref page="adding-gcp-account.md" %} - -{% page-ref page="adding-fujitsu-k5-account.md" %} - - - diff --git a/mobingi-alm/getting-started/adding-alibaba-account.md b/mobingi-alm/getting-started/adding-alibaba-account.md deleted file mode 100644 index 3731fe53..00000000 --- a/mobingi-alm/getting-started/adding-alibaba-account.md +++ /dev/null @@ -1,35 +0,0 @@ -# Adding Alibaba account - -ALM requires the credentials below to allow access to specific Alibaba Cloud resources. - -* AccessKeyID -* AccessKeySecret - -We recommend you to use RAM user as Alibaba Cloud credentials to ALM. To create a RAM user, please follow the steps below: - -**Step 1**: Log into your Alibaba Cloud console and find "Resource Access Management \(RAM\)" section, create the policy. - -The contents of the policy can be checked on ALM: - -![](../../.gitbook/assets/ram-policy.png) - -Copy the above the policy contents and create the policy on Alibaba Cloud console: - -![](../../.gitbook/assets/create-ram-policy.png) - -**Step 2**: Create the RAM user and attach the policy. - -Create the RAM user: - -![](../../.gitbook/assets/create-ram-user.png) - -Attach the previously created policy to the RAM user: - -![](../../.gitbook/assets/attach-ram-policy.png) - -**Step 3**: Create an access key and enter it on ALM. - -![](../../.gitbook/assets/ram-access-key.png) - -![](../../.gitbook/assets/setup-alibaba-credentials.png) - diff --git a/mobingi-alm/getting-started/adding-aws-account.md b/mobingi-alm/getting-started/adding-aws-account.md deleted file mode 100644 index b5eaec80..00000000 --- a/mobingi-alm/getting-started/adding-aws-account.md +++ /dev/null @@ -1,6 +0,0 @@ -# Adding AWS account - -{% embed data="{\"url\":\"https://www.youtube.com/watch?v=VM-f8ov\_Gy8&t=1s\",\"type\":\"video\",\"title\":\"Mobingi ALM Setup - Grant AWS Access\",\"description\":\"Getting started:\\nThis tutorial shows how to grant your AWS account access to Mobingi ALM. So you can start automating your application lifecycle through ALM console.\",\"icon\":{\"type\":\"icon\",\"url\":\"https://www.youtube.com/yts/img/favicon\_144-vfliLAfaB.png\",\"width\":144,\"height\":144,\"aspectRatio\":1},\"thumbnail\":{\"type\":\"thumbnail\",\"url\":\"https://i.ytimg.com/vi/VM-f8ov\_Gy8/maxresdefault.jpg\",\"width\":1280,\"height\":720,\"aspectRatio\":0.5625},\"embed\":{\"type\":\"player\",\"url\":\"https://www.youtube.com/embed/VM-f8ov\_Gy8?rel=0&showinfo=0\",\"html\":\"
\",\"aspectRatio\":1.7778}}" %} - - - diff --git a/mobingi-alm/getting-started/adding-azure-account.md b/mobingi-alm/getting-started/adding-azure-account.md deleted file mode 100644 index b1ce6a5c..00000000 --- a/mobingi-alm/getting-started/adding-azure-account.md +++ /dev/null @@ -1,53 +0,0 @@ -# Adding Azure account - -{% hint style="info" %} -To complete the instructions, you’ll need an Azure subscription. If you don’t already have one, you can sign up for an account [here](https://azure.microsoft.com/ja-jp/). -{% endhint %} - -Microsoft Azure requires the credentials below to allow access to specific Azure resources. - -1. Application ID -2. Secret Access key -3. Subscription ID -4. Directory ID - -As a prerequisite, you must have sufficient permissions in both your Azure Active Directory and your Azure subscription. Specifically, you must be able to create an app in the Active Directory, and assign a role to the service principal.[\(Check Permission\)](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal#required-permissions) - -## Using [Azure portal](https://portal.azure.com) to create necessary credentials - -{% hint style="warning" %} -If you already have the _Application ID_, _Secret Access key_, _Subscription ID_, _Directory ID_, you can skip to [**Adding Azure credential to your ALM account**](adding-azure-account.md#adding-azure-credential-to-your-alm-account) section. -{% endhint %} - -● [Create an Azure Active Directory application](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal#create-an-azure-active-directory-application) - -● [Get Created Application ID and Add authentication key](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal#create-an-azure-active-directory-application) - -● [Get Tenant ID\(Your tenant ID is your Directory ID\)](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal#get-tenant-id) - -● [Assign application to role/subscription](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal#assign-application-to-role) - -## Adding Azure credential to your ALM account - -{% hint style="info" %} -If you do not have yet a Mobingi ALM account, you can sign up [here](https://mobingi.com/products/alm/pricing?hsCtaTracking=83291ee6-f70a-486a-909c-ed2bcca0629b|7cb2af36-bc9f-49f1-8e3f-f3848b2c5295) or [contact us](https://pages.mobingi.com/form-general?hsCtaTracking=0f1d2eb6-a1fc-4c4b-ab8e-934ffd3e8e94|504bc5ea-bcd0-4ae1-ba28-a6ec174cb93a). -{% endhint %} - -1. After logging-in to your [Mobingi ALM](https://alm.mobingi.com/login) account, in the upper right corner of the page click your `username` and then `General Settings` - -![](../../.gitbook/assets/screen-shot-2018-06-11-at-17.10.0_box.png) - -2. In the left side-menu, click `Setup Credentials` and select `Azure` - -![](../../.gitbook/assets/screen-shot-2018-06-11-at-17.13.27_box2.png) - -3. Enter your preferred account name and the `Application ID`, `Secret Access Key`, `Subscription ID`, `Directory ID` you created in the _**Using**_ [_**Azure portal**_](https://portal.azure.com) _**to create necessary credentials**_ section and click _**Add Account**_ button - -![](../../.gitbook/assets/screen-shot-2018-06-11-at-17.16.53box3.png) - -{% hint style="success" %} -Your credential is added at the bottom of the page. -{% endhint %} - -![](../../.gitbook/assets/screen-shot-2018-06-11-at-17.30.11.png) - diff --git a/mobingi-alm/getting-started/adding-fujitsu-k5-account.md b/mobingi-alm/getting-started/adding-fujitsu-k5-account.md deleted file mode 100644 index 2e512d34..00000000 --- a/mobingi-alm/getting-started/adding-fujitsu-k5-account.md +++ /dev/null @@ -1,12 +0,0 @@ -# Adding Fujitsu K5 account - -Setting up Fujitsu K5 account on Mobingi ALM is different from AWS nor Alibaba Cloud. Instead of providing Access Key ID and Access Key Secret, you enter Fujitsu K5 username, password and contract number. - -**Step 1**: Log into your Fujitsu K5 portal and find "User Management" section, create the user with necessary roles. - -![](../../.gitbook/assets/setup-k5-account2.png) - -**Step 2**: Head back to Mobingi ALM console and enter your Fujitsu K5's username, password and contract number, then hit "Add Account" button. - -![](../../.gitbook/assets/setup-k5-account1.png) - diff --git a/mobingi-alm/getting-started/adding-gcp-account.md b/mobingi-alm/getting-started/adding-gcp-account.md deleted file mode 100644 index e2a6565f..00000000 --- a/mobingi-alm/getting-started/adding-gcp-account.md +++ /dev/null @@ -1,21 +0,0 @@ -# Adding GCP account - -We recommend you to use [service accounts](https://cloud.google.com/compute/docs/access/service-accounts) as GCP credentials to ALM. To create a service account, please follow the steps below: - -Go to "Service accounts" menu under "IAM & admin" section of Google Cloud Platform's main menu. Click "CREATE SERVICE ACCOUNT" button. - -![](../../.gitbook/assets/add-sa.png) - -Give it a name and make sure the following permissions are added: - -* Editor -* Deployment Manager Editor - -Make sure to check "Furnish a new private key" with JSON as option. You will be prompted to download and save the file. Save it to a safe location. - -![](../../.gitbook/assets/permissions.png) - -Now go to [ALM's "General Settings"](https://alm.mobingi.com/settings/account) menu and go "Setup Credentials". Select GCP and fill up the required fields. Under "Service Account" field, copy and paste all the contents of the Service Account JSON file you created from the previous steps. - -![](../../.gitbook/assets/addgcpcred.png) - diff --git a/mobingi-alm/getting-started/login-for-the-first-time.md b/mobingi-alm/getting-started/login-for-the-first-time.md deleted file mode 100644 index ba4805b9..00000000 --- a/mobingi-alm/getting-started/login-for-the-first-time.md +++ /dev/null @@ -1,10 +0,0 @@ -# Login for the first time - -## Provide your Cloud Account Credentials - -Before you can use the software, you need to setup your vendor credentials first. For tutorials on steps to finding and providing credentials, please refer to each cloud vendor's references in the side menu. - -## Create Roles & User Accounts - -Mobingi ALM Enterprise Edition provides multiple user accounts accessibility and collaboration modules. You start with creating ALM user accounts that will be used for log in to ALM console. Users can collaborate on provisioning, deploying or monitoring resources on your cloud account. You should also assign them roles to limit the actions for each individual user account \(or groups\) on accessing certain resources which you want to protect by [RBAC](https://docs.mobingi.com/mobingi-alm/rbac/overview). - diff --git a/mobingi-alm/introduction/README.md b/mobingi-alm/introduction/README.md deleted file mode 100644 index 4c2586a7..00000000 --- a/mobingi-alm/introduction/README.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -description: >- - You only define your architecture requirements, plus where application code is - hosted, then Mobingi ALM automates the rest for you ---- - -# Introduction - -{% page-ref page="what-is-alm.md" %} - - - diff --git a/mobingi-alm/introduction/what-is-alm.md b/mobingi-alm/introduction/what-is-alm.md deleted file mode 100644 index ce78d655..00000000 --- a/mobingi-alm/introduction/what-is-alm.md +++ /dev/null @@ -1,18 +0,0 @@ -# What is ALM? - -[Mobingi ALM](https://mobingi.com/product/alm) » [ALM Documentation](https://mobingi.com/product/alm/documentation) » [Introduction](https://docs.mobingi.com/mobingi-alm/introduction) » What is ALM? - -## What is ALM? - -ALM \(_Application Lifecycle Management_\) is Mobingi's product offering that helps you manage the whole lifecycle of your application from provisioning to different cloud providers to application deployment and monitoring. At the moment, we support the following cloud providers: - -* [Amazon Web Services \(AWS\)](../getting-started/adding-aws-account.md) -* [Microsoft Azure](../getting-started/adding-azure-account.md) -* [Alibaba Cloud](../getting-started/adding-alibaba-account.md) -* [Google Cloud Platform](../getting-started/adding-gcp-account.md) -* [Fujitsu K5](../getting-started/adding-fujitsu-k5-account.md) - -We provide an [easy-to-use Web UI](https://alm.mobingi.com) for you to manage your infrastructure and deployments from the comfort of your browser. If you prefer a little bit of customization, please have a look at our [ALM Template](https://docs.mobingi.com/mobingi-alm/alm-template/what-is-alm-template) documentation. - -For more information, please visit [https://mobingi.com/products/alm](https://mobingi.com/products/alm). - diff --git a/mobingi-alm/rbac/README.md b/mobingi-alm/rbac/README.md deleted file mode 100644 index a59e50a8..00000000 --- a/mobingi-alm/rbac/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# RBAC - -{% page-ref page="overview.md" %} - -{% page-ref page="what-is-rbac.md" %} - -{% page-ref page="getting-started.md" %} - -{% page-ref page="working-with-rbac.md" %} - -{% page-ref page="release-history.md" %} - -{% page-ref page="example-rbac-roles.md" %} - - - diff --git a/mobingi-alm/rbac/example-rbac-roles.md b/mobingi-alm/rbac/example-rbac-roles.md deleted file mode 100644 index 08fb7779..00000000 --- a/mobingi-alm/rbac/example-rbac-roles.md +++ /dev/null @@ -1,112 +0,0 @@ -# Example RBAC roles - -## Allow all - -```ruby -{ - "version": "2017-05-05", - "statement": [ - { - "effect": "allow", - "action": "*", - "resource": "*" - } - ] -} -``` - -## Allow UI login - -```ruby -{ - "version": "2017-05-05", - "statement": [ - { - "effect": "allow", - "action": "view:user.login", - "resource": "*" - } - ] -} -``` - -## Deny credentials - -```ruby -{ - "version": "2017-05-05", - "statement": [ - { - "effect": "allow", - "action": "*", - "resource": "*" - }, - { - "effect": "deny", - "action": "*:credentials", - "resource": ["AKIAJ7Z8PGXEZTIJOL6IQ"] - } - ] -} -``` - -## Deny list stacks - -```ruby -{ - "version": "2017-05-05", - "statement": [ - { - "effect": "allow", - "action": "*", - "resource": "*" - }, - { - "effect": "deny", - "action": "view:alm.stack", - "resource": "*" - } - ] -} -``` - -## Deny list stacks by resource - -```ruby -{ - "version": "2017-05-05", - "statement": [ - { - "effect": "allow", - "action": "*", - "resource": "*" - }, - { - "effect": "deny", - "action": "view:alm.stack", - "resource": ["mo-590fdb7bad55s-tJZpgRCBs-tk", "mo-590fdb7bad55s-ugMgQQ1TE-tk"] - } - ] -} -``` - -## Deny deleting stacks by resource - -```ruby -{ - "version": "2017-05-05", - "statement": [ - { - "effect": "allow", - "action": "*", - "resource": "*" - }, - { - "effect": "deny", - "action": "delete:alm.stack", - "resource": ["mo-590fdb7bad55s-tJZpgRCBs-tk"] - } - ] -} -``` - diff --git a/mobingi-alm/rbac/getting-started.md b/mobingi-alm/rbac/getting-started.md deleted file mode 100644 index 0c6c6946..00000000 --- a/mobingi-alm/rbac/getting-started.md +++ /dev/null @@ -1,28 +0,0 @@ -# Getting started - -## Step-by-step guide - -First time customers, use your root account to login to ALM dashboard, then navigate to settings page. - -**Step 1**: Go to roles settings page, click on button "Create New Role". - -![](../../.gitbook/assets/getting-started-step-01.png) - -**Step 2**: Create a new role with pre-defined role examples. - -![](../../.gitbook/assets/getting-started-step-02%20%281%29.png) - -Click on the button at bottom to create the new role. You can customize the role policy body. For details on how to write your own policy document, please refer to [working with RBAC](https://learn.mobingi.com/enterprise/working-with-rbac) guide. - -**Step 3**: Go to User Settings Page. - -![](../../.gitbook/assets/getting-started-step-03.png) - -Select the user you want to assign role to. Click on the button "Edit" to the right. - -**Step 4**: Attach role to user. - -![](../../.gitbook/assets/getting-started-step-04.png) - -Finally, on the popup window, click on "Role" button and select the role you just create before and save to assign to the user. - diff --git a/mobingi-alm/rbac/overview.md b/mobingi-alm/rbac/overview.md deleted file mode 100644 index ed70e50e..00000000 --- a/mobingi-alm/rbac/overview.md +++ /dev/null @@ -1,9 +0,0 @@ -# Overview - -ALM supports Role Based Access Control \(**RBAC**\) to let you grant resource access to your user accounts. - -* Role Based Access Control \(**RBAC**\) feature is shipped with **Mobingi Enterprise Edition**. -* RBAC feature helps you centralize activities and assign role based access control to all members in your organization. It allows you to securely control access to all resources for your users. - -Using RBAC, you can segregate duties within your team and grant only the amount of access to users that they need to perform their jobs instead of giving everybody unrestricted permissions in your ALM console, you can allow only certain actions. For example, use RBAC to let one employee manage stack creation and update, while another can only view the stack resource\(s\). - diff --git a/mobingi-alm/rbac/release-history.md b/mobingi-alm/rbac/release-history.md deleted file mode 100644 index 555f02ca..00000000 --- a/mobingi-alm/rbac/release-history.md +++ /dev/null @@ -1,6 +0,0 @@ -# Release history - -## 2017-05-05 - -The current stable release is 2017-05-05 version. You always use this release in your role body policies. - diff --git a/mobingi-alm/rbac/what-is-rbac.md b/mobingi-alm/rbac/what-is-rbac.md deleted file mode 100644 index 8bde4268..00000000 --- a/mobingi-alm/rbac/what-is-rbac.md +++ /dev/null @@ -1,62 +0,0 @@ -# What is RBAC? - -RBAC is a policy document that formally states one or more permissions. To assign permissions to a user, you create a policy, which is a document that explicitly lists permissions. - -## Concepts - -### Create roles - -* Create roles can be done by root account only. _\(Root account is the one you login using your email address.\)_ -* Create roles action can be performed through CLI, API or UI. -* Editing roles is simple and straightforward. All users under your root account will be able to view their roles that assigned to them. - -### Attach roles to users or teams - -* Role can be created by root account only. -* Role can be assigned to _Users_ and _Teams._ -* _Users_ or _Teams_ can be attached with one Role only. -* Roles assigned on _Team_ will overwrite the roles assigned on _User._ - -### End user effect - -* When users login to Mobingi ALM dashboard \(or interacting through CLI or API\), roles that attached to them will be evaluated on every action request. -* If an action isn't granted by the role definition, such action will be denied. -* If an action is grated by the role definition, the action will be allowed. - -## How does RBAC work? - -Before any requests goes in, the RBAC module will check for the current user's role settings first, then it passes or denies the request. - -![](../../.gitbook/assets/rbac-concept.png) - -For the requests being passed, there is no other actions need to perform. - -For the requests been denied, the client \(usually UI console, or API and CLI\) will returned with the following error: - -```javascript -HTTP Status Code 403 -{ - "RBAC": "Action not allowed" -} -``` - -As an example, apply the following to your ALM user to allow performing every action excepts _deleting stacks_: - -```javascript -{ - "version": "2017-05-05", - "statement": [ - { - "effect": "allow", - "action": "*", - "resource": "*" - }, - { - "effect": "deny", - "action": "delete:alm.stack", - "resource": "*" - } - ] -} -``` - diff --git a/mobingi-alm/rbac/working-with-rbac.md b/mobingi-alm/rbac/working-with-rbac.md deleted file mode 100644 index bcd87cad..00000000 --- a/mobingi-alm/rbac/working-with-rbac.md +++ /dev/null @@ -1,19 +0,0 @@ -# Working with RBAC - -## Permission priority - -When a request is made, the RBAC service decides whether a given request should be allowed or denied. The evaluation logic follows these rules: - -* By default, all requests are denied \(_Note: when you creating a new user on Mobingi ALM, by default, this user has no permissions_ \) -* An explicit allow overrides this default -* Deny pattern always overrides allow pattern against same resources -* An explicit deny overrides any allows - - The order in which the policies are evaluated has no effect on the outcome of the evaluation. All policies are evaluated, and the result is always that the request is either allowed or denied. - -## Apply order - -* Allow pattern always applies first. -* Deny pattern overrides allows. -* Additionally, when the action performing user belongs to a _Team_ and both its user role and team role are attached, the _Team_ role will overwrite the user role. -