├── .dockerignore ├── .github └── workflows │ └── build-and-release.yml ├── .gitignore ├── Dockerfile ├── LICENSE ├── README.md ├── assets ├── badges │ ├── cloudformation.svg │ └── github-wiki.svg ├── ebs-bootstrap.gif └── uml.drawio.svg ├── bats ├── ext4.bats ├── helper_print-info.bash ├── setup.bats └── xfs.bats ├── cmd └── ebs-bootstrap.go ├── configs └── ubuntu.yml ├── examples ├── cloudformation.yml └── systemd.service ├── go.mod ├── go.sum └── internal ├── action ├── action.go ├── action_mock.go ├── action_test.go ├── file.go ├── file_test.go ├── format.go ├── format_test.go ├── label.go ├── label_test.go ├── lvm.go ├── mount.go ├── mount_test.go ├── resize.go └── resize_test.go ├── backend ├── device.go ├── device_test.go ├── file.go ├── file_test.go ├── lvm.go ├── metrics.go ├── metrics_test.go ├── owner.go └── owner_test.go ├── config ├── config.go ├── config_test.go ├── modifier.go ├── modifier_test.go ├── validator.go └── validator_test.go ├── datastructures └── lvm_graph.go ├── layer ├── directory.go ├── directory_test.go ├── format.go ├── format_test.go ├── label.go ├── label_test.go ├── layer.go ├── layer_test.go ├── lv.go ├── lv_activate.go ├── lv_activate_test.go ├── lv_resize.go ├── lv_resize_test.go ├── lv_test.go ├── mount.go ├── mount_test.go ├── owner.go ├── owner_test.go ├── permissions.go ├── permissions_test.go ├── pv.go ├── pv_resize.go ├── pv_resize_test.go ├── pv_test.go ├── resize.go ├── resize_test.go ├── vg.go └── vg_test.go ├── model ├── action.go ├── action_test.go ├── device.go ├── device_test.go ├── file.go ├── file_test.go ├── filesystem.go ├── filesystem_test.go ├── lvm.go └── owner.go ├── service ├── device.go ├── device_test.go ├── file.go ├── file_test.go ├── filesystem.go ├── filesystem_test.go ├── lvm.go ├── nvme.go ├── nvme_test.go ├── owner.go ├── owner_test.go ├── service_mock.go └── testdata │ ├── tune2fs.txt │ └── xfs_info.txt └── utils ├── exec.go ├── safe.go └── testing.go /.dockerignore: -------------------------------------------------------------------------------- 1 | .github 2 | configs 3 | LICENSE 4 | README.md 5 | build/* 6 | ebs-bootstrap* 7 | -------------------------------------------------------------------------------- /.github/workflows/build-and-release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/.github/workflows/build-and-release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /ebs-bootstrap* 2 | coverage.* 3 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/README.md -------------------------------------------------------------------------------- /assets/badges/cloudformation.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/assets/badges/cloudformation.svg -------------------------------------------------------------------------------- /assets/badges/github-wiki.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/assets/badges/github-wiki.svg -------------------------------------------------------------------------------- /assets/ebs-bootstrap.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/assets/ebs-bootstrap.gif -------------------------------------------------------------------------------- /assets/uml.drawio.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/assets/uml.drawio.svg -------------------------------------------------------------------------------- /bats/ext4.bats: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/bats/ext4.bats -------------------------------------------------------------------------------- /bats/helper_print-info.bash: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/bats/helper_print-info.bash -------------------------------------------------------------------------------- /bats/setup.bats: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/bats/setup.bats -------------------------------------------------------------------------------- /bats/xfs.bats: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/bats/xfs.bats -------------------------------------------------------------------------------- /cmd/ebs-bootstrap.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/cmd/ebs-bootstrap.go -------------------------------------------------------------------------------- /configs/ubuntu.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/configs/ubuntu.yml -------------------------------------------------------------------------------- /examples/cloudformation.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/examples/cloudformation.yml -------------------------------------------------------------------------------- /examples/systemd.service: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/examples/systemd.service -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/go.sum -------------------------------------------------------------------------------- /internal/action/action.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/action/action.go -------------------------------------------------------------------------------- /internal/action/action_mock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/action/action_mock.go -------------------------------------------------------------------------------- /internal/action/action_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/action/action_test.go -------------------------------------------------------------------------------- /internal/action/file.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/action/file.go -------------------------------------------------------------------------------- /internal/action/file_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/action/file_test.go -------------------------------------------------------------------------------- /internal/action/format.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/action/format.go -------------------------------------------------------------------------------- /internal/action/format_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/action/format_test.go -------------------------------------------------------------------------------- /internal/action/label.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/action/label.go -------------------------------------------------------------------------------- /internal/action/label_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/action/label_test.go -------------------------------------------------------------------------------- /internal/action/lvm.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/action/lvm.go -------------------------------------------------------------------------------- /internal/action/mount.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/action/mount.go -------------------------------------------------------------------------------- /internal/action/mount_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/action/mount_test.go -------------------------------------------------------------------------------- /internal/action/resize.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/action/resize.go -------------------------------------------------------------------------------- /internal/action/resize_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/action/resize_test.go -------------------------------------------------------------------------------- /internal/backend/device.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/backend/device.go -------------------------------------------------------------------------------- /internal/backend/device_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/backend/device_test.go -------------------------------------------------------------------------------- /internal/backend/file.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/backend/file.go -------------------------------------------------------------------------------- /internal/backend/file_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/backend/file_test.go -------------------------------------------------------------------------------- /internal/backend/lvm.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/backend/lvm.go -------------------------------------------------------------------------------- /internal/backend/metrics.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/backend/metrics.go -------------------------------------------------------------------------------- /internal/backend/metrics_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/backend/metrics_test.go -------------------------------------------------------------------------------- /internal/backend/owner.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/backend/owner.go -------------------------------------------------------------------------------- /internal/backend/owner_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/backend/owner_test.go -------------------------------------------------------------------------------- /internal/config/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/config/config.go -------------------------------------------------------------------------------- /internal/config/config_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/config/config_test.go -------------------------------------------------------------------------------- /internal/config/modifier.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/config/modifier.go -------------------------------------------------------------------------------- /internal/config/modifier_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/config/modifier_test.go -------------------------------------------------------------------------------- /internal/config/validator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/config/validator.go -------------------------------------------------------------------------------- /internal/config/validator_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/config/validator_test.go -------------------------------------------------------------------------------- /internal/datastructures/lvm_graph.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/datastructures/lvm_graph.go -------------------------------------------------------------------------------- /internal/layer/directory.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/directory.go -------------------------------------------------------------------------------- /internal/layer/directory_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/directory_test.go -------------------------------------------------------------------------------- /internal/layer/format.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/format.go -------------------------------------------------------------------------------- /internal/layer/format_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/format_test.go -------------------------------------------------------------------------------- /internal/layer/label.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/label.go -------------------------------------------------------------------------------- /internal/layer/label_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/label_test.go -------------------------------------------------------------------------------- /internal/layer/layer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/layer.go -------------------------------------------------------------------------------- /internal/layer/layer_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/layer_test.go -------------------------------------------------------------------------------- /internal/layer/lv.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/lv.go -------------------------------------------------------------------------------- /internal/layer/lv_activate.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/lv_activate.go -------------------------------------------------------------------------------- /internal/layer/lv_activate_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/lv_activate_test.go -------------------------------------------------------------------------------- /internal/layer/lv_resize.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/lv_resize.go -------------------------------------------------------------------------------- /internal/layer/lv_resize_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/lv_resize_test.go -------------------------------------------------------------------------------- /internal/layer/lv_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/lv_test.go -------------------------------------------------------------------------------- /internal/layer/mount.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/mount.go -------------------------------------------------------------------------------- /internal/layer/mount_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/mount_test.go -------------------------------------------------------------------------------- /internal/layer/owner.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/owner.go -------------------------------------------------------------------------------- /internal/layer/owner_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/owner_test.go -------------------------------------------------------------------------------- /internal/layer/permissions.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/permissions.go -------------------------------------------------------------------------------- /internal/layer/permissions_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/permissions_test.go -------------------------------------------------------------------------------- /internal/layer/pv.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/pv.go -------------------------------------------------------------------------------- /internal/layer/pv_resize.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/pv_resize.go -------------------------------------------------------------------------------- /internal/layer/pv_resize_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/pv_resize_test.go -------------------------------------------------------------------------------- /internal/layer/pv_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/pv_test.go -------------------------------------------------------------------------------- /internal/layer/resize.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/resize.go -------------------------------------------------------------------------------- /internal/layer/resize_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/resize_test.go -------------------------------------------------------------------------------- /internal/layer/vg.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/vg.go -------------------------------------------------------------------------------- /internal/layer/vg_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/layer/vg_test.go -------------------------------------------------------------------------------- /internal/model/action.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/model/action.go -------------------------------------------------------------------------------- /internal/model/action_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/model/action_test.go -------------------------------------------------------------------------------- /internal/model/device.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/model/device.go -------------------------------------------------------------------------------- /internal/model/device_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/model/device_test.go -------------------------------------------------------------------------------- /internal/model/file.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/model/file.go -------------------------------------------------------------------------------- /internal/model/file_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/model/file_test.go -------------------------------------------------------------------------------- /internal/model/filesystem.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/model/filesystem.go -------------------------------------------------------------------------------- /internal/model/filesystem_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/model/filesystem_test.go -------------------------------------------------------------------------------- /internal/model/lvm.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/model/lvm.go -------------------------------------------------------------------------------- /internal/model/owner.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/model/owner.go -------------------------------------------------------------------------------- /internal/service/device.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/service/device.go -------------------------------------------------------------------------------- /internal/service/device_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/service/device_test.go -------------------------------------------------------------------------------- /internal/service/file.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/service/file.go -------------------------------------------------------------------------------- /internal/service/file_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/service/file_test.go -------------------------------------------------------------------------------- /internal/service/filesystem.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/service/filesystem.go -------------------------------------------------------------------------------- /internal/service/filesystem_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/service/filesystem_test.go -------------------------------------------------------------------------------- /internal/service/lvm.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/service/lvm.go -------------------------------------------------------------------------------- /internal/service/nvme.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/service/nvme.go -------------------------------------------------------------------------------- /internal/service/nvme_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/service/nvme_test.go -------------------------------------------------------------------------------- /internal/service/owner.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/service/owner.go -------------------------------------------------------------------------------- /internal/service/owner_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/service/owner_test.go -------------------------------------------------------------------------------- /internal/service/service_mock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/service/service_mock.go -------------------------------------------------------------------------------- /internal/service/testdata/tune2fs.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/service/testdata/tune2fs.txt -------------------------------------------------------------------------------- /internal/service/testdata/xfs_info.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/service/testdata/xfs_info.txt -------------------------------------------------------------------------------- /internal/utils/exec.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/utils/exec.go -------------------------------------------------------------------------------- /internal/utils/safe.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/utils/safe.go -------------------------------------------------------------------------------- /internal/utils/testing.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reecetech/ebs-bootstrap/HEAD/internal/utils/testing.go --------------------------------------------------------------------------------