-
Notifications
You must be signed in to change notification settings - Fork 322
Development
: Initialize new Hyperion module for programming exercise creation assistance and migrate functionality from Iris
#11047
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
Open
FelixTJDietrich
wants to merge
35
commits into
develop
Choose a base branch
from
feature/hyperion/initialize-service
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+1,898
−497
Open
Changes from 18 commits
Commits
Show all changes
35 commits
Select commit
Hold shift + click to select a range
46b6282
feat: Add Hyperion integration for problem statement rewriting and co…
FelixTJDietrich b474286
feat: Update build configuration for Edutelligence Hyperion integrati…
FelixTJDietrich 14aaa91
feat: Add GitHub authentication for Maven repositories in Dockerfile …
FelixTJDietrich 8f50919
feat: Implement base service for Hyperion gRPC operations with except…
FelixTJDietrich 2bd5aaf
fix: Use secrets for GITHUB_TOKEN in Docker build args
FelixTJDietrich 5487471
chore: trigger CI - test Hyperion integration
FelixTJDietrich 4a2b2ac
fix: use github.token instead of secrets.GITHUB_TOKEN in reusable wor…
FelixTJDietrich 17abce5
fix: inherit secrets for Docker build in GitHub Actions workflow
FelixTJDietrich 0e70993
TODO: REMOVE!
FelixTJDietrich 110571a
fix: replace reusable Docker workflow with embedded one for proper Gi…
FelixTJDietrich 16ee5b5
fix: update Docker build process to use reusable workflow and inherit…
FelixTJDietrich b11dfcd
fix: update Docker build to use github.GITHUB_TOKEN for authentication
FelixTJDietrich 07327be
fix: update Docker build to use secrets.GITHUB_TOKEN for authentication
FelixTJDietrich d809307
fix: refactor Docker build process to use matrix strategy and improve…
FelixTJDietrich edcd30e
fix: refine conditional checks for pull request repository validation…
FelixTJDietrich fc5cd5e
fix: enable Hyperion profile by default and remove deprecated Hyperio…
FelixTJDietrich a3634d7
switch from java client dependency to plugin integration with spec
FelixTJDietrich 01bd1d6
Merge branch 'develop' into feature/hyperion/initialize-service
FelixTJDietrich 48b97a0
add generated files and spec to module
FelixTJDietrich a1072be
use grpc starter
FelixTJDietrich b41d614
remove generated code
FelixTJDietrich a081337
update docs and other minor things
FelixTJDietrich b523016
update labeler
FelixTJDietrich ad6f19b
update config
FelixTJDietrich e0d21b6
remove accidentally restored health indicator
FelixTJDietrich b34ca3c
handle grpc status
FelixTJDietrich 61da625
remove doc
FelixTJDietrich fc22d20
start with starter removal
FelixTJDietrich 3af84a1
fully revert back to code without starter except for tests
FelixTJDietrich c5bc3ec
update docs
FelixTJDietrich e0aa179
cleanup
FelixTJDietrich 87ce14d
Merge branch 'develop' into feature/hyperion/initialize-service
FelixTJDietrich 70b8f4b
fix client
FelixTJDietrich 2fb5621
delete api arch test
FelixTJDietrich 7d47eff
update test config profile
FelixTJDietrich File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13 changes: 13 additions & 0 deletions
13
.idea/runConfigurations/Artemis__Server__LocalVC___LocalCI__Hyperion.xml
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
package de.tum.cit.aet.artemis; | ||
|
||
import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_HYPERION; | ||
import static de.tum.cit.aet.artemis.core.config.Constants.UPLOADS_FILE_PATH_DEFAULT; | ||
import static de.tum.cit.aet.artemis.core.config.Constants.UPLOADS_FILE_PATH_PROPERTY_NAME; | ||
import static tech.jhipster.config.JHipsterConstants.SPRING_PROFILE_DEVELOPMENT; | ||
|
@@ -78,6 +79,8 @@ public void initApplication() { | |
public static void main(String[] args) { | ||
SpringApplication app = new SpringApplication(ArtemisApp.class); | ||
DefaultProfileUtil.addDefaultProfile(app); | ||
// Enable Hyperion profile by default TODO: REMOVE!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
app.setAdditionalProfiles(PROFILE_HYPERION); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. TODO REMOVE
FelixTJDietrich marked this conversation as resolved.
Show resolved
Hide resolved
|
||
var context = app.run(args); | ||
Environment env = context.getEnvironment(); | ||
String fileUploadPath = env.getProperty(UPLOADS_FILE_PATH_PROPERTY_NAME); | ||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
119 changes: 119 additions & 0 deletions
119
src/main/java/de/tum/cit/aet/artemis/hyperion/config/HyperionConfigurationProperties.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
package de.tum.cit.aet.artemis.hyperion.config; | ||
|
||
import org.springframework.boot.context.properties.ConfigurationProperties; | ||
import org.springframework.context.annotation.Configuration; | ||
import org.springframework.context.annotation.Lazy; | ||
|
||
/** | ||
* Configuration properties for Hyperion gRPC client. | ||
*/ | ||
@Configuration | ||
@ConfigurationProperties(prefix = "artemis.hyperion") | ||
@Lazy | ||
public class HyperionConfigurationProperties { | ||
|
||
private String host = "localhost"; | ||
|
||
private int port = 50051; | ||
|
||
private boolean useTls = false; | ||
|
||
// mTLS client certificate authentication - required when TLS is enabled | ||
private String clientCertPath = ""; | ||
|
||
private String clientKeyPath = ""; | ||
|
||
private String serverCaPath = ""; | ||
|
||
private int defaultTimeoutSeconds = 60; | ||
|
||
private int consistencyCheckTimeoutSeconds = 300; | ||
|
||
public String getHost() { | ||
return host; | ||
} | ||
|
||
public void setHost(String host) { | ||
this.host = host; | ||
} | ||
|
||
public int getPort() { | ||
return port; | ||
} | ||
|
||
public void setPort(int port) { | ||
this.port = port; | ||
} | ||
|
||
public boolean isUseTls() { | ||
return useTls; | ||
} | ||
|
||
public void setUseTls(boolean useTls) { | ||
this.useTls = useTls; | ||
} | ||
|
||
public String getClientCertPath() { | ||
return clientCertPath; | ||
} | ||
|
||
public void setClientCertPath(String clientCertPath) { | ||
this.clientCertPath = clientCertPath; | ||
} | ||
|
||
public String getClientKeyPath() { | ||
return clientKeyPath; | ||
} | ||
|
||
public void setClientKeyPath(String clientKeyPath) { | ||
this.clientKeyPath = clientKeyPath; | ||
} | ||
|
||
public String getServerCaPath() { | ||
return serverCaPath; | ||
} | ||
|
||
public void setServerCaPath(String serverCaPath) { | ||
this.serverCaPath = serverCaPath; | ||
} | ||
|
||
public int getDefaultTimeoutSeconds() { | ||
return defaultTimeoutSeconds; | ||
} | ||
|
||
public void setDefaultTimeoutSeconds(int defaultTimeoutSeconds) { | ||
this.defaultTimeoutSeconds = defaultTimeoutSeconds; | ||
} | ||
|
||
public int getConsistencyCheckTimeoutSeconds() { | ||
return consistencyCheckTimeoutSeconds; | ||
} | ||
|
||
public void setConsistencyCheckTimeoutSeconds(int consistencyCheckTimeoutSeconds) { | ||
this.consistencyCheckTimeoutSeconds = consistencyCheckTimeoutSeconds; | ||
} | ||
|
||
@Override | ||
public String toString() { | ||
return "HyperionConfigurationProperties{" + "host='" + host + '\'' + ", port=" + port + ", useTls=" + useTls + ", clientCertPath='" | ||
+ (clientCertPath != null && !clientCertPath.isEmpty() ? "[CONFIGURED]" : "not set") + '\'' + ", clientKeyPath='" | ||
+ (clientKeyPath != null && !clientKeyPath.isEmpty() ? "[CONFIGURED]" : "not set") + '\'' + ", serverCaPath='" | ||
+ (serverCaPath != null && !serverCaPath.isEmpty() ? "[CONFIGURED]" : "not set") + '\'' + ", defaultTimeoutSeconds=" + defaultTimeoutSeconds | ||
+ ", consistencyCheckTimeoutSeconds=" + consistencyCheckTimeoutSeconds + '}'; | ||
} | ||
|
||
/** | ||
* Validates that when TLS is enabled, all certificate paths are configured. | ||
* For production, mTLS with client certificates is required when TLS is enabled. | ||
* | ||
* @return true if TLS configuration is valid, false otherwise | ||
*/ | ||
public boolean isValidTlsConfiguration() { | ||
if (!useTls) { | ||
return true; // No TLS, no cert requirements | ||
} | ||
|
||
// When TLS is enabled, require all certificate paths for mTLS | ||
return clientCertPath != null && !clientCertPath.isEmpty() && clientKeyPath != null && !clientKeyPath.isEmpty() && serverCaPath != null && !serverCaPath.isEmpty(); | ||
} | ||
} |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.