Update Dev documentation
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Pierre HUBERT 2025-03-06 21:01:28 +01:00
parent 8d8942d360
commit ee5a31021c
3 changed files with 56 additions and 6 deletions

View File

@ -1,6 +1,10 @@
# Setup for development # Setup for development
This guide will present you how to prepare your computer to update features of MinioK8SBucket This guide will present you how to prepare your computer to update features of MinioK8SBucket
## Install Rust
As this project has been written using Rust, you will need to install it prior working on MinioK8SBucket. Please follow the official instructions: https://www.rust-lang.org/tools/install
## Install Minikube ## Install Minikube
First, you need to install Minikube on your computer to have a K8S environment. In order to do this, please follow the official instructions: https://minikube.sigs.k8s.io/docs/start First, you need to install Minikube on your computer to have a K8S environment. In order to do this, please follow the official instructions: https://minikube.sigs.k8s.io/docs/start
@ -32,10 +36,15 @@ Clone this repository using:
https://gitea.communiquons.org/pierre/MinioK8sBuckets https://gitea.communiquons.org/pierre/MinioK8sBuckets
``` ```
!!! warning "Gitea account request" !!! note "Gitea account request"
If you want to get a Gitea account to make pull request on this repository, you will need to contact me at: `pierre.git@communiquons.org` If you want to get a Gitea account to make pull request on this repository, you will need to contact me at: `pierre.git@communiquons.org`
## Deploy Minio ## Deploy Minio
First, enable Minikube tunnel:
```bash
minikube tunnel --bind-address '127.0.0.1'
```
You will then need to deploy Minio in Minikube. Apply the Minio deployment located at the in MinioK8SBucket repository: You will then need to deploy Minio in Minikube. Apply the Minio deployment located at the in MinioK8SBucket repository:
```bash ```bash
@ -46,4 +55,45 @@ Check for launching of pod:
```bash ```bash
minikube kubectl -- get pods -w minikube kubectl -- get pods -w
``` ```
Check for the availability of the service:
```bash
minikube kubectl -- get services
```
You should get a result similar to this one:
```
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 31m
minio LoadBalancer 10.103.82.87 127.0.0.1 9000:30656/TCP,9090:31369/TCP 6m40s
```
You should be able to access minio at the following address: http://127.0.0.1:9090
Minio API should be available at: http://127.0.0.1:9000/
## Deploy CRD
You will need then to deploy the Custom Resource Definitions of MinioK8S bucket using the following command:
```bash
minikube kubectl -- apply -f yaml/crd.yaml
```
## Run operator
You can then run the project using the following command:
```bash
cargo fmt && cargo clippy && RUST_LOG=debug cargo run --
```
## Create a first bucket
You should be able to create a first bucket using the following command:
```bash
minikube kubectl -- apply -f test/test-outside-cluster.yaml
```
Have fun working for MinioK8SBucket!

View File

@ -12,7 +12,7 @@ kind: MinioInstance
metadata: metadata:
name: my-minio-instance name: my-minio-instance
spec: spec:
endpoint: http://localhost:9000/ endpoint: http://localhost:9000
credentials: minio-root credentials: minio-root
--- ---
apiVersion: "communiquons.org/v1" apiVersion: "communiquons.org/v1"
@ -22,4 +22,4 @@ metadata:
spec: spec:
instance: my-minio-instance instance: my-minio-instance
name: first-bucket name: first-bucket
secret: first-bucket-secret secret: first-bucket-secret

View File

@ -26,7 +26,7 @@ spec:
- containerPort: 9000 - containerPort: 9000
protocol: TCP protocol: TCP
name: api name: api
- containerPort: 9001 - containerPort: 9090
protocol: TCP protocol: TCP
name: console name: console
args: args:
@ -84,6 +84,6 @@ spec:
port: 9000 port: 9000
targetPort: api targetPort: api
- name: console - name: console
port: 9001 port: 9090
targetPort: console targetPort: console
externalTrafficPolicy: Local externalTrafficPolicy: Local