Skip to content

Commit 34e6caf

Browse files
author
g4ze
committed
newDeplyment col integration
1 parent 38d8a0c commit 34e6caf

File tree

13 files changed

+72
-21
lines changed

13 files changed

+72
-21
lines changed

fe/app/service/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,12 @@ export default function ServicePage() {
8080
<li key={service.id} className="py-2 px-4">
8181
{activeService === service.id ? (
8282
<ActiveTaskButton
83-
label={service.name}
83+
label={service.deploymentName}
8484
onClick={() => scrollToService(service.name)}
8585
/>
8686
) : (
8787
<TabButton
88-
label={service.name}
88+
label={service.deploymentName}
8989
onClick={() => scrollToService(service.name)}
9090
/>
9191
)}

fe/components/ServiceForm.tsx

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,22 @@ import Image from 'next/image';
55
import exclamationImg from '@/public/exclamation.png'
66
import { Env } from '@/types';
77
import { time } from 'console';
8+
import { uniqueNamesGenerator, Config, adjectives, animals } from 'unique-names-generator';
9+
810

911
const ServiceForm = () => {
12+
13+
const customConfig: Config = {
14+
dictionaries: [adjectives, animals],
15+
separator: '_',
16+
length: 2,
17+
};
1018
const env: Env = {
1119
'any':'any'
1220
}
1321
const [imageName, setImageName] = useState('');
1422
const [port, setPort] = useState(0);
23+
const [deploymentName, setDeploymentName] = useState(uniqueNamesGenerator(customConfig));
1524
// const [env, setEnv] = useState(Env);
1625
// const [region, setRegion] = useState('US East (Ohio)');
1726

@@ -29,6 +38,7 @@ const ServiceForm = () => {
2938
'image': imageName.trim(),
3039
'port': Number(port),
3140
'env': env,
41+
'deploymentName': deploymentName,
3242
}),
3343
});
3444
console.log(resp.text());
@@ -38,7 +48,17 @@ const ServiceForm = () => {
3848

3949
return (
4050
<div className=" max-w-400 mx-10 text-white ">
41-
<Heading label="Create Deployment"/>
51+
<Heading label="Create Deployment: " className="font-bold text-1xl pt-6 mb-3"/>
52+
<input
53+
type="text"
54+
id="deploymentName"
55+
value= {deploymentName}
56+
onChange={(e) => {setDeploymentName(e.target.value)
57+
console.log(deploymentName)
58+
}}
59+
placeholder="e.g., docker.io/library/nginx:latest"
60+
className="text-4xl font-bold w-full bg-transparent text-white px-3 py-2 focus:border-r-2 rounded hover:shadow-[inset_-32px_0_32px_-15px_rgba(255,255,255,0.2)] transition-shadow duration-150 focus:outline-none focus:shadow-[inset_-32px_0_20px_-15px_rgba(255,255,255,0.2)] transition-shadow duration-300"/>
61+
4262
<form onSubmit={handleSubmit}>
4363
<div >
4464
<Heading label={'Image Link'} className="font-bold text-1xl py-2 text-white"/>

fe/components/Services.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ export default function Services({ services }: { services: Service[] }) {
66

77
{services.map((service) => (
88
<section id={service.name} className="h-screen flex items-center justify-center">
9-
<h2>{service.name}</h2>
9+
<h2>{service.deploymentName}</h2>
1010
hi
1111
{/* Add the content for each service section here */}
1212

fe/package-lock.json

Lines changed: 24 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

fe/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@
1313
"@splinetool/runtime": "^1.7.6",
1414
"next": "14.2.4",
1515
"next-auth": "^4.24.7",
16+
"random-words": "^2.0.1",
1617
"react": "^18",
17-
"react-dom": "^18"
18+
"react-dom": "^18",
19+
"unique-names-generator": "^4.7.1"
1820
},
1921
"devDependencies": {
2022
"@types/node": "^20",

fe/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ export interface Service{
4040
user: string;
4141
userName: string;
4242
logs: string;
43+
deploymentName: string;
4344
}
4445
export interface Env {
4546
[variableName: string]: string;

pkg/controllers/deploy-container.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ import (
1616
)
1717

1818
// Deploy the container
19-
func Deploy_container(UserName string, Image string, Port int32, Environment map[string]string) (*byocTypes.Service, error) {
19+
func Deploy_container(newDeployment *byocTypes.DeployContainerPayload) (*byocTypes.Service, error) {
2020

2121
// KeyValuePair
2222
Environment2 := func() []types.KeyValuePair {
2323
var Environment2 []types.KeyValuePair
24-
for key, value := range Environment {
24+
for key, value := range newDeployment.Environment {
2525
Environment2 = append(Environment2, types.KeyValuePair{
2626
Name: &key,
2727
Value: &value,
@@ -41,17 +41,17 @@ func Deploy_container(UserName string, Image string, Port int32, Environment map
4141
svc := ecs.NewFromConfig(cfg)
4242
sess := session.Must(session.NewSession())
4343
elbSvc := elbv2.New(sess)
44-
err = core.CreateCluster(svc, UserName)
44+
err = core.CreateCluster(svc, newDeployment.UserName)
4545
if err != nil {
4646
return nil, err
4747
}
4848

49-
err = core.CreateTaskDefinition(svc, UserName, Image, Port, Environment2)
49+
err = core.CreateTaskDefinition(svc, newDeployment.UserName, newDeployment.Image, int32(newDeployment.Port), Environment2)
5050
if err != nil {
5151
return nil, err
5252
}
5353

54-
service, err := core.CreateService(svc, elbSvc, UserName, Image, Port, Environment2)
54+
service, err := core.CreateService(svc, elbSvc, newDeployment.UserName, newDeployment.Image, int32(newDeployment.Port), Environment2, newDeployment.DeplomentName)
5555
if err != nil {
5656
return nil, err
5757
}
@@ -62,7 +62,7 @@ func Deploy_container(UserName string, Image string, Port int32, Environment map
6262
return nil, nil
6363
}
6464

65-
service.Slug, err = GenerateSlug(UserName)
65+
service.Slug, err = GenerateSlug(newDeployment.UserName)
6666
if err != nil {
6767
return nil, err
6868
}

pkg/core/service-ops.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313
byocTypes "github.com/g4ze/byoc/pkg/types"
1414
)
1515

16-
func CreateService(svc *ecs.Client, elbSvc *elbv2.ELBV2, UserName string, Image string, Port int32, Environment []types.KeyValuePair) (*byocTypes.Service, error) {
16+
func CreateService(svc *ecs.Client, elbSvc *elbv2.ELBV2, UserName string, Image string, Port int32, Environment []types.KeyValuePair, DeploymentName string) (*byocTypes.Service, error) {
1717
var desiredCount int32 = 2
1818
containerName := generateName(UserName, Image, "container")
1919
serviceName := generateNameFromImage(Image)
@@ -125,6 +125,7 @@ func CreateService(svc *ecs.Client, elbSvc *elbv2.ELBV2, UserName string, Image
125125
Cluster: UserName,
126126
Image: Image,
127127
EventListenerARN: EventListenerARN,
128+
DeploymentName: DeploymentName,
128129
}, nil
129130
}
130131

pkg/database/Service.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ func InsertService(Service *types.Service, userName string) error {
3838
db.Service.User.Link(
3939
db.User.UserName.Equals(userName),
4040
),
41+
db.Service.DeploymentName.Set(Service.DeploymentName),
4142
).Exec(ctx)
4243
if err != nil {
4344
return err

pkg/database/schema.prisma

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,5 @@ model Service {
3838
userName String
3939
// logging functionality still in development
4040
logs String?
41+
deploymentName String @default("default")
4142
}

0 commit comments

Comments
 (0)