)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":2424,"name":"Felipe Reyes","email":"felipe.reyes@canonical.com","username":"freyes"},"change_message_id":"1a95b7b60bc26104abfd6816e39c60746b4097b9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8be083fa_ee95ac78","updated":"2023-10-24 12:57:44.000000000","message":"Hi Peter,\n\nCan you review this spec with your Ceph-expert hat on?\n\nThanks,","commit_id":"15dd61558297f3860134de4510a1c85428ec5876"},{"author":{"_account_id":13178,"name":"Ionut-Madalin Balutoiu","email":"ionut@balutoiu.com","username":"ibalutoiu"},"change_message_id":"1fe3e2cb4adaa4f5b3198cfb6c5ad9ef7b1fbf9d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9c7c8c64_cc269e50","updated":"2023-10-23 16:20:34.000000000","message":"The failure from `openstack-tox-docs` seems unrelated to this patchset:\n```\nExtension error (redirect):\nHandler \u003cfunction emit_redirects at 0x7f77c0e41a20\u003e for event \u0027build-finished\u0027 threw an exception (exception: replace() argument 1 must be str, not _StrPath)\n```","commit_id":"15dd61558297f3860134de4510a1c85428ec5876"},{"author":{"_account_id":15382,"name":"Peter Sabaini","email":"peter.sabaini@canonical.com","username":"peter-sabaini"},"change_message_id":"2bc5b2c9ef5cc0de5aecd73e60472990a2a8976d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5fa63fdf_f6dd0df5","updated":"2024-04-03 10:53:04.000000000","message":"Hey Ionut, thanks for this, an interesting proposal.\n\nSome nits / questions below.","commit_id":"c0dc502b20b238081f43f0417fbfee1bdcede340"},{"author":{"_account_id":15382,"name":"Peter Sabaini","email":"peter.sabaini@canonical.com","username":"peter-sabaini"},"change_message_id":"0e73f7c09f71cc32f2f5a020583e77dc0c5bb9a2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"5ed99d7a_321b250a","updated":"2024-04-16 08:41:35.000000000","message":"Thanks Ionut for the updates, lgtm!","commit_id":"816a8169cba4b3c522376a8d1da3f028e6cc6e46"}],"specs/2024.1/backlog/ceph-radosgw-cloud-sync.rst":[{"author":{"_account_id":15382,"name":"Peter Sabaini","email":"peter.sabaini@canonical.com","username":"peter-sabaini"},"change_message_id":"2bc5b2c9ef5cc0de5aecd73e60472990a2a8976d","unresolved":true,"context_lines":[{"line_number":22,"context_line":"multiple cloud providers. The currently supported cloud providers are those"},{"line_number":23,"context_line":"that are compatible with AWS (S3)."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"More info about Ceph ``Coud Sync`` here:"},{"line_number":26,"context_line":"https://docs.ceph.com/en/latest/radosgw/cloud-sync-module."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"The ``Cloud Sync`` module is built atop of the multi-site framework that allows"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3b5635ad_81bd8ea3","line":25,"updated":"2024-04-03 10:53:04.000000000","message":"Nit: s/Coud Sync/Cloud Sync/","commit_id":"c0dc502b20b238081f43f0417fbfee1bdcede340"},{"author":{"_account_id":13178,"name":"Ionut-Madalin Balutoiu","email":"ionut@balutoiu.com","username":"ibalutoiu"},"change_message_id":"e1ed57bb8b2dc526f34c4dc500d177d63fe2dcbb","unresolved":false,"context_lines":[{"line_number":22,"context_line":"multiple cloud providers. The currently supported cloud providers are those"},{"line_number":23,"context_line":"that are compatible with AWS (S3)."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"More info about Ceph ``Coud Sync`` here:"},{"line_number":26,"context_line":"https://docs.ceph.com/en/latest/radosgw/cloud-sync-module."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"The ``Cloud Sync`` module is built atop of the multi-site framework that allows"}],"source_content_type":"text/x-rst","patch_set":3,"id":"4b59c5f2_e5ece2d4","line":25,"in_reply_to":"3b5635ad_81bd8ea3","updated":"2024-04-04 09:50:15.000000000","message":"Acknowledged. Will fix the typo.","commit_id":"c0dc502b20b238081f43f0417fbfee1bdcede340"},{"author":{"_account_id":15382,"name":"Peter Sabaini","email":"peter.sabaini@canonical.com","username":"peter-sabaini"},"change_message_id":"2bc5b2c9ef5cc0de5aecd73e60472990a2a8976d","unresolved":true,"context_lines":[{"line_number":76,"context_line":"These steps are documented at:"},{"line_number":77,"context_line":"https://docs.ceph.com/en/latest/radosgw/cloud-sync-module."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"The Ceph ``cloud-sync`` module allows multiple S3 targets to be configured in"},{"line_number":80,"context_line":"the same zone tier config. For this, we have ``profiles`` in the tier config."},{"line_number":81,"context_line":"Each profile maps a single source bucket (or multiple buckets via prefix) to"},{"line_number":82,"context_line":"one S3 destination. The ``profiles`` in the tier config are optional."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Within a profile, we also have a target path under which the bucket(s) data"},{"line_number":85,"context_line":"will be synced on the S3 target. This is essentially a prefix for the objects"},{"line_number":86,"context_line":"synced. A new charm config, called ``cloud-sync-target-path``, will be added"},{"line_number":87,"context_line":"to configure the target path for all the profiles. This allows a consistent"},{"line_number":88,"context_line":"target path for the configured ``cloud-sync`` zone."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"It is mandatory to have a default S3 target for all the buckets that don\u0027t"},{"line_number":91,"context_line":"have a profile configured. The rationale is that every bucket needs to have"}],"source_content_type":"text/x-rst","patch_set":3,"id":"88acde15_0801267b","line":88,"range":{"start_line":79,"start_character":0,"end_line":88,"end_character":51},"updated":"2024-04-03 10:53:04.000000000","message":"IIUC a profile contains data about buckets, targets and target paths, is that right?\n\nCan I ask that you more in detail which properties the tier config can take and how the proposed config syntax looks like?","commit_id":"c0dc502b20b238081f43f0417fbfee1bdcede340"},{"author":{"_account_id":13178,"name":"Ionut-Madalin Balutoiu","email":"ionut@balutoiu.com","username":"ibalutoiu"},"change_message_id":"e1ed57bb8b2dc526f34c4dc500d177d63fe2dcbb","unresolved":true,"context_lines":[{"line_number":76,"context_line":"These steps are documented at:"},{"line_number":77,"context_line":"https://docs.ceph.com/en/latest/radosgw/cloud-sync-module."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"The Ceph ``cloud-sync`` module allows multiple S3 targets to be configured in"},{"line_number":80,"context_line":"the same zone tier config. For this, we have ``profiles`` in the tier config."},{"line_number":81,"context_line":"Each profile maps a single source bucket (or multiple buckets via prefix) to"},{"line_number":82,"context_line":"one S3 destination. The ``profiles`` in the tier config are optional."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Within a profile, we also have a target path under which the bucket(s) data"},{"line_number":85,"context_line":"will be synced on the S3 target. This is essentially a prefix for the objects"},{"line_number":86,"context_line":"synced. A new charm config, called ``cloud-sync-target-path``, will be added"},{"line_number":87,"context_line":"to configure the target path for all the profiles. This allows a consistent"},{"line_number":88,"context_line":"target path for the configured ``cloud-sync`` zone."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"It is mandatory to have a default S3 target for all the buckets that don\u0027t"},{"line_number":91,"context_line":"have a profile configured. The rationale is that every bucket needs to have"}],"source_content_type":"text/x-rst","patch_set":3,"id":"f7a7a0ee_74752b89","line":88,"range":{"start_line":79,"start_character":0,"end_line":88,"end_character":51},"in_reply_to":"88acde15_0801267b","updated":"2024-04-04 09:50:15.000000000","message":"A profile allows syncing of a single (or more) source bucket(s) to a single remote S3 target. It\u0027s basically a \"Many-To-One\" mapping between source buckets and an S3 destination.\n\nWhen these explicit profiles are not defined, the default S3 target is used to sync all source buckets to that default S3 target. The **default S3 target is mandatory**.\n\nA profile contains info about:\n1. `source_bucket`, either a bucket name, or a bucket prefix (if ends with *) that defines the source bucket(s) for this profile.\n1. `target_path`, A string that defines how the target path is created. The target path specifies a prefix to which the source object name is appended. The target path configurable can include any of the following variables:\n  - `$sid`: unique string that represents the sync instance ID - zonegroup: the zonegroup name\n  - `$zonegroup_id`: the zonegroup ID\n  - `$zone`: the zone name\n  - `$zone_id`: the zone id\n  - `$bucket`: source bucket name\n  - `$owner`: source bucket owner ID\n\n  For example:\n  ```\n  target_path \u003d rgwx-${zone}-${sid}/${owner}/${bucket}\n  ```\n1. `connection_id`, ID of the connection (with credentials) that will be used for this profile.\n\nThe cloud sync profiles are configured through use of s3-integrator Juju applications, together with the new config option `cloud-sync-target-path`.\n\nI will details about a Cloud Sync profile here.","commit_id":"c0dc502b20b238081f43f0417fbfee1bdcede340"},{"author":{"_account_id":15382,"name":"Peter Sabaini","email":"peter.sabaini@canonical.com","username":"peter-sabaini"},"change_message_id":"0e73f7c09f71cc32f2f5a020583e77dc0c5bb9a2","unresolved":false,"context_lines":[{"line_number":76,"context_line":"These steps are documented at:"},{"line_number":77,"context_line":"https://docs.ceph.com/en/latest/radosgw/cloud-sync-module."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"The Ceph ``cloud-sync`` module allows multiple S3 targets to be configured in"},{"line_number":80,"context_line":"the same zone tier config. For this, we have ``profiles`` in the tier config."},{"line_number":81,"context_line":"Each profile maps a single source bucket (or multiple buckets via prefix) to"},{"line_number":82,"context_line":"one S3 destination. The ``profiles`` in the tier config are optional."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Within a profile, we also have a target path under which the bucket(s) data"},{"line_number":85,"context_line":"will be synced on the S3 target. This is essentially a prefix for the objects"},{"line_number":86,"context_line":"synced. A new charm config, called ``cloud-sync-target-path``, will be added"},{"line_number":87,"context_line":"to configure the target path for all the profiles. This allows a consistent"},{"line_number":88,"context_line":"target path for the configured ``cloud-sync`` zone."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"It is mandatory to have a default S3 target for all the buckets that don\u0027t"},{"line_number":91,"context_line":"have a profile configured. The rationale is that every bucket needs to have"}],"source_content_type":"text/x-rst","patch_set":3,"id":"e6628670_b81dd0fb","line":88,"range":{"start_line":79,"start_character":0,"end_line":88,"end_character":51},"in_reply_to":"f7a7a0ee_74752b89","updated":"2024-04-16 08:41:35.000000000","message":"Done","commit_id":"c0dc502b20b238081f43f0417fbfee1bdcede340"},{"author":{"_account_id":15382,"name":"Peter Sabaini","email":"peter.sabaini@canonical.com","username":"peter-sabaini"},"change_message_id":"2bc5b2c9ef5cc0de5aecd73e60472990a2a8976d","unresolved":true,"context_lines":[{"line_number":87,"context_line":"to configure the target path for all the profiles. This allows a consistent"},{"line_number":88,"context_line":"target path for the configured ``cloud-sync`` zone."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"It is mandatory to have a default S3 target for all the buckets that don\u0027t"},{"line_number":91,"context_line":"have a profile configured. The rationale is that every bucket needs to have"},{"line_number":92,"context_line":"a sync target, and the default target is the fallback for any bucket that"},{"line_number":93,"context_line":"doesn\u0027t have a profile configured. A new charm config will be added, called"},{"line_number":94,"context_line":"``cloud-sync-default-s3-target`` for this purpose."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"It is obvious that we need to handle S3 credentials for the S3 targets"},{"line_number":97,"context_line":"configured in the ``cloud-sync`` zone. For this purpose, we will use the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"2c296240_b6a080fe","line":94,"range":{"start_line":90,"start_character":0,"end_line":94,"end_character":50},"updated":"2024-04-03 10:53:04.000000000","message":"I could be misinterpreting this, but I\u0027d lean towards having a `default` profile instead. This would set profile props to a default value for all buckets that don\u0027t have a profile configured. Would this be possible?","commit_id":"c0dc502b20b238081f43f0417fbfee1bdcede340"},{"author":{"_account_id":13178,"name":"Ionut-Madalin Balutoiu","email":"ionut@balutoiu.com","username":"ibalutoiu"},"change_message_id":"e1ed57bb8b2dc526f34c4dc500d177d63fe2dcbb","unresolved":true,"context_lines":[{"line_number":87,"context_line":"to configure the target path for all the profiles. This allows a consistent"},{"line_number":88,"context_line":"target path for the configured ``cloud-sync`` zone."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"It is mandatory to have a default S3 target for all the buckets that don\u0027t"},{"line_number":91,"context_line":"have a profile configured. The rationale is that every bucket needs to have"},{"line_number":92,"context_line":"a sync target, and the default target is the fallback for any bucket that"},{"line_number":93,"context_line":"doesn\u0027t have a profile configured. A new charm config will be added, called"},{"line_number":94,"context_line":"``cloud-sync-default-s3-target`` for this purpose."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"It is obvious that we need to handle S3 credentials for the S3 targets"},{"line_number":97,"context_line":"configured in the ``cloud-sync`` zone. For this purpose, we will use the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"e425e5d1_3809abf4","line":94,"range":{"start_line":90,"start_character":0,"end_line":94,"end_character":50},"in_reply_to":"2c296240_b6a080fe","updated":"2024-04-04 09:50:15.000000000","message":"This is exactly the `default` described here. It\u0027s a default S3 sync target, when there\u0027s no explicit profile defined for the source buckets. It acts as a default profile.\n\nI can rename the \"default S3 target\" to the \"default profile\", if you think it\u0027s more appropriate.\n\nI used the terminology \"default S3 target\" instead of \"default profile\" to ilustrate the fact the profiles is an explicit set of definitions that matches one or more source buckets to a different S3 target. The \"profiles\" list can be empty, and in this case all source buckets will sync to a single S3 target (the default one).","commit_id":"c0dc502b20b238081f43f0417fbfee1bdcede340"},{"author":{"_account_id":15382,"name":"Peter Sabaini","email":"peter.sabaini@canonical.com","username":"peter-sabaini"},"change_message_id":"0e73f7c09f71cc32f2f5a020583e77dc0c5bb9a2","unresolved":false,"context_lines":[{"line_number":87,"context_line":"to configure the target path for all the profiles. This allows a consistent"},{"line_number":88,"context_line":"target path for the configured ``cloud-sync`` zone."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"It is mandatory to have a default S3 target for all the buckets that don\u0027t"},{"line_number":91,"context_line":"have a profile configured. The rationale is that every bucket needs to have"},{"line_number":92,"context_line":"a sync target, and the default target is the fallback for any bucket that"},{"line_number":93,"context_line":"doesn\u0027t have a profile configured. A new charm config will be added, called"},{"line_number":94,"context_line":"``cloud-sync-default-s3-target`` for this purpose."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"It is obvious that we need to handle S3 credentials for the S3 targets"},{"line_number":97,"context_line":"configured in the ``cloud-sync`` zone. For this purpose, we will use the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"0339f8a9_531bb6eb","line":94,"range":{"start_line":90,"start_character":0,"end_line":94,"end_character":50},"in_reply_to":"e425e5d1_3809abf4","updated":"2024-04-16 08:41:35.000000000","message":"Acknowledged","commit_id":"c0dc502b20b238081f43f0417fbfee1bdcede340"},{"author":{"_account_id":15382,"name":"Peter Sabaini","email":"peter.sabaini@canonical.com","username":"peter-sabaini"},"change_message_id":"2bc5b2c9ef5cc0de5aecd73e60472990a2a8976d","unresolved":true,"context_lines":[{"line_number":103,"context_line":"credentials for a single S3 target. When relating multiple ``s3-integrator``"},{"line_number":104,"context_line":"applications to the same ``secondary-ceph-radosgw`` cloud-sync application,"},{"line_number":105,"context_line":"the tier config will be updated with profiles for each S3 target."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Alternatives"},{"line_number":108,"context_line":"------------"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"377dc339_aaa69e64","line":106,"updated":"2024-04-03 10:53:04.000000000","message":"It would be great to have an example here how a deployment with multiple targets would look","commit_id":"c0dc502b20b238081f43f0417fbfee1bdcede340"},{"author":{"_account_id":13178,"name":"Ionut-Madalin Balutoiu","email":"ionut@balutoiu.com","username":"ibalutoiu"},"change_message_id":"e1ed57bb8b2dc526f34c4dc500d177d63fe2dcbb","unresolved":true,"context_lines":[{"line_number":103,"context_line":"credentials for a single S3 target. When relating multiple ``s3-integrator``"},{"line_number":104,"context_line":"applications to the same ``secondary-ceph-radosgw`` cloud-sync application,"},{"line_number":105,"context_line":"the tier config will be updated with profiles for each S3 target."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Alternatives"},{"line_number":108,"context_line":"------------"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"6f7a418a_4c5f0aa3","line":106,"in_reply_to":"377dc339_aaa69e64","updated":"2024-04-04 09:50:15.000000000","message":"I will add an example on how to deploy multiple targets with `s3-integrator`.","commit_id":"c0dc502b20b238081f43f0417fbfee1bdcede340"},{"author":{"_account_id":15382,"name":"Peter Sabaini","email":"peter.sabaini@canonical.com","username":"peter-sabaini"},"change_message_id":"0e73f7c09f71cc32f2f5a020583e77dc0c5bb9a2","unresolved":false,"context_lines":[{"line_number":103,"context_line":"credentials for a single S3 target. When relating multiple ``s3-integrator``"},{"line_number":104,"context_line":"applications to the same ``secondary-ceph-radosgw`` cloud-sync application,"},{"line_number":105,"context_line":"the tier config will be updated with profiles for each S3 target."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Alternatives"},{"line_number":108,"context_line":"------------"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"42c81c38_d6c14093","line":106,"in_reply_to":"6f7a418a_4c5f0aa3","updated":"2024-04-16 08:41:35.000000000","message":"Done","commit_id":"c0dc502b20b238081f43f0417fbfee1bdcede340"},{"author":{"_account_id":15382,"name":"Peter Sabaini","email":"peter.sabaini@canonical.com","username":"peter-sabaini"},"change_message_id":"2bc5b2c9ef5cc0de5aecd73e60472990a2a8976d","unresolved":true,"context_lines":[{"line_number":107,"context_line":"Alternatives"},{"line_number":108,"context_line":"------------"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"None"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Implementation"},{"line_number":113,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"0fb912a4_b7e982d3","line":110,"updated":"2024-04-03 10:53:04.000000000","message":"I believe there were discussions around an approach where the addtl cloud sync instances would be colocated on existing units, obviating the need for a separate cloud sync relation. Would it be possible to summarize the outcome of that discussion in the `Alternatives` section?","commit_id":"c0dc502b20b238081f43f0417fbfee1bdcede340"},{"author":{"_account_id":13178,"name":"Ionut-Madalin Balutoiu","email":"ionut@balutoiu.com","username":"ibalutoiu"},"change_message_id":"e1ed57bb8b2dc526f34c4dc500d177d63fe2dcbb","unresolved":true,"context_lines":[{"line_number":107,"context_line":"Alternatives"},{"line_number":108,"context_line":"------------"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"None"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Implementation"},{"line_number":113,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"f72f7cd7_b1330d80","line":110,"in_reply_to":"0fb912a4_b7e982d3","updated":"2024-04-04 09:50:15.000000000","message":"That was a suggestion from Utkarsh, but unfortunately it doesn\u0027t work.\n\nThe cloud-sync is a different zone in RGW, and as far as I know (and tested locally) a single RGW daemon is able to manage a single RGW zone.\n\nWhen cloud-sync is used, the zones in RGW zonegroup would be these:\n\n1. `primary`\n1. `primary-cloud-sync`\n\nCloud sync is a [sync module](https://docs.ceph.com/en/latest/radosgw/sync-modules/#sync-modules) built on top of RGW multi-zone [Multi-Site functionality](https://docs.ceph.com/en/latest/radosgw/multisite/#diagram-replication-of-object-data-between-zones).\n\nThe only thing special about cloud-sync is that:\n1. It writes data to S3-compatible targets (instead of another Ceph storage cluster).\n2. Data sync is only unidirectional.\n3. It requires a non-trivial configuration of the S3 target(s) connection info given as tier config.\n\nGiven the above challenges, we [agreed previously on Mattermost](https://chat.charmhub.io/charmhub/pl/qxn695mbbtn1dde71g71yibzga) that we should use the S3 integrator for configuring profiles to S3 targets, and the default S3 target.","commit_id":"c0dc502b20b238081f43f0417fbfee1bdcede340"},{"author":{"_account_id":15382,"name":"Peter Sabaini","email":"peter.sabaini@canonical.com","username":"peter-sabaini"},"change_message_id":"2bc5b2c9ef5cc0de5aecd73e60472990a2a8976d","unresolved":true,"context_lines":[{"line_number":154,"context_line":"  used to fetch S3 credentials for each S3 target in the ``cloud-sync`` tier"},{"line_number":155,"context_line":"  config."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"  The name of related ``s3-integrator`` application will be used as the"},{"line_number":158,"context_line":"  profile name configured in the tier config. From the relation data, we also"},{"line_number":159,"context_line":"  fetch the source bucket(s) for each profile."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Repositories"},{"line_number":162,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3d795fb9_e06be25a","line":159,"range":{"start_line":157,"start_character":1,"end_line":159,"end_character":46},"updated":"2024-04-03 10:53:04.000000000","message":"Mapping application names to profile names feels a bit magical, do you think this could be made more explicit?","commit_id":"c0dc502b20b238081f43f0417fbfee1bdcede340"},{"author":{"_account_id":13178,"name":"Ionut-Madalin Balutoiu","email":"ionut@balutoiu.com","username":"ibalutoiu"},"change_message_id":"e1ed57bb8b2dc526f34c4dc500d177d63fe2dcbb","unresolved":true,"context_lines":[{"line_number":154,"context_line":"  used to fetch S3 credentials for each S3 target in the ``cloud-sync`` tier"},{"line_number":155,"context_line":"  config."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"  The name of related ``s3-integrator`` application will be used as the"},{"line_number":158,"context_line":"  profile name configured in the tier config. From the relation data, we also"},{"line_number":159,"context_line":"  fetch the source bucket(s) for each profile."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Repositories"},{"line_number":162,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"55e74166_a51215b2","line":159,"range":{"start_line":157,"start_character":1,"end_line":159,"end_character":46},"in_reply_to":"3d795fb9_e06be25a","updated":"2024-04-04 09:50:15.000000000","message":"The profile name is used by the operator to set the new config option `cloud-sync-default-s3-target`, which dictates what is the default S3 target configured.\n\nI felt that it\u0027s intuitive for an operator to do the following:\n\n```\njuju deploy s3-integrator dev-minio\njuju deploy s3-integrator production-aws\njuju deploy s3-integrator staging-aws\n\njuju add-relation secondary-ceph-radosgw dev-minio\njuju add-relation secondary-ceph-radosgw production-aws\njuju add-relation secondary-ceph-radosgw staging-aws\n\njuju configure secondary-ceph-radosgw cloud-sync-default-s3-target\u003d\u0027dev-minio\u0027\n```\n\nGiven that the operator configures the details of the S3 target via the Juju application `dev-minio`, it is intuitive for him to set the default S3 target to that s3-integrator app name.\n\nIf you have another idea on how to configure the default S3 target, I\u0027m open to any other suggestions!","commit_id":"c0dc502b20b238081f43f0417fbfee1bdcede340"},{"author":{"_account_id":15382,"name":"Peter Sabaini","email":"peter.sabaini@canonical.com","username":"peter-sabaini"},"change_message_id":"0e73f7c09f71cc32f2f5a020583e77dc0c5bb9a2","unresolved":false,"context_lines":[{"line_number":154,"context_line":"  used to fetch S3 credentials for each S3 target in the ``cloud-sync`` tier"},{"line_number":155,"context_line":"  config."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"  The name of related ``s3-integrator`` application will be used as the"},{"line_number":158,"context_line":"  profile name configured in the tier config. From the relation data, we also"},{"line_number":159,"context_line":"  fetch the source bucket(s) for each profile."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Repositories"},{"line_number":162,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"751e2f1c_802756cc","line":159,"range":{"start_line":157,"start_character":1,"end_line":159,"end_character":46},"in_reply_to":"55e74166_a51215b2","updated":"2024-04-16 08:41:35.000000000","message":"Acknowledged","commit_id":"c0dc502b20b238081f43f0417fbfee1bdcede340"}]}
