Commit Graph

167 Commits

Author SHA1 Message Date
Xan Manning ab48e3a173 Change delay to 5 seconds for secondary masters startup task to complete 2020-09-18 12:09:56 +01:00
Xan Manning 175b90ecb0 Added support for Etcd, removed DQLite support. See #41 2020-09-17 21:01:20 +01:00
Xan Manning c743df868b Fixing ansible-linting, exclude name check for Travis-CI
This release also fixes:

  - #38 : removing the --disable-agent option. Please use node taints.
  - #39 : clarified where jmespath should be installed in README.md
2020-09-15 18:20:23 +01:00
Xan Manning b412858b30 Fix merge conflict 2020-07-25 20:51:31 +01:00
Xan Manning d53102dda3 Check mode support added 2020-07-25 17:39:01 +01:00
Xan Manning 809e9cd73c Releasable feature for hardlinks 2020-07-25 14:03:53 +01:00
Xan Manning d2a34546cf Potential fix for #35 2020-07-25 12:27:39 +01:00
Xan Manning 3a6b411430 Added support for args, private registries. Fixes #32 2020-07-04 13:24:10 +01:00
Xan Manning 2c0afbca42 Restart k3s service unit on file change 2020-06-06 14:30:40 +02:00
Michael f90cc5ca18
Privilege escalation to solve "Access denied"
```
FAILED! => {"attempts": 3, "changed": false, "msg": "Unable to enable service k3s: Failed to enable unit: Access denied\n"}
```

The task never sets become to true, hence failing due to lack of permissions on the user that is executing it by default.
2020-05-30 23:40:05 +02:00
Xan Manning 848a5457ff Add option for unsupported single node with database backend. Issue #27 2020-05-30 15:16:20 +01:00
Xan Manning 6090071982 Bugfix, issue with HA build for joining new nodes 2020-05-25 17:57:43 +01:00
Xan Manning 23ba527bc2 Bugfix, broke clustering with v1.6.2 2020-05-25 17:11:45 +01:00
Xan Manning 9524b07df0 Fix joining nodes to an existing cluster 2020-05-25 16:25:09 +01:00
Xan Manning 141b6f2018 Numerous bug fixes to do with permissions and regressions.
Fix issue #25, check k3s_bind_address for readiness check
Fix issue #24, become for tasks that require root
2020-05-20 19:55:33 +01:00
Xan Manning 5ce8dec6ff Added the ability to set k3s_release_version as a release channel 2020-05-18 20:45:48 +01:00
Xan Manning e3301a59e4 Updated state tasks to dynamic include rather thn static import
This is an initial attempt to address issue #22, I have also included a
task to drain the node before deleting it.
2020-05-18 19:53:03 +01:00
Xan Manning 02e12e61a8 Bugfix: minimum version for secrets encryption reverted 2020-05-17 20:43:39 +01:00
Xan Manning b42ffade29 Fixes to variable checks 2020-05-17 11:40:53 +01:00
Xan Manning aa1a0a9620 Added option to provision multiple standalone k3s
Fixes #21
2020-05-16 20:18:20 +01:00
nolte df44053349 add a permission check for write the systemd k3s config 2020-05-09 21:07:34 +02:00
SimonHeimberg acedb08a1f variables to activate become for some steps 2020-04-22 16:42:45 +02:00
Xan Manning e93b438ee0 Added secrets encryption at rest option 2020-03-28 12:58:58 +00:00
Xan Manning f684f6d907 A retry has been added to task controlling secondary master startup.
Fixes #17

There appeared to be a race condition where starting all secondary
masters all at once would cause the k3s service to fail on a number of
the other masters. A retry has been added to the task to attempt to
bring them all up until they stop failing.
2020-03-07 16:15:41 +00:00
Xan Manning f709caf371 Skip final checks when no-flannel option is used.
Fixes #16

This is because without a CNI, nodes will never be ready and the task
will fail. You need to deploy your choice of CNI manually (such as
Calico) then check the state of the cluster using `kubectl get nodes`.
2020-03-07 14:23:09 +00:00
Xan Manning 2c09d4711b
Merge pull request #15 from PyratLabs/tidy_up_additional_validation
Variable check for local storage path
2020-02-28 07:39:33 +00:00
Xan Manning 9dcfa954f9 Variable check for local storage path 2020-02-27 20:10:28 +00:00
Xan Manning 12d01c2a60 Added tests and variable validation 2020-02-27 18:46:59 +00:00
Xan Manning 75fd17aac8 Slightly updated tasks and added validation checks
1. Now does not remove prerequisite packages, lvm2 was included in
these packages (not good when you use LVM2 for real).
  2. Added a bit more idempotency to the shell scripts - only delete if
it exists.
  3. Check that the process isn't running and binaries are gone.
2020-02-26 20:56:05 +00:00
Devin Buhl 5f7ff27f17
Fix 301 lint issue in uninstall-docker-amazon 2020-02-25 15:42:40 -05:00
Devin Buhl a1e52fb660
fixed 301 lint issue in uninstall-k3s.yml 2020-02-25 15:41:29 -05:00
Devin Buhl e7c787e10f
Fix other lint issue 2020-02-25 15:25:23 -05:00
Devin Buhl 8d0ee69012
Fix other yaml lint issue 2020-02-25 15:08:17 -05:00
Devin Buhl fd7498303d
Fix first YAML lint issue 2020-02-25 15:07:05 -05:00
Devin Buhl be85c9ccc5 state uninstalled 2020-02-25 12:39:34 -05:00
Devin Buhl 9bbf5fd746 add uninstall state 2020-02-25 12:29:39 -05:00
Xan Manning 1f19e2b302 Updated flannel backend flag checks 2020-02-09 16:03:41 +00:00
Xan Manning 218b9d64c9 Slightly more robust selection of checksum from GitHub 2020-02-09 15:00:59 +00:00
James D. Marble 044ed5512c Use correct checksums for arm downloads
I attempted to install on arm64 and armhf. Both fail because the
[checksum filter](e07903a5cf/tasks/build/download-k3s.yml (L21))
finds the first line with "k3s". On the arm checksum files,
the first lines are for "k3s-airgap-images-arm64.tar" and "k3s-airgap-images-arm.tar"
so the wrong checksum is grabbed.

I attempted to fix this with a more specific filter:
`select('search', 'k3s'+k3s_arch_suffix)`.
This works for both arm architectures,
but fails for amd64 because the key is simply "k3s" and not "k3s-amd64".

The solution I settled on is not ideal for future proofing,
but works for now at least.
2020-01-31 21:10:55 -08:00
Xan Manning e07903a5cf Fixed issue with SUSE docker installation 2020-01-21 22:33:11 +00:00
Xan Manning e3ce213bc0 Testing auto-deploy on multi-master 2020-01-13 21:32:31 +00:00
Xan Manning 3ef36b841f
Merge branch 'multi_master_support' into feature/add_manifests 2020-01-13 19:09:45 +00:00
Xan Manning 3a1c7e7b35 Added workflow for Database backed and DQLite HA 2020-01-13 19:08:37 +00:00
Xan Manning 09fc37e6ec Fixed provisioning of multi-master, need to test LB with k3s_control_node_address 2020-01-11 22:42:29 +00:00
Xan Manning c3ae2b79eb Added database container and proved connectivity. Logic needs to be changed for HA. 2020-01-11 19:20:52 +00:00
nolte b896e90704
Update tasks/build/preconfigure-k3s-auto-deploying-manifests.yml
Co-Authored-By: Xan Manning <xan.manning@gmail.com>
2020-01-11 20:03:58 +01:00
nolte 2e03ea2e6f
Update tasks/build/preconfigure-k3s-auto-deploying-manifests.yml
Co-Authored-By: Xan Manning <xan.manning@gmail.com>
2020-01-11 20:03:29 +01:00
nolte cb13c5b473 create manifests directory if not exists 2020-01-11 18:56:48 +01:00
nolte 2b646e4e4f update task documentation and add new config parameters to the Readme 2020-01-11 15:44:28 +01:00
nolte 2307546be2 add support place k8s manifests to the nodes 2020-01-11 15:10:19 +01:00
Xan Manning 734e49a7e5 Documentation, and validation logic for HA configuration added. 2020-01-11 12:31:23 +00:00
Xan Manning da427f1518 Added new state "downloaded" - improved getting latest version 2019-12-28 15:50:17 +00:00
Xan Manning f2a3f75f08 Added some validation steps, fixed issue with checksum, introducing rootless
as an option, however this is experimental in both K3s and this role.
2019-12-22 18:54:25 +00:00
Xan Manning 717de81c7f Build-operate workflow trial - allow for stop-starting cluster. 2019-12-20 19:41:20 +00:00
Miika Kankare c5cdc745e5
Parse checksum without shell usage 2019-12-11 15:17:05 +02:00
Xan Manning 99c103a14f Fixed regression with AmazonLinux Docker install, increased coverage of
testing Docker installation as Fedora was missing python-dnf dependency.
2019-12-09 19:46:25 +00:00
Xan Manning ec61e0b4ce Improved Docker support for SUSE/openSUSE. Notes about control host requirements 2019-12-09 13:53:42 +00:00
Xan Manning 26a3b2eef0 Added extra no-deploy options for v1.0.0 2019-12-04 19:10:05 +00:00
Xan Manning 8f3b2428c8 Added experimental options to ansible role:
1. Ability to specify control host address, for connecting to a control plane
     provisioned outside of the role.
  2. Ability to specify the control host token, again for connecting to
     a control plane provisioned outside of the role.
  3. Included upstream changes from @nolte to define KubeConfig file
     permissions.
2019-12-04 17:17:15 +00:00
Xan Manning 5e39160ed9 Added a number of extra options to configure K3s in systemd unit file.
Testing:
  - Added docker networking, ensure that test output is verbose.
  - Fix build for AmazonLinux 2
  - No-deploy flag test added
2019-11-02 22:19:33 +00:00
Xan Manning efc703541c Updated for 0.10.0, adding molecule testing with Travis-CI 2019-10-26 22:23:17 +01:00
abdennour 07661f7df8
static import
include_tasks is used to import tasks according to a condition that relies on a dynamic value (facts).
2019-05-13 06:54:54 +03:00
Xan Manning 27083e1d5b Bugfix: Checking of hash fixed for k3s v0.3.0 release 2019-04-06 12:04:09 +01:00
Xan Manning 728dd1ff12 Fixed ansible-lint rule 306, pipefail 2019-03-24 16:02:41 +00:00
Xan Manning c7119c3033 Bugfix: Issue with non-control-nodes in docker provision 2019-03-10 18:21:39 +00:00
Xan Manning a6ff65900d Bugfix variable on Docker install, updated README.md and added LICENSE 2019-03-10 14:53:52 +00:00
Xan Manning 750c72295e Initial commit and release 2019-03-09 20:54:44 +00:00