Skip to content

feat: S3 integrator#107

Open
SimonRichardson wants to merge 11 commits into
juju:mainfrom
SimonRichardson:s3-integrator
Open

feat: S3 integrator#107
SimonRichardson wants to merge 11 commits into
juju:mainfrom
SimonRichardson:s3-integrator

Conversation

@SimonRichardson
Copy link
Copy Markdown
Member

Use S3 integrator charm to wire up S3 credentials. This will be the source of draining from file backed storage to s3 storage.

jujubot added a commit to juju/juju that referenced this pull request Mar 25, 2026
#22002

This set of changes is snapped off from #21938, where it introduces a way to relate to an s3 relation and get the correct credentials instead of using the ones on controller config. By utilising the [juju-controller charm](juju/juju-controller#107) to drive the changes, we'll be able to ensure that we benefit from the latest charm infrastructure. 

The changes only target the state code at the moment, with services coming in a later patch.

## QA steps

This breaks s3 charm integration, as we require all service changes to be in place. 

## Links

<!-- Link to all relevant specification, documentation, bug, issue or JIRA card. -->

<!-- Replace #19267 with an issue reference or link, otherwise remove this line. -->
**Issue:** Fixes #19267.

<!-- Place JIRA number in both places below. -->
**Jira card:** [JUJU-](https://warthogs.atlassian.net/browse/JUJU-)
@SimonRichardson SimonRichardson changed the base branch from 4.0 to main April 17, 2026 10:55
SimonRichardson added a commit to SimonRichardson/juju that referenced this pull request Apr 17, 2026
Adds s3 endpoints to update the objectstore backend to s3. This is
broken off from[1], as that was rather large, it's better to break
the work down.

This follows both the metrics and tracing endpoint. It will integrate
with the controller charm[2]. Ultimately this will allow the charm
integrations drive the controller like a real application.

Adds endpoints and calls service methods with the JSON input. Currently
the removal of a relation will not be permitted, this will change in
the future.

 1. juju#21938
 2. juju/juju-controller#107
SimonRichardson added a commit to SimonRichardson/juju that referenced this pull request Apr 20, 2026
Adds s3 endpoints to update the objectstore backend to s3. This is
broken off from[1], as that was rather large, it's better to break
the work down.

This follows both the metrics and tracing endpoint. It will integrate
with the controller charm[2]. Ultimately this will allow the charm
integrations drive the controller like a real application.

Adds endpoints and calls service methods with the JSON input. Currently
the removal of a relation will not be permitted, this will change in
the future.

 1. juju#21938
 2. juju/juju-controller#107
jujubot added a commit to juju/juju that referenced this pull request Apr 20, 2026
…ration

#22267

Adds s3 endpoints to update the objectstore backend to s3. This is broken off from[1], as that was rather large, it's better to break the work down.

This follows both the metrics and tracing endpoint. It will integrate with the controller charm[2]. Ultimately this will allow the charm integrations drive the controller like a real application.

Adds endpoints and calls service methods with the JSON input. Currently the removal of a relation will not be permitted, this will change in the future.

 1. #21938
 2. juju/juju-controller#107

## QA steps

Regression tests should be enough for this: #22146

Otherwise a simple bootstrap should suffice as nothing is wired up:

```sh
$ juju bootstrap lxd test
```
jujubot added a commit to juju/juju that referenced this pull request May 5, 2026
…ig-s3-integration

#22304

Removes controller config for s3 integration, instead the s3 credentials will be driven by the controller charm[1]. This is broken off from[2], as that was rather large, it's better to break the work down.

This starts to lay the ground work for implementing all the methods required for getting a file backed controller to an s3 backed controller. This should be the penultimate PR for completing the tasks. Further changes to allow s3 to s3 bucket transfer will be done in the future, but not now.

In order to make life easier when implementing the drainer, the controller config is just removed. Everything should be driven off from the controller object store service.

> [!NOTE]
> As this is controller only config, and we don't allow controller migrations, we can deprecated the old config gracefully.

 1. juju/juju-controller#107
 2. #21938


## QA steps

Regression tests, though the file to s3 backed storage draining is broken in this PR, until the subsequent PR lands.

```sh
$ juju bootstrap lxd test
```
@SimonRichardson SimonRichardson marked this pull request as ready for review May 6, 2026 16:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant