Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add minio subchart #60

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open

Conversation

holysoles
Copy link
Contributor

@holysoles holysoles commented Jan 25, 2025

Adding a minio subchart will help with the complexity of object storage during deployments. Would more than welcome feedback since this probably the most complex helm logic I've worked on.

Enabling the subchart with the other default values results in the following:

  • a persistently deployed minio instance in standalone mode
  • automatically provisioned:
    • bucket for pixelfed, with public (anonymous) read access
    • user for pixelfed use (different than the default root user minio generates). uses a generic password, we could potentially enforce users setting one. Because of the structure of the minio secret if we autogenerate the password, we can't reference it as a pixelfed env variable.
    • policy to grant that user full access to the pixelfed bucket
  • automatic configuration of the S3/AWS environment environments to access the minio pixelfed bucket

We do not:

  • Set any settings related to using the storage (i.e. .Values.pixelfed.pf.enable_cloud). I can provide example values for using S3 if we want to add it to the readme.
  • Create an ingress/LB service for minio. Users will need to configure external access themselves. The URL will then need to be manually set at .Values.pixelfed.s3.url). In my testing it appears this can be updated after the fact

Closes #55

@jessebot jessebot self-requested a review January 28, 2025 20:20
@jessebot jessebot added the enhancement New feature or request label Jan 28, 2025
@jessebot
Copy link
Collaborator

Thanks for this!! Could you take a look at some of the tests that have failed?

@@ -518,6 +590,8 @@ pixelfed:
max_domain_blocks: 50
# -- Enable S3/Object Storage
enable_cloud: false
# -- Posts are published without waiting for media to be optimized/uploaded to S3. However, posts may be federated without S3 urls.
media_fast_process: true #TODO test this as false
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no in-line comments, please

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

didnt mean to leave my todos 😄

@@ -315,7 +386,7 @@ persistence:
storage: 2Gi
# -- accessMode
accessModes:
- ReadWriteOnce
- ReadWriteOnce # TODO must be ReadWriteMany for seperate worker to work
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no inline comments, please

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment should go into the line 387 comment for the access for further helping of others with horizon

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done!

@holysoles
Copy link
Contributor Author

Thanks for this!! Could you take a look at some of the tests that have failed?

comments addressed, and passing lint+test now, also added in a test case for enabling the minio subchart!

Not sure I'll be able to pass "Generate helm docs", its failing to push changes to my repo/branch:

[minio_subchart 05fb8d0] helm-docs: automated action
 1 file changed, 1 insertion(+), 1 deletion(-)
remote: Permission to holysoles/pixelfed-chart.git denied to github-actions[bot].
fatal: unable to access 'https://github.com/holysoles/pixelfed-chart/': The requested URL returned error: 403

Not sure if its possible to solve based on this issue thread: actions/checkout#455. I did try enabling actions on my fork, as well as making the permissions to "Allow all actions and reusable workflows". Any ideas?

We could run it on merge to main of this repo, but that doesn't give a chance for you/others to review beforehand

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add a minio, garage, or similar S3 provider as a subchart for testing
2 participants