Skip to content

Commit

Permalink
update aws instance user data script
Browse files Browse the repository at this point in the history
  • Loading branch information
bcmmbaga committed Jul 19, 2024
1 parent 8018eca commit 7caf202
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 11 deletions.
4 changes: 2 additions & 2 deletions pkg/provider/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ func (a *AWSProvider) Initialize(req provider.InitializeProviderRequest) (*util.
a.ApiPort = &req.ApiPort
a.ServerPort = &req.ServerPort
a.LogsDir = &req.LogsDir
a.LocalSockDir = path.Join(tmpDir, "fly-socks")
a.LocalSockDir = path.Join(tmpDir, "aws-socks")

return new(util.Empty), nil
}
Expand Down Expand Up @@ -109,7 +109,7 @@ func (a *AWSProvider) CreateWorkspace(workspaceReq *provider.WorkspaceRequest) (
logWriter.Write([]byte("Failed to dial: " + err.Error() + "\n"))
return nil, err
}
logWriter.Write([]byte("Workspace agent started.\n"))
logWriter.Write([]byte("Workspace agent started\n"))

client, err := a.getDockerClient(workspaceReq.Workspace.Id)
if err != nil {
Expand Down
35 changes: 26 additions & 9 deletions pkg/provider/util/aws.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,36 @@ func CreateWorkspace(workspace *workspace.Workspace, opts *types.TargetOptions,
envVars["DAYTONA_AGENT_LOG_FILE_PATH"] = "/home/daytona/.daytona-agent.log"

userData := `#!/bin/bash
set -e
# Create daytona user and set up home directory
useradd -m -d /home/daytona daytona
echo "daytona ALL=(ALL) NOPASSWD:ALL" | tee /etc/sudoers.d/daytona
mkdir -p /home/daytona
# Install Docker
curl -fsSL https://get.docker.com | bash
# Add daytona user to docker group
usermod -aG docker daytona
# Move docker data dir
service docker stop
cat > /etc/docker/daemon.json << EOF
{
"data-root": "/home/daytona/.docker-daemon",
"live-restore": true
}
EOF
# Make sure we only copy if volumes isn't initialized
if [ ! -d "/home/daytona/.docker-daemon" ]; then
mkdir -p /home/daytona/.docker-daemon
rsync -aP /var/lib/docker/ /home/daytona/.docker-daemon
fi
service docker start
# Create Daytona user
useradd daytona -d /home/daytona -s /bin/bash
if grep -q sudo /etc/group; then
usermod -aG sudo,docker daytona
elif grep -q wheel /etc/group; then
usermod -aG wheel,docker daytona
fi
echo "daytona ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/91-daytona
chown daytona:daytona /home/daytona
`

for k, v := range envVars {
Expand Down Expand Up @@ -58,8 +77,6 @@ WantedBy=multi-user.target' > /etc/systemd/system/daytona-agent.service
systemctl daemon-reload
systemctl enable daytona-agent.service
systemctl start daytona-agent.service
chown -R daytona:daytona /home/daytona
`

result, err := client.RunInstances(&ec2.RunInstancesInput{
Expand Down

0 comments on commit 7caf202

Please sign in to comment.