Commit Graph

50 Commits

Author SHA1 Message Date
Shane McDonald
7310b43a5c Use kubernetes.core 2021-06-22 14:52:54 -04:00
Yanis Guenane
ad036c2e65 awx-cro.yml: Remove extra space
Fixes: https://github.com/ansible/awx-operator/issues/410
2021-06-18 09:54:49 +02:00
Yanis Guenane
7c02eabbdf Merge pull request #404 from Spredzy/restore_colon
backup: Ensure colon are preserved in awx spec
2021-06-16 15:26:02 +02:00
Yanis Guenane
3398cc2f01 backup: Ensure colon are preserved in awx spec
Due to the way the command is run, the field with a colon in it will
generate a broken yaml serialization. This commit aims to keep it
accurate.
2021-06-16 14:17:11 +02:00
Yanis Guenane
5bbe7b6e3e Merge pull request #397 from rooftopcellist/dynamic_secrets
Dynamic secret backup & restore
2021-06-16 10:41:04 +02:00
Christian M. Adams
bfec61ad8d Dynamically collect secrets for backup & restore roles
- This prevents us from overwriting vars unintentionally at restore time
  - This will make it easier to add secrets to be backed up in the future
  - Add generated secret names to awx spec backup
  - Fail early if secret status doesn't exist
  - Skip if secret is not in spec for non-generated secrets
  - Secret values must be b64 decoded before secret is created
  - Cleanup temp files
2021-06-15 14:17:02 -04:00
Christian M. Adams
42141cd159 Do not clean up pvc when awxbackup cr is deleted
- This is accomplished by explicitly setting ownerRefs to null
2021-06-15 12:23:04 -04:00
Christian M. Adams
69b3f43414 Make postgres image and version separately configurable for backup/restore
- Update templated and generated manifest files
2021-06-04 11:00:50 -04:00
Christian M. Adams
e857902dcc Fail task if pg_dump command fails 2021-06-04 10:31:57 -04:00
Christian M. Adams
da75e4b400 update name of default postgres label selector for backup role 2021-06-01 17:12:23 -04:00
Yanis Guenane
75458d0678 Do not prepend variables name with tower_ 2021-05-25 09:52:13 +02:00
Christian Adams
5fd86e07ce Merge pull request #319 from rooftopcellist/custom_format_backup
Use custom pg_dump format for faster restores
2021-05-18 10:33:23 -04:00
Marcelo Moreira de Mello
08776ca2b6 Extended labels to AWX Backup/Restore 2021-05-17 21:40:37 -04:00
Christian M. Adams
f16d9ac55f Use custom pg_dump format for faster restores 2021-05-17 16:54:49 -04:00
Christian M. Adams
82ed9d6d56 Default to storage class being undefined
* This is so that users can intentially set it to an empty string if they want to use the default storage class
  * conversely, now users can manually create a pvc that does not utilize the default storage class
2021-05-17 16:41:53 -04:00
Christian M. Adams
8af0681373 Persist secret names from old deployment & add them to the spec
- renamed some more variables to be consistent with the pulp-operator
  - removed unneeded vars from backup & restore crds
  - added a way to parse spec at restore time by including vars to
    get around the issue of triply nested quotes when using to_json
2021-05-04 10:06:29 -04:00
Christian M. Adams
5e2d11835e Fix rebase issue & remove dynamic kind/version var setting 2021-04-30 13:51:48 -04:00
Christian M. Adams
cdbaf9460e Remove unnecessary intermediate awx_spec var 2021-04-30 10:49:32 -04:00
Christian M. Adams
5ae36367a4 Rename product specific variable names 2021-04-30 10:49:31 -04:00
Christian M. Adams
c817a2234d Simplify vars needed for restore CR & do not garbage collect secrets 2021-04-30 10:49:31 -04:00
Christian M. Adams
57f9530198 Simplify pvc naming scheme, one pvc per deployment 2021-04-30 10:49:31 -04:00
Christian M. Adams
3e444da7bc Set ownerRef to null for restore created AWX object to avoid garbage collection
- Set defaults for pg type to satisfy conditional
2021-04-30 10:49:30 -04:00
Christian M. Adams
867bc258b9 Allow custom postgres pod label to support user managed pg pods
- Only set resolvable pg host path for pg container when managed
2021-04-30 10:49:30 -04:00
Christian M. Adams
ff9248e971 create pvc in namespace of old awx by default, update docs, fix bug with secret statuses 2021-04-30 10:49:30 -04:00
Christian M. Adams
38a6a02f85 Add secret names as statuses on the AWX object
- set migrate data status even if custom name for old postgres config is not used
 - Allow users to change pg name, pw & db name for a managed postgres
 - set default value for postgres-configuration type as unmanaged if secret is created
 - Make pg port configurable for managed deployments
2021-04-30 10:49:27 -04:00
Christian M. Adams
8f760e2842 Allow users to change pg name, pw & db name for a managed postgres
- set default value for postgres-configuration type as unmanaged if secret is created
2021-04-30 10:32:05 -04:00
Christian M. Adams
5b32c41277 Fix retry for checking postgres pod & fix secrets template
- fixed a lot of typos & updated the README.md files
2021-04-30 10:24:37 -04:00
Christian M. Adams
fb612c24df Only write values for spec section of awx object in backup 2021-04-30 10:24:37 -04:00
Christian M. Adams
8ed0b1fe61 Template only what is needed from secrets and awx cro 2021-04-30 10:24:37 -04:00
Christian M. Adams
82efe05343 store secrets & definitions in a tempfile dir, fix postgres label 2021-04-30 10:24:36 -04:00
Christian M. Adams
2cbf60fa17 Remove unneeded fqcn for modules & fix CI 2021-04-30 10:24:36 -04:00
Christian M. Adams
ce8c58f542 added secrets logic, fixed permissions issues 2021-04-30 10:24:36 -04:00
Christian M. Adams
b9d0852c83 Fix small namespace issue 2021-04-30 10:24:36 -04:00
Christian M. Adams
5669747bbf Scope pvc and management pod to default namespace
- make this configurable via tower_backup_pvc_namespace var
  - remove redundant k8s task info
2021-04-30 10:24:36 -04:00
Christian M. Adams
0580398c90 Finish db restore logic
- rename _backup_dir to backup_dir
  - add towerBackupClaim status to make the pvc name easier to find for users
2021-04-30 10:24:36 -04:00
Christian M. Adams
8467209d35 init restore 2021-04-30 10:24:35 -04:00
Christian M. Adams
80c8d87f71 Create an event when pvc is not set to alert the user 2021-04-30 10:24:35 -04:00
Christian M. Adams
e1dca00f46 Fix backup reconciliation loop, add error status 2021-04-30 10:24:35 -04:00
Christian M. Adams
f17dcdc3e9 Swap vars and defaults, rename to awxbackups 2021-04-30 10:24:35 -04:00
Christian M. Adams
4839bdcaad Rename Backup CR to AWXBackup to be more unique
- we could alternatively direct users to use the full GVK.  Issue is potential conflict with AH operator CRs
2021-04-30 10:24:34 -04:00
Christian M. Adams
91dda5cb16 backup secrets to YAML files 2021-04-30 10:24:34 -04:00
Christian M. Adams
0a82fec359 Refactor backup role & store secrets as well 2021-04-30 10:24:34 -04:00
Christian M. Adams
13397f41ad use meta.data to keep pods and pvcs unique in the same namespace 2021-04-30 10:24:34 -04:00
Christian M. Adams
9e44e21a66 Rename pvc name var to be consistent with other backup variables 2021-04-30 10:24:34 -04:00
Christian M. Adams
54efda1a25 Use default cluster storage class if none is provided 2021-04-30 10:24:34 -04:00
Christian M. Adams
bcd1410438 init backup CR files 2021-04-30 10:24:33 -04:00
Christian M. Adams
fdcc745f11 Add watcher for backup CR 2021-04-30 10:24:33 -04:00
Christian M. Adams
4a5ca184c0 Use storage class to dynamically create volume for backups 2021-04-30 10:24:33 -04:00
Christian M. Adams
e037feafbf Create management pod and pvc for backup 2021-04-30 10:24:33 -04:00
Christian M. Adams
0220c75884 wip deployment podspec or sts 2021-04-30 10:24:33 -04:00