├── .gitignore ├── README.md ├── backup_playbook.yaml ├── deploy ├── backup_cr.yaml ├── backup_crd.yaml ├── cr.yaml ├── cr_tls.yaml ├── crd.yaml ├── namespace-init.yaml ├── operator.yaml ├── rbac.yaml ├── restore_cr.yaml ├── restore_crd.yaml └── update_cr.yaml ├── docs └── cluster_reconcilation.md ├── etcd-ha-manifests ├── 0.6.0 │ ├── etcd-ha-operator.v0.6.0-clusterwide.clusterserviceversion.yaml │ ├── etcd-ha-operator.v0.6.0.clusterserviceversion.yaml │ ├── etcdbackup.crd.yaml │ ├── etcdcluster.crd.yaml │ └── etcdrestore.crd.yaml └── etcd-ha.package.yaml ├── molecule ├── default │ ├── asserts.yml │ ├── molecule.yml │ ├── playbook.yml │ └── prepare.yml ├── test-cluster │ ├── molecule.yml │ └── playbook.yml └── test-local │ ├── molecule.yml │ ├── playbook.yml │ └── prepare.yml ├── playbook.yaml ├── restore ├── Dockerfile └── get_file.yaml ├── restore_playbook.yaml ├── roles ├── reconcile │ ├── defaults │ │ └── main.yml │ ├── library │ │ └── etcd_member.py │ ├── lookup_plugins │ │ └── etcd_member.py │ ├── tasks │ │ ├── backup_s3.yaml │ │ ├── create_certs.yaml │ │ ├── create_pod.yaml │ │ ├── create_services.yml │ │ ├── generate_names.yaml │ │ ├── main.retry │ │ ├── main.yml │ │ ├── reconcile_pods.yaml │ │ ├── remove_members.yaml │ │ ├── remove_names.yaml │ │ ├── restore_s3.yaml │ │ ├── rotate_tls.yaml │ │ └── upgrade_pod.yaml │ └── templates │ │ ├── ss.yaml │ │ └── status.yaml └── tls_certs │ ├── defaults │ └── main.yaml │ ├── tasks │ ├── create_certs.yaml │ ├── create_secrets.yaml │ └── main.yaml │ └── templates │ ├── ca_crt_conf.j2 │ ├── etcd_client_crt_conf.j2 │ ├── etcd_peer_crt_conf.j2 │ └── etcd_server_crt_conf.j2 ├── tls_playbook.yaml └── watches.yaml /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | etcd-ansible-operator.iml 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/README.md -------------------------------------------------------------------------------- /backup_playbook.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/backup_playbook.yaml -------------------------------------------------------------------------------- /deploy/backup_cr.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/deploy/backup_cr.yaml -------------------------------------------------------------------------------- /deploy/backup_crd.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/deploy/backup_crd.yaml -------------------------------------------------------------------------------- /deploy/cr.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/deploy/cr.yaml -------------------------------------------------------------------------------- /deploy/cr_tls.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/deploy/cr_tls.yaml -------------------------------------------------------------------------------- /deploy/crd.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/deploy/crd.yaml -------------------------------------------------------------------------------- /deploy/namespace-init.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/deploy/namespace-init.yaml -------------------------------------------------------------------------------- /deploy/operator.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/deploy/operator.yaml -------------------------------------------------------------------------------- /deploy/rbac.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/deploy/rbac.yaml -------------------------------------------------------------------------------- /deploy/restore_cr.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/deploy/restore_cr.yaml -------------------------------------------------------------------------------- /deploy/restore_crd.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/deploy/restore_crd.yaml -------------------------------------------------------------------------------- /deploy/update_cr.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/deploy/update_cr.yaml -------------------------------------------------------------------------------- /docs/cluster_reconcilation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/docs/cluster_reconcilation.md -------------------------------------------------------------------------------- /etcd-ha-manifests/0.6.0/etcd-ha-operator.v0.6.0-clusterwide.clusterserviceversion.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/etcd-ha-manifests/0.6.0/etcd-ha-operator.v0.6.0-clusterwide.clusterserviceversion.yaml -------------------------------------------------------------------------------- /etcd-ha-manifests/0.6.0/etcd-ha-operator.v0.6.0.clusterserviceversion.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/etcd-ha-manifests/0.6.0/etcd-ha-operator.v0.6.0.clusterserviceversion.yaml -------------------------------------------------------------------------------- /etcd-ha-manifests/0.6.0/etcdbackup.crd.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/etcd-ha-manifests/0.6.0/etcdbackup.crd.yaml -------------------------------------------------------------------------------- /etcd-ha-manifests/0.6.0/etcdcluster.crd.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/etcd-ha-manifests/0.6.0/etcdcluster.crd.yaml -------------------------------------------------------------------------------- /etcd-ha-manifests/0.6.0/etcdrestore.crd.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/etcd-ha-manifests/0.6.0/etcdrestore.crd.yaml -------------------------------------------------------------------------------- /etcd-ha-manifests/etcd-ha.package.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/etcd-ha-manifests/etcd-ha.package.yaml -------------------------------------------------------------------------------- /molecule/default/asserts.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/molecule/default/asserts.yml -------------------------------------------------------------------------------- /molecule/default/molecule.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/molecule/default/molecule.yml -------------------------------------------------------------------------------- /molecule/default/playbook.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/molecule/default/playbook.yml -------------------------------------------------------------------------------- /molecule/default/prepare.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/molecule/default/prepare.yml -------------------------------------------------------------------------------- /molecule/test-cluster/molecule.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/molecule/test-cluster/molecule.yml -------------------------------------------------------------------------------- /molecule/test-cluster/playbook.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/molecule/test-cluster/playbook.yml -------------------------------------------------------------------------------- /molecule/test-local/molecule.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/molecule/test-local/molecule.yml -------------------------------------------------------------------------------- /molecule/test-local/playbook.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/molecule/test-local/playbook.yml -------------------------------------------------------------------------------- /molecule/test-local/prepare.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/molecule/test-local/prepare.yml -------------------------------------------------------------------------------- /playbook.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/playbook.yaml -------------------------------------------------------------------------------- /restore/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/restore/Dockerfile -------------------------------------------------------------------------------- /restore/get_file.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/restore/get_file.yaml -------------------------------------------------------------------------------- /restore_playbook.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/restore_playbook.yaml -------------------------------------------------------------------------------- /roles/reconcile/defaults/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/reconcile/defaults/main.yml -------------------------------------------------------------------------------- /roles/reconcile/library/etcd_member.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/reconcile/library/etcd_member.py -------------------------------------------------------------------------------- /roles/reconcile/lookup_plugins/etcd_member.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/reconcile/lookup_plugins/etcd_member.py -------------------------------------------------------------------------------- /roles/reconcile/tasks/backup_s3.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/reconcile/tasks/backup_s3.yaml -------------------------------------------------------------------------------- /roles/reconcile/tasks/create_certs.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/reconcile/tasks/create_certs.yaml -------------------------------------------------------------------------------- /roles/reconcile/tasks/create_pod.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/reconcile/tasks/create_pod.yaml -------------------------------------------------------------------------------- /roles/reconcile/tasks/create_services.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/reconcile/tasks/create_services.yml -------------------------------------------------------------------------------- /roles/reconcile/tasks/generate_names.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/reconcile/tasks/generate_names.yaml -------------------------------------------------------------------------------- /roles/reconcile/tasks/main.retry: -------------------------------------------------------------------------------- 1 | localhost 2 | -------------------------------------------------------------------------------- /roles/reconcile/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/reconcile/tasks/main.yml -------------------------------------------------------------------------------- /roles/reconcile/tasks/reconcile_pods.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/reconcile/tasks/reconcile_pods.yaml -------------------------------------------------------------------------------- /roles/reconcile/tasks/remove_members.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/reconcile/tasks/remove_members.yaml -------------------------------------------------------------------------------- /roles/reconcile/tasks/remove_names.yaml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /roles/reconcile/tasks/restore_s3.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/reconcile/tasks/restore_s3.yaml -------------------------------------------------------------------------------- /roles/reconcile/tasks/rotate_tls.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/reconcile/tasks/rotate_tls.yaml -------------------------------------------------------------------------------- /roles/reconcile/tasks/upgrade_pod.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/reconcile/tasks/upgrade_pod.yaml -------------------------------------------------------------------------------- /roles/reconcile/templates/ss.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/reconcile/templates/ss.yaml -------------------------------------------------------------------------------- /roles/reconcile/templates/status.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/reconcile/templates/status.yaml -------------------------------------------------------------------------------- /roles/tls_certs/defaults/main.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/tls_certs/defaults/main.yaml -------------------------------------------------------------------------------- /roles/tls_certs/tasks/create_certs.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/tls_certs/tasks/create_certs.yaml -------------------------------------------------------------------------------- /roles/tls_certs/tasks/create_secrets.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/tls_certs/tasks/create_secrets.yaml -------------------------------------------------------------------------------- /roles/tls_certs/tasks/main.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/tls_certs/tasks/main.yaml -------------------------------------------------------------------------------- /roles/tls_certs/templates/ca_crt_conf.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/tls_certs/templates/ca_crt_conf.j2 -------------------------------------------------------------------------------- /roles/tls_certs/templates/etcd_client_crt_conf.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/tls_certs/templates/etcd_client_crt_conf.j2 -------------------------------------------------------------------------------- /roles/tls_certs/templates/etcd_peer_crt_conf.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/tls_certs/templates/etcd_peer_crt_conf.j2 -------------------------------------------------------------------------------- /roles/tls_certs/templates/etcd_server_crt_conf.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/roles/tls_certs/templates/etcd_server_crt_conf.j2 -------------------------------------------------------------------------------- /tls_playbook.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/tls_playbook.yaml -------------------------------------------------------------------------------- /watches.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/water-hole/etcd-ansible-operator/HEAD/watches.yaml --------------------------------------------------------------------------------