Compare commits
1 Commits
d958a5b275
...
guns
Author | SHA1 | Date | |
---|---|---|---|
f00a50f30e |
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,2 @@
|
|||||||
# Godot 4+ specific ignores
|
# Godot 4+ specific ignores
|
||||||
.godot/
|
.godot/
|
||||||
rust/target
|
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
---
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- push
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Build and push a container image
|
|
||||||
image: zot.badhouseplants.net/badhouseplants/badhouseplants-builder:latest
|
|
||||||
environment:
|
|
||||||
BUILDAH_REG: zot.badhouseplants.net/badhouseplants/open-strike
|
|
||||||
privileged: true
|
|
||||||
secrets:
|
|
||||||
- registry_token
|
|
||||||
commands:
|
|
||||||
- build-container
|
|
||||||
backend_options:
|
|
||||||
kubernetes:
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
memory: 700Mi
|
|
||||||
cpu: 1000m
|
|
||||||
limits:
|
|
||||||
cpu: 1000m
|
|
||||||
securityContext:
|
|
||||||
privileged: true
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
|||||||
FROM rust:1.84.1 AS lib_builder
|
|
||||||
RUN apt-get update -y && apt-get install -y gcc musl-dev build-essential pkg-config cmake
|
|
||||||
RUN rustup toolchain install stable
|
|
||||||
WORKDIR /src
|
|
||||||
COPY rust/ .
|
|
||||||
RUN cargo build
|
|
||||||
|
|
||||||
FROM ghcr.io/allanger/dumb-downloader as dudo
|
|
||||||
RUN apt-get update -y && apt-get install unzip -y
|
|
||||||
ENV RUST_LOG=info
|
|
||||||
ENV GODOT_VERSION=4.3
|
|
||||||
WORKDIR /out
|
|
||||||
RUN dudo -l "https://github.com/godotengine/godot/releases/download/{{ version }}-stable/Godot_v{{ version }}-stable_{{ os }}.{{ arch }}.zip" -d /tmp/godot.zip -p $GODOT_VERSION
|
|
||||||
RUN cd /tmp && unzip godot.zip && rm -f godot.zip
|
|
||||||
RUN sh -c 'find /tmp -type f -print0 -name "Godot*" | xargs --null -I{} mv {} godot'
|
|
||||||
|
|
||||||
RUN dudo -l "https://github.com/godotengine/godot/releases/download/{{ version }}-stable/Godot_v{{ version }}-stable_export_templates.tpz" -d /tmp/export_templates.zip -p $GODOT_VERSION
|
|
||||||
RUN cd /tmp && unzip export_templates.zip && rm -f export_templates.zip
|
|
||||||
RUN ls /tmp
|
|
||||||
RUN mkdir -p /out/templates
|
|
||||||
RUN sh -c 'cd /tmp && find . -type f -print0 -name "Godot*" | xargs --null -I{} mv {} /out/{}'
|
|
||||||
RUN chmod +x /out/godot
|
|
||||||
|
|
||||||
FROM ubuntu as builder
|
|
||||||
RUN apt-get update -y && apt-get install fontconfig -y
|
|
||||||
WORKDIR /src
|
|
||||||
COPY --from=dudo /out/godot /usr/bin/godot
|
|
||||||
COPY --from=lib_builder /src/target/debug/libopen_strike_2.so /src/rust/target/debug/libopen_strike_2.so
|
|
||||||
RUN mkdir -p /root/.local/share/godot/export_templates/4.3.stable/
|
|
||||||
COPY --from=dudo /out/templates /root/.local/share/godot/export_templates/4.3.stable
|
|
||||||
COPY . .
|
|
||||||
RUN mkdir /out
|
|
||||||
RUN godot --verbose --headless --export-debug "[Dedicated Server] Linux" /out/open_strike
|
|
||||||
|
|
||||||
FROM ubuntu
|
|
||||||
RUN apt-get update -y && apt-get install fontconfig -y
|
|
||||||
WORKDIR /app
|
|
||||||
COPY --from=builder /out .
|
|
||||||
CMD ["/app/open_strike.sh"]
|
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dmge3tk7w0b1n"
|
uid="uid://dmge3tk7w0b1n"
|
||||||
path.s3tc="res://.godot/imported/texture_01.png-60e3b3d3143b179c069dbcbff77ff160.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_01.png-60e3b3d3143b179c069dbcbff77ff160.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_01.png-60e3b3d3143b179c069dbcbff77ff160.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/dark/texture_01.png"
|
source_file="res://addons/kenney_prototype_textures/dark/texture_01.png"
|
||||||
dest_files=["res://.godot/imported/texture_01.png-60e3b3d3143b179c069dbcbff77ff160.s3tc.ctex", "res://.godot/imported/texture_01.png-60e3b3d3143b179c069dbcbff77ff160.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_01.png-60e3b3d3143b179c069dbcbff77ff160.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bawho1fs8uowk"
|
uid="uid://bawho1fs8uowk"
|
||||||
path.s3tc="res://.godot/imported/texture_02.png-814d4f515892bb8274d285748f4a73a0.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_02.png-814d4f515892bb8274d285748f4a73a0.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_02.png-814d4f515892bb8274d285748f4a73a0.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/dark/texture_02.png"
|
source_file="res://addons/kenney_prototype_textures/dark/texture_02.png"
|
||||||
dest_files=["res://.godot/imported/texture_02.png-814d4f515892bb8274d285748f4a73a0.s3tc.ctex", "res://.godot/imported/texture_02.png-814d4f515892bb8274d285748f4a73a0.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_02.png-814d4f515892bb8274d285748f4a73a0.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://kijtpalgio4q"
|
uid="uid://kijtpalgio4q"
|
||||||
path.s3tc="res://.godot/imported/texture_03.png-eef45c22e5a84c5df22e7f80e41112c6.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_03.png-eef45c22e5a84c5df22e7f80e41112c6.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_03.png-eef45c22e5a84c5df22e7f80e41112c6.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/dark/texture_03.png"
|
source_file="res://addons/kenney_prototype_textures/dark/texture_03.png"
|
||||||
dest_files=["res://.godot/imported/texture_03.png-eef45c22e5a84c5df22e7f80e41112c6.s3tc.ctex", "res://.godot/imported/texture_03.png-eef45c22e5a84c5df22e7f80e41112c6.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_03.png-eef45c22e5a84c5df22e7f80e41112c6.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://e4nd8b6f0tw7"
|
uid="uid://e4nd8b6f0tw7"
|
||||||
path.s3tc="res://.godot/imported/texture_04.png-af505c12b2a7903458bb29299e718506.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_04.png-af505c12b2a7903458bb29299e718506.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_04.png-af505c12b2a7903458bb29299e718506.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/dark/texture_04.png"
|
source_file="res://addons/kenney_prototype_textures/dark/texture_04.png"
|
||||||
dest_files=["res://.godot/imported/texture_04.png-af505c12b2a7903458bb29299e718506.s3tc.ctex", "res://.godot/imported/texture_04.png-af505c12b2a7903458bb29299e718506.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_04.png-af505c12b2a7903458bb29299e718506.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://du0f7hc4skged"
|
uid="uid://du0f7hc4skged"
|
||||||
path.s3tc="res://.godot/imported/texture_06.png-004ed3d5b88361cdfb83a20714e917e7.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_06.png-004ed3d5b88361cdfb83a20714e917e7.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_06.png-004ed3d5b88361cdfb83a20714e917e7.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/dark/texture_06.png"
|
source_file="res://addons/kenney_prototype_textures/dark/texture_06.png"
|
||||||
dest_files=["res://.godot/imported/texture_06.png-004ed3d5b88361cdfb83a20714e917e7.s3tc.ctex", "res://.godot/imported/texture_06.png-004ed3d5b88361cdfb83a20714e917e7.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_06.png-004ed3d5b88361cdfb83a20714e917e7.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bg7hbu285xx3c"
|
uid="uid://bg7hbu285xx3c"
|
||||||
path.s3tc="res://.godot/imported/texture_07.png-7c77ff22e41b4a54319073cb71530d81.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_07.png-7c77ff22e41b4a54319073cb71530d81.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_07.png-7c77ff22e41b4a54319073cb71530d81.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/dark/texture_07.png"
|
source_file="res://addons/kenney_prototype_textures/dark/texture_07.png"
|
||||||
dest_files=["res://.godot/imported/texture_07.png-7c77ff22e41b4a54319073cb71530d81.s3tc.ctex", "res://.godot/imported/texture_07.png-7c77ff22e41b4a54319073cb71530d81.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_07.png-7c77ff22e41b4a54319073cb71530d81.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://o0rxfy5dvpsb"
|
uid="uid://o0rxfy5dvpsb"
|
||||||
path.s3tc="res://.godot/imported/texture_08.png-5883ddd047173c8b118ead887054e6fc.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_08.png-5883ddd047173c8b118ead887054e6fc.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_08.png-5883ddd047173c8b118ead887054e6fc.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/dark/texture_08.png"
|
source_file="res://addons/kenney_prototype_textures/dark/texture_08.png"
|
||||||
dest_files=["res://.godot/imported/texture_08.png-5883ddd047173c8b118ead887054e6fc.s3tc.ctex", "res://.godot/imported/texture_08.png-5883ddd047173c8b118ead887054e6fc.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_08.png-5883ddd047173c8b118ead887054e6fc.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://cxj3qslcw455r"
|
uid="uid://cxj3qslcw455r"
|
||||||
path.s3tc="res://.godot/imported/texture_09.png-8e25cd5657e2d326068eb27bfa1aacec.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_09.png-8e25cd5657e2d326068eb27bfa1aacec.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_09.png-8e25cd5657e2d326068eb27bfa1aacec.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/dark/texture_09.png"
|
source_file="res://addons/kenney_prototype_textures/dark/texture_09.png"
|
||||||
dest_files=["res://.godot/imported/texture_09.png-8e25cd5657e2d326068eb27bfa1aacec.s3tc.ctex", "res://.godot/imported/texture_09.png-8e25cd5657e2d326068eb27bfa1aacec.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_09.png-8e25cd5657e2d326068eb27bfa1aacec.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://n25a1tlc20r2"
|
uid="uid://n25a1tlc20r2"
|
||||||
path.s3tc="res://.godot/imported/texture_10.png-1e788999a192eabd201c3b3435475799.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_10.png-1e788999a192eabd201c3b3435475799.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_10.png-1e788999a192eabd201c3b3435475799.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/dark/texture_10.png"
|
source_file="res://addons/kenney_prototype_textures/dark/texture_10.png"
|
||||||
dest_files=["res://.godot/imported/texture_10.png-1e788999a192eabd201c3b3435475799.s3tc.ctex", "res://.godot/imported/texture_10.png-1e788999a192eabd201c3b3435475799.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_10.png-1e788999a192eabd201c3b3435475799.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://ciwwbgcpode0d"
|
uid="uid://ciwwbgcpode0d"
|
||||||
path.s3tc="res://.godot/imported/texture_11.png-f61ad46caf1a41d85454e490ec43c8ec.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_11.png-f61ad46caf1a41d85454e490ec43c8ec.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_11.png-f61ad46caf1a41d85454e490ec43c8ec.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/dark/texture_11.png"
|
source_file="res://addons/kenney_prototype_textures/dark/texture_11.png"
|
||||||
dest_files=["res://.godot/imported/texture_11.png-f61ad46caf1a41d85454e490ec43c8ec.s3tc.ctex", "res://.godot/imported/texture_11.png-f61ad46caf1a41d85454e490ec43c8ec.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_11.png-f61ad46caf1a41d85454e490ec43c8ec.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dsf0exq5n4glb"
|
uid="uid://dsf0exq5n4glb"
|
||||||
path.s3tc="res://.godot/imported/texture_12.png-aa893b2c5354267551e55ec14bb1999b.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_12.png-aa893b2c5354267551e55ec14bb1999b.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_12.png-aa893b2c5354267551e55ec14bb1999b.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/dark/texture_12.png"
|
source_file="res://addons/kenney_prototype_textures/dark/texture_12.png"
|
||||||
dest_files=["res://.godot/imported/texture_12.png-aa893b2c5354267551e55ec14bb1999b.s3tc.ctex", "res://.godot/imported/texture_12.png-aa893b2c5354267551e55ec14bb1999b.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_12.png-aa893b2c5354267551e55ec14bb1999b.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://brf3u1fddrxlq"
|
uid="uid://brf3u1fddrxlq"
|
||||||
path.s3tc="res://.godot/imported/texture_01.png-94ebd82494c839e91a05b9e1cc2750ca.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_01.png-94ebd82494c839e91a05b9e1cc2750ca.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_01.png-94ebd82494c839e91a05b9e1cc2750ca.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/green/texture_01.png"
|
source_file="res://addons/kenney_prototype_textures/green/texture_01.png"
|
||||||
dest_files=["res://.godot/imported/texture_01.png-94ebd82494c839e91a05b9e1cc2750ca.s3tc.ctex", "res://.godot/imported/texture_01.png-94ebd82494c839e91a05b9e1cc2750ca.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_01.png-94ebd82494c839e91a05b9e1cc2750ca.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://yg2714dns88k"
|
uid="uid://yg2714dns88k"
|
||||||
path.s3tc="res://.godot/imported/texture_02.png-aa1bb055b55bdc7c20e196b7286eebdf.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_02.png-aa1bb055b55bdc7c20e196b7286eebdf.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_02.png-aa1bb055b55bdc7c20e196b7286eebdf.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/green/texture_02.png"
|
source_file="res://addons/kenney_prototype_textures/green/texture_02.png"
|
||||||
dest_files=["res://.godot/imported/texture_02.png-aa1bb055b55bdc7c20e196b7286eebdf.s3tc.ctex", "res://.godot/imported/texture_02.png-aa1bb055b55bdc7c20e196b7286eebdf.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_02.png-aa1bb055b55bdc7c20e196b7286eebdf.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://kbyfceu4geke"
|
uid="uid://kbyfceu4geke"
|
||||||
path.s3tc="res://.godot/imported/texture_04.png-4678cc1dfb831f775bdc30cfd7f78769.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_04.png-4678cc1dfb831f775bdc30cfd7f78769.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_04.png-4678cc1dfb831f775bdc30cfd7f78769.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/green/texture_04.png"
|
source_file="res://addons/kenney_prototype_textures/green/texture_04.png"
|
||||||
dest_files=["res://.godot/imported/texture_04.png-4678cc1dfb831f775bdc30cfd7f78769.s3tc.ctex", "res://.godot/imported/texture_04.png-4678cc1dfb831f775bdc30cfd7f78769.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_04.png-4678cc1dfb831f775bdc30cfd7f78769.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dkaygit5l83nq"
|
uid="uid://dkaygit5l83nq"
|
||||||
path.s3tc="res://.godot/imported/texture_01.png-e10423e44834e1b4a90c3134e446b32d.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_01.png-e10423e44834e1b4a90c3134e446b32d.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_01.png-e10423e44834e1b4a90c3134e446b32d.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/light/texture_01.png"
|
source_file="res://addons/kenney_prototype_textures/light/texture_01.png"
|
||||||
dest_files=["res://.godot/imported/texture_01.png-e10423e44834e1b4a90c3134e446b32d.s3tc.ctex", "res://.godot/imported/texture_01.png-e10423e44834e1b4a90c3134e446b32d.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_01.png-e10423e44834e1b4a90c3134e446b32d.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bpgpb8fitgael"
|
uid="uid://bpgpb8fitgael"
|
||||||
path.s3tc="res://.godot/imported/texture_02.png-ffde4d38b35463525c3815b255790206.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_02.png-ffde4d38b35463525c3815b255790206.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_02.png-ffde4d38b35463525c3815b255790206.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/light/texture_02.png"
|
source_file="res://addons/kenney_prototype_textures/light/texture_02.png"
|
||||||
dest_files=["res://.godot/imported/texture_02.png-ffde4d38b35463525c3815b255790206.s3tc.ctex", "res://.godot/imported/texture_02.png-ffde4d38b35463525c3815b255790206.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_02.png-ffde4d38b35463525c3815b255790206.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dydo6bjsqw3fq"
|
uid="uid://dydo6bjsqw3fq"
|
||||||
path.s3tc="res://.godot/imported/texture_01.png-2bf7db98e09b5b5073e8e8ca66419718.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_01.png-2bf7db98e09b5b5073e8e8ca66419718.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_01.png-2bf7db98e09b5b5073e8e8ca66419718.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/orange/texture_01.png"
|
source_file="res://addons/kenney_prototype_textures/orange/texture_01.png"
|
||||||
dest_files=["res://.godot/imported/texture_01.png-2bf7db98e09b5b5073e8e8ca66419718.s3tc.ctex", "res://.godot/imported/texture_01.png-2bf7db98e09b5b5073e8e8ca66419718.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_01.png-2bf7db98e09b5b5073e8e8ca66419718.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://beclpsa6h0k4g"
|
uid="uid://beclpsa6h0k4g"
|
||||||
path.s3tc="res://.godot/imported/texture_02.png-4eab4e19c2171e5b0668b65373b74c6d.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_02.png-4eab4e19c2171e5b0668b65373b74c6d.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_02.png-4eab4e19c2171e5b0668b65373b74c6d.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/orange/texture_02.png"
|
source_file="res://addons/kenney_prototype_textures/orange/texture_02.png"
|
||||||
dest_files=["res://.godot/imported/texture_02.png-4eab4e19c2171e5b0668b65373b74c6d.s3tc.ctex", "res://.godot/imported/texture_02.png-4eab4e19c2171e5b0668b65373b74c6d.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_02.png-4eab4e19c2171e5b0668b65373b74c6d.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://c5uytbu1wc1bq"
|
uid="uid://c5uytbu1wc1bq"
|
||||||
path.s3tc="res://.godot/imported/texture_09.png-d3e0d0da868b68102c983480f9cde71d.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_09.png-d3e0d0da868b68102c983480f9cde71d.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_09.png-d3e0d0da868b68102c983480f9cde71d.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/orange/texture_09.png"
|
source_file="res://addons/kenney_prototype_textures/orange/texture_09.png"
|
||||||
dest_files=["res://.godot/imported/texture_09.png-d3e0d0da868b68102c983480f9cde71d.s3tc.ctex", "res://.godot/imported/texture_09.png-d3e0d0da868b68102c983480f9cde71d.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_09.png-d3e0d0da868b68102c983480f9cde71d.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://fn1k1ebe2uhx"
|
uid="uid://fn1k1ebe2uhx"
|
||||||
path.s3tc="res://.godot/imported/texture_10.png-6f0f09db66c0562f01b2d2954722e3af.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_10.png-6f0f09db66c0562f01b2d2954722e3af.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_10.png-6f0f09db66c0562f01b2d2954722e3af.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/orange/texture_10.png"
|
source_file="res://addons/kenney_prototype_textures/orange/texture_10.png"
|
||||||
dest_files=["res://.godot/imported/texture_10.png-6f0f09db66c0562f01b2d2954722e3af.s3tc.ctex", "res://.godot/imported/texture_10.png-6f0f09db66c0562f01b2d2954722e3af.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_10.png-6f0f09db66c0562f01b2d2954722e3af.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://d1nfjip21kjpu"
|
uid="uid://d1nfjip21kjpu"
|
||||||
path.s3tc="res://.godot/imported/texture_13.png-a11a0cfe132bc07bf4c480fd4334a284.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_13.png-a11a0cfe132bc07bf4c480fd4334a284.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_13.png-a11a0cfe132bc07bf4c480fd4334a284.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/orange/texture_13.png"
|
source_file="res://addons/kenney_prototype_textures/orange/texture_13.png"
|
||||||
dest_files=["res://.godot/imported/texture_13.png-a11a0cfe132bc07bf4c480fd4334a284.s3tc.ctex", "res://.godot/imported/texture_13.png-a11a0cfe132bc07bf4c480fd4334a284.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_13.png-a11a0cfe132bc07bf4c480fd4334a284.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dx31pblshvnjw"
|
uid="uid://dx31pblshvnjw"
|
||||||
path.s3tc="res://.godot/imported/texture_02.png-fcb52d424cd62d43221e4153fa3176f8.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_02.png-fcb52d424cd62d43221e4153fa3176f8.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_02.png-fcb52d424cd62d43221e4153fa3176f8.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/purple/texture_02.png"
|
source_file="res://addons/kenney_prototype_textures/purple/texture_02.png"
|
||||||
dest_files=["res://.godot/imported/texture_02.png-fcb52d424cd62d43221e4153fa3176f8.s3tc.ctex", "res://.godot/imported/texture_02.png-fcb52d424cd62d43221e4153fa3176f8.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_02.png-fcb52d424cd62d43221e4153fa3176f8.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
@ -4,16 +4,15 @@ importer="texture"
|
|||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://coqym2otrhygu"
|
uid="uid://coqym2otrhygu"
|
||||||
path.s3tc="res://.godot/imported/texture_02.png-bb6eefc15212ba5b8098e9e672c21f12.s3tc.ctex"
|
path.s3tc="res://.godot/imported/texture_02.png-bb6eefc15212ba5b8098e9e672c21f12.s3tc.ctex"
|
||||||
path.etc2="res://.godot/imported/texture_02.png-bb6eefc15212ba5b8098e9e672c21f12.etc2.ctex"
|
|
||||||
metadata={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/kenney_prototype_textures/red/texture_02.png"
|
source_file="res://addons/kenney_prototype_textures/red/texture_02.png"
|
||||||
dest_files=["res://.godot/imported/texture_02.png-bb6eefc15212ba5b8098e9e672c21f12.s3tc.ctex", "res://.godot/imported/texture_02.png-bb6eefc15212ba5b8098e9e672c21f12.etc2.ctex"]
|
dest_files=["res://.godot/imported/texture_02.png-bb6eefc15212ba5b8098e9e672c21f12.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
BIN
assets/models/low_poly_weapon/M9_Bayonet_M9_Bayonet.png.import
(Stored with Git LFS)
BIN
assets/models/low_poly_weapon/M9_Bayonet_M9_Bayonet.png.import
(Stored with Git LFS)
Binary file not shown.
BIN
assets/models/low_poly_weapon/g17_gen5_mos_non_texture.glb
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/g17_gen5_mos_non_texture.glb
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/g17_gen5_mos_non_texture.glb.import
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/g17_gen5_mos_non_texture.glb.import
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1.glb
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1.glb
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1.glb.import
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1.glb.import
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_0.png
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_0.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_0.png.import
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_0.png.import
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_1.png
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_1.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_1.png.import
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_1.png.import
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_2.png
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_2.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_2.png.import
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_2.png.import
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_3.png
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_3.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_3.png.import
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_3.png.import
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_4.png
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_4.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_4.png.import
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/gawk_p80_g17_gen1_4.png.import
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/low-poly_cz_bren_2_ms_5.56_11.glb
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/low-poly_cz_bren_2_ms_5.56_11.glb
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/low-poly_cz_bren_2_ms_5.56_11.glb.import
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/low-poly_cz_bren_2_ms_5.56_11.glb.import
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/low-poly_desert-eagle_vii_.50_ae_black.glb.import
(Stored with Git LFS)
BIN
assets/models/low_poly_weapon/low-poly_desert-eagle_vii_.50_ae_black.glb.import
(Stored with Git LFS)
Binary file not shown.
BIN
assets/models/low_poly_weapon/low-poly_imi_uzi.glb
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/low-poly_imi_uzi.glb
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/low-poly_imi_uzi.glb.import
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/low-poly_imi_uzi.glb.import
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/low-poly_kriss_vector.glb
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/low-poly_kriss_vector.glb
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/low-poly_kriss_vector.glb.import
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/low-poly_kriss_vector.glb.import
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/low-poly_m1_garand.glb
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/low-poly_m1_garand.glb
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/low-poly_m1_garand.glb.import
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/low-poly_m1_garand.glb.import
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/low-poly_sa-58_osw.glb
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/low-poly_sa-58_osw.glb
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/low-poly_sa-58_osw.glb.import
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/low-poly_sa-58_osw.glb.import
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/low-poly_sjogren_inertia.glb
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/low-poly_sjogren_inertia.glb
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/low_poly_weapon/low-poly_sjogren_inertia.glb.import
(Stored with Git LFS)
Normal file
BIN
assets/models/low_poly_weapon/low-poly_sjogren_inertia.glb.import
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/models/maps/el_test_Image_0.png.import
(Stored with Git LFS)
BIN
assets/models/maps/el_test_Image_0.png.import
(Stored with Git LFS)
Binary file not shown.
BIN
assets/models/maps/el_test_Image_1.png.import
(Stored with Git LFS)
BIN
assets/models/maps/el_test_Image_1.png.import
(Stored with Git LFS)
Binary file not shown.
BIN
assets/models/maps/el_test_Image_2.png.import
(Stored with Git LFS)
BIN
assets/models/maps/el_test_Image_2.png.import
(Stored with Git LFS)
Binary file not shown.
@ -1,548 +0,0 @@
|
|||||||
[preset.0]
|
|
||||||
|
|
||||||
name="[Dedicated Server] MacOS"
|
|
||||||
platform="macOS"
|
|
||||||
runnable=true
|
|
||||||
advanced_options=false
|
|
||||||
dedicated_server=true
|
|
||||||
custom_features=""
|
|
||||||
export_filter="customized"
|
|
||||||
customized_files={
|
|
||||||
"res://": "strip"
|
|
||||||
}
|
|
||||||
include_filter=""
|
|
||||||
exclude_filter=""
|
|
||||||
export_path="./Open Strike.dmg"
|
|
||||||
encryption_include_filters=""
|
|
||||||
encryption_exclude_filters=""
|
|
||||||
encrypt_pck=false
|
|
||||||
encrypt_directory=false
|
|
||||||
script_export_mode=2
|
|
||||||
|
|
||||||
[preset.0.options]
|
|
||||||
|
|
||||||
export/distribution_type=0
|
|
||||||
binary_format/architecture="universal"
|
|
||||||
custom_template/debug=""
|
|
||||||
custom_template/release=""
|
|
||||||
debug/export_console_wrapper=1
|
|
||||||
application/icon=""
|
|
||||||
application/icon_interpolation=4
|
|
||||||
application/bundle_identifier="test"
|
|
||||||
application/signature=""
|
|
||||||
application/app_category="Games"
|
|
||||||
application/short_version=""
|
|
||||||
application/version=""
|
|
||||||
application/copyright=""
|
|
||||||
application/copyright_localized={}
|
|
||||||
application/min_macos_version="10.12"
|
|
||||||
application/export_angle=0
|
|
||||||
display/high_res=true
|
|
||||||
application/additional_plist_content=""
|
|
||||||
xcode/platform_build="14C18"
|
|
||||||
xcode/sdk_version="13.1"
|
|
||||||
xcode/sdk_build="22C55"
|
|
||||||
xcode/sdk_name="macosx13.1"
|
|
||||||
xcode/xcode_version="1420"
|
|
||||||
xcode/xcode_build="14C18"
|
|
||||||
codesign/codesign=3
|
|
||||||
codesign/installer_identity=""
|
|
||||||
codesign/apple_team_id=""
|
|
||||||
codesign/identity=""
|
|
||||||
codesign/entitlements/custom_file=""
|
|
||||||
codesign/entitlements/allow_jit_code_execution=false
|
|
||||||
codesign/entitlements/allow_unsigned_executable_memory=false
|
|
||||||
codesign/entitlements/allow_dyld_environment_variables=false
|
|
||||||
codesign/entitlements/disable_library_validation=false
|
|
||||||
codesign/entitlements/audio_input=false
|
|
||||||
codesign/entitlements/camera=false
|
|
||||||
codesign/entitlements/location=false
|
|
||||||
codesign/entitlements/address_book=false
|
|
||||||
codesign/entitlements/calendars=false
|
|
||||||
codesign/entitlements/photos_library=false
|
|
||||||
codesign/entitlements/apple_events=false
|
|
||||||
codesign/entitlements/debugging=false
|
|
||||||
codesign/entitlements/app_sandbox/enabled=false
|
|
||||||
codesign/entitlements/app_sandbox/network_server=false
|
|
||||||
codesign/entitlements/app_sandbox/network_client=false
|
|
||||||
codesign/entitlements/app_sandbox/device_usb=false
|
|
||||||
codesign/entitlements/app_sandbox/device_bluetooth=false
|
|
||||||
codesign/entitlements/app_sandbox/files_downloads=0
|
|
||||||
codesign/entitlements/app_sandbox/files_pictures=0
|
|
||||||
codesign/entitlements/app_sandbox/files_music=0
|
|
||||||
codesign/entitlements/app_sandbox/files_movies=0
|
|
||||||
codesign/entitlements/app_sandbox/files_user_selected=0
|
|
||||||
codesign/entitlements/app_sandbox/helper_executables=[]
|
|
||||||
codesign/custom_options=PackedStringArray()
|
|
||||||
notarization/notarization=0
|
|
||||||
privacy/microphone_usage_description=""
|
|
||||||
privacy/microphone_usage_description_localized={}
|
|
||||||
privacy/camera_usage_description=""
|
|
||||||
privacy/camera_usage_description_localized={}
|
|
||||||
privacy/location_usage_description=""
|
|
||||||
privacy/location_usage_description_localized={}
|
|
||||||
privacy/address_book_usage_description=""
|
|
||||||
privacy/address_book_usage_description_localized={}
|
|
||||||
privacy/calendar_usage_description=""
|
|
||||||
privacy/calendar_usage_description_localized={}
|
|
||||||
privacy/photos_library_usage_description=""
|
|
||||||
privacy/photos_library_usage_description_localized={}
|
|
||||||
privacy/desktop_folder_usage_description=""
|
|
||||||
privacy/desktop_folder_usage_description_localized={}
|
|
||||||
privacy/documents_folder_usage_description=""
|
|
||||||
privacy/documents_folder_usage_description_localized={}
|
|
||||||
privacy/downloads_folder_usage_description=""
|
|
||||||
privacy/downloads_folder_usage_description_localized={}
|
|
||||||
privacy/network_volumes_usage_description=""
|
|
||||||
privacy/network_volumes_usage_description_localized={}
|
|
||||||
privacy/removable_volumes_usage_description=""
|
|
||||||
privacy/removable_volumes_usage_description_localized={}
|
|
||||||
privacy/tracking_enabled=false
|
|
||||||
privacy/tracking_domains=PackedStringArray()
|
|
||||||
privacy/collected_data/name/collected=false
|
|
||||||
privacy/collected_data/name/linked_to_user=false
|
|
||||||
privacy/collected_data/name/used_for_tracking=false
|
|
||||||
privacy/collected_data/name/collection_purposes=0
|
|
||||||
privacy/collected_data/email_address/collected=false
|
|
||||||
privacy/collected_data/email_address/linked_to_user=false
|
|
||||||
privacy/collected_data/email_address/used_for_tracking=false
|
|
||||||
privacy/collected_data/email_address/collection_purposes=0
|
|
||||||
privacy/collected_data/phone_number/collected=false
|
|
||||||
privacy/collected_data/phone_number/linked_to_user=false
|
|
||||||
privacy/collected_data/phone_number/used_for_tracking=false
|
|
||||||
privacy/collected_data/phone_number/collection_purposes=0
|
|
||||||
privacy/collected_data/physical_address/collected=false
|
|
||||||
privacy/collected_data/physical_address/linked_to_user=false
|
|
||||||
privacy/collected_data/physical_address/used_for_tracking=false
|
|
||||||
privacy/collected_data/physical_address/collection_purposes=0
|
|
||||||
privacy/collected_data/other_contact_info/collected=false
|
|
||||||
privacy/collected_data/other_contact_info/linked_to_user=false
|
|
||||||
privacy/collected_data/other_contact_info/used_for_tracking=false
|
|
||||||
privacy/collected_data/other_contact_info/collection_purposes=0
|
|
||||||
privacy/collected_data/health/collected=false
|
|
||||||
privacy/collected_data/health/linked_to_user=false
|
|
||||||
privacy/collected_data/health/used_for_tracking=false
|
|
||||||
privacy/collected_data/health/collection_purposes=0
|
|
||||||
privacy/collected_data/fitness/collected=false
|
|
||||||
privacy/collected_data/fitness/linked_to_user=false
|
|
||||||
privacy/collected_data/fitness/used_for_tracking=false
|
|
||||||
privacy/collected_data/fitness/collection_purposes=0
|
|
||||||
privacy/collected_data/payment_info/collected=false
|
|
||||||
privacy/collected_data/payment_info/linked_to_user=false
|
|
||||||
privacy/collected_data/payment_info/used_for_tracking=false
|
|
||||||
privacy/collected_data/payment_info/collection_purposes=0
|
|
||||||
privacy/collected_data/credit_info/collected=false
|
|
||||||
privacy/collected_data/credit_info/linked_to_user=false
|
|
||||||
privacy/collected_data/credit_info/used_for_tracking=false
|
|
||||||
privacy/collected_data/credit_info/collection_purposes=0
|
|
||||||
privacy/collected_data/other_financial_info/collected=false
|
|
||||||
privacy/collected_data/other_financial_info/linked_to_user=false
|
|
||||||
privacy/collected_data/other_financial_info/used_for_tracking=false
|
|
||||||
privacy/collected_data/other_financial_info/collection_purposes=0
|
|
||||||
privacy/collected_data/precise_location/collected=false
|
|
||||||
privacy/collected_data/precise_location/linked_to_user=false
|
|
||||||
privacy/collected_data/precise_location/used_for_tracking=false
|
|
||||||
privacy/collected_data/precise_location/collection_purposes=0
|
|
||||||
privacy/collected_data/coarse_location/collected=false
|
|
||||||
privacy/collected_data/coarse_location/linked_to_user=false
|
|
||||||
privacy/collected_data/coarse_location/used_for_tracking=false
|
|
||||||
privacy/collected_data/coarse_location/collection_purposes=0
|
|
||||||
privacy/collected_data/sensitive_info/collected=false
|
|
||||||
privacy/collected_data/sensitive_info/linked_to_user=false
|
|
||||||
privacy/collected_data/sensitive_info/used_for_tracking=false
|
|
||||||
privacy/collected_data/sensitive_info/collection_purposes=0
|
|
||||||
privacy/collected_data/contacts/collected=false
|
|
||||||
privacy/collected_data/contacts/linked_to_user=false
|
|
||||||
privacy/collected_data/contacts/used_for_tracking=false
|
|
||||||
privacy/collected_data/contacts/collection_purposes=0
|
|
||||||
privacy/collected_data/emails_or_text_messages/collected=false
|
|
||||||
privacy/collected_data/emails_or_text_messages/linked_to_user=false
|
|
||||||
privacy/collected_data/emails_or_text_messages/used_for_tracking=false
|
|
||||||
privacy/collected_data/emails_or_text_messages/collection_purposes=0
|
|
||||||
privacy/collected_data/photos_or_videos/collected=false
|
|
||||||
privacy/collected_data/photos_or_videos/linked_to_user=false
|
|
||||||
privacy/collected_data/photos_or_videos/used_for_tracking=false
|
|
||||||
privacy/collected_data/photos_or_videos/collection_purposes=0
|
|
||||||
privacy/collected_data/audio_data/collected=false
|
|
||||||
privacy/collected_data/audio_data/linked_to_user=false
|
|
||||||
privacy/collected_data/audio_data/used_for_tracking=false
|
|
||||||
privacy/collected_data/audio_data/collection_purposes=0
|
|
||||||
privacy/collected_data/gameplay_content/collected=false
|
|
||||||
privacy/collected_data/gameplay_content/linked_to_user=false
|
|
||||||
privacy/collected_data/gameplay_content/used_for_tracking=false
|
|
||||||
privacy/collected_data/gameplay_content/collection_purposes=0
|
|
||||||
privacy/collected_data/customer_support/collected=false
|
|
||||||
privacy/collected_data/customer_support/linked_to_user=false
|
|
||||||
privacy/collected_data/customer_support/used_for_tracking=false
|
|
||||||
privacy/collected_data/customer_support/collection_purposes=0
|
|
||||||
privacy/collected_data/other_user_content/collected=false
|
|
||||||
privacy/collected_data/other_user_content/linked_to_user=false
|
|
||||||
privacy/collected_data/other_user_content/used_for_tracking=false
|
|
||||||
privacy/collected_data/other_user_content/collection_purposes=0
|
|
||||||
privacy/collected_data/browsing_history/collected=false
|
|
||||||
privacy/collected_data/browsing_history/linked_to_user=false
|
|
||||||
privacy/collected_data/browsing_history/used_for_tracking=false
|
|
||||||
privacy/collected_data/browsing_history/collection_purposes=0
|
|
||||||
privacy/collected_data/search_hhistory/collected=false
|
|
||||||
privacy/collected_data/search_hhistory/linked_to_user=false
|
|
||||||
privacy/collected_data/search_hhistory/used_for_tracking=false
|
|
||||||
privacy/collected_data/search_hhistory/collection_purposes=0
|
|
||||||
privacy/collected_data/user_id/collected=false
|
|
||||||
privacy/collected_data/user_id/linked_to_user=false
|
|
||||||
privacy/collected_data/user_id/used_for_tracking=false
|
|
||||||
privacy/collected_data/user_id/collection_purposes=0
|
|
||||||
privacy/collected_data/device_id/collected=false
|
|
||||||
privacy/collected_data/device_id/linked_to_user=false
|
|
||||||
privacy/collected_data/device_id/used_for_tracking=false
|
|
||||||
privacy/collected_data/device_id/collection_purposes=0
|
|
||||||
privacy/collected_data/purchase_history/collected=false
|
|
||||||
privacy/collected_data/purchase_history/linked_to_user=false
|
|
||||||
privacy/collected_data/purchase_history/used_for_tracking=false
|
|
||||||
privacy/collected_data/purchase_history/collection_purposes=0
|
|
||||||
privacy/collected_data/product_interaction/collected=false
|
|
||||||
privacy/collected_data/product_interaction/linked_to_user=false
|
|
||||||
privacy/collected_data/product_interaction/used_for_tracking=false
|
|
||||||
privacy/collected_data/product_interaction/collection_purposes=0
|
|
||||||
privacy/collected_data/advertising_data/collected=false
|
|
||||||
privacy/collected_data/advertising_data/linked_to_user=false
|
|
||||||
privacy/collected_data/advertising_data/used_for_tracking=false
|
|
||||||
privacy/collected_data/advertising_data/collection_purposes=0
|
|
||||||
privacy/collected_data/other_usage_data/collected=false
|
|
||||||
privacy/collected_data/other_usage_data/linked_to_user=false
|
|
||||||
privacy/collected_data/other_usage_data/used_for_tracking=false
|
|
||||||
privacy/collected_data/other_usage_data/collection_purposes=0
|
|
||||||
privacy/collected_data/crash_data/collected=false
|
|
||||||
privacy/collected_data/crash_data/linked_to_user=false
|
|
||||||
privacy/collected_data/crash_data/used_for_tracking=false
|
|
||||||
privacy/collected_data/crash_data/collection_purposes=0
|
|
||||||
privacy/collected_data/performance_data/collected=false
|
|
||||||
privacy/collected_data/performance_data/linked_to_user=false
|
|
||||||
privacy/collected_data/performance_data/used_for_tracking=false
|
|
||||||
privacy/collected_data/performance_data/collection_purposes=0
|
|
||||||
privacy/collected_data/other_diagnostic_data/collected=false
|
|
||||||
privacy/collected_data/other_diagnostic_data/linked_to_user=false
|
|
||||||
privacy/collected_data/other_diagnostic_data/used_for_tracking=false
|
|
||||||
privacy/collected_data/other_diagnostic_data/collection_purposes=0
|
|
||||||
privacy/collected_data/environment_scanning/collected=false
|
|
||||||
privacy/collected_data/environment_scanning/linked_to_user=false
|
|
||||||
privacy/collected_data/environment_scanning/used_for_tracking=false
|
|
||||||
privacy/collected_data/environment_scanning/collection_purposes=0
|
|
||||||
privacy/collected_data/hands/collected=false
|
|
||||||
privacy/collected_data/hands/linked_to_user=false
|
|
||||||
privacy/collected_data/hands/used_for_tracking=false
|
|
||||||
privacy/collected_data/hands/collection_purposes=0
|
|
||||||
privacy/collected_data/head/collected=false
|
|
||||||
privacy/collected_data/head/linked_to_user=false
|
|
||||||
privacy/collected_data/head/used_for_tracking=false
|
|
||||||
privacy/collected_data/head/collection_purposes=0
|
|
||||||
privacy/collected_data/other_data_types/collected=false
|
|
||||||
privacy/collected_data/other_data_types/linked_to_user=false
|
|
||||||
privacy/collected_data/other_data_types/used_for_tracking=false
|
|
||||||
privacy/collected_data/other_data_types/collection_purposes=0
|
|
||||||
ssh_remote_deploy/enabled=false
|
|
||||||
ssh_remote_deploy/host="user@host_ip"
|
|
||||||
ssh_remote_deploy/port="22"
|
|
||||||
ssh_remote_deploy/extra_args_ssh=""
|
|
||||||
ssh_remote_deploy/extra_args_scp=""
|
|
||||||
ssh_remote_deploy/run_script="#!/usr/bin/env bash
|
|
||||||
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
|
||||||
open \"{temp_dir}/{exe_name}.app\" --args {cmd_args}"
|
|
||||||
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
|
||||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\")
|
|
||||||
rm -rf \"{temp_dir}\""
|
|
||||||
|
|
||||||
[preset.1]
|
|
||||||
|
|
||||||
name="macOS"
|
|
||||||
platform="macOS"
|
|
||||||
runnable=false
|
|
||||||
advanced_options=false
|
|
||||||
dedicated_server=true
|
|
||||||
custom_features=""
|
|
||||||
export_filter="customized"
|
|
||||||
customized_files={
|
|
||||||
"res://": "strip"
|
|
||||||
}
|
|
||||||
include_filter=""
|
|
||||||
exclude_filter=""
|
|
||||||
export_path=""
|
|
||||||
encryption_include_filters=""
|
|
||||||
encryption_exclude_filters=""
|
|
||||||
encrypt_pck=false
|
|
||||||
encrypt_directory=false
|
|
||||||
script_export_mode=2
|
|
||||||
|
|
||||||
[preset.1.options]
|
|
||||||
|
|
||||||
export/distribution_type=0
|
|
||||||
binary_format/architecture="universal"
|
|
||||||
custom_template/debug=""
|
|
||||||
custom_template/release=""
|
|
||||||
debug/export_console_wrapper=1
|
|
||||||
application/icon=""
|
|
||||||
application/icon_interpolation=4
|
|
||||||
application/bundle_identifier="test"
|
|
||||||
application/signature=""
|
|
||||||
application/app_category="Games"
|
|
||||||
application/short_version=""
|
|
||||||
application/version=""
|
|
||||||
application/copyright=""
|
|
||||||
application/copyright_localized={}
|
|
||||||
application/min_macos_version="10.12"
|
|
||||||
application/export_angle=0
|
|
||||||
display/high_res=true
|
|
||||||
application/additional_plist_content=""
|
|
||||||
xcode/platform_build="14C18"
|
|
||||||
xcode/sdk_version="13.1"
|
|
||||||
xcode/sdk_build="22C55"
|
|
||||||
xcode/sdk_name="macosx13.1"
|
|
||||||
xcode/xcode_version="1420"
|
|
||||||
xcode/xcode_build="14C18"
|
|
||||||
codesign/codesign=3
|
|
||||||
codesign/installer_identity=""
|
|
||||||
codesign/apple_team_id=""
|
|
||||||
codesign/identity=""
|
|
||||||
codesign/entitlements/custom_file=""
|
|
||||||
codesign/entitlements/allow_jit_code_execution=false
|
|
||||||
codesign/entitlements/allow_unsigned_executable_memory=false
|
|
||||||
codesign/entitlements/allow_dyld_environment_variables=false
|
|
||||||
codesign/entitlements/disable_library_validation=false
|
|
||||||
codesign/entitlements/audio_input=false
|
|
||||||
codesign/entitlements/camera=false
|
|
||||||
codesign/entitlements/location=false
|
|
||||||
codesign/entitlements/address_book=false
|
|
||||||
codesign/entitlements/calendars=false
|
|
||||||
codesign/entitlements/photos_library=false
|
|
||||||
codesign/entitlements/apple_events=false
|
|
||||||
codesign/entitlements/debugging=false
|
|
||||||
codesign/entitlements/app_sandbox/enabled=false
|
|
||||||
codesign/entitlements/app_sandbox/network_server=false
|
|
||||||
codesign/entitlements/app_sandbox/network_client=false
|
|
||||||
codesign/entitlements/app_sandbox/device_usb=false
|
|
||||||
codesign/entitlements/app_sandbox/device_bluetooth=false
|
|
||||||
codesign/entitlements/app_sandbox/files_downloads=0
|
|
||||||
codesign/entitlements/app_sandbox/files_pictures=0
|
|
||||||
codesign/entitlements/app_sandbox/files_music=0
|
|
||||||
codesign/entitlements/app_sandbox/files_movies=0
|
|
||||||
codesign/entitlements/app_sandbox/files_user_selected=0
|
|
||||||
codesign/entitlements/app_sandbox/helper_executables=[]
|
|
||||||
codesign/custom_options=PackedStringArray()
|
|
||||||
notarization/notarization=0
|
|
||||||
privacy/microphone_usage_description=""
|
|
||||||
privacy/microphone_usage_description_localized={}
|
|
||||||
privacy/camera_usage_description=""
|
|
||||||
privacy/camera_usage_description_localized={}
|
|
||||||
privacy/location_usage_description=""
|
|
||||||
privacy/location_usage_description_localized={}
|
|
||||||
privacy/address_book_usage_description=""
|
|
||||||
privacy/address_book_usage_description_localized={}
|
|
||||||
privacy/calendar_usage_description=""
|
|
||||||
privacy/calendar_usage_description_localized={}
|
|
||||||
privacy/photos_library_usage_description=""
|
|
||||||
privacy/photos_library_usage_description_localized={}
|
|
||||||
privacy/desktop_folder_usage_description=""
|
|
||||||
privacy/desktop_folder_usage_description_localized={}
|
|
||||||
privacy/documents_folder_usage_description=""
|
|
||||||
privacy/documents_folder_usage_description_localized={}
|
|
||||||
privacy/downloads_folder_usage_description=""
|
|
||||||
privacy/downloads_folder_usage_description_localized={}
|
|
||||||
privacy/network_volumes_usage_description=""
|
|
||||||
privacy/network_volumes_usage_description_localized={}
|
|
||||||
privacy/removable_volumes_usage_description=""
|
|
||||||
privacy/removable_volumes_usage_description_localized={}
|
|
||||||
privacy/tracking_enabled=false
|
|
||||||
privacy/tracking_domains=PackedStringArray()
|
|
||||||
privacy/collected_data/name/collected=false
|
|
||||||
privacy/collected_data/name/linked_to_user=false
|
|
||||||
privacy/collected_data/name/used_for_tracking=false
|
|
||||||
privacy/collected_data/name/collection_purposes=0
|
|
||||||
privacy/collected_data/email_address/collected=false
|
|
||||||
privacy/collected_data/email_address/linked_to_user=false
|
|
||||||
privacy/collected_data/email_address/used_for_tracking=false
|
|
||||||
privacy/collected_data/email_address/collection_purposes=0
|
|
||||||
privacy/collected_data/phone_number/collected=false
|
|
||||||
privacy/collected_data/phone_number/linked_to_user=false
|
|
||||||
privacy/collected_data/phone_number/used_for_tracking=false
|
|
||||||
privacy/collected_data/phone_number/collection_purposes=0
|
|
||||||
privacy/collected_data/physical_address/collected=false
|
|
||||||
privacy/collected_data/physical_address/linked_to_user=false
|
|
||||||
privacy/collected_data/physical_address/used_for_tracking=false
|
|
||||||
privacy/collected_data/physical_address/collection_purposes=0
|
|
||||||
privacy/collected_data/other_contact_info/collected=false
|
|
||||||
privacy/collected_data/other_contact_info/linked_to_user=false
|
|
||||||
privacy/collected_data/other_contact_info/used_for_tracking=false
|
|
||||||
privacy/collected_data/other_contact_info/collection_purposes=0
|
|
||||||
privacy/collected_data/health/collected=false
|
|
||||||
privacy/collected_data/health/linked_to_user=false
|
|
||||||
privacy/collected_data/health/used_for_tracking=false
|
|
||||||
privacy/collected_data/health/collection_purposes=0
|
|
||||||
privacy/collected_data/fitness/collected=false
|
|
||||||
privacy/collected_data/fitness/linked_to_user=false
|
|
||||||
privacy/collected_data/fitness/used_for_tracking=false
|
|
||||||
privacy/collected_data/fitness/collection_purposes=0
|
|
||||||
privacy/collected_data/payment_info/collected=false
|
|
||||||
privacy/collected_data/payment_info/linked_to_user=false
|
|
||||||
privacy/collected_data/payment_info/used_for_tracking=false
|
|
||||||
privacy/collected_data/payment_info/collection_purposes=0
|
|
||||||
privacy/collected_data/credit_info/collected=false
|
|
||||||
privacy/collected_data/credit_info/linked_to_user=false
|
|
||||||
privacy/collected_data/credit_info/used_for_tracking=false
|
|
||||||
privacy/collected_data/credit_info/collection_purposes=0
|
|
||||||
privacy/collected_data/other_financial_info/collected=false
|
|
||||||
privacy/collected_data/other_financial_info/linked_to_user=false
|
|
||||||
privacy/collected_data/other_financial_info/used_for_tracking=false
|
|
||||||
privacy/collected_data/other_financial_info/collection_purposes=0
|
|
||||||
privacy/collected_data/precise_location/collected=false
|
|
||||||
privacy/collected_data/precise_location/linked_to_user=false
|
|
||||||
privacy/collected_data/precise_location/used_for_tracking=false
|
|
||||||
privacy/collected_data/precise_location/collection_purposes=0
|
|
||||||
privacy/collected_data/coarse_location/collected=false
|
|
||||||
privacy/collected_data/coarse_location/linked_to_user=false
|
|
||||||
privacy/collected_data/coarse_location/used_for_tracking=false
|
|
||||||
privacy/collected_data/coarse_location/collection_purposes=0
|
|
||||||
privacy/collected_data/sensitive_info/collected=false
|
|
||||||
privacy/collected_data/sensitive_info/linked_to_user=false
|
|
||||||
privacy/collected_data/sensitive_info/used_for_tracking=false
|
|
||||||
privacy/collected_data/sensitive_info/collection_purposes=0
|
|
||||||
privacy/collected_data/contacts/collected=false
|
|
||||||
privacy/collected_data/contacts/linked_to_user=false
|
|
||||||
privacy/collected_data/contacts/used_for_tracking=false
|
|
||||||
privacy/collected_data/contacts/collection_purposes=0
|
|
||||||
privacy/collected_data/emails_or_text_messages/collected=false
|
|
||||||
privacy/collected_data/emails_or_text_messages/linked_to_user=false
|
|
||||||
privacy/collected_data/emails_or_text_messages/used_for_tracking=false
|
|
||||||
privacy/collected_data/emails_or_text_messages/collection_purposes=0
|
|
||||||
privacy/collected_data/photos_or_videos/collected=false
|
|
||||||
privacy/collected_data/photos_or_videos/linked_to_user=false
|
|
||||||
privacy/collected_data/photos_or_videos/used_for_tracking=false
|
|
||||||
privacy/collected_data/photos_or_videos/collection_purposes=0
|
|
||||||
privacy/collected_data/audio_data/collected=false
|
|
||||||
privacy/collected_data/audio_data/linked_to_user=false
|
|
||||||
privacy/collected_data/audio_data/used_for_tracking=false
|
|
||||||
privacy/collected_data/audio_data/collection_purposes=0
|
|
||||||
privacy/collected_data/gameplay_content/collected=false
|
|
||||||
privacy/collected_data/gameplay_content/linked_to_user=false
|
|
||||||
privacy/collected_data/gameplay_content/used_for_tracking=false
|
|
||||||
privacy/collected_data/gameplay_content/collection_purposes=0
|
|
||||||
privacy/collected_data/customer_support/collected=false
|
|
||||||
privacy/collected_data/customer_support/linked_to_user=false
|
|
||||||
privacy/collected_data/customer_support/used_for_tracking=false
|
|
||||||
privacy/collected_data/customer_support/collection_purposes=0
|
|
||||||
privacy/collected_data/other_user_content/collected=false
|
|
||||||
privacy/collected_data/other_user_content/linked_to_user=false
|
|
||||||
privacy/collected_data/other_user_content/used_for_tracking=false
|
|
||||||
privacy/collected_data/other_user_content/collection_purposes=0
|
|
||||||
privacy/collected_data/browsing_history/collected=false
|
|
||||||
privacy/collected_data/browsing_history/linked_to_user=false
|
|
||||||
privacy/collected_data/browsing_history/used_for_tracking=false
|
|
||||||
privacy/collected_data/browsing_history/collection_purposes=0
|
|
||||||
privacy/collected_data/search_hhistory/collected=false
|
|
||||||
privacy/collected_data/search_hhistory/linked_to_user=false
|
|
||||||
privacy/collected_data/search_hhistory/used_for_tracking=false
|
|
||||||
privacy/collected_data/search_hhistory/collection_purposes=0
|
|
||||||
privacy/collected_data/user_id/collected=false
|
|
||||||
privacy/collected_data/user_id/linked_to_user=false
|
|
||||||
privacy/collected_data/user_id/used_for_tracking=false
|
|
||||||
privacy/collected_data/user_id/collection_purposes=0
|
|
||||||
privacy/collected_data/device_id/collected=false
|
|
||||||
privacy/collected_data/device_id/linked_to_user=false
|
|
||||||
privacy/collected_data/device_id/used_for_tracking=false
|
|
||||||
privacy/collected_data/device_id/collection_purposes=0
|
|
||||||
privacy/collected_data/purchase_history/collected=false
|
|
||||||
privacy/collected_data/purchase_history/linked_to_user=false
|
|
||||||
privacy/collected_data/purchase_history/used_for_tracking=false
|
|
||||||
privacy/collected_data/purchase_history/collection_purposes=0
|
|
||||||
privacy/collected_data/product_interaction/collected=false
|
|
||||||
privacy/collected_data/product_interaction/linked_to_user=false
|
|
||||||
privacy/collected_data/product_interaction/used_for_tracking=false
|
|
||||||
privacy/collected_data/product_interaction/collection_purposes=0
|
|
||||||
privacy/collected_data/advertising_data/collected=false
|
|
||||||
privacy/collected_data/advertising_data/linked_to_user=false
|
|
||||||
privacy/collected_data/advertising_data/used_for_tracking=false
|
|
||||||
privacy/collected_data/advertising_data/collection_purposes=0
|
|
||||||
privacy/collected_data/other_usage_data/collected=false
|
|
||||||
privacy/collected_data/other_usage_data/linked_to_user=false
|
|
||||||
privacy/collected_data/other_usage_data/used_for_tracking=false
|
|
||||||
privacy/collected_data/other_usage_data/collection_purposes=0
|
|
||||||
privacy/collected_data/crash_data/collected=false
|
|
||||||
privacy/collected_data/crash_data/linked_to_user=false
|
|
||||||
privacy/collected_data/crash_data/used_for_tracking=false
|
|
||||||
privacy/collected_data/crash_data/collection_purposes=0
|
|
||||||
privacy/collected_data/performance_data/collected=false
|
|
||||||
privacy/collected_data/performance_data/linked_to_user=false
|
|
||||||
privacy/collected_data/performance_data/used_for_tracking=false
|
|
||||||
privacy/collected_data/performance_data/collection_purposes=0
|
|
||||||
privacy/collected_data/other_diagnostic_data/collected=false
|
|
||||||
privacy/collected_data/other_diagnostic_data/linked_to_user=false
|
|
||||||
privacy/collected_data/other_diagnostic_data/used_for_tracking=false
|
|
||||||
privacy/collected_data/other_diagnostic_data/collection_purposes=0
|
|
||||||
privacy/collected_data/environment_scanning/collected=false
|
|
||||||
privacy/collected_data/environment_scanning/linked_to_user=false
|
|
||||||
privacy/collected_data/environment_scanning/used_for_tracking=false
|
|
||||||
privacy/collected_data/environment_scanning/collection_purposes=0
|
|
||||||
privacy/collected_data/hands/collected=false
|
|
||||||
privacy/collected_data/hands/linked_to_user=false
|
|
||||||
privacy/collected_data/hands/used_for_tracking=false
|
|
||||||
privacy/collected_data/hands/collection_purposes=0
|
|
||||||
privacy/collected_data/head/collected=false
|
|
||||||
privacy/collected_data/head/linked_to_user=false
|
|
||||||
privacy/collected_data/head/used_for_tracking=false
|
|
||||||
privacy/collected_data/head/collection_purposes=0
|
|
||||||
privacy/collected_data/other_data_types/collected=false
|
|
||||||
privacy/collected_data/other_data_types/linked_to_user=false
|
|
||||||
privacy/collected_data/other_data_types/used_for_tracking=false
|
|
||||||
privacy/collected_data/other_data_types/collection_purposes=0
|
|
||||||
ssh_remote_deploy/enabled=false
|
|
||||||
ssh_remote_deploy/host="user@host_ip"
|
|
||||||
ssh_remote_deploy/port="22"
|
|
||||||
ssh_remote_deploy/extra_args_ssh=""
|
|
||||||
ssh_remote_deploy/extra_args_scp=""
|
|
||||||
ssh_remote_deploy/run_script="#!/usr/bin/env bash
|
|
||||||
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
|
||||||
open \"{temp_dir}/{exe_name}.app\" --args {cmd_args}"
|
|
||||||
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
|
||||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\")
|
|
||||||
rm -rf \"{temp_dir}\""
|
|
||||||
|
|
||||||
[preset.2]
|
|
||||||
|
|
||||||
name="[Dedicated Server] Linux"
|
|
||||||
platform="Linux"
|
|
||||||
runnable=true
|
|
||||||
advanced_options=false
|
|
||||||
dedicated_server=true
|
|
||||||
custom_features=""
|
|
||||||
export_filter="customized"
|
|
||||||
customized_files={
|
|
||||||
"res://": "strip"
|
|
||||||
}
|
|
||||||
include_filter=""
|
|
||||||
exclude_filter=""
|
|
||||||
export_path="./Open Strike.x86_64"
|
|
||||||
encryption_include_filters=""
|
|
||||||
encryption_exclude_filters=""
|
|
||||||
encrypt_pck=false
|
|
||||||
encrypt_directory=false
|
|
||||||
script_export_mode=2
|
|
||||||
|
|
||||||
[preset.2.options]
|
|
||||||
|
|
||||||
custom_template/debug=""
|
|
||||||
custom_template/release=""
|
|
||||||
debug/export_console_wrapper=1
|
|
||||||
binary_format/embed_pck=false
|
|
||||||
texture_format/s3tc_bptc=true
|
|
||||||
texture_format/etc2_astc=false
|
|
||||||
binary_format/architecture="x86_64"
|
|
||||||
ssh_remote_deploy/enabled=false
|
|
||||||
ssh_remote_deploy/host="user@host_ip"
|
|
||||||
ssh_remote_deploy/port="22"
|
|
||||||
ssh_remote_deploy/extra_args_ssh=""
|
|
||||||
ssh_remote_deploy/extra_args_scp=""
|
|
||||||
ssh_remote_deploy/run_script="#!/usr/bin/env bash
|
|
||||||
export DISPLAY=:0
|
|
||||||
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
|
||||||
\"{temp_dir}/{exe_name}\" {cmd_args}"
|
|
||||||
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
|
||||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
|
|
||||||
rm -rf \"{temp_dir}\""
|
|
@ -1,23 +0,0 @@
|
|||||||
# Patterns to ignore when building packages.
|
|
||||||
# This supports shell glob matching, relative path matching, and
|
|
||||||
# negation (prefixed with !). Only one pattern per line.
|
|
||||||
.DS_Store
|
|
||||||
# Common VCS dirs
|
|
||||||
.git/
|
|
||||||
.gitignore
|
|
||||||
.bzr/
|
|
||||||
.bzrignore
|
|
||||||
.hg/
|
|
||||||
.hgignore
|
|
||||||
.svn/
|
|
||||||
# Common backup files
|
|
||||||
*.swp
|
|
||||||
*.bak
|
|
||||||
*.tmp
|
|
||||||
*.orig
|
|
||||||
*~
|
|
||||||
# Various IDEs
|
|
||||||
.project
|
|
||||||
.idea/
|
|
||||||
*.tmproj
|
|
||||||
.vscode/
|
|
@ -1,6 +0,0 @@
|
|||||||
dependencies:
|
|
||||||
- name: helm-library
|
|
||||||
repository: oci://ghcr.io/allanger/allangers-helm-library
|
|
||||||
version: 0.2.1
|
|
||||||
digest: sha256:1a2c38771fede69ddcb6fa6da8927780f1dc36e1f0f92233d747e943cd76dedb
|
|
||||||
generated: "2025-01-13T14:09:55.344423+01:00"
|
|
@ -1,15 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: open-strike-2
|
|
||||||
type: application
|
|
||||||
version: 0.1.0
|
|
||||||
appVersion: 0.1.0
|
|
||||||
maintainers:
|
|
||||||
- name: allanger
|
|
||||||
email: allanger@zohomail.com
|
|
||||||
url: https://badhouseplants.net
|
|
||||||
dependencies:
|
|
||||||
- name: helm-library
|
|
||||||
version: 0.2.1
|
|
||||||
repository: oci://ghcr.io/allanger/allangers-helm-library
|
|
||||||
annotations:
|
|
||||||
allowed_workload_kinds: "Deployment"
|
|
Binary file not shown.
@ -1,23 +0,0 @@
|
|||||||
# Patterns to ignore when building packages.
|
|
||||||
# This supports shell glob matching, relative path matching, and
|
|
||||||
# negation (prefixed with !). Only one pattern per line.
|
|
||||||
.DS_Store
|
|
||||||
# Common VCS dirs
|
|
||||||
.git/
|
|
||||||
.gitignore
|
|
||||||
.bzr/
|
|
||||||
.bzrignore
|
|
||||||
.hg/
|
|
||||||
.hgignore
|
|
||||||
.svn/
|
|
||||||
# Common backup files
|
|
||||||
*.swp
|
|
||||||
*.bak
|
|
||||||
*.tmp
|
|
||||||
*.orig
|
|
||||||
*~
|
|
||||||
# Various IDEs
|
|
||||||
.project
|
|
||||||
.idea/
|
|
||||||
*.tmproj
|
|
||||||
.vscode/
|
|
@ -1,6 +0,0 @@
|
|||||||
dependencies:
|
|
||||||
- name: raw
|
|
||||||
repository: https://bedag.github.io/helm-charts/
|
|
||||||
version: 2.0.0
|
|
||||||
digest: sha256:12c18557553d75f5e57efa02a359517b9d95e47e80be270af17c63f9ccaff3d1
|
|
||||||
generated: "2024-12-29T11:06:41.044864+01:00"
|
|
@ -1,12 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
description: A Helm library to be reused by allanger's charts. It's supposed to become
|
|
||||||
an alternative for k8s-at-home
|
|
||||||
keywords:
|
|
||||||
- allanger
|
|
||||||
- k8s-at-home
|
|
||||||
maintainers:
|
|
||||||
- email: allanger@badhouseplants.net
|
|
||||||
name: allanger
|
|
||||||
name: helm-library
|
|
||||||
type: library
|
|
||||||
version: 0.2.0+09454ec
|
|
@ -1,57 +0,0 @@
|
|||||||
{{/*
|
|
||||||
* Expand the name of the chart.
|
|
||||||
*/}}
|
|
||||||
{{- define "lib.chart.name" -}} {{- /* define[0] */}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- default .ctx.Chart.Name .ctx.Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- end }} {{- /*/define[0] */}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
* Create chart name and version as used by the chart label.
|
|
||||||
*/}}
|
|
||||||
{{- define "lib.chart.chart" -}} {{- /* define[0] */}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- printf "%s-%s" .ctx.Chart.Name .ctx.Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- end }} {{- /*/define[0] */}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create a default fully qualified app name.
|
|
||||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
|
||||||
If release name contains chart name it will be used as a full name.
|
|
||||||
*/}}
|
|
||||||
{{- define "lib.chart.fullname" -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- if .ctx.Values.fullnameOverride }}
|
|
||||||
{{- .ctx.Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- else }}
|
|
||||||
{{- $name := default .ctx.Chart.Name .ctx.Values.nameOverride }}
|
|
||||||
{{- if contains $name .ctx.Release.Name }}
|
|
||||||
{{- .ctx.Release.Name | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- else }}
|
|
||||||
{{- printf "%s-%s" .ctx.Release.Name $name | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
* Common labels
|
|
||||||
*/}}
|
|
||||||
{{- define "lib.chart.labels" -}} {{- /* define[0] */}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
helm.sh/chart: {{ include "lib.chart.chart" (dict "ctx" .ctx) }}
|
|
||||||
{{ include "lib.chart.selectorLabels" (dict "ctx" .ctx) }}
|
|
||||||
{{- if .ctx.Chart.AppVersion }} {{- /* if[1] */}}
|
|
||||||
app.kubernetes.io/version: {{ .ctx.Chart.AppVersion | quote }}
|
|
||||||
{{- end }} {{- /* /if[1] */}}
|
|
||||||
app.kubernetes.io/managed-by: {{ .ctx.Release.Service }}
|
|
||||||
{{- end }} {{- /*/define[0] */}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
* Selector labels
|
|
||||||
*/}}
|
|
||||||
{{- define "lib.chart.selectorLabels" -}} {{- /* define[0] */}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
app.kubernetes.io/name: {{ include "lib.chart.name" (dict "ctx" .ctx) }}
|
|
||||||
app.kubernetes.io/instance: {{ .ctx.Release.Name }}
|
|
||||||
{{- end }} {{- /*/define[0] */}}
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
|||||||
{{- define "lib.error.noCtx" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- if not .ctx -}}{{- fail "no context provided" -}}{{- end -}}
|
|
||||||
{{- if not (kindIs "map" .ctx) -}} {{- /* if[1] */ -}}
|
|
||||||
{{- fail "unexpected type of ctx" -}}
|
|
||||||
{{- end -}} {{- /* /if[1] */ -}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{- define "lib.error.noKey" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- if not .key -}}{{ fail "error handler must receive a key to find" }}{{- end -}}
|
|
||||||
{{- if not (hasKey .ctx .key) -}} {{- /* if[1] */ -}}
|
|
||||||
{{- fail (printf "key %s must be not null" .key) -}}
|
|
||||||
{{- end -}} {{- /* /if[1] */ -}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
|||||||
{{/*
|
|
||||||
* CRDs should always be managed as a separate chart
|
|
||||||
* They must be written to the ./crd folder and then
|
|
||||||
* they will be read by the .Files helm feature
|
|
||||||
*/}}
|
|
||||||
{{- define "lib.component.crd" -}} {{- /* define[0] */ -}}
|
|
||||||
{{-
|
|
||||||
$metadata := include "lib.metadata"
|
|
||||||
(dict "ctx" $ "annotations" .Values.workload.annotations)
|
|
||||||
}}
|
|
||||||
{{ $currentScope := .}}
|
|
||||||
{{ range $path, $_ := .Files.Glob "**.yaml" }}
|
|
||||||
{{- with $currentScope}}
|
|
||||||
{{ .Files.Get $path }}
|
|
||||||
{{- end }}
|
|
||||||
{{ end }}
|
|
||||||
{{- end -}} {{- /* define[0] */ -}}
|
|
@ -1,46 +0,0 @@
|
|||||||
{{/*
|
|
||||||
* This component should make it easier to create sets
|
|
||||||
* of environment variables via configmaps and secrets
|
|
||||||
*/}}
|
|
||||||
{{- define "lib.component.environment" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- range $k, $v := .ctx.Values.config.env }} {{- /* range[0] */}}
|
|
||||||
{{- $customName := include "lib.component.env.name" (dict "ctx" $.ctx "name" $k) }}
|
|
||||||
{{- if $v.enabled }} {{- /* if[0] */}}
|
|
||||||
{{-
|
|
||||||
$labels := include "lib.metadata.mergeLabels"
|
|
||||||
(dict
|
|
||||||
"ctx" $.ctx
|
|
||||||
"global" ($.ctx.Values.metadata).labels
|
|
||||||
"local" ($v.metadata).labels
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
{{-
|
|
||||||
$metadata := include "lib.metadata"
|
|
||||||
(dict
|
|
||||||
"ctx" $.ctx
|
|
||||||
"name" $customName
|
|
||||||
"annotations" ($v.metadata).annotations
|
|
||||||
"labels" $labels
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
{{- $data := dict -}}
|
|
||||||
{{- range $key, $value := $v.data }} {{- /* range[1] */}}
|
|
||||||
{{- if not (has $key ($v.remove)) }} {{- /* if[1] */}}
|
|
||||||
{{- $_ := set $data $key (tpl (toString $value) $.ctx) }}
|
|
||||||
{{- end }} {{- /* /if[1] */}}
|
|
||||||
{{- end }} {{- /* /range[1] */}}
|
|
||||||
{{- if $v.sensitive }} {{- /* if[1] */}}
|
|
||||||
{{ include "lib.core.secret" (dict "ctx" $ "metadata" $metadata "data" $data) }}
|
|
||||||
{{- else }}
|
|
||||||
{{ include "lib.core.configmap" (dict "ctx" $ "metadata" $metadata "data" $data) }}
|
|
||||||
{{- end -}} {{- /* /if[1] */}}
|
|
||||||
{{- end }} {{- /* /if[0] */}}
|
|
||||||
{{- end }} {{- /* /range[0] */}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{- define "lib.component.env.name" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "name") -}}
|
|
||||||
{{ printf "%s-%s-env" .ctx.Release.Name .name }}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
@ -1,16 +0,0 @@
|
|||||||
{{- define "lib.component.templates" }} {{- /* define[0] */}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{-
|
|
||||||
$labels := include "lib.metadata.mergeLabels"
|
|
||||||
(dict
|
|
||||||
"ctx" .ctx
|
|
||||||
"global" ((.ctx.Values).metadata).labels
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
{{- with (.ctx.Values.extra).templates }} {{- /* with[1] */}}
|
|
||||||
{{- range . }} {{- /* range[2] */}}
|
|
||||||
---
|
|
||||||
{{- tpl . $.ctx | indent 0 }}
|
|
||||||
{{- end }} {{- /* /range[2] */}}
|
|
||||||
{{- end }} {{- /* /with[1] */}}
|
|
||||||
{{- end }} {{- /* /define[0] */}}
|
|
@ -1,64 +0,0 @@
|
|||||||
{{/*
|
|
||||||
* This component should make it easier to create sets
|
|
||||||
* of environment variables via configmaps and secrets
|
|
||||||
*/}}
|
|
||||||
{{- define "lib.component.files" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- range $k, $v := .ctx.Values.config.files }} {{- /* range[0] */}}
|
|
||||||
{{- $customName := include "lib.component.file.name" (dict "ctx" $.ctx "name" $k) }}
|
|
||||||
{{- if $v.enabled }} {{- /* if[0] */}}
|
|
||||||
{{-
|
|
||||||
$labels := include "lib.metadata.mergeLabels"
|
|
||||||
(dict
|
|
||||||
"ctx" $.ctx
|
|
||||||
"global" ($.ctx.Values.metadata).labels
|
|
||||||
"local" ($v.metadata).labels
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
{{-
|
|
||||||
$metadata := include "lib.metadata"
|
|
||||||
(dict
|
|
||||||
"ctx" $.ctx
|
|
||||||
"name" $customName
|
|
||||||
"annotations" $v.annotations
|
|
||||||
"labels" $labels
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
{{- $entries := dict -}}
|
|
||||||
{{- range $key, $value := $v.entries }} {{- /* range[1] */}}
|
|
||||||
{{- if not (has $key ($v.remove)) }} {{- /* if[1] */}}
|
|
||||||
{{- $data := $value.data }}
|
|
||||||
{{- if and (kindIs "string" $data) ($value.convertTo) }} {{- /* if[2] */}}
|
|
||||||
{{- fail "convering is only possible for plain yaml, strings are not supported" -}}
|
|
||||||
{{- end }} {{- /* /if[2] */}}
|
|
||||||
{{- if $value.convertTo -}} {{- /* if[2] */ -}}
|
|
||||||
{{- if eq $value.convertTo "json" }} {{- /* if[3] */}}
|
|
||||||
{{- $data = include "lib.helpers.convertToJson" $data -}}
|
|
||||||
{{- else if eq $value.convertTo "toml" -}}
|
|
||||||
{{- $data = include "lib.helpers.convertToToml" $data -}}
|
|
||||||
{{- else if eq $value.convertTo "yaml" -}}
|
|
||||||
{{- $data = include "lib.helpers.convertToYaml" $data -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- fail (printf "converion to %s is not supported yet" $value.convertTo) -}}
|
|
||||||
{{- end -}} {{- /* /if[3] */ -}}
|
|
||||||
{{- end -}} {{- /* /if[2] */ -}}
|
|
||||||
{{- if not (kindIs "string" $data) -}}
|
|
||||||
{{- fail (printf "it must be a string, but it's a %s: %v" (kindOf $data) $data) -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- $_ := set $entries $key (tpl $data $.ctx) }}
|
|
||||||
{{- end }} {{- /* /if[1] */}}
|
|
||||||
{{- end }} {{- /* /range[1] */}}
|
|
||||||
{{- if $v.sensitive }} {{- /* if[1] */}}
|
|
||||||
{{ include "lib.core.secret" (dict "ctx" $ "metadata" $metadata "data" $entries) }}
|
|
||||||
{{- else }}
|
|
||||||
{{ include "lib.core.configmap" (dict "ctx" $ "metadata" $metadata "data" $entries) }}
|
|
||||||
{{- end -}} {{- /* /if[1] */}}
|
|
||||||
{{- end }} {{- /* /if[0] */}}
|
|
||||||
{{- end }} {{- /* /range[0] */}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{- define "lib.component.file.name" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "name") -}}
|
|
||||||
{{ printf "%s-%s-file" .ctx.Release.Name .name }}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
@ -1,33 +0,0 @@
|
|||||||
{{- define "lib.component.ingress" }}
|
|
||||||
{{- range $k, $v := .ctx.Values.ingress }}
|
|
||||||
{{- $customName := include "lib.component.ingress.name" (dict "ctx" $.ctx "name" $k) }}
|
|
||||||
{{- if $v.enabled }} {{- /* if[0] */}}
|
|
||||||
{{-
|
|
||||||
$labels := include "lib.metadata.mergeLabels"
|
|
||||||
(dict
|
|
||||||
"ctx" $.ctx
|
|
||||||
"global" ($.ctx.Values.metadata).labels
|
|
||||||
"local" ($v.metadata).labels
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
{{-
|
|
||||||
$metadata := include "lib.metadata"
|
|
||||||
(dict
|
|
||||||
"ctx" $.ctx
|
|
||||||
"annotations" ($v.metadata).annotations
|
|
||||||
"labels" $labels
|
|
||||||
"name" $customName
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
{{- $spec := $v -}}
|
|
||||||
{{- $_ := unset $spec "enabled" -}}
|
|
||||||
{{ include "lib.core.ingress" (dict "ctx" $.ctx "metadata" $metadata "spec" $spec ) }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{- define "lib.component.ingress.name" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "name") -}}
|
|
||||||
{{ printf "%s-%s" .ctx.Release.Name .name }}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
@ -1,42 +0,0 @@
|
|||||||
{{/*
|
|
||||||
* This component should make it easier to create pvc
|
|
||||||
*/}}
|
|
||||||
{{- define "lib.component.service" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- range $k, $v := .ctx.Values.services }} {{- /* range[1] */}}
|
|
||||||
{{- $customName := include "lib.component.service.name" (dict "ctx" $.ctx "name" $k) }}
|
|
||||||
{{- if $v.enabled }} {{- /* if[2] */}}
|
|
||||||
{{-
|
|
||||||
$labels := include "lib.metadata.mergeLabels"
|
|
||||||
(dict
|
|
||||||
"ctx" $.ctx
|
|
||||||
"global" ($.ctx.Values.metadata).labels
|
|
||||||
"local" ($v.metadata).labels
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
{{-
|
|
||||||
$metadata := include "lib.metadata"
|
|
||||||
(dict
|
|
||||||
"ctx" $.ctx
|
|
||||||
"name" $customName
|
|
||||||
"annotations" ($v.metadata).annotations
|
|
||||||
"labels" $labels
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
{{ $spec := $v }}
|
|
||||||
{{- if not $spec.type -}}
|
|
||||||
{{- set $spec "type" "ClusterIP" -}}
|
|
||||||
{{- end }}
|
|
||||||
{{
|
|
||||||
include "lib.core.service"
|
|
||||||
(dict "ctx" $.ctx "metadata" $metadata "spec" $spec)
|
|
||||||
}}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{- define "lib.component.service.name" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "name") -}}
|
|
||||||
{{ printf "%s-%s" .ctx.Release.Name .name }}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
@ -1,35 +0,0 @@
|
|||||||
{{/*
|
|
||||||
* This component should make it easier to create pvc
|
|
||||||
*/}}
|
|
||||||
{{- define "lib.component.storage" -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- range $k, $v := .ctx.Values.storage }}
|
|
||||||
{{- $customName := include "lib.component.storage.name" (dict "ctx" $.ctx "name" $k) }}
|
|
||||||
{{- if $v.enabled }} {{- /* if[0] */}}
|
|
||||||
{{-
|
|
||||||
$labels := include "lib.metadata.mergeLabels"
|
|
||||||
(dict
|
|
||||||
"ctx" $.ctx
|
|
||||||
"global" ($.ctx.Values.metadata).labels
|
|
||||||
"local" ($v.metadata).labels
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
{{-
|
|
||||||
$metadata := include "lib.metadata"
|
|
||||||
(dict
|
|
||||||
"ctx" $.ctx
|
|
||||||
"annotations" ($v.metadata).annotations
|
|
||||||
"labels" $labels
|
|
||||||
"name" $customName
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
{{ include "lib.core.pvc" (dict "metadata" $metadata "spec" $v) }}
|
|
||||||
{{- end }} {{- /* /if[0] */}}
|
|
||||||
{{- end }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "lib.component.storage.name" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "name") -}}
|
|
||||||
{{ printf "%s-%s-storage" .ctx.Release.Name .name }}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
@ -1,65 +0,0 @@
|
|||||||
{{- define "lib.component.workload.allowed" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{ index .ctx.Chart.Annotations "allowed_workload_kinds" }}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{- define "lib.component.workload" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{-
|
|
||||||
$labels := include "lib.metadata.mergeLabels"
|
|
||||||
(dict
|
|
||||||
"ctx" .ctx
|
|
||||||
"global" ((.ctx.Values).metadata).labels
|
|
||||||
"local" (((.ctx.Values.base).workload).metadata).labels
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
{{-
|
|
||||||
$metadata := include "lib.metadata"
|
|
||||||
(dict
|
|
||||||
"ctx" .ctx
|
|
||||||
"annotations" (((.ctx.Values.base).workload).metadata).annotations
|
|
||||||
"labels" $labels
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
{{-
|
|
||||||
$securityContext := include "lib.core.pod.securityContext"
|
|
||||||
(dict
|
|
||||||
"securityContext" .ctx.Values.base.workload.securityContext
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
|
|
||||||
{{
|
|
||||||
$containers := include "lib.core.pod.containers"
|
|
||||||
(dict
|
|
||||||
"ctx" .ctx
|
|
||||||
"containers" .ctx.Values.base.workload.containers
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
|
|
||||||
{{
|
|
||||||
$volumes := include "lib.core.pod.volumes"
|
|
||||||
(dict
|
|
||||||
"ctx" .ctx
|
|
||||||
"files" (.ctx.Values.config).files
|
|
||||||
"storage" .ctx.Values.storage
|
|
||||||
"extraVolumes" .ctx.Values.extraVolumes
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
|
|
||||||
{{- if eq .ctx.Values.base.workload.kind "Deployment" -}} {{- /* if[0] */ -}}
|
|
||||||
{{- if contains .ctx.Values.base.workload.kind (include "lib.component.workload.allowed" (dict "ctx" .ctx)) }}{{- /* if[0] */ -}}
|
|
||||||
{{-
|
|
||||||
include "lib.core.deployment"
|
|
||||||
(dict
|
|
||||||
"ctx" .ctx
|
|
||||||
"metadata" $metadata
|
|
||||||
"securityContext" $securityContext
|
|
||||||
"containers" $containers
|
|
||||||
"volumes" $volumes
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- fail (printf "workload kind is not allowed: %s" .ctx.Values.base.workload.kind) -}}
|
|
||||||
{{- end }}{{- /* if[1] */ -}}
|
|
||||||
{{- end -}} {{- /* /if[0]*/ -}}
|
|
||||||
{{- end -}}{{- /* /define[0] */ -}}
|
|
@ -1,18 +0,0 @@
|
|||||||
{{- define "lib.core.configmap" -}} {{- /* define[0] */}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "metadata") -}}
|
|
||||||
---
|
|
||||||
# ---------------------------------------------------------------------
|
|
||||||
# -- This resource is managed by the allanger's helm library
|
|
||||||
# ---------------------------------------------------------------------
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
{{ .metadata | indent 2 }}
|
|
||||||
data:
|
|
||||||
{{- range $key, $value := .data }}
|
|
||||||
{{- if $value }}
|
|
||||||
{{ $key }}: {{ tpl $value $.Context | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end -}} {{- /* /define[0]) */ -}}
|
|
@ -1,78 +0,0 @@
|
|||||||
{{/*
|
|
||||||
* Bootstrap a deployment
|
|
||||||
* It should always receive a dict as an argument
|
|
||||||
*/}}
|
|
||||||
{{- define "lib.core.deployment" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "securityContext") -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "metadata") -}}
|
|
||||||
---
|
|
||||||
# ---------------------------------------------------------------------
|
|
||||||
# -- This resource is managed by the allanger's helm library
|
|
||||||
# ---------------------------------------------------------------------
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
{{ .metadata | indent 2 }}
|
|
||||||
spec:
|
|
||||||
{{-
|
|
||||||
include "lib.core.deployment.spec"
|
|
||||||
(dict
|
|
||||||
"ctx" .ctx
|
|
||||||
"securityContext" .securityContext
|
|
||||||
"metadata" .metadata
|
|
||||||
"containers" .containers
|
|
||||||
"volumes" .volumes
|
|
||||||
)
|
|
||||||
| indent 2
|
|
||||||
}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{- define "lib.core.deployment.spec" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . }}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "securityContext") -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "metadata") }}
|
|
||||||
replicas: {{ .ctx.Values.base.workload.replicas | default 1 }}
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
{{- include "lib.chart.selectorLabels" (dict "ctx" .ctx) | nindent 6 }}
|
|
||||||
{{
|
|
||||||
include "lib.core.deployment.template"
|
|
||||||
(dict
|
|
||||||
"ctx" .ctx
|
|
||||||
"securityContext" .securityContext
|
|
||||||
"metadata" .metadata
|
|
||||||
"containers" .containers
|
|
||||||
"volumes" .volumes
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{- /* A deployment temopalte goes here */ -}}
|
|
||||||
{{- define "lib.core.deployment.template" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "securityContext") -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "metadata") -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "containers") -}}
|
|
||||||
{{- $labels := toYaml (index (fromYaml .metadata) "labels") -}}
|
|
||||||
{{- $annotations := toYaml (index (fromYaml .metadata) "annotations") -}}
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
{{- $labels | nindent 6 }}
|
|
||||||
annotations:
|
|
||||||
{{- if not (eq $annotations "null") }}
|
|
||||||
{{- $annotations | nindent 6 }}
|
|
||||||
{{- end }}
|
|
||||||
{{
|
|
||||||
include "lib.helpers.hashes"
|
|
||||||
(dict
|
|
||||||
"env" (.ctx.Values.config).env
|
|
||||||
"files" (.ctx.Values.config).files)
|
|
||||||
| nindent 6
|
|
||||||
}}
|
|
||||||
spec:
|
|
||||||
{{- .securityContext | nindent 4 }}
|
|
||||||
{{ .containers | nindent 4 }}
|
|
||||||
{{ .volumes | nindent 4 }}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
@ -1,20 +0,0 @@
|
|||||||
{{- define "lib.core.ingress" }}
|
|
||||||
---
|
|
||||||
# ---------------------------------------------------------------------
|
|
||||||
# -- This resource is managed by the allanger's helm library
|
|
||||||
# ---------------------------------------------------------------------
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
{{- .metadata | nindent 2 }}
|
|
||||||
spec:
|
|
||||||
ingressClassName: {{ .spec.class }}
|
|
||||||
{{- with .spec.rules }}
|
|
||||||
rules:
|
|
||||||
{{- tpl ( . | toYaml | nindent 4 | toString) $.ctx }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .spec.tls }}
|
|
||||||
tls:
|
|
||||||
{{- tpl ( . | toYaml | nindent 4 | toString) $.ctx }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
@ -1,117 +0,0 @@
|
|||||||
{{- define "lib.core.pod" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- fail "pods are not implemented net" -}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
* This function should accept a seucrityContext
|
|
||||||
* from values, so please use it with values
|
|
||||||
* directly
|
|
||||||
* SecurityContext is not templated, so it will be
|
|
||||||
* added as is
|
|
||||||
*/}}
|
|
||||||
{{- define "lib.core.pod.securityContext" -}} {{- /* define[0] */ -}}
|
|
||||||
securityContext:
|
|
||||||
{{- if not .securityContext }} {{- /* if[1] */}}
|
|
||||||
# ---------------------------------------------------------------------
|
|
||||||
# Using the default security context, if it doesn't work for you,
|
|
||||||
# please update `.Values.base.workload.securityContext`
|
|
||||||
# ---------------------------------------------------------------------
|
|
||||||
runAsUser: 1000
|
|
||||||
runAsGroup: 3000
|
|
||||||
fsGroup: 2000
|
|
||||||
seccompProfile:
|
|
||||||
type: RuntimeDefault
|
|
||||||
{{- else -}}
|
|
||||||
{{- with .securityContext }} {{- /* with[2] */}}
|
|
||||||
{{ toYaml . | indent 2 }}
|
|
||||||
{{- end -}} {{- /* /with[2] */}}
|
|
||||||
{{- end -}} {{- /* /if[1] */ -}}
|
|
||||||
{{- end -}} {{- /* define[0] */ -}}
|
|
||||||
|
|
||||||
|
|
||||||
{{- define "lib.core.pod.volumes" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "storage") -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "files") -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "extraVolumes") -}}
|
|
||||||
{{- if or (or .storage .files) .extraVolumes -}} {{- /* if[0]*/ -}}
|
|
||||||
volumes:
|
|
||||||
{{- /* If storage is defined, mount a pvc */ -}}
|
|
||||||
{{- if .storage }} {{- /* if[1] */}}
|
|
||||||
{{- range $k, $v := .storage }} {{- /* range[0] */}}
|
|
||||||
{{- if $v.enabled }}
|
|
||||||
{{- $name := include "lib.component.storage.name" (dict "ctx" $.ctx "name" $k) }}
|
|
||||||
- name: {{ $k }}-storage
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: {{ $name }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }} {{- /* /range[0] */}}
|
|
||||||
{{- end }} {{- /* /if[1] */}}
|
|
||||||
{{- if .extraVolumes}} {{- /* if[1] */}}
|
|
||||||
{{- range $k, $v := .extraVolumes}} {{- /* range[0] */}}
|
|
||||||
- name: {{ $k }}-extra
|
|
||||||
{{- $v | toYaml | nindent 4 }}
|
|
||||||
{{- end }} {{- /* /range[0] */}}
|
|
||||||
{{- end }} {{- /* /if[1] */}}
|
|
||||||
{{- if .files }} {{- /* if[1] */}}
|
|
||||||
{{- range $k, $v := .files }} {{- /* range[0] */}}
|
|
||||||
- name: {{ $k }}-file
|
|
||||||
{{- $name := include "lib.component.file.name" (dict "ctx" $.ctx "name" $k) }}
|
|
||||||
{{- if $v.sensitive }} {{- /* if[2] */}}
|
|
||||||
secret:
|
|
||||||
defaultMode: 420
|
|
||||||
secretName: {{ $name }}
|
|
||||||
{{- else }}
|
|
||||||
configMap:
|
|
||||||
name: {{ $name }}
|
|
||||||
{{- end }} {{- /* /if[2] */}}
|
|
||||||
{{- end }} {{- /* /range[0] */}}
|
|
||||||
{{- end }} {{- /* /if[1] */}}
|
|
||||||
{{- end -}} {{- /* /if[0] */ -}}
|
|
||||||
{{- end -}} {{- /* define[0] */ -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
* This template should generate a valid container
|
|
||||||
* defintion that should be used by both
|
|
||||||
* containers and initContainers
|
|
||||||
*/}}
|
|
||||||
|
|
||||||
{{- define "lib.core.pod.containers" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "containers") -}}
|
|
||||||
{{- $ctx := .ctx }}
|
|
||||||
containers:
|
|
||||||
{{- $containers := list }}
|
|
||||||
{{- range $k, $v := .containers }} {{- /* range[1] */}}
|
|
||||||
{{- $containerRaw := include "lib.core.pod.container"
|
|
||||||
(dict
|
|
||||||
"ctx" $ctx
|
|
||||||
"name" $k
|
|
||||||
"data" $v
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
{{- $container := fromYaml $containerRaw }}
|
|
||||||
{{- if hasKey $container "Error" }} {{- /* if[2] */}}
|
|
||||||
{{- fail (printf "%s\n%v" $container $containerRaw) }}
|
|
||||||
{{- end }} {{- /* /if[1] */}}
|
|
||||||
{{- $containers = append $containers $container }}
|
|
||||||
{{- end }} {{- /* /range[1] */}}
|
|
||||||
{{ $containers | toYaml | indent 2 }}
|
|
||||||
{{- end -}} {{- /* define[0] */ -}}
|
|
||||||
|
|
||||||
{{- define "lib.core.pod.initContainers" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- end -}} {{- /* define[0] */ -}}
|
|
||||||
|
|
||||||
{{- define "lib.core.pod.container.image.tag" -}} {{/* define[0] */}}
|
|
||||||
{{- if or .tag .appVersion -}} {{/* if[1] */}}
|
|
||||||
{{- if .tag -}} {{/* if[2] */}}
|
|
||||||
{{- .tag -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- .appVersion -}}
|
|
||||||
{{- end -}} {{/* /if[2] */}}
|
|
||||||
{{- else -}}
|
|
||||||
{{ fail ".tag or .appVersion must be passed to this helper"}}
|
|
||||||
{{- end -}} {{/* /if[1] */}}
|
|
||||||
{{- end -}} {{/* /define[0] */}}
|
|
||||||
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
|||||||
{{- define "lib.core.pvc" -}}
|
|
||||||
---
|
|
||||||
# ---------------------------------------------------------------------
|
|
||||||
# -- This resource is managed by the allanger's helm library
|
|
||||||
# ---------------------------------------------------------------------
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
{{- .metadata | nindent 2 }}
|
|
||||||
spec:
|
|
||||||
{{- with .spec.accessModes }}
|
|
||||||
accessModes:
|
|
||||||
{{ toYaml . | indent 4}}
|
|
||||||
{{- end }}
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: {{ .spec.size }}
|
|
||||||
{{- if ne .spec.storageClassName "default" }}
|
|
||||||
storageClassName: {{ .spec.storageClassName }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end -}}
|
|
@ -1,16 +0,0 @@
|
|||||||
{{- define "lib.core.secret" -}} {{- /* define[0] */}}
|
|
||||||
---
|
|
||||||
# ---------------------------------------------------------------------
|
|
||||||
# -- This resource is managed by the allanger's helm library
|
|
||||||
# ---------------------------------------------------------------------
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
{{- .metadata | nindent 2 }}
|
|
||||||
data:
|
|
||||||
{{- range $key, $value := .data }}
|
|
||||||
{{- if $value }}
|
|
||||||
{{ $key }}: {{ tpl $value $.Context | b64enc }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end -}} {{- /* /define[0]) */ -}}
|
|
@ -1,21 +0,0 @@
|
|||||||
{{- define "lib.core.service" }}
|
|
||||||
---
|
|
||||||
# ---------------------------------------------------------------------
|
|
||||||
# -- This resource is managed by the allanger's helm library
|
|
||||||
# ---------------------------------------------------------------------
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
{{- .metadata | nindent 2 }}
|
|
||||||
spec:
|
|
||||||
type: {{ .spec.type }}
|
|
||||||
selector:
|
|
||||||
{{- include "lib.chart.selectorLabels" (dict "ctx" .ctx) | nindent 4 }}
|
|
||||||
ports:
|
|
||||||
{{- range $k,$v := .spec.ports }} {{- /* range[0] */}}
|
|
||||||
- name: {{ $k }}
|
|
||||||
port: {{ $v.port }}
|
|
||||||
targetPort: {{ $v.targetPort}}
|
|
||||||
protocol: {{ $v.protocol}}
|
|
||||||
{{- end }} {{- /* /range[0] */}}
|
|
||||||
{{- end }}
|
|
@ -1,214 +0,0 @@
|
|||||||
{{/*
|
|
||||||
* This template should be able to create a valid container spec
|
|
||||||
*/}}
|
|
||||||
{{- define "lib.core.pod.container" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "data") -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "name") -}}
|
|
||||||
name: {{ .name }}
|
|
||||||
{{ include "lib.core.pod.container.securityContext" (dict "securityContext" .data.securityContext) }}
|
|
||||||
{{ include "lib.core.pod.container.command" (dict "command" .data.command) }}
|
|
||||||
{{ include "lib.core.pod.container.args" (dict "args" .data.command) }}
|
|
||||||
{{ include "lib.core.pod.container.livenessProbe" (dict "ctx" .ctx "probe" .data.livenessProbe) }}
|
|
||||||
{{ include "lib.core.pod.container.readinessProbe" (dict "ctx" .ctx "probe" .data.readinessProbe) }}
|
|
||||||
{{ include "lib.core.pod.container.startupProbe" (dict "ctx" .ctx "probe" .data.readinessProbe) }}
|
|
||||||
{{ include "lib.core.pod.container.image" (dict "ctx" .ctx "image" .data.image) }}
|
|
||||||
{{ include "lib.core.pod.container.envFrom" (dict "ctx" .ctx "envFrom" .data.envFrom) }}
|
|
||||||
{{ include "lib.core.pod.container.volumeMounts" (dict "ctx" .ctx "mounts" .data.volumeMounts) }}
|
|
||||||
{{ include "lib.core.pod.container.ports" (dict "ctx" .ctx "ports" .data.ports) }}
|
|
||||||
{{- /*
|
|
||||||
{{-
|
|
||||||
include "lib.core.pod.container.ports"
|
|
||||||
(dict "Context" .Context "Container" .ContainerData)
|
|
||||||
| indent 2
|
|
||||||
-}}
|
|
||||||
{{-
|
|
||||||
include "lib.core.pod.container.volumeMounts"
|
|
||||||
.ContainerData | indent 2
|
|
||||||
-}}
|
|
||||||
*/}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{- define "lib.core.pod.container.securityContext" }} {{- /* define[0] */ -}}
|
|
||||||
securityContext:
|
|
||||||
{{- if not .securityContext }} {{- /* if[1] */}}
|
|
||||||
# ---------------------------------------------------------------------
|
|
||||||
# Using the default security context, if it doesn't work for you,
|
|
||||||
# please update `.Values.base.workload.containers[].securityContext`
|
|
||||||
# ---------------------------------------------------------------------
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
capabilities:
|
|
||||||
drop:
|
|
||||||
- ALL
|
|
||||||
{{- else }}
|
|
||||||
{{- with .securityContext }} {{- /* with[2] */}}
|
|
||||||
{{ toYaml . | indent 2 }}
|
|
||||||
{{- end }} {{- /* /with[2] */}}
|
|
||||||
{{- end -}} {{- /* /if[1] */ -}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
* Command and Args are accepting a dict as an argument
|
|
||||||
* dict should contain the following keys:
|
|
||||||
* - ctx
|
|
||||||
* - command/args (optional list) - When empty, entry is not added
|
|
||||||
*/}}
|
|
||||||
{{- define "lib.core.pod.container.command" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- with .command -}} {{- /* with[1] */ -}}
|
|
||||||
command:
|
|
||||||
{{ . | toYaml | indent 2 }}
|
|
||||||
{{- end -}} {{- /* /with[1] */ -}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{- define "lib.core.pod.container.args" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- with .args -}} {{- /* with[1] */ -}}
|
|
||||||
args:
|
|
||||||
{{ . | toYaml | indent 2 }}
|
|
||||||
{{- end -}} {{- /* /with[1] */ -}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
* Probes are accepting a dict as an argument
|
|
||||||
* dict should contain the following keys:
|
|
||||||
* - ctx
|
|
||||||
* - probe (optional) - When empty, probe is not added
|
|
||||||
*
|
|
||||||
* Notes: Probes can be tempalted, because some kinds of probes
|
|
||||||
* need to be aware of a port to be checking against. And to avoid
|
|
||||||
* copypaste all the probes are tempalted
|
|
||||||
*/}}
|
|
||||||
|
|
||||||
{{- define "lib.core.pod.container.readinessProbe" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "probe") -}}
|
|
||||||
{{- if .probe }} {{- /* if[1] */}}
|
|
||||||
{{- $probe := tpl (toYaml .probe) .ctx -}}
|
|
||||||
readinessProbe:
|
|
||||||
{{ $probe | indent 2}}
|
|
||||||
{{- end }} {{- /* /if[1] */}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{- define "lib.core.pod.container.livenessProbe" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "probe") -}}
|
|
||||||
{{- if .probe }} {{- /* if[1] */}}
|
|
||||||
{{- $probe := tpl (toYaml .probe) .ctx -}}
|
|
||||||
livenessProbe:
|
|
||||||
{{ $probe | indent 2}}
|
|
||||||
{{- end }} {{- /* /if[1] */}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{- define "lib.core.pod.container.startupProbe" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "probe") -}}
|
|
||||||
{{- if .probe }} {{- /* if[1] */}}
|
|
||||||
{{- $probe := tpl (toYaml .probe) .ctx -}}
|
|
||||||
startupProbe:
|
|
||||||
{{ $probe | indent 2}}
|
|
||||||
{{- end }} {{- /* /if[1] */}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{- define "lib.core.pod.container.image" -}} {{/* define[0] */}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "image") -}}
|
|
||||||
image: {{ printf "%s/%s:%s"
|
|
||||||
.image.registry .image.repository
|
|
||||||
(include "lib.core.pod.container.image.tag"
|
|
||||||
(dict "appVersion" .ctx.Chart.AppVersion "tag" .image.tag))
|
|
||||||
}}
|
|
||||||
imagePullPolicy: {{ .image.pullPolicy | default "Always" }}
|
|
||||||
{{- end -}} {{/* /define[0] */}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
* EnvFrom can either take values from predefined env values
|
|
||||||
* or add a raw envFrom entries to the manifests
|
|
||||||
* When using the predefined env, it's possible to remove entries
|
|
||||||
* using the '.remove' entry from the env mountpoint
|
|
||||||
*
|
|
||||||
* Should accept a dict with the followibg keys
|
|
||||||
* ctx
|
|
||||||
* envFrom
|
|
||||||
*
|
|
||||||
*/}}
|
|
||||||
{{- define "lib.core.pod.container.envFrom" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "envFrom") -}}
|
|
||||||
{{- /* If env should be set from a Configmap/Secret */ -}}
|
|
||||||
{{- if .envFrom -}} {{- /* if[1] */ -}}
|
|
||||||
envFrom:
|
|
||||||
{{- range $k, $v := .envFrom -}} {{- /* range[2] */ -}}
|
|
||||||
{{- if not (eq $k "raw") -}} {{- /* if[3] */ -}}
|
|
||||||
{{- $source := include "lib.helpers.lookup.env" (dict "ctx" $.ctx "key" $k) | fromYaml }}
|
|
||||||
{{- if $source.sensitive }}
|
|
||||||
- secretRef:
|
|
||||||
{{- else }}
|
|
||||||
- configMapRef:
|
|
||||||
{{- end }}
|
|
||||||
name: {{ include "lib.component.env.name" (dict "ctx" $.ctx "name" $k) }}
|
|
||||||
{{- else -}}
|
|
||||||
{{ $v | toYaml | nindent 2}}
|
|
||||||
{{- end }} {{- /* if[3] */}}
|
|
||||||
{{- end }} {{- /* /range[2] */}}
|
|
||||||
|
|
||||||
{{- end -}} {{- /* /if[1] */ -}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{- define "lib.core.pod.container.volumeMounts" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "mounts") -}}
|
|
||||||
{{- if .mounts }} {{- /* if[1] */}}
|
|
||||||
volumeMounts:
|
|
||||||
{{- range $mountKind, $mountData := .mounts }} {{- /* range[1] */}}
|
|
||||||
{{- if eq $mountKind "storage" }} {{- /* if[2] */}}
|
|
||||||
{{- range $mountName, $mountEntry := $mountData }} {{- /* range[3] */}}
|
|
||||||
{{- $name := include "lib.component.storage.name" (dict "ctx" $.ctx "name" $mountName) }}
|
|
||||||
- name: {{ $mountName }}-storage
|
|
||||||
mountPath: {{ $mountEntry.path }}
|
|
||||||
{{- end }} {{- /* /range[1] */}}
|
|
||||||
{{- end }} {{- /* /if[1] */}}
|
|
||||||
{{- if eq $mountKind "files" }} {{- /* if[1] */}}
|
|
||||||
{{- range $mountName, $mountEntry := $mountData }} {{- /* range[1] */}}
|
|
||||||
{{- $name := include "lib.component.file.name" (dict "ctx" $.ctx "name" $mountName) }}
|
|
||||||
- name: {{ $name }}
|
|
||||||
mountPath: {{ $mountEntry.path }}
|
|
||||||
{{- if $mountEntry.subPath }} {{- /* if[2] */}}
|
|
||||||
subPath: {{ $mountEntry.subPath }}
|
|
||||||
{{- end }} {{- /* /if[2] */}}
|
|
||||||
{{- end }} {{- /* /range[1] */}}
|
|
||||||
{{- end }} {{- /* /if[1] */}}
|
|
||||||
{{- if eq $mountKind "extraVolumes" }} {{- /* if[1] */}}
|
|
||||||
{{- range $mountName, $mountEntry := $mountData }} {{- /* range[1] */}}
|
|
||||||
- name: {{ printf "%s-extra" $mountName }}
|
|
||||||
mountPath: {{ $mountEntry.path }}
|
|
||||||
{{- end }} {{- /* /range[1] */}}
|
|
||||||
{{- end }} {{- /* /if[1] */}}
|
|
||||||
{{- end }} {{- /* /range[0] */}}
|
|
||||||
{{- end }} {{- /* /if[0] */}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{- define "lib.core.pod.container.ports" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "ports") -}}
|
|
||||||
{{- if .ports }} {{- /* if[0] */}}
|
|
||||||
ports:
|
|
||||||
{{- range $k, $v := .ports }} {{- /* range[0] */}}
|
|
||||||
{{- if and (kindIs "string" $v) (eq $k "raw") }} {{- /* if[1] */}}
|
|
||||||
{{- fail "raw port should be an array of ports" -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- if ne $k "raw" }}
|
|
||||||
{{- $service := include "lib.helpers.lookup.service" (dict "ctx" $.ctx "key" $k) | fromYaml -}}
|
|
||||||
{{- $ports := index $service "ports" }}
|
|
||||||
{{- range $port := $v }}
|
|
||||||
{{- $protocol := index (index $ports $port) "protocol" }}
|
|
||||||
{{- $containerPort := index (index $ports $port) "targetPort" }}
|
|
||||||
- containerPort: {{ $containerPort }}
|
|
||||||
protocol: {{ $protocol }}
|
|
||||||
{{- end }}
|
|
||||||
{{- else }}
|
|
||||||
{{ $v | toYaml | indent 2 -}}
|
|
||||||
{{- end -}} {{- /* /if[1] */ -}}
|
|
||||||
{{- end -}} {{- /* /range[0] */ -}}
|
|
||||||
{{- end -}} {{- /* /if[1] */ -}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
|||||||
{{/*
|
|
||||||
Expand the name of the chart.
|
|
||||||
*/}}
|
|
||||||
{{- define "chart.name" -}}
|
|
||||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create a default fully qualified app name.
|
|
||||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
|
||||||
If release name contains chart name it will be used as a full name.
|
|
||||||
*/}}
|
|
||||||
{{- define "chart.fullname" -}}
|
|
||||||
{{- if .Values.fullnameOverride }}
|
|
||||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- else }}
|
|
||||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
|
||||||
{{- if contains $name .Release.Name }}
|
|
||||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- else }}
|
|
||||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create chart name and version as used by the chart label.
|
|
||||||
*/}}
|
|
||||||
{{- define "chart.chart" -}}
|
|
||||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- end }}
|
|
@ -1,11 +0,0 @@
|
|||||||
{{- define "lib.helpers.convertToJson" -}}
|
|
||||||
{{ toString (toJson . ) }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "lib.helpers.convertToToml" -}}
|
|
||||||
{{ toString (toToml .) }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "lib.helpers.convertToYaml" -}}
|
|
||||||
{{ toString (toYaml .) }}
|
|
||||||
{{- end -}}
|
|
@ -1,31 +0,0 @@
|
|||||||
{{/*
|
|
||||||
* Populate hashes from configmaps and secret to
|
|
||||||
* trigger pod restart after config was changed
|
|
||||||
* TODO: Remove the extra empty line after annotations
|
|
||||||
*/}}
|
|
||||||
{{- define "lib.helpers.hashes" -}} {{- /* define[0] */ -}}
|
|
||||||
# ---------------------------------------------------------------------
|
|
||||||
# -- A note from the library:
|
|
||||||
# -- Pod annotations currently only support hashes of mounted
|
|
||||||
# -- config files and env variables and annotations inherited from
|
|
||||||
# -- the deployment
|
|
||||||
# ---------------------------------------------------------------------
|
|
||||||
{{ range $k, $v := .env -}} {{/* range[1] */ -}}
|
|
||||||
{{- if $v.enabled -}} {{- /* if[2] */ -}}
|
|
||||||
{{
|
|
||||||
include "lib.helpers.hash"
|
|
||||||
(dict "kind" "env" "name" $k "data" $v.data)
|
|
||||||
}}
|
|
||||||
{{ end -}} {{/* /if[2] */ -}}
|
|
||||||
{{- end -}} {{- /* /range[1] */ -}}
|
|
||||||
{{ range $k, $v := .files -}} {{/* range[1] */ -}}
|
|
||||||
{{
|
|
||||||
include "lib.helpers.hash"
|
|
||||||
(dict "kind" "file" "name" $k "data" ($v).entries)
|
|
||||||
}}
|
|
||||||
{{- end -}} {{- /* /range[1] */ -}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{- define "lib.helpers.hash" -}} {{- /* define[0] */ -}}
|
|
||||||
{{ printf "helm.badhouseplants.net/%s-%s" .kind .name }}: {{ .data | toString | sha256sum }}
|
|
||||||
{{- end -}} {{- /* /end[0] */ -}}
|
|
@ -1,32 +0,0 @@
|
|||||||
{{- define "lib.helpers.lookup.env" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "key") -}}
|
|
||||||
{{- $data := (index .ctx.Values.config.env .key) -}}
|
|
||||||
{{- if not $data }} {{- /* if[1] */}}
|
|
||||||
{{- fail (printf "entry %s is not found in env" .key) }}
|
|
||||||
{{- else -}} {{- /* .if[1] */ -}}
|
|
||||||
{{ toYaml $data }}
|
|
||||||
{{- end -}} {{- /* /if[1] */ -}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{- define "lib.helpers.lookup.storage" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "key") -}}
|
|
||||||
{{- $data := (index .ctx.Values.storage .key) -}}
|
|
||||||
{{- if not $data }} {{- /* if[1] */}}
|
|
||||||
{{- fail (printf "entry %s is not found in storage" .key) }}
|
|
||||||
{{- else -}} {{- /* .if[1] */ -}}
|
|
||||||
{{ toYaml $data }}
|
|
||||||
{{- end -}} {{- /* /if[1] */ -}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{- define "lib.helpers.lookup.service" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "key") -}}
|
|
||||||
{{- $data := (index .ctx.Values.services .key) -}}
|
|
||||||
{{- if not $data }} {{- /* if[1] */}}
|
|
||||||
{{- fail (printf "entry %s is not found in services" .key) }}
|
|
||||||
{{- else -}} {{- /* .if[1] */ -}}
|
|
||||||
{{ toYaml $data }}
|
|
||||||
{{- end -}} {{- /* /if[1] */ -}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
@ -1,46 +0,0 @@
|
|||||||
{{/*
|
|
||||||
* Metadata is accepting a dict as an argument
|
|
||||||
* dict should contain the following keys:
|
|
||||||
* - ctx
|
|
||||||
* - name (optional)
|
|
||||||
* - labels
|
|
||||||
* - annotations (optional)
|
|
||||||
* TODO: Add a check to labels for an empty map (Labels must not be empty)
|
|
||||||
* TODO: Think about whether it's a good idea to let this function create resoutce with any namy
|
|
||||||
*/}}
|
|
||||||
{{- define "lib.metadata" -}} {{- /* define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{- include "lib.error.noKey" (dict "ctx" . "key" "labels") -}}
|
|
||||||
{{- if .name -}} {{- /* if[1] */ -}}
|
|
||||||
name: {{ .name }}
|
|
||||||
{{- else -}}
|
|
||||||
name: {{ include "lib.chart.fullname" (dict "ctx" .ctx) }}
|
|
||||||
{{- end }} {{- /* /if[1] */}}
|
|
||||||
labels:
|
|
||||||
{{ .labels | indent 2 }}
|
|
||||||
{{- if .annotations }} {{- /* if[1] */}}
|
|
||||||
annotations:
|
|
||||||
{{ toYaml .annotations | indent 2 }}
|
|
||||||
{{- end }} {{- /* /if[1] */}}
|
|
||||||
{{- end }} {{- /* /define[0] */ -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
* Merge global helm labels with custom ones
|
|
||||||
* accepts:
|
|
||||||
* ctx
|
|
||||||
* global (optional) - Labels that are defined for
|
|
||||||
* all resources
|
|
||||||
* local (optional) - Labels that are define only for
|
|
||||||
* the current resource
|
|
||||||
*/}}
|
|
||||||
{{- define "lib.metadata.mergeLabels" -}} {{- /* /define[0] */ -}}
|
|
||||||
{{- include "lib.error.noCtx" . -}}
|
|
||||||
{{ include "lib.chart.labels" (dict "ctx" .ctx) }}
|
|
||||||
{{- range $key, $val := .global }} {{- /* /range[1] */}}
|
|
||||||
{{ $key }}: {{ $val | quote }}
|
|
||||||
{{- end }} {{- /* /range[1] */}}
|
|
||||||
{{- range $key, $val := .local }} {{- /* /range[1] */}}
|
|
||||||
{{ $key }}: {{ $val | quote }}
|
|
||||||
{{- end }} {{- /* /range[1] */}}
|
|
||||||
{{- end -}} {{- /* /define[0] */ -}}
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
|||||||
# @schema
|
|
||||||
# type: string
|
|
||||||
# @schema
|
|
||||||
# -- helm-docs description here
|
|
||||||
test: test
|
|
@ -1,4 +0,0 @@
|
|||||||
{{ include "lib.component.workload" (dict "ctx" .)}}
|
|
||||||
{{ include "lib.component.service" (dict "ctx" .) }}
|
|
||||||
{{ include "lib.component.ingress" (dict "ctx" .) }}
|
|
||||||
{{ include "lib.component.templates" (dict "ctx" .) }}
|
|
@ -1,25 +0,0 @@
|
|||||||
---
|
|
||||||
base:
|
|
||||||
workload:
|
|
||||||
kind: Deployment
|
|
||||||
strategy:
|
|
||||||
type: RollingUpdate
|
|
||||||
containers:
|
|
||||||
open-strike:
|
|
||||||
image:
|
|
||||||
registry: zot.badhouseplants.net
|
|
||||||
repository: badhouseplants/open-strike
|
|
||||||
tag: latest
|
|
||||||
pullPolicy: Always
|
|
||||||
ports:
|
|
||||||
main:
|
|
||||||
- open-strike
|
|
||||||
services:
|
|
||||||
main:
|
|
||||||
enabled: true
|
|
||||||
type: ClusterIP
|
|
||||||
ports:
|
|
||||||
open-strike:
|
|
||||||
port: 27015
|
|
||||||
targetPort: 27015
|
|
||||||
protocol: TCP
|
|
@ -13,7 +13,7 @@ config_version=5
|
|||||||
config/name="Open Strike"
|
config/name="Open Strike"
|
||||||
run/main_scene="res://scenes/utils/menus/main/main_menu.tscn"
|
run/main_scene="res://scenes/utils/menus/main/main_menu.tscn"
|
||||||
config/features=PackedStringArray("4.3", "Forward Plus")
|
config/features=PackedStringArray("4.3", "Forward Plus")
|
||||||
run/max_fps=60
|
run/max_fps=120
|
||||||
config/icon="res://icon.svg"
|
config/icon="res://icon.svg"
|
||||||
|
|
||||||
[autoload]
|
[autoload]
|
||||||
@ -26,6 +26,8 @@ window/size/viewport_width=1920
|
|||||||
window/size/viewport_height=1964
|
window/size/viewport_height=1964
|
||||||
window/size/mode=4
|
window/size/mode=4
|
||||||
window/size/borderless=true
|
window/size/borderless=true
|
||||||
|
window/stretch/mode="canvas_items"
|
||||||
|
window/stretch/aspect="expand"
|
||||||
window/vsync/vsync_mode=2
|
window/vsync/vsync_mode=2
|
||||||
|
|
||||||
[filesystem]
|
[filesystem]
|
||||||
@ -98,6 +100,5 @@ crouch={
|
|||||||
|
|
||||||
[rendering]
|
[rendering]
|
||||||
|
|
||||||
textures/vram_compression/import_etc2_astc=true
|
|
||||||
anti_aliasing/quality/msaa_3d=1
|
anti_aliasing/quality/msaa_3d=1
|
||||||
anti_aliasing/quality/screen_space_aa=1
|
anti_aliasing/quality/screen_space_aa=1
|
||||||
|
265
rust/Cargo.lock
generated
265
rust/Cargo.lock
generated
@ -1,265 +0,0 @@
|
|||||||
# This file is automatically @generated by Cargo.
|
|
||||||
# It is not intended for manual editing.
|
|
||||||
version = 4
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "aho-corasick"
|
|
||||||
version = "1.1.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
|
|
||||||
dependencies = [
|
|
||||||
"memchr",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cfg-if"
|
|
||||||
version = "1.0.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gdextension-api"
|
|
||||||
version = "0.2.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "af8707eca996b28193b772a4a9a28a97364bb93c97e3c313542e812f2963fb93"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gensym"
|
|
||||||
version = "0.1.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "913dce4c5f06c2ea40fc178c06f777ac89fc6b1383e90c254fafb1abe4ba3c82"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn",
|
|
||||||
"uuid",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "getrandom"
|
|
||||||
version = "0.2.15"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
|
|
||||||
dependencies = [
|
|
||||||
"cfg-if",
|
|
||||||
"libc",
|
|
||||||
"wasi",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "glam"
|
|
||||||
version = "0.28.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "779ae4bf7e8421cf91c0b3b64e7e8b40b862fba4d393f59150042de7c4965a94"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "godot"
|
|
||||||
version = "0.2.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "6985eb6c22a0370c40d67db1f225f62222a2e04966f76d0beb53245e745744fa"
|
|
||||||
dependencies = [
|
|
||||||
"godot-core",
|
|
||||||
"godot-macros",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "godot-bindings"
|
|
||||||
version = "0.2.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "77d85815de344b419513c9854b82c49aad45c7dd9fa4fcc10302aaf6ce6e07c7"
|
|
||||||
dependencies = [
|
|
||||||
"gdextension-api",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "godot-cell"
|
|
||||||
version = "0.2.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "4750f0da2c2286f8a0f1e2b0aeb5adb2178251086119e1a96186c34cd8857ba1"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "godot-codegen"
|
|
||||||
version = "0.2.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "3fd9382da869c3e5f4ba9614f43157bb96f5acf3d1f8341bc25147b7aeebd49a"
|
|
||||||
dependencies = [
|
|
||||||
"godot-bindings",
|
|
||||||
"heck",
|
|
||||||
"nanoserde",
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"regex",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "godot-core"
|
|
||||||
version = "0.2.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "d7d014ea57227d84955d9db7bba53654e5e9040f3b5a41d6aad370707cad5b7a"
|
|
||||||
dependencies = [
|
|
||||||
"glam",
|
|
||||||
"godot-bindings",
|
|
||||||
"godot-cell",
|
|
||||||
"godot-codegen",
|
|
||||||
"godot-ffi",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "godot-ffi"
|
|
||||||
version = "0.2.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "3a93bc8ea912fc629cc7c6ad889f919e99b4e7f32cd912cc65b9be2a986dc6eb"
|
|
||||||
dependencies = [
|
|
||||||
"gensym",
|
|
||||||
"godot-bindings",
|
|
||||||
"godot-codegen",
|
|
||||||
"libc",
|
|
||||||
"paste",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "godot-macros"
|
|
||||||
version = "0.2.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "66b16a49485735010c107030dc2e9fa8701fb3bf45194e34b14d1305ad5a8b4f"
|
|
||||||
dependencies = [
|
|
||||||
"godot-bindings",
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"venial",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "heck"
|
|
||||||
version = "0.5.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "libc"
|
|
||||||
version = "0.2.169"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "memchr"
|
|
||||||
version = "2.7.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "nanoserde"
|
|
||||||
version = "0.1.37"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "5de9cf844ab1e25a0353525bd74cb889843a6215fa4a0d156fd446f4857a1b99"
|
|
||||||
dependencies = [
|
|
||||||
"nanoserde-derive",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "nanoserde-derive"
|
|
||||||
version = "0.1.22"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e943b2c21337b7e3ec6678500687cdc741b7639ad457f234693352075c082204"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "open-strike-2"
|
|
||||||
version = "0.1.0"
|
|
||||||
dependencies = [
|
|
||||||
"godot",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "paste"
|
|
||||||
version = "1.0.15"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "proc-macro2"
|
|
||||||
version = "1.0.93"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
|
|
||||||
dependencies = [
|
|
||||||
"unicode-ident",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "quote"
|
|
||||||
version = "1.0.38"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "regex"
|
|
||||||
version = "1.11.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
|
|
||||||
dependencies = [
|
|
||||||
"aho-corasick",
|
|
||||||
"memchr",
|
|
||||||
"regex-automata",
|
|
||||||
"regex-syntax",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "regex-automata"
|
|
||||||
version = "0.4.9"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
|
|
||||||
dependencies = [
|
|
||||||
"aho-corasick",
|
|
||||||
"memchr",
|
|
||||||
"regex-syntax",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "regex-syntax"
|
|
||||||
version = "0.8.5"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "syn"
|
|
||||||
version = "2.0.96"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"unicode-ident",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "unicode-ident"
|
|
||||||
version = "1.0.16"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "uuid"
|
|
||||||
version = "1.12.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "b3758f5e68192bb96cc8f9b7e2c2cfdabb435499a28499a42f8f984092adad4b"
|
|
||||||
dependencies = [
|
|
||||||
"getrandom",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "venial"
|
|
||||||
version = "0.6.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "6816bc32f30bf8dd1b3adb04de8406c7bf187d2f923bd9e4c0b99365d012613f"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "wasi"
|
|
||||||
version = "0.11.0+wasi-snapshot-preview1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
|
|
@ -1,10 +0,0 @@
|
|||||||
[package]
|
|
||||||
name = "open-strike-2"
|
|
||||||
version = "0.1.0"
|
|
||||||
edition = "2021"
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
godot = "0.2.3"
|
|
||||||
|
|
||||||
[lib]
|
|
||||||
crate-type = ["cdylib"]
|
|
@ -1,7 +0,0 @@
|
|||||||
use godot::prelude::*;
|
|
||||||
struct MyExtension;
|
|
||||||
|
|
||||||
mod player;
|
|
||||||
|
|
||||||
#[gdextension]
|
|
||||||
unsafe impl ExtensionLibrary for MyExtension {}
|
|
@ -1 +0,0 @@
|
|||||||
|
|
@ -1,2 +0,0 @@
|
|||||||
mod client_node;
|
|
||||||
mod server_node;
|
|
@ -1,95 +0,0 @@
|
|||||||
use godot::classes::{CharacterBody3D, ICharacterBody3D};
|
|
||||||
use godot::obj::WithBaseField;
|
|
||||||
use godot::prelude::*;
|
|
||||||
|
|
||||||
#[derive(GodotClass)]
|
|
||||||
#[class(base=CharacterBody3D)]
|
|
||||||
struct PlayerServerNode {
|
|
||||||
base: Base<CharacterBody3D>,
|
|
||||||
jumping: bool,
|
|
||||||
input_direction: Vector2,
|
|
||||||
input_rotation: Vector3,
|
|
||||||
}
|
|
||||||
|
|
||||||
const JUMP_VELOCITY: f32 = 4.5;
|
|
||||||
const SPEED: f32 = 5.0;
|
|
||||||
|
|
||||||
#[godot_api]
|
|
||||||
impl ICharacterBody3D for PlayerServerNode {
|
|
||||||
fn init(base: Base<CharacterBody3D>) -> Self {
|
|
||||||
Self {
|
|
||||||
base,
|
|
||||||
jumping: false,
|
|
||||||
input_direction: Vector2::new(0.0, 0.0),
|
|
||||||
input_rotation: Vector3::new(0.0, 0.0, 0.0),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn ready(&mut self) {}
|
|
||||||
|
|
||||||
fn physics_process(&mut self, delta: f64) {
|
|
||||||
if !self.base().is_on_floor() {
|
|
||||||
let new_gravity = self.base().get_gravity() * delta as f32;
|
|
||||||
let new_velocity = self.base().get_velocity() + new_gravity;
|
|
||||||
self.base_mut().set_velocity(new_velocity);
|
|
||||||
}
|
|
||||||
|
|
||||||
if self.base().is_on_floor() && self.jumping {
|
|
||||||
let mut new_velocity = self.base().get_velocity();
|
|
||||||
new_velocity.y = JUMP_VELOCITY;
|
|
||||||
self.base_mut().set_velocity(new_velocity);
|
|
||||||
}
|
|
||||||
self.jumping = false;
|
|
||||||
|
|
||||||
if self.base().is_on_floor() {
|
|
||||||
let direction = self.base().get_transform().basis
|
|
||||||
* Vector3::new(self.input_direction.x, 0.0, self.input_direction.y);
|
|
||||||
if direction.length() > 0.0 {
|
|
||||||
let direction = direction.normalized();
|
|
||||||
let new_velocity = Vector3::new(
|
|
||||||
direction.x * SPEED,
|
|
||||||
self.base().get_velocity().y,
|
|
||||||
direction.z * SPEED,
|
|
||||||
);
|
|
||||||
self.base_mut().set_velocity(new_velocity);
|
|
||||||
} else {
|
|
||||||
let moved = self
|
|
||||||
.base()
|
|
||||||
.get_velocity()
|
|
||||||
.clone()
|
|
||||||
.move_toward(Vector3::new(0.0, 0.0, 0.0), SPEED);
|
|
||||||
let new_velocity = Vector3::new(moved.x, self.base().get_velocity().y, moved.z);
|
|
||||||
self.base_mut().set_velocity(new_velocity);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
self.base_mut().move_and_slide();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[godot_api]
|
|
||||||
impl PlayerServerNode {
|
|
||||||
#[rpc(any_peer, call_local, unreliable_ordered)]
|
|
||||||
fn jump(&mut self) {
|
|
||||||
self.jumping = true
|
|
||||||
}
|
|
||||||
|
|
||||||
#[rpc(any_peer, call_local, unreliable_ordered)]
|
|
||||||
fn set_input_direction(&mut self, new_input_direction: Vector2) {
|
|
||||||
self.input_direction = new_input_direction;
|
|
||||||
}
|
|
||||||
|
|
||||||
#[rpc(any_peer, call_local, unreliable_ordered)]
|
|
||||||
fn set_rotation_x(&mut self, x: f32) {
|
|
||||||
let mut new_rotation = self.base().get_rotation();
|
|
||||||
new_rotation.x = x;
|
|
||||||
self.base_mut().set_rotation(new_rotation);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[rpc(any_peer, call_local, unreliable_ordered)]
|
|
||||||
fn set_rotation_y(&mut self, y: f32) {
|
|
||||||
let mut new_rotation = self.base().get_rotation();
|
|
||||||
new_rotation.y = y;
|
|
||||||
self.base_mut().set_rotation(new_rotation);
|
|
||||||
}
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user