For local kubernetes installation please refer to the kind
directory's readme.
To deploy the EDC Ionos S3 connector to external kubernetes cluster on IONOS cloud, follow this readme below.
- Helm
- Terraform
- kubectl
- Kubernetes cluster - Note: follow instructions in the general-des-development directory to deploy a IONOS kubernetes cluster
- S3 account
These are the services that are deployed:
Set environment variables
Some notes:
- You will need docker image of the EDC Ionos S3 connector pushed to a repository. If you don't have one, you can build it following the instructions in the readme;
- To create the IONOS token please take a look at the following documentation;
- If you are deploying multiple EDC Connectors on the same Kubernetes cluster, make sure TF_VAR_namespace and TF_VAR_vaultname parameters are unique for each Connector.
# Required configuration
export TF_VAR_namespace='edc-ionos-s3'
export TF_VAR_kubeconfig='path to kubeconfig'
export TF_VAR_vaultname='vault' # optional if only 1 connector per cluster
export TF_VAR_s3_access_key='' # S3 access key
export TF_VAR_s3_secret_key='' # S3 secret key
export TF_VAR_s3_endpoint='' # s3 endpoint (e.g. s3-eu-central-1.ionoscloud.com)
export TF_VAR_ionos_token='' # IONOS Cloud token
In case you want to configure this Connector without Hashicorp Vault, you need to also set the parameters below in the helm values.yaml:
ionos:
endpoint: <YOUR-S3-ENDPOINT>
accessKey: <YOUR-KEY>
secretKey: <YOUR-SECRET-KEY>
token: <IONOS-TOKEN>
They should be the same as the ones set in the environment variables. The ionos.endpoint is set to the default S3 location, but it can be changed to any other location.
If you don't want the Connector to be externally accessible, you need to set the following parameters in the helm values.yaml:
service:
type: ClusterIP
This will allocate a public IP address to the Connector. You can then access it on the ports 8181, 8182, and 8282.
All commands paths are relative to the current directory where this readme is located.
To install the services run the script deploy-services.sh
in terraform
directory.
cd terraform
./deploy-services.sh
After the services are installed you will have vault-keys.json
file containing the vault keys in terraform
directory.
cd terraform
./destroy-services.sh