22 Commits

Author SHA1 Message Date
85e4837ef9 Changed build_arg to single string pulled from secrets
All checks were successful
ci/woodpecker/tag/web_uploadimage Pipeline was successful
2024-04-04 21:38:21 -05:00
61ea66aad2 Updated build_args to pull from_secret 2024-04-04 21:36:53 -05:00
30e8761fa3 Change build_args reference
Some checks failed
ci/woodpecker/tag/web_uploadimage Pipeline failed
2024-04-04 21:31:46 -05:00
862fd58368 Escaped DEV_AUTH0_AUDIENCE 2024-04-04 21:30:22 -05:00
455b756bc1 Moved secrets property to bottom
Some checks failed
ci/woodpecker/tag/web_uploadimage Pipeline failed
2024-04-04 21:29:09 -05:00
b96a40e6ed Escaped build args 2024-04-04 21:17:16 -05:00
8dd5a798d9 Changed build_args format
Some checks failed
ci/woodpecker/tag/web_uploadimage Pipeline failed
2024-04-04 21:15:47 -05:00
1ddad9171e Stored entire key-value pair for build args in secrets
Some checks failed
ci/woodpecker/tag/web_uploadimage Pipeline failed
2024-04-04 21:14:21 -05:00
0d5192c156 Changed how build args are passed
Some checks failed
ci/woodpecker/tag/web_uploadimage Pipeline failed
2024-04-04 21:09:53 -05:00
c9689fd114 Removed server_name
All checks were successful
ci/woodpecker/tag/web_uploadimage Pipeline was successful
2024-04-03 23:15:25 -05:00
7ad384fb63 Updated nginx.conf
All checks were successful
ci/woodpecker/tag/web_uploadimage Pipeline was successful
2024-04-03 23:07:35 -05:00
f6578860ab Fixed issue with filtering for yaba-web
All checks were successful
ci/woodpecker/tag/web_uploadimage Pipeline was successful
2024-04-03 21:36:42 -05:00
cf8abed1e2 Added missing latest tag
All checks were successful
ci/woodpecker/tag/api_build Pipeline was successful
ci/woodpecker/tag/api_uploadimage Pipeline was successful
ci/woodpecker/tag/web_uploadimage Pipeline was successful
2024-04-03 21:23:18 -05:00
15f5e43e34 Modified how buildargs are passed
All checks were successful
ci/woodpecker/tag/web_uploadimage Pipeline was successful
2024-04-01 23:24:14 -05:00
6634891de6 Modified how buildargs are passed
Some checks failed
ci/woodpecker/tag/web_uploadimage Pipeline failed
2024-04-01 23:16:12 -05:00
98fc970653 Wrong reference to ref/tags
Some checks failed
ci/woodpecker/tag/api_build Pipeline was successful
ci/woodpecker/tag/api_uploadimage Pipeline was successful
ci/woodpecker/tag/web_uploadimage Pipeline failed
2024-04-01 23:06:27 -05:00
f71211c0b9 Fixed wrong reference to ref, add force remove of file 2024-04-01 22:56:25 -05:00
19fab91db9 Removed skipped clone, fixed wrong syntax for conditional filtering
Some checks failed
ci/woodpecker/tag/web_uploadimage Pipeline failed
ci/woodpecker/tag/api_build Pipeline was successful
ci/woodpecker/tag/api_uploadimage Pipeline failed
2024-04-01 22:52:21 -05:00
8b9a837062 Fixed missing image on versionising prod docker image
Some checks failed
ci/woodpecker/tag/api_build Pipeline failed
ci/woodpecker/tag/api_uploadimage unknown status
ci/woodpecker/tag/web_uploadimage Pipeline failed
2024-04-01 22:42:08 -05:00
be1344e9e5 Add buildargs to web docker build 2024-04-01 22:35:48 -05:00
fc51e2eda9 Modified structure for Woodpecker config 2024-04-01 22:05:10 -05:00
456b8ef75b Created Woodpecker CI/CD deployment
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
- Created Dockerfile for packing up API and Web projects as Docker image
2024-03-30 22:54:16 -05:00
8 changed files with 16 additions and 50 deletions

View File

@ -18,9 +18,7 @@ steps:
- rm -f tags.txt - rm -f tags.txt
- echo ${CI_COMMIT_TAG} | sed -e "s/^WEB-//" >> tags.txt - echo ${CI_COMMIT_TAG} | sed -e "s/^WEB-//" >> tags.txt
- echo "latest" >> tags.txt - echo "latest" >> tags.txt
- name: (YABA.Web) Package and Upload Docker Image (dev) - name: (YABA.Web) Package and Upload Docker Image
when:
- ref: refs/tags/WEBDEV-*
image: woodpeckerci/plugin-docker-buildx image: woodpeckerci/plugin-docker-buildx
settings: settings:
repo: gitea.iwanaga.moe/cjtibule/yaba/web repo: gitea.iwanaga.moe/cjtibule/yaba/web
@ -34,19 +32,3 @@ steps:
registry: gitea.iwanaga.moe registry: gitea.iwanaga.moe
build_args: build_args:
from_secret: DEV1_BUILDARGS from_secret: DEV1_BUILDARGS
- name: (YABA.Web) Package and Upload Docker Image (prod)
when:
- ref: refs/tags/WEB-*
image: woodpeckerci/plugin-docker-buildx
settings:
repo: gitea.iwanaga.moe/cjtibule/yaba/web
context: ./Web
dockerfile: ./Web/Dockerfile
tags_file: tags.txt
username:
from_secret: gitea_yaba_registry_username
password:
from_secret: gitea_yaba_registry_password
registry: gitea.iwanaga.moe
build_args:
from_secret: PROD_BUILDARGS

View File

@ -6,16 +6,14 @@ EXPOSE 80
EXPOSE 443 EXPOSE 443
# Set environment variables # Set environment variables
ENV ASPNETCORE_Environment= ENV ASPNETCORE_Environment=Development
ENV ASPNETCORE_Authentication__Auth0__ClientId= ENV ASPNETCORE_Authentication__Auth0__ClientId=
ENV ASPNETCORE_Authentication__Auth0__ClientSecret= ENV ASPNETCORE_Authentication__Auth0__ClientSecret=
ENV ASPNETCORE_Authentication__Auth0__Domain= ENV ASPNETCORE_Authentication__Auth0__Domain=
ENV ASPNETCORE_Authentication__Auth0__Identifier= ENV ASPNETCORE_Authentication__Auth0__Identifier=
ENV ASPNETCORE_ConnectionStrings__YABAReadOnlyDbConnectionString= ENV ASPNETCORE_ConnectionStrings__YABAReadOnlyDbConnectionString=
ENV ASPNETCORE_ConnectionStrings__YABAReadWriteDbConnectionString= ENV ASPNETCORE_ConnectionStrings__YABAReadWriteDbConnectionString=
ENV WebClient__Url= ENV ASPNETCORE_WebClient__Url=
ENV Serilog__WriteTo__1__Args__Uri=
ENV Serilog__WriteTo__1__Args__Labels__1__Value=
FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine AS build FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine AS build
WORKDIR /src WORKDIR /src

View File

@ -2,7 +2,6 @@
using YABA.API.Extensions; using YABA.API.Extensions;
using YABA.Common.Extensions; using YABA.Common.Extensions;
using YABA.Common.Lookups; using YABA.Common.Lookups;
using YABA.Common.Utils;
using YABA.Service.Interfaces; using YABA.Service.Interfaces;
namespace YABA.API.Middlewares namespace YABA.API.Middlewares
@ -32,7 +31,7 @@ namespace YABA.API.Middlewares
userId = registedUser.Id; userId = registedUser.Id;
} }
httpContext.User.Identities.FirstOrDefault().AddClaim(new Claim(ClaimsLookup.UserId.GetClaimName(EnvironmentUtils.IsDevelopmentEnvironment()), userId.ToString())); httpContext.User.Identities.FirstOrDefault().AddClaim(new Claim(ClaimsLookup.UserId.GetClaimName(), userId.ToString()));
} }
} }

View File

@ -4,13 +4,11 @@ namespace YABA.Common.Attributes
{ {
public class ClaimNameAttribute : Attribute public class ClaimNameAttribute : Attribute
{ {
public string DevClaimName { get; private set; } public string Name { get; private set; }
public string ProdClaimName { get; private set; }
public ClaimNameAttribute(string devClaimName, string prodClaimName) public ClaimNameAttribute(string name)
{ {
this.DevClaimName = devClaimName; this.Name = name;
ProdClaimName = prodClaimName;
} }
} }
} }

View File

@ -28,9 +28,9 @@ namespace YABA.Common.Extensions
return enumValue.GetAttribute<DisplayAttribute>().Name; return enumValue.GetAttribute<DisplayAttribute>().Name;
} }
public static string GetClaimName(this ClaimsLookup claimLookup, bool isDevelopmentEnvironment) public static string GetClaimName(this ClaimsLookup claimLookup)
{ {
return isDevelopmentEnvironment ? claimLookup.GetAttribute<ClaimNameAttribute>().DevClaimName : claimLookup.GetAttribute<ClaimNameAttribute>().ProdClaimName; return claimLookup.GetAttribute<ClaimNameAttribute>().Name;
} }
public static bool IsCrudResultSuccessful(this CrudResultLookup importStatusLookup) => SuccessfulCrudStatuses.Contains(importStatusLookup); public static bool IsCrudResultSuccessful(this CrudResultLookup importStatusLookup) => SuccessfulCrudStatuses.Contains(importStatusLookup);

View File

@ -1,8 +1,6 @@
using System; using System.Security.Claims;
using System.Security.Claims;
using System.Security.Principal; using System.Security.Principal;
using YABA.Common.Lookups; using YABA.Common.Lookups;
using YABA.Common.Utils;
namespace YABA.Common.Extensions namespace YABA.Common.Extensions
{ {
@ -14,7 +12,7 @@ namespace YABA.Common.Extensions
public static string GetCustomClaim(this IIdentity identity, ClaimsLookup claim) public static string GetCustomClaim(this IIdentity identity, ClaimsLookup claim)
{ {
var claimsIdentity = identity as ClaimsIdentity; var claimsIdentity = identity as ClaimsIdentity;
return claimsIdentity.FindFirst(claim.GetClaimName(EnvironmentUtils.IsDevelopmentEnvironment()))?.Value.ToString(); return claimsIdentity.FindFirst(claim.GetClaimName())?.Value.ToString();
} }
} }
} }

View File

@ -4,19 +4,19 @@ namespace YABA.Common.Lookups
{ {
public enum ClaimsLookup public enum ClaimsLookup
{ {
[ClaimName("https://auth.dev.iwanaga.moe/api/auth_provider_id", "https://auth.iwanaga.moe/api/auth_provider_id")] [ClaimNameAttribute("https://dev.iwanaga.moe/api/auth_provider_id")]
AuthProviderId = 1, AuthProviderId = 1,
[ClaimName("https://auth.dev.iwanaga.moe/api/email_address", "https://auth.iwanaga.moe/api/email_address")] [ClaimNameAttribute("https://dev.iwanaga.moe/api/email_address")]
UserEmail = 2, UserEmail = 2,
[ClaimName("https://auth.dev.iwanaga.moe/api/email_verified", "https://auth.iwanaga.moe/api/email_verified")] [ClaimNameAttribute("https://dev.iwanaga.moe/api/email_verified")]
IsEmailConfirmed = 3, IsEmailConfirmed = 3,
[ClaimName("https://auth.dev.iwanaga.moe/api/username", "https://auth.iwanaga.moe/api/username")] [ClaimNameAttribute("https://dev.iwanaga.moe/api/username")]
Username = 4, Username = 4,
[ClaimName("https://auth.dev.iwanaga.moe/api/id", "https://auth.iwanaga.moe/api/id")] [ClaimNameAttribute("https://dev.iwanaga.moe/api/id")]
UserId = 5 UserId = 5
} }
} }

View File

@ -1,9 +0,0 @@
using System;
namespace YABA.Common.Utils
{
public static class EnvironmentUtils
{
public static bool IsDevelopmentEnvironment() => Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") == "Development";
}
}