Skip to content

Commit

Permalink
17th Commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Shyam-Chen committed May 29, 2024
1 parent f36b652 commit 6c7b2f8
Show file tree
Hide file tree
Showing 11 changed files with 991 additions and 15 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Pulumi Starter

🎄 A boilerplate for Cloud applications with Pulumi and Azure using TypeScript on Vite.
🎄 A boilerplate for cloud applications with Pulumi and Azure using TypeScript on Vite.

:rainbow: View Demo: [Live](https://vue-starter-6fa6.onrender.com) | Windows | macOS | Android | iOS

Expand Down
7 changes: 6 additions & 1 deletion packages/client/package.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
{
"private": true,
"main": "./src/index.ts",
"scripts": {
"test": "vitest run"
},
"dependencies": {
"@pulumi/azure-native": "2.41.0",
"@pulumi/docker": "4.5.3",
"@pulumi/pulumi": "3.116.1"
},
"devDependencies": {
"ts-node": "10.9.2",
"typescript": "5.4.5"
"typescript": "5.4.5",
"vite": "5.2.12",
"vitest": "1.6.0"
}
}
7 changes: 7 additions & 0 deletions packages/client/src/__tests__/index.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import * as pulumi from '@pulumi/pulumi';

import { url, containerApp, containerAppEnv, resourceGroup } from '../';

describe('Azure Container App Tests', () => {
//
});
9 changes: 5 additions & 4 deletions packages/client/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
import * as azureNative from '@pulumi/azure-native';
import * as azure from '@pulumi/azure-native';

// Create an Azure resource group
const resourceGroup = new azureNative.resources.ResourceGroup('myResourceGroup');
export const resourceGroup = new azure.resources.ResourceGroup('myResourceGroup');

// Define the container app environment
const containerAppEnv = new azureNative.app.ManagedEnvironment('myContainerAppEnv', {
export const containerAppEnv = new azure.app.ManagedEnvironment('myContainerAppEnv', {
resourceGroupName: resourceGroup.name,
location: resourceGroup.location,
});

// Create the Azure Container App
const containerApp = new azureNative.app.ContainerApp('myContainerApp', {
export const containerApp = new azure.app.ContainerApp('myContainerApp', {
resourceGroupName: resourceGroup.name,
managedEnvironmentId: containerAppEnv.id,
configuration: {
Expand Down
6 changes: 3 additions & 3 deletions packages/client/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"moduleResolution": "node",
"paths": {},
"resolveJsonModule": true,
"types": [],
"types": ["vite/client", "vitest/globals"],

"noEmit": true,

Expand All @@ -25,6 +25,6 @@

"skipLibCheck": true
},
"include": ["src"],
"exclude": ["node_modules"]
"include": ["src", "vite.config.ts"],
"exclude": ["node_modules", "coverage"]
}
7 changes: 7 additions & 0 deletions packages/client/vite.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { defineConfig } from 'vite';

export default defineConfig({
test: {
globals: true,
},
});
7 changes: 6 additions & 1 deletion packages/server/package.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
{
"private": true,
"main": "./src/index.ts",
"scripts": {
"test": "vitest run"
},
"dependencies": {
"@pulumi/azure-native": "2.41.0",
"@pulumi/docker": "4.5.3",
"@pulumi/pulumi": "3.116.1"
},
"devDependencies": {
"ts-node": "10.9.2",
"typescript": "5.4.5"
"typescript": "5.4.5",
"vite": "5.2.12",
"vitest": "1.6.0"
}
}
51 changes: 49 additions & 2 deletions packages/server/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,50 @@
import * as resources from '@pulumi/azure-native/resources';
import * as azure from '@pulumi/azure-native';

const resourceGroup = new resources.ResourceGroup('resourceGroup');
const resourceGroup = new azure.resources.ResourceGroup('resourceGroup');

const containerAppEnv = new azure.app.ManagedEnvironment('myContainerAppEnv', {
resourceGroupName: resourceGroup.name,
});

const containerApp = new azure.app.ContainerApp('containerApp', {
resourceGroupName: resourceGroup.name,
managedEnvironmentId: containerAppEnv.id,
location: resourceGroup.location,
configuration: {
ingress: {
external: true,
targetPort: 80,
},
},
template: {
containers: [
{
name: 'node-app',
image: 'node:20',
resources: {
cpu: 0.5,
memory: '1Gi',
},
args: ['-p 3000:3000'],
},
{
name: 'caddy-server',
image: 'caddy:2',
resources: {
cpu: 0.5,
memory: '1Gi',
},
args: ['-p 80:80', '-p 443:443', '-p 443:443/udp'],
env: [
{
name: 'NODE_APP_SERVICE_HOST',
value: 'node-app:3000',
},
],
},
],
},
});

// Export the FQDN of the deployed container app
export const fqdn = containerApp.configuration.apply((config) => config?.ingress?.fqdn);
6 changes: 3 additions & 3 deletions packages/server/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"moduleResolution": "node",
"paths": {},
"resolveJsonModule": true,
"types": [],
"types": ["vite/client", "vitest/globals"],

"noEmit": true,

Expand All @@ -25,6 +25,6 @@

"skipLibCheck": true
},
"include": ["src"],
"exclude": ["node_modules"]
"include": ["src", "vite.config.ts"],
"exclude": ["node_modules", "coverage"]
}
7 changes: 7 additions & 0 deletions packages/server/vite.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { defineConfig } from 'vite';

export default defineConfig({
test: {
globals: true,
},
});
Loading

0 comments on commit 6c7b2f8

Please sign in to comment.