Created
June 9, 2023 17:13
-
-
Save gjbianco/4750bc43894e4ddd8bdba44f1d999cf7 to your computer and use it in GitHub Desktop.
Batteries-included set of manifests for deploying a hello world Node.js application utilizing OCP builds and routes.
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
apiVersion: build.openshift.io/v1 | |
kind: BuildConfig | |
metadata: | |
name: node-server | |
spec: | |
source: | |
type: Dockerfile | |
dockerfile: | | |
FROM registry.access.redhat.com/ubi8/nodejs-16:latest | |
RUN echo "const http = require('http'); \ | |
const hostname = '0.0.0.0'; \ | |
const port = 4000; \ | |
const server = http.createServer((req, res) => { \ | |
res.statusCode = 200; \ | |
res.setHeader('Content-Type', 'text/plain'); \ | |
res.end('Hello World'); \ | |
}); \ | |
server.listen(port, hostname, () => { \ | |
console.log(\`Server running: \${hostname}:\${port}\`); \ | |
}); \ | |
" > server.js | |
# COPY server.js . | |
EXPOSE 4000 | |
CMD ["node", "server.js"] | |
strategy: | |
type: Docker | |
output: | |
to: | |
kind: ImageStreamTag | |
name: node-server:latest | |
triggers: | |
- type: ConfigChange | |
--- | |
apiVersion: image.openshift.io/v1 | |
kind: ImageStream | |
metadata: | |
name: node-server | |
spec: | |
tags: | |
- name: latest | |
importPolicy: | |
insecure: true | |
--- | |
apiVersion: image.openshift.io/v1 | |
kind: ImageStreamTag | |
metadata: | |
name: node-server:latest | |
spec: | |
referencePolicy: | |
type: Source | |
from: | |
kind: ImageStreamImage | |
name: node-server:latest | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: node-server | |
spec: | |
replicas: 1 | |
selector: | |
matchLabels: | |
app: node-server | |
template: | |
metadata: | |
labels: | |
app: node-server | |
spec: | |
containers: | |
- name: node-server | |
image: image-registry.openshift-image-registry.svc:5000/deploy-introduction/node-server:latest | |
ports: | |
- containerPort: 80 | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: node-server | |
spec: | |
selector: | |
app: node-server | |
ports: | |
- protocol: TCP | |
port: 4000 | |
targetPort: 4000 | |
type: ClusterIP | |
--- | |
apiVersion: route.openshift.io/v1 | |
kind: Route | |
metadata: | |
name: node-server | |
spec: | |
port: | |
targetPort: 4000 | |
to: | |
kind: Service | |
name: node-server |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment