Skip to content

Commit 47efb66

Browse files
authored
rename terraform-boot project to terra-boot (#199)
1 parent 445f1f0 commit 47efb66

24 files changed

+93
-93
lines changed

.github/workflows/ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# SPDX-License-Identifier: Apache-2.0
33
# SPDX-FileCopyrightText: Huawei Inc.
44
#
5-
name: terraform-boot-ci
5+
name: terra-boot-ci
66

77
# Run this workflow every time a new commit push to the repository
88
on:

.github/workflows/release.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-FileCopyrightText: Huawei Inc.
44
#
55
---
6-
name: terraform-boot-cd
6+
name: terra-boot-cd
77

88
on:
99
workflow_dispatch:
@@ -34,7 +34,7 @@ env:
3434
jobs:
3535
release:
3636
runs-on: ubuntu-latest
37-
if: github.repository == 'eclipse-xpanse/terraform-boot'
37+
if: github.repository == 'eclipse-xpanse/terra-boot'
3838
outputs:
3939
next-version: ${{ steps.new_version.outputs.next-version }}
4040
permissions:
@@ -146,7 +146,7 @@ jobs:
146146
147147
prepare-for-next-development-cycle:
148148
runs-on: ubuntu-latest
149-
if: github.repository == 'eclipse-xpanse/terraform-boot'
149+
if: github.repository == 'eclipse-xpanse/terra-boot'
150150
needs: release
151151
permissions:
152152
contents: write

Dockerfile

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
FROM eclipse-temurin:21-jre-alpine
22

3-
RUN addgroup -S terraform-boot && adduser -S -G terraform-boot terraform-boot
3+
RUN addgroup -S terra-boot && adduser -S -G terra-boot terra-boot
44
RUN apk update && \
55
apk add --no-cache unzip wget
66

@@ -12,6 +12,6 @@ RUN chmod +x /install_terraform.sh
1212
RUN echo "Downloading and installing Terraform with multiple versions $TERRAFORM_VERSIONS into path $TERRAFORM_INSTALL_PATH"; \
1313
/install_terraform.sh "$TERRAFORM_INSTALL_PATH" "$DEFAULT_TERRAFORM_VERSION" "$TERRAFORM_VERSIONS"
1414

15-
COPY target/terraform-boot-*.jar terraform-boot.jar
16-
USER terraform-boot
17-
ENTRYPOINT ["java", "-Dterraform.install.dir=${TERRAFORM_INSTALL_PATH}", "-Dterraform.default.supported.versions=${TERRAFORM_VERSIONS}", "-jar", "terraform-boot.jar"]
15+
COPY target/terra-boot-*.jar terra-boot.jar
16+
USER terra-boot
17+
ENTRYPOINT ["java", "-Dterraform.install.dir=${TERRAFORM_INSTALL_PATH}", "-Dterraform.default.supported.versions=${TERRAFORM_VERSIONS}", "-jar", "terra-boot.jar"]

README.md

+28-28
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<p align='center'>
2-
<a href="https://github.com/eclipse-xpanse/terraform-boot/actions/workflows/ci.yml" target="_blank">
3-
<img src="https://github.com/eclipse-xpanse/terraform-boot/actions/workflows/ci.yml/badge.svg" alt="build">
2+
<a href="https://github.com/eclipse-xpanse/terra-boot/actions/workflows/ci.yml" target="_blank">
3+
<img src="https://github.com/eclipse-xpanse/terra-boot/actions/workflows/ci.yml/badge.svg" alt="build">
44
</a>
55
<a href="https://opensource.org/licenses/Apache-2.0" target="_blank">
66
<img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="coverage">
77
</a>
88
</p>
99

10-
# terraform-boot
10+
# terra-boot
1111

1212
A spring-boot-based project which aims to provide a RESTful API for Terraform CLI. It provides three different modes of
1313
execution
@@ -20,15 +20,15 @@ execution
2020

2121
### Scripts in a Directory
2222

23-
Pass the terraform root folder name in the request and terraform-boot will execute the requested Terraform method on
23+
Pass the terraform root folder name in the request and terra-boot will execute the requested Terraform method on
2424
this directory.
2525

2626
#### Terraform Root module Folder
2727

2828
If we intend to use this mode of script execution, then we must ensure the scripts root directory is
29-
accessible to terraform-boot runtime.
29+
accessible to terra-boot runtime.
3030

31-
The `terraform-boot` application must have access to the root module folder under which each sub-folder is a module
31+
The `terra-boot` application must have access to the root module folder under which each sub-folder is a module
3232
used per API request.
3333

3434
The default root folder where all module sub-folders will exist is the **temp** folder of the user running the server.
@@ -37,12 +37,12 @@ This configuration can be changed by updating the `terraform.root.module.directo
3737

3838
### Scripts in the Request Body
3939

40-
All files needed for terraform execution can be passed as strings to API and terraform-boot will automatically execute
40+
All files needed for terraform execution can be passed as strings to API and terra-boot will automatically execute
4141
the files and return terraform execution result.
4242

4343
### Scripts in GIT Repo
4444

45-
If the scripts are present in a GIT repo, then we can directly pass the details of the GIT repo. Terraform-boot will
45+
If the scripts are present in a GIT repo, then we can directly pass the details of the GIT repo. Terra-boot will
4646
clone the repo and execute the scripts and then return the result.
4747

4848
> [!NOTE]
@@ -55,7 +55,7 @@ clone the repo and execute the scripts and then return the result.
5555
* destroy - This wraps the Terraform `destroy` method.
5656
* validate - This wraps the Terraform `validate` method.
5757
* plan - This wraps the Terraform 'plan' method.
58-
* healthCheck - This method returns the status of the terraform-boot application
58+
* healthCheck - This method returns the status of the terra-boot application
5959

6060
> [!NOTE]
6161
> All terraform related methods above support both modes of operation mentioned in
@@ -73,20 +73,20 @@ The below property names can be changed in the following ways
7373
1. passing the property values to the server startup command as ``--${property-name}=${property-value}``
7474
2. Setting corresponding environment variables before starting the server.
7575

76-
| property name | environment variable | default value | description |
77-
|-----------------------------------------------|-----------------------------------------------|--------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|
78-
| terraform_binary_path | TERRAFORM_BINARY_PATH | Terraform available on syspath | The path to the terraform binary |
79-
| terraform.root.module.directory | TERRAFORM_ROOT_MODULE_DIRECTORY | /tmp on Linux<br/>\AppData\Local\Temp on Windows | The path to the parent directory where all terraform module directories will be stored at as subdirs |
80-
| log.terraform.stdout.stderr | LOG_TERRAFORM_STDOUT_STDERR | true | Controls if the command execution output must be logged. If disabled, the output is only returned in the API response |
81-
| terraform.log.level | TERRAFORM_LOG_LEVEL | INFO | Controls the log level of the terraform binary. Allowed values are INFO, DEBUG, TRACE, WARN and ERROR |
82-
| authorization.token.type | AUTHORIZATION_TOKEN_TYPE | JWT | Authorization server authentication Type, allowed values: OpaqueToken or JWT |
83-
| authorization.server.endpoint | AUTHORIZATION_SERVER_ENDPOINT | | The endpoint value of the authorization server |
84-
| authorization.api.client.id | AUTHORIZATION_API_CLIENT_ID | | The ID value of the authorization server API client |
85-
| authorization.api.client.secret | AUTHORIZATION_API_CLIENT_SECRET | | The secret value of the authorization server API client |
86-
| authorization.swagger.ui.client.id | AUTHORIZATION_SWAGGER_UI_CLIENT_ID | | The ID value of the authorization server swagger-ui client |
87-
| otel.exporter.otlp.endpoint | OTEL_EXPORTER_OTLP_ENDPOINT | http://localhost:4317 | URL of the OTEL collector |
88-
| clean.workspace.after.deployment.enabled | CLEAN_WORKSPACE_AFTER_DEPLOYMENT_ENABLED | true | Whether to clean up the workspace after deployment is done,allowed values: true or false. Default value is true |
89-
| terraformboot.webhook.request.signing.enabled | TERRAFORMBOOT_WEBHOOK_REQUEST_SIGNING_ENABLED | true | Whether to sign webhook requests initiated from terraform-boot. The values must be agreed with the consumer application. Default value is true |
76+
| property name | environment variable | default value | description |
77+
|--------------------------------------------|--------------------------------------------|--------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|
78+
| terraform_binary_path | TERRAFORM_BINARY_PATH | Terraform available on syspath | The path to the terraform binary |
79+
| terraform.root.module.directory | TERRAFORM_ROOT_MODULE_DIRECTORY | /tmp on Linux<br/>\AppData\Local\Temp on Windows | The path to the parent directory where all terraform module directories will be stored at as subdirs |
80+
| log.terraform.stdout.stderr | LOG_TERRAFORM_STDOUT_STDERR | true | Controls if the command execution output must be logged. If disabled, the output is only returned in the API response |
81+
| terraform.log.level | TERRAFORM_LOG_LEVEL | INFO | Controls the log level of the terraform binary. Allowed values are INFO, DEBUG, TRACE, WARN and ERROR |
82+
| authorization.token.type | AUTHORIZATION_TOKEN_TYPE | JWT | Authorization server authentication Type, allowed values: OpaqueToken or JWT |
83+
| authorization.server.endpoint | AUTHORIZATION_SERVER_ENDPOINT | | The endpoint value of the authorization server |
84+
| authorization.api.client.id | AUTHORIZATION_API_CLIENT_ID | | The ID value of the authorization server API client |
85+
| authorization.api.client.secret | AUTHORIZATION_API_CLIENT_SECRET | | The secret value of the authorization server API client |
86+
| authorization.swagger.ui.client.id | AUTHORIZATION_SWAGGER_UI_CLIENT_ID | | The ID value of the authorization server swagger-ui client |
87+
| otel.exporter.otlp.endpoint | OTEL_EXPORTER_OTLP_ENDPOINT | http://localhost:4317 | URL of the OTEL collector |
88+
| clean.workspace.after.deployment.enabled | CLEAN_WORKSPACE_AFTER_DEPLOYMENT_ENABLED | true | Whether to clean up the workspace after deployment is done,allowed values: true or false. Default value is true |
89+
| terra.boot.webhook.request.signing.enabled | TERRA_BOOT_WEBHOOK_REQUEST_SIGNING_ENABLED | true | Whether to sign webhook requests initiated from terra-boot. The values must be agreed with the consumer application. Default value is true |
9090

9191

9292

@@ -110,7 +110,7 @@ Use the spring boot's dev profile to use default values that are just for non-pr
110110

111111
```shell
112112
./mvmw clean install -DskipTests
113-
$ java -jar target/terraform-boot-*.jar\
113+
$ java -jar target/terra-boot-*.jar\
114114
--spring.profiles.active=oauth \
115115
--authorization.token.type=${token-type} \
116116
--authorization.server.endpoint=${server-endpoint} \
@@ -123,7 +123,7 @@ $ java -jar target/terraform-boot-*.jar\
123123

124124
```shell
125125
./mvmw clean install -DskipTests
126-
$ java -jar target/terraform-boot-*.jar
126+
$ java -jar target/terra-boot-*.jar
127127
```
128128

129129
#### From IDE
@@ -152,18 +152,18 @@ http://localhost:9090/swagger-ui/index.html
152152
#### Docker Image
153153

154154
This is the recommended way. Docker images can be pulled from GitHub Packages as
155-
mentioned [here](https://github.com/eclipse-xpanse/terraform-boot/pkgs/container/terraform-boot).
155+
mentioned [here](https://github.com/eclipse-xpanse/terra-boot/pkgs/container/terra-boot).
156156
All configuration parameters can be passed as environment variables to the container.
157157

158158
#### Run Jar
159159

160160
We also deliver a jar for each release and can be found in the asests list of each
161-
release [here](https://github.com/eclipse-xpanse/terraform-boot/releases).
161+
release [here](https://github.com/eclipse-xpanse/terra-boot/releases).
162162
The jar can be started as mentioned in the same way we do for local development.
163163

164164
### Observability
165165

166-
`terraform-boot` provides an option to enable observability using [openTelemetry](https://opentelemetry.io/). This can
166+
`terra-boot` provides an option to enable observability using [openTelemetry](https://opentelemetry.io/). This can
167167
be enabled by starting the runtime with profile `opentelemetry`.
168168

169169
By enabling this profile, the application forwards metrics, traces and logs to the `otel-collector`.

jreleaser.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
project:
2-
name: eclipse-terraform-boot
2+
name: eclipse-terra-boot
33
license: Apache-2.0
44
description: RESTful APIs for executing Terraform commands.
55
links:
@@ -48,4 +48,4 @@ signing:
4848
armored: true
4949
files:
5050
artifacts:
51-
- path: 'target/terraform-boot-{{projectEffectiveVersion}}.jar'
51+
- path: 'target/terra-boot-{{projectEffectiveVersion}}.jar'

pom.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
<relativePath/> <!-- lookup parent from repository -->
1515
</parent>
1616
<groupId>org.eclipse.xpanse.terraform.boot</groupId>
17-
<artifactId>terraform-boot</artifactId>
17+
<artifactId>terra-boot</artifactId>
1818
<version>1.0.19-SNAPSHOT</version>
19-
<name>terraform-boot</name>
19+
<name>terra-boot</name>
2020
<description>RESTful API Wrapper for Terraform</description>
2121
<properties>
2222
<java.version>21</java.version>

src/main/java/org/eclipse/xpanse/terraform/boot/TerraformBootApplication.java src/main/java/org/eclipse/xpanse/terraform/boot/TerraBootApplication.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@
1313
import org.springframework.scheduling.annotation.EnableAsync;
1414
import org.springframework.scheduling.annotation.EnableScheduling;
1515

16-
/** Main entry class to terraform-boot. This class can be directly executed to start the server. */
16+
/** Main entry class to terra-boot. This class can be directly executed to start the server. */
1717
@EnableRetry
1818
@EnableAsync
1919
@EnableCaching
2020
@EnableScheduling
2121
@SpringBootApplication(exclude = {SecurityAutoConfiguration.class})
22-
public class TerraformBootApplication {
22+
public class TerraBootApplication {
2323

2424
public static void main(String[] args) {
25-
SpringApplication.run(TerraformBootApplication.class, args);
25+
SpringApplication.run(TerraBootApplication.class, args);
2626
}
2727
}

src/main/java/org/eclipse/xpanse/terraform/boot/api/config/SpringDocOpenApiConfig.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public OpenAPI configOpenApi() {
2424
return new OpenAPI()
2525
.info(
2626
new Info()
27-
.title("Terraform-Boot API")
27+
.title("Terra-Boot API")
2828
.description("RESTful Services to interact with terraform CLI")
2929
.version(version));
3030
}

src/main/java/org/eclipse/xpanse/terraform/boot/api/controllers/TerraformBootAdminApi.java src/main/java/org/eclipse/xpanse/terraform/boot/api/controllers/TerraBootAdminApi.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import io.swagger.v3.oas.annotations.Operation;
99
import io.swagger.v3.oas.annotations.tags.Tag;
1010
import lombok.extern.slf4j.Slf4j;
11-
import org.eclipse.xpanse.terraform.boot.models.TerraformBootSystemStatus;
11+
import org.eclipse.xpanse.terraform.boot.models.TerraBootSystemStatus;
1212
import org.eclipse.xpanse.terraform.boot.terraform.service.TerraformDirectoryService;
1313
import org.springframework.beans.factory.annotation.Autowired;
1414
import org.springframework.beans.factory.annotation.Qualifier;
@@ -20,17 +20,17 @@
2020
import org.springframework.web.bind.annotation.ResponseStatus;
2121
import org.springframework.web.bind.annotation.RestController;
2222

23-
/** REST controller for admin services of terraform-boot. */
23+
/** REST controller for admin services of terra-boot. */
2424
@Slf4j
2525
@CrossOrigin
2626
@RestController
27-
@RequestMapping("/terraform-boot")
28-
public class TerraformBootAdminApi {
27+
@RequestMapping("/terra-boot")
28+
public class TerraBootAdminApi {
2929

3030
private final TerraformDirectoryService terraformDirectoryService;
3131

3232
@Autowired
33-
public TerraformBootAdminApi(
33+
public TerraBootAdminApi(
3434
@Qualifier("terraformDirectoryService")
3535
TerraformDirectoryService terraformDirectoryService) {
3636
this.terraformDirectoryService = terraformDirectoryService;
@@ -42,10 +42,10 @@ public TerraformBootAdminApi(
4242
* @return Returns the current state of the system.
4343
*/
4444
@Tag(name = "Admin", description = "Admin services for managing the application.")
45-
@Operation(description = "Check health of Terraform Boot API service")
45+
@Operation(description = "Check health of Terra Boot API service")
4646
@GetMapping(value = "/health", produces = MediaType.APPLICATION_JSON_VALUE)
4747
@ResponseStatus(HttpStatus.OK)
48-
public TerraformBootSystemStatus healthCheck() {
48+
public TerraBootSystemStatus healthCheck() {
4949
return terraformDirectoryService.tfHealthCheck();
5050
}
5151
}

src/main/java/org/eclipse/xpanse/terraform/boot/api/controllers/TerraformBootFromDirectoryApi.java src/main/java/org/eclipse/xpanse/terraform/boot/api/controllers/TerraBootFromDirectoryApi.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@
5050
@Slf4j
5151
@CrossOrigin
5252
@RestController
53-
@RequestMapping("/terraform-boot/directory")
54-
public class TerraformBootFromDirectoryApi {
53+
@RequestMapping("/terra-boot/directory")
54+
public class TerraBootFromDirectoryApi {
5555

5656
@Resource private TerraformDirectoryService directoryService;
5757
@Resource private TerraformScriptsHelper scriptsHelper;

src/main/java/org/eclipse/xpanse/terraform/boot/api/controllers/TerraformBootFromGitRepoApi.java src/main/java/org/eclipse/xpanse/terraform/boot/api/controllers/TerraBootFromGitRepoApi.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,12 @@
3939
@Slf4j
4040
@CrossOrigin
4141
@RestController
42-
@RequestMapping("/terraform-boot/git")
43-
public class TerraformBootFromGitRepoApi {
42+
@RequestMapping("/terra-boot/git")
43+
public class TerraBootFromGitRepoApi {
4444

4545
private final TerraformGitRepoService terraformGitRepoService;
4646

47-
public TerraformBootFromGitRepoApi(TerraformGitRepoService terraformGitRepoService) {
47+
public TerraBootFromGitRepoApi(TerraformGitRepoService terraformGitRepoService) {
4848
this.terraformGitRepoService = terraformGitRepoService;
4949
}
5050

0 commit comments

Comments
 (0)