|
1 |
| -# DevPod Provider STACKIT |
| 1 | +# DevPod Provider for STACKIT |
2 | 2 |
|
3 | 3 | <!-- markdownlint-disable-next-line MD013 MD034 -->
|
| 4 | +[](https://devpod.sh/open#provider=stackitcloud/devpod-provider-stackit) |
| 5 | + |
4 | 6 | [](https://goreportcard.com/report/github.com/stackitcloud/devpod-provider-stackit)
|
5 | 7 |
|
6 |
| -Run [DevPod](https://devpod.sh/) on [STACKIT](https://www.stackit.de). |
| 8 | +The DevPod Provider for STACKIT enables seamless integration between [DevPod](https://devpod.sh) and the [STACKIT Cloud Platform](https://www.stackit.de/en/), allowing you to deploy development environments on STACKIT's European cloud infrastructure. This provider offers a secure, GDPR-compliant solution for creating reproducible development environments in STACKIT's German data centers. |
| 9 | + |
| 10 | +## Features |
| 11 | + |
| 12 | +- Deploy development environments on STACKIT's cloud platform |
| 13 | +- Automated VM provisioning and management |
| 14 | +- GDPR-compliant European cloud infrastructure |
| 15 | +- Full DevContainer compatibility |
| 16 | + |
| 17 | +## Requirements |
| 18 | + |
| 19 | +- [DevPod CLI](https://devpod.sh/docs/getting-started/installation) or [DevPod Desktop](https://devpod.sh/docs/getting-started/installation) |
| 20 | +- STACKIT account with an active project |
| 21 | +- Service Account with appropriate permissions |
| 22 | +- Service Account Key and Private Key (for authentication) |
| 23 | + |
| 24 | +## Installation |
| 25 | + |
| 26 | +You can add the STACKIT provider to DevPod using the CLI: |
| 27 | + |
| 28 | +```bash |
| 29 | +devpod provider add stackitcloud/devpod-provider-stackit |
| 30 | +``` |
| 31 | + |
| 32 | +Or through the DevPod Desktop application by clicking on "Providers" and then "Add Provider". |
| 33 | + |
| 34 | +## Configuration |
| 35 | + |
| 36 | +When adding the provider, you need to configure the following options: |
| 37 | + |
| 38 | +| Option | Required | Description | Default | |
| 39 | +|--------|----------|-------------|----------| |
| 40 | +| REGION | true | The STACKIT region to create the VM in (e.g., `eu01`) | `eu01` | |
| 41 | +| AVAILABILITY_ZONE | true | The availability zone to use (e.g., `eu01-1`, `eu01-2`) | `eu01-1` | |
| 42 | +| PROJECT_ID | true | The STACKIT project ID to use | | |
| 43 | +| DISK_SIZE | false | The disk size to use in GB | `64` | |
| 44 | +| SERVICE_ACCOUNT_KEY_PATH | true | Path to your STACKIT Service Account Key JSON file | | |
| 45 | +| PRIVATE_KEY_PATH | true | Path to your private key | | |
| 46 | +| FLAVOR | false | The VM instance type to use | `g1.1` | |
| 47 | + |
| 48 | +## Authentication |
| 49 | + |
| 50 | +To authenticate with STACKIT, you need to: |
| 51 | + |
| 52 | +1. Create a Service Account in the STACKIT Portal |
| 53 | +2. Generate a key pair locally |
| 54 | +3. Upload the public key to STACKIT |
| 55 | +4. Download the Service Account Key JSON file |
| 56 | + |
| 57 | +### Creating a Service Account Key |
| 58 | + |
| 59 | +1. Log in to the [STACKIT Portal](https://portal.stackit.cloud/) |
| 60 | +2. Navigate to your project |
| 61 | +3. Go to "Service Accounts" tab |
| 62 | +4. Create a new Service Account or select an existing one |
| 63 | +5. Go to "Service Account Keys" and create a new key |
| 64 | +6. Follow the instructions to upload your public key and download the Service Account Key JSON |
| 65 | + |
| 66 | +For detailed instructions, see the [STACKIT documentation on creating service account keys](https://docs.stackit.cloud/stackit/en/create-a-service-account-key-175112456.html). |
7 | 67 |
|
8 | 68 | ## Usage
|
9 | 69 |
|
10 |
| -To use this provider in your DevPod setup, you will need to do the following steps: |
11 |
| - |
12 |
| -1. See the [DevPod documentation](https://devpod.sh/docs/managing-providers/add-provider) |
13 |
| - for how to add a provider |
14 |
| -2. Use the reference `stackitcloud/devpod-provider-stackit` to download the latest |
15 |
| - release from GitHub |
16 |
| -3. Configure the provider by specifying a few options: |
17 |
| -- Region |
18 |
| -- Project ID |
19 |
| -- Availability zone |
20 |
| -- Disk size |
21 |
| -- Private key path |
22 |
| -- Service Account key path |
23 |
| - |
24 |
| -### STACKIT Service Account |
25 |
| - |
26 |
| -To authenticate with STACKIT you need to create a Service Account, generate a keypair locally and upload the public key |
27 |
| -and download the Service Account Key JSON. |
28 |
| -See the docs to see how: https://docs.stackit.cloud/stackit/en/create-a-service-account-key-175112456.html |
| 70 | +After setting up the provider, you can create a new DevPod workspace: |
| 71 | + |
| 72 | +```bash |
| 73 | +# Create a new workspace from a Git repository |
| 74 | +devpod up [email protected]:user/repository.git --provider stackit |
| 75 | + |
| 76 | +# Or from a local directory |
| 77 | +devpod up ./my-project --provider stackit |
| 78 | +``` |
| 79 | + |
| 80 | + |
| 81 | +## Contributing |
| 82 | + |
| 83 | +Contributions are welcome! Please feel free to submit a Pull Request. |
| 84 | + |
| 85 | +## License |
| 86 | + |
| 87 | +This project is licensed under the [Apache License 2.0](LICENSE). |
0 commit comments