|
|
@@ -32,6 +32,10 @@ const ClusterSettings: React.FC = () => {
|
|
|
currentCluster.agent_integration_enabled
|
|
|
);
|
|
|
const [agentLoading, setAgentLoading] = useState(false);
|
|
|
+ const [enablePreviewEnvs, setEnablePreviewEnvs] = useState(
|
|
|
+ currentCluster.preview_envs_enabled
|
|
|
+ );
|
|
|
+ const [previewEnvsLoading, setPreviewEnvsLoading] = useState(false);
|
|
|
|
|
|
let rotateCredentials = () => {
|
|
|
api
|
|
|
@@ -99,6 +103,29 @@ const ClusterSettings: React.FC = () => {
|
|
|
});
|
|
|
};
|
|
|
|
|
|
+ let updatePreviewEnvironmentsEnabled = () => {
|
|
|
+ setPreviewEnvsLoading(true);
|
|
|
+
|
|
|
+ api
|
|
|
+ .updateCluster(
|
|
|
+ "<token>",
|
|
|
+ {
|
|
|
+ preview_envs_enabled: enablePreviewEnvs,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ project_id: currentProject.id,
|
|
|
+ cluster_id: currentCluster.id,
|
|
|
+ }
|
|
|
+ )
|
|
|
+ .then(({ data }) => {
|
|
|
+ setCurrentCluster(data);
|
|
|
+ setPreviewEnvsLoading(false);
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ setPreviewEnvsLoading(false);
|
|
|
+ });
|
|
|
+ };
|
|
|
+
|
|
|
let helperText = (
|
|
|
<Helper>
|
|
|
Delete this cluster and underlying infrastructure. To ensure that
|
|
|
@@ -233,6 +260,28 @@ const ClusterSettings: React.FC = () => {
|
|
|
enableAgentIntegration = <Loading />;
|
|
|
}
|
|
|
|
|
|
+ let enablePreviewEnvironments = null;
|
|
|
+
|
|
|
+ if (currentProject.preview_envs_enabled) {
|
|
|
+ if (previewEnvsLoading) {
|
|
|
+ enablePreviewEnvironments = <Loading />;
|
|
|
+ } else {
|
|
|
+ enablePreviewEnvironments = (
|
|
|
+ <div>
|
|
|
+ <Heading>Enable Preview Environments</Heading>
|
|
|
+ <CheckboxRow
|
|
|
+ label={"Create preview environments on this cluster"}
|
|
|
+ toggle={() => setEnablePreviewEnvs(!enablePreviewEnvs)}
|
|
|
+ checked={enablePreviewEnvs}
|
|
|
+ />
|
|
|
+ <Button color="#616FEEcc" onClick={updatePreviewEnvironmentsEnabled}>
|
|
|
+ Save
|
|
|
+ </Button>
|
|
|
+ </div>
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (capabilities.version == "production") {
|
|
|
enableAgentIntegration = null;
|
|
|
}
|
|
|
@@ -251,6 +300,8 @@ const ClusterSettings: React.FC = () => {
|
|
|
<StyledSettingsSection>
|
|
|
{enableAgentIntegration}
|
|
|
<DarkMatter />
|
|
|
+ {enablePreviewEnvironments}
|
|
|
+ <DarkMatter />
|
|
|
{keyRotationSection}
|
|
|
<DarkMatter />
|
|
|
{renameClusterSection}
|